Robotic Weed Removal System for Aesthetic Mulch Gardens
20240000001 ยท 2024-01-04
Inventors
Cpc classification
B25J11/005
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1666
PERFORMING OPERATIONS; TRANSPORTING
International classification
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
An apparatus and method for removing weeds from an aesthetic mulch garden using an autonomous battery-powered differential-wheeled robot is disclosed. The boundary of the domain of said aesthetic mulch garden is predefined by the user and said robot is confined to patrol within said domain. The robot searches for weeds using machine vision which seeks colorimetric contrast between weeds and mulch and undergoes a novel randomized reflective trajectory to patrol said domain. An independent collision avoidance system allows said robot to avoid interaction with non-weed objects. Said robot has a central processing unit (CPU) receiving input from said machine vision system which positions a device for weed extraction and controls said extraction. A built-in suction system and receptacle is incorporated in said robot to maintain the weed extraction device clean and ready for operation while storing extracted weeds for later disposal.
Claims
1. A weed detecting and weed removal apparatus for bounded aesthetic mulch gardens comprising: an autonomous terrestrially mobile robot including a propulsion module for controlling the translational motion of said robot; and, a programmable central processing unit for issuing positioning commands to said robot and issuing commands to servo motors, and receiving inputs from a plurality of sensors, and performing calculations incorporating input from said sensors, to generate said commands; and, a domain boundary detection system to define the outside boundary of said mulch garden and confine the trajectory of said robot to the domain within said boundary; and, a collision avoidance system for preventing interactions between said robot and obstacles present within said aesthetic mulch garden; and, a machine vision weed detector for capturing images of a defined field of view within said mulch garden and identifying the presence of one or more weeds; and, a weed extraction module including one or more servo motors for removing said weeds from said mulch garden; and, an electrical power supply mounted on said robot to provide power to said propulsion module and to energize said central processing unit, said sensors, said machine vision weed detector, and said weed extraction module.
2. The apparatus of claim 1 further comprising: a propulsion module having a plurality of wheels which are driven by independent drive motors each of which are electrically connected to a motor controller which receives commands from said central processing unit to differentially actuate each wheel and thereby control direction and speed of said robot.
3. The apparatus of claim 1 having said propulsion module directed by said central processing unit to have said robot follow an essentially linear trajectory at a predefined speed unless said central processing unit receives a command from either said domain boundary detection system detecting proximity to said boundary, or said collision avoidance system detecting proximity to an obstacle, which results in a command to change direction by a user-prescribed angle and continue on said linear trajectory.
4. The apparatus of claim 1 having said propulsion module directed by said central processing unit to have said robot follow an essentially linear trajectory at a constant speed unless said central processing unit receives a command from said machine vision weed detector upon which said central processing unit would command said robot to halt for calculations to determine if a weed has been encountered and, if said weed is encountered, to command said robot to assume position for weed extraction; or, if said weed was not encountered, directing said robot to proceed with an essentially linear trajectory.
5. The apparatus of claim 1 continuing to seek and remove said weeds until 1) a timer in said central processing unit has reached a preprogrammed time set by the user; or, 2) weeds are not encountered for an interval of time programmed by the user; or 3) said central processing unit detects a failure in any of said robot's systems; or, 4) the user externally intervenes and shuts power to said robot.
6. The apparatus of claim 1 further comprising: said boundary of said mulch garden defined by a plurality of magnetic stakes spaced at predetermined intervals and surrounding said boundary of said mulch garden, the spacing calculated to maintain a magnetic field strength which can be detected by a magnetometer mounted on said robot which sends a signal to said programmable central processing unit.
7. The domain boundary system of claim 6 further comprising: magnetic stakes each with a magnet mounted thereon selected from a group consisting of 1) a neodymium permanent magnet; 2) a ceramic ferrite permanent magnet; 3) a rare earth permanent magnet; and 4) a direct current electromagnet.
8. The apparatus of claim 7 where the polarization axis of said magnet is vertical and parallel to the longitudinal axis of said stakes.
9. The apparatus of claim 1 further comprising: a said domain boundary detection system defining the boundaries of said mulch garden selected from a group of sensing apparatuses consisting of 1) said boundary of said mulch garden defined by a below-ground electric cable which transmits radio waves to define said boundary and a radio receiver mounted on said robot; 2) said boundary of said mulch garden defined by longitudinal and latitudinal position coordinates specified by the user which are compared with a global positioning system (GPS) detector mounted on said robot and interacting with said central processing unit to compare current position of said robot with said GPS coordinates; and 3) said boundary of said mulch garden defined by a light emitting diode rope placed on the boundary of said mulch garden, and a photodetector placed on said robot and communicating with said central processing unit to determine location of said robot relative to said boundary.
10. The apparatus of claim 1 further comprising: said collision avoidance system selected from a group consisting of: 1) an ultrasonic range sensor; 2) a radar range sensor; and, 3) a laser range sensor.
11. The apparatus of claim 1 further comprising: Said machine vision weed detector having a vision sensor mounted on the front of said robot and focused on the ground with a field of view located at a fixed distance ahead of said robot; said vision sensor capable of transmitting color data to the machine vision weed detector which thereupon conveys said color data to said central processing unit for calculations and analysis.
12. The apparatus of claim 11 wherein said vision sensor is a camera.
13. The apparatus of claim 11 wherein said field of view is illuminated by a lamp mounted on said robot.
14. The apparatus of claim 11 wherein said color data is digitized by a color system selected from a group consisting of: 1) RGB; 2) CMY; and 3) CMYK color systems.
15. The apparatus of claim 14 having said central processing unit identifying the presence of one or a plurality of weeds by reducing the resolution of the images in said defined field of view by calculating the Green Fraction of each of the pixels, blackening all pixels having a Green Fraction below a user specified value, counting the number of higher Green Fraction pixels and determining if they exceed a user specified number characteristic of the size of a weed, and calculating the location of the centroid of said higher Green Fraction pixels to identify position of said weed relative to said robot; and, issuing commands to said propulsion module to locate said robot in a position for extraction of said weeds.
16. The apparatus of claim 15 further determining the density of higher Green Fraction pixels within said field of view as a further criterion for determining if said weed is present by subdividing the field of view into blocks and instructing said central processing unit to calculate the Green Pixel Density within each block, and determining if any one of the reduced number of blocks had a Green Pixel Density greater than a user specified criterion for the presence of a weed which is representative of the type and size of the weeds being sought.
17. The apparatus of claim 1 wherein said weed extraction module for removing said weeds from said mulch garden is selected from a group consisting of: 1) grabber claws; 2) screw augers; 3) scrapers; 4) electric arcs; 5) lasers; and 6) sprays of herbicides.
18. The apparatus of claim 17 where said central processing units sends commands to said grabber claws to elevate and engage said grabber claws with the weed, and to open and close said grabber claws which are energized by two respective servo motors.
19. The apparatus of claim 1 where said weeds removed from said mulch garden are transported from said weed extraction module to a receptacle by means of a suction tube energized by a blower and activated by said central processing unit.
20. A method for weed detecting and weed removal for bounded aesthetic mulch gardens comprising: activating an autonomous terrestrially mobile robot including a propulsion module for controlling the translational motion of said robot; and, electrically connecting and mounting to said programmable central processing unit for issuing positioning commands to said robot, issuing commands for weed extraction, and receiving inputs from a plurality of sensors, and performing calculations to generate said commands; and, providing an electrical power supply mounted on said robot to provide power to said propulsion module and to energize said central processing unit and said sensors; and, providing a domain boundary detection system to define the outside boundary of said mulch garden and confine the trajectory of said robot to within said boundary; and, providing a collision avoidance system for preventing interactions between said robot and obstacles present within said aesthetic mulch garden; and, providing a machine vision weed detector for capturing images of a defined field of view within said mulch garden and identifying the presence of one or a plurality of weeds; and, providing a weed extraction module for removing said weeds from said mulch garden.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0029] This patent and application file contains at least one figure executed in color. Copies of this patent or patent application publication with color figures(s) will be provided by the Office upon request and payment of the necessary fee.
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
DETAILED DESCRIPTION OF THE INVENTION
[0047] As seen in
[0048] In the preferred embodiment, the CPU 100 is a Raspberry Pi 4 Model B, which has a Broadcom BCM2711 quad-core Cortex-A72 which is a 64-bit System on a Chip (SoC) which operates at 1.5 GHz. This CPU has with 2 GB SDRAM and Bluetooth enabled. It includes a Videocore VI Graphics Processing Unit (GPU) which enables graphical input/output such as input from machine vision. It also has multiple USB3.0 inputs/outputs for simultaneous operation of multiple peripheral devices including sensors (e.g., 35, 40, and 125), motor controllers (e.g., 82), and servos (e.g., 300, 305). The Broadcom unit is equipped with a Wi-Fi antenna which enables direct commands from a user with a Bluetooth transmitter (e.g., cell phone, tablet) to the CPU 100 to control said robot 15 while in operation if desired. The Raspberry Pi 4 CPU is designed to be configured with a machine vision camera 35 such as the SONY IMX219PQH5-C 8 Mega-Pixel CMOS Image Sensor (herein referred to as a machine vision camera) with square pixels. The color system of the said SONY IMX219PQH5-C camera utilizes the R, G, and B primary color pigment mosaic filters and has an electronic shutter with a variable speed. The Raspberry Pi 4 can be programmed in C/C++, Python 2/3, and Scratch by default. However, nearly any language compiler or interpreter can be installed on the Raspbian Operating System which controls the Raspberry Pi 4.
[0049] As further seen in
[0050] In alternative embodiments, the domain boundary detection system 125 can use other methods by which the user can define the boundary 12 of the domain 10, and, corresponding to those methods, an appropriate domain boundary detector 125 can be used. Examples of such domain boundary detectors 125 and methods include: (1) burying an electrical conductor which transmits radio waves around the boundary 12 of said domain 10 and having a domain boundary detector 125 mounted in said robot 15 be a radio receiver to detect such radio signals, and when said robot 15 is in close proximity to said boundary 12 as shown in
[0051] In the preferred embodiment, the robot 15 searches for weeds 3 with the novel randomized reflective trajectory scheme described above, where said trajectory 25 is shown in
where: [0052] B=magnetic flux density (Gauss) [0053] B.sub.r=residual magnetic flux density (Gauss) [0054] D=diameter of disc type permanent magnet [0055] L=thickness of disc type permanent magnet [0056] d=spacing 22 between magnetic stakes 20 [0057] x=distance from boundary 12 measured perpendicular to midpoint between magnetic stakes 20
[0058] A sample calculation using Equation I is shown in
[0059] One of ordinary skill in the art would recognize that the optimum spacing would depend on type of material from which the magnet is made, the residual magnetic flux density, B.sub.r, the shape of the magnet, the diameter and thickness of the magnet, as well as the sensitivity of the magnetometer used in said domain boundary detector 125. The cost of the magnets would also be another factor in deciding on the optimal spacing as the cost increases with the number of magnets, the size of the magnets, and the material of the magnets.
[0060] In the preferred embodiment, the results of the calculation of
[0061] As seen in
[0062] As best seen in
[0063] In the preferred embodiment for locating weeds 3 in a mulch garden 5, the camera field of view 370 has dimensions of 6 inches in width and 4 inches in depth as is schematically shown in
[0064] In the preferred embodiment, the CPU 100 is a Raspberry Pi 4 Model B, with a machine vision camera 35 such as the SONY IMX219PQH5-C 8 Mega-Pixel CMOS Image Sensor with square pixels which utilizes the Red, Green, and Blue (RGB) primary color pigment mosaic filters as described above. RGB is a widely known system in which the primary colors, Red, Green, and Blue can produce a vast array of colors by additive synthesis. Colors are coded digitally as an RGB file where an arbitrary color can be stored digitally in three bytes of data, each having 8 bits or 256 possible values. Thus, an 8 bit per channel RGB file has one byte for red which is R=0 to R=255, a second byte for green is G=0 to G=255, and a third byte for blue is B=0 to B=255. Blending the colors, an RGB file for black would be R=0, G=0, and B=0. An RGB file for white would be R=255, G=255, and B=255. In general, and RGB file can be written as a triplet: (R, G, B). Thus, a brownish color can be coded as (171, 122, 43). Given all of the possible values for R, G, and B, this system provides 256256256=16,777,216 possible colors. It should also be noted that while the 8 bits per channel RGB system is most common, other systems providing more colors include 12-bit, 16-bit, 24-bit, and 32-bit RGB systems. Also, there are many other systems for digitizing colors such as the CMY or CMYK color models. In the preferred embodiment, an 8-bit per channel RGB system is used but the invention is conceived to include all other such systems which are well known to those skilled in the art.
[0065] In the preferred embodiment, the machine vision weed detector 42 utilizes the fact that mulch gardens 5 are generally dark in color, while weeds 3 are generally green in color and small in size (assuming that the mulch garden is frequently maintained so as to avoid excessive weed growth). Thus, by considering the weed color, dark mulch color, the contrast of weed 3 with the mulch, and the size of the weed, a weed can be discriminated. This is a very simple means to locate weeds as opposed to the complex plant identification systems and mapping that was previously discussed in Slaughter et al. (Elsevier, 2007), which requires a very sophisticated and expensive sensing system to measure important physical and biological properties of the agricultural system and critically discriminate between unwanted weeds with vegetables and fruits to be harvested over vast areas.
[0066] The procedure used in the preferred embodiment to identify weeds 3 is shown with reference to
[0067] In the preferred embodiment, the machine vision weed detector 42, which includes a weed machine vision camera 35, seeks a green object within the rectangular field of view 370, shown in
[0068] In the preferred embodiment, the RGB system of color synthesis is used whereby the color of each pixel is coded by three digital numbers corresponding to Red, Blue, and Green, each having values of N=0-250 in the form (N.sub.R, N.sub.B, N.sub.G). By way of example, the RGB code for a common shade of dark brown is (78,67,63); for violet (238, 130, 238); for light golden brown (167, 133, 106) for forest green (34,139, 34); and for basic green (0,128,0). The RGB code for black is (0,0,0) and for white (255,255,255). The codes can also be expressed in hexadecimal form.
[0069] In the preferred embodiment, weeds are identified by virtue of the contrast between the green weed and the dark mulch. By reducing the resolution to a low value of around 5 pixels per inch or less for low resolution imaging, the pixel array inside the 6-inch by 4-inch field of view 370 has a relatively small number of elements (600 in this example). Given the high clock speed of the CPU 100, in excess of 1.5 GHz, calculations can be made in real time to ascertain the presence of a weed 3 as the robot 15 moves linearly at a low speed through the mulch garden 5 of between 5 to 20 feet per minute. When the presence of a weed 3 is determined by the CPU 100, S220 in
[0070] In the preferred embodiment, the machine vision detector 42 has three criteria to identify a weed 3. As said robot 15 follows its linear trajectory in the autopilot mode, S205, the machine vision weed detector 42 continuously searches for weeds 3 within the camera field of view 370.
[0071] The first criterion is that the weed must be predominantly green. The CPU 100 polls the RGB color numbers in the pixel array which is provided by the weed machine vision weed detector 42 in all 600 pixels within the array and calculating, for each pixel, the fraction of G (green) as follows:
[0072] where GF=Green Fraction [0073] If GF0.40 save RGB color data [0074] If GF<0.40 set RGB pixel data to (0,0,0) (black)
[0075] Thus, the pixel array is reconstituted such that only those pixels that meet criterion #1, GF>0.40, are identified with their actual RGB numbers, while the remainder of the pixels are blackened by giving the RGB numbers (0,0,0). In
[0076] The criterion #2 is whether or not the number of pixels meeting the first criterion are sufficient to constitute an actual weed 3 of a specified size. The size can be determined by counting the number of non-black pixels. Each pixel is square and has an associated dimension, e.g., 0.2 inch for a resolution of 5 pixel/inch. Since we seek a weed larger than 0.5 inches in linear dimension, corresponding to an area greater than 0.25 square inches, this would correspond to about 6.25 pixels meeting criterion 1. This criterion would be the minimum number of Green pixels in the field of view 370 that would be identified as a weed 3. In the example shown in
[0077] An optional criterion #3 is whether or not the pixels in the background erased array are consolidated into a single weed entity, or are they spread out in multiple locations around the camera field of view 370. This can be done by subdividing the camera field of view 370 into blocks and determining the green pixel density (GPD) within each block. Each block is then polled to determine the GPD:
where: Block=A preferably square subdivision of Field of View [0078] N.sub.G=Number of Green pixels in block. [0079] N.sub.T=Total Number of pixels in block
[0080] In the case of the exemplar preferred embodiment, the field of view 370 is 64, the user can define a block as 22 subdivision, which would result in six blocks of 25 pixels each, for a 5 px/inch resolution. CPU 100 would calculate the GPD in each of the six blocks and poll them and determine if any one of the six blocks had a GPDGPD.sub.base, where GPD.sub.base is set by the user to determine the cohesiveness of the pixels. For the exemplary preferred embodiment, a preferred value is determined by the expected size of a weed. In the exemplary preferred embodiment:
[0081] Applying criterion 3, if after polling all of the six blocks, there is no block that has a GPD exceeding 0.2 the entire array is rejected and the robot 15 continues its search in accordance with S205. If criterion 3 is met, i.e., there is at least one block of the six with a GPD>0.2, the robot 15 halts its trajectory and control proceeds to weed machine vision positioning mode S225.
[0082] It is noted that the third criterion is optional because it is expected that the process will miss a certain fraction of weeds and that machine vision weed detector 42 will make some false identifications of weed 3. Criteria #3 helps to reduce the frequency of such errors. If criterion #3 is satisfied, CPU 100 determines that a weed has been detected in accordance with S220.
[0083] As previously stated, once the machine vision weed detector 42 identifies a weed 3 and transfers the relevant data to CPU 100, the robot 15 is halted and robot 15 follows weed machine vision positioning mode S225 and on to S230 to position weed grabber 45 directly above detected weed 3 as shown in
[0084] It is important to note that the collision avoidance system will not permit a structure larger than a weed, such as a desirable plant or ornament, to enter the field of view of the camera. Therefore, confusion of weeds with other objects is avoided.
[0085] In this embodiment, as best seen in
[0086] where: (X.sub.C, Y.sub.C) are the Cartesian position coordinates of the Centroid of Weed 3 [0087] (r.sub.C, .sub.C) are the cylindrical position coordinates of the Centroid of Weed 3 [0088] (x.sub.i, y.sub.i) are the Cartesian position coordinates of the i.sup.th pixel of weed 3 which correspond to the RGB pixels with G0. [0089] .sub.i=area of i.sup.th pixel==common area for all pixels [0090] N=Total number of pixels of weed 3 (total number pixels with G0)
[0091] As shown in
[0092] Once the coordinates (R,) are determined, CPU 100 can then command robot 15 to position said weed grabber claws 45 directly above detected weed 3 in accordance with S230. Thus, in accordance with
[0093] The weed extraction module 130 comprises claw elevation servo 300 and a claw grasping servo 305.
[0094] Said grasping claw servo 305 is fixedly mounted on said servo frame 325 upon which servo frame claw 315 is integrally included, or fixedly attached. Grasping claw 310 is fixed to the pivoting output shaft of said claw grasping servo 305 in such a manner as when grasping claw servo 305 is so commanded by CPU 100, grasping claw 310 rotates with said output shaft of claw grasping servo 305 so as to pivot towards servo frame claw 315 as seen in
[0095] In operation, as seen in
[0096] While the preferred embodiment is the use of grabber claws 45 in the weed extraction module 130, as described to remove weeds efficiently in a mulch garden 5 and shown in
[0097] As seen in
[0098] As seen in
[0099] CPU 100 can control the speed of said robot 15 and is programmable by the user with a preferred speed between 5 and 20 feet/minute. Similarly, CPU 100 can brake said robot 15 by reducing the speeds of said wheel drive motors 80, 85, and 90.
[0100] Said robot 15 must be small enough so that it can maneuver between shrubs and obstacles but be large enough so that it can position itself over a weed and extract it. Furthermore, said robot 15 must carry an electrical power supply if significant size and weight so as to power said drive motors 80, 85, and 90, said servos 300 and 305, as well as lighting and electrical components, and to so providing a sufficient period of operation to effect weed removal from said mulch garden 5. While no means critical or a limitation to this invention, for typical mulch garden weeds in the size range of two inches, the preferred embodiment has a size for said robot 15 of a width of 9 to 18 inches, and a length of 9 to 18 inches, and a weight of 2.0 to 4.0 pounds. The weight of said robot 15 must be sufficient prevent vertical movement of said robot due to the vertical reaction forces caused by the penetration forces of said weed grabber claws 45, or other extraction means, to the depth of the weeds' roots. The weight of said robot 15 may be increased by the addition of ballast weights (not shown). For grabber claws 45 shown in a preferred embodiment, the vertical reaction force is typically less than two pounds. A user may wish to increase or decrease the size and weight of said robot depending on special requirement of particular applications.
[0101] A user may wish to use a larger or smaller battery, depending on the time needed to extract weeds from said mulch garden 5 and on the size of said robot.
[0102] Those skilled in the art will readily recognize numerous adaptations and modifications which can be made to the present invention which will result in an improved system and method for removing weeds from an aesthetic mulch garden using an autonomous robot, yet all of which will fall within the spirit and scope of the present invention as defined in the following claims. Accordingly, the invention is to be limited only by the scope of the following claims and their equivalents.