The present disclosure relates to agricultural machines.
Research and development has been directed to the automation of work vehicles, such as tractors, to be used in fields. For example, work vehicles have been put to practical use which travel via automatic steering by utilizing a positioning system capable of precise positioning, e.g., GNSS (Global Navigation Satellite System). Work vehicles that automatically perform speed control as well as automatic steering have also been put to practical use.
Moreover, vision guidance systems are being developed which detect rows of crops (crop rows) or ridges in a field by using an imaging device such as a camera, and control the travel of a work vehicle along the detected crop rows or ridges.
Japanese Laid-Open Patent Publication No. 2016-208871 discloses a work machine that travels along a ridge in cultivated land where crops are planted in ridges which are formed in rows. Japanese Laid-Open Patent Publication No. 2016-208871 describes binarizing a raw image acquired by capturing cultivated land from obliquely above with an onboard camera, and thereafter generating a planar perspective projection image.
With the implement of Japanese Laid-Open Patent Publication No. 2016-208871, when rows of crops and ridges do not exist on the field, travel must be performed by manual steering.
Example embodiments of the present invention provide agricultural machines that can solve such problems.
In an illustrative, non-limiting example embodiment, an agricultural machine according to the present disclosure includes an image recognition system to detect, from an acquired image, a row region including at least one of a crop and a ridge on a ground surface of a field; a positioning system to acquire a position of the agricultural machine; traveling equipment including a wheel responsible for steering; and a controller configured or programmed to perform either one of automatic path travel in which the traveling equipment is caused to travel along a target path based on the position of the agricultural machine that is acquired by the positioning system, or row-following travel, in which the traveling equipment is caused to travel along a row region that is detected by the image recognition system.
General or specific aspects of various example embodiments of the present disclosure may be implemented using a device, a system, a method, an integrated circuit, a computer program, a non-transitory computer-readable storage medium, or any combination thereof. The computer-readable storage medium may be inclusive of a volatile storage medium, or a non-volatile storage medium. The device may include a plurality of devices. In the case where the device includes two or more devices, the two or more devices may be disposed within a single apparatus, or divided over two or more separate apparatuses.
According to example embodiments of the present disclosure, based on the presence or absence of rows of crops and ridges, etc., in a field, it is possible to switch automatic steering as appropriate.
The above and other elements, features, steps, characteristics and advantages of the present invention will become more apparent from the following detailed description of the example embodiments with reference to the attached drawings.
Hereinafter, example embodiments of the present disclosure will be described more specifically. Note however that unnecessarily detailed descriptions may be omitted. For example, detailed descriptions on what is well known in the art or redundant descriptions on what is substantially the same configuration may be omitted. This is to avoid lengthy description, and facilitate the understanding of those skilled in the art. The accompanying drawings and the following description, which are provided by the present inventors so that those skilled in the art can sufficiently understand the present disclosure, are not intended to limit the scope of claims. In the following description, component elements having identical or similar functions are denoted by identical reference numerals.
The following example embodiments are only exemplary, and the techniques according to the present disclosure are not limited to the following example embodiments. For example, numerical values, shapes, materials, steps, and orders of steps, layout of a display screen, etc., that are indicated in the following example embodiments are only exemplary, and allow for various modifications so long as it makes technological sense. Any one implementation may be combined with another so long as it makes technological sense to do so.
As used in the present disclosure, an “agricultural machine” broadly includes any machine that performs basic tasks of agriculture, e.g., “tilling”, “planting”, and “harvesting”, in fields. An agricultural machine is a machine that has a functionality and structure to perform agricultural operations such as tilling, seeding, preventive pest control, manure spreading, planting of crops, or harvesting for the ground surface within a field. Such agricultural work, tasks, or operations may be referred to as “groundwork”, or simply as “work”, “tasks”, or “operations”. Not only does a work vehicle, such as a tractor, function as an “agricultural machine” by itself alone, but an implement that is attached to or towed by a work vehicle and the work vehicle may as a whole function as one “agricultural machine”. Examples of agricultural machines include tractors, vehicles for crop management, vegetable transplanters, mowers, and field-moving robots.
Prior to specifically describing example embodiments of the present disclosure, an example of a basic configuration and operation of an agricultural machine according to the present disclosure will be described.
Thus, apart from traveling by usual manual steering, the agricultural machine 100 according to the present example embodiment is also able to perform both of “automatic path travel” and “row-following travel”. “Automatic path travel” means traveling via automatic steering so that the ego-position acquired by the positioning system 2000 moves along a target path that is set. The controller 180 controls the traveling equipment 145 so that an error between an ego-position that is obtained with the positioning system 2000 and the target path becomes small. “Row-following travel” means that the image recognition system 1000 travels along a detected row region via automatic steering. Under the row-following travel mode, the controller 180 controls the traveling equipment 145 to travel along a row region that is detected by the image recognition system 1000. The orientation of the wheels responsible for steering during row-following travel is automatically controlled by, e.g., a steering motor, without any person manipulating the steering wheel. Such row-following travel is performed by the controller 180 controlling the traveling equipment 145 so that the wheels included in the traveling equipment (i.e., all wheels, including the wheels responsible for steering) move through a region between two adjacent row regions (a work path). Therefore, during automatic path travel and row-following travel, the image recognition system 1000 is able to monitor the relationship between the position (s) of a row region (s) to be followed (e.g., the position (s) of the “edge (s)” of the row region (s)) and the wheels, with a high accuracy on the order of several centimeters.
Automatic path travel is performed by the controller 180 controlling the traveling equipment 145 so that a reference point (e.g., a centroid) of the agricultural machine 100 passes through a target path, which is an imaginary straight line or curve in a field. Therefore, position coordinates for identifying the position of the target path in the field needs to be fed to the controller 180. For example, a target path may be defined by, in the case where the target path includes a plurality of linear portions parallel to one another, identifying the position coordinates of a start point and an end point of a linear portion that serves as a reference (reference line) and identifying the positions of a number of linear portions that lie in parallel to the reference line. The agricultural machine 100, during automatic path travel, needs to acquire the information of its ego-position (e.g., a latitude and a longitude) in a world coordinate system. Specific examples of setting target paths will be described later.
Row-following travel is performed by the controller 180 controlling the traveling equipment 145 so that the wheels included in the traveling equipment (i.e., all wheels, including the wheels responsible for steering) move through a region between two adjacent row regions (a work path). During row-following travel, the image recognition system 1000 is able to monitor the relationship between the position(s) of a row region(s) to be followed (e.g., the position(s) of the “edge (s)” of the row region (s)) and the wheels, with a high accuracy on the order of several centimeters.
In the present disclosure, a “wheel” means a “tired wheel” or a “wheel with a track around it”. Hereinafter, the term “tire” will be used to refer to the tire portion of a wheel, for example, whereas the term “metal wheel” will be used to refer to the metallic “wheel” portion, for example.
Thus, the image recognition system 1000 is configured to not only detect a row region from within an image, but also calculate the relative position of a detected row region against the agricultural machine 100 through computation, with a high accuracy. The relative position of a row region against the agricultural machine 100 may include the coordinates of the row region in a local coordinate system that is fixed to the agricultural machine 100, for example. When performing row-following travel, the coordinates of a row region do not need to be converted into coordinates in a world coordinate system that is fixed to the ground. Therefore, the agricultural machine 100 during row-following travel does not need to accurately measure its own position in a world coordinate system (e.g., latitude and longitude). However, because the agricultural machine 100 includes the positioning system 2000, the coordinates of a row region in a local coordinate system that is fixed to the agricultural machine 100 may be converted into coordinates in a world coordinate system that is fixed to the ground, thereby generating a map of row regions.
As shown in
The start switch 112 may be provided near the driver's seat of the agricultural machine 100, or in the neighborhood of the steering wheel.
In one implementation, if the image recognition system 1000 detects a row region and also detects a work path region having a predetermined width or greater on both sides or one side of the row region, the controller 180 determines whether the wheels responsible for steering are able to pass through the work path region or not based on the positions of the wheels responsible for steering. Then, if it is decided that the wheels responsible for steering are able to pass through the work path region, the controller 180 determines that row-following travel is possible. For example, if the detected work path region has a width which is equal to or greater than the width of the wheels responsible for steering, and the positions of the wheels responsible for steering are within the work path region, the controller 180 determines that row-following travel is possible. In doing this, it may be determined that row-following travel is possible when the orientation of the wheels responsible for steering makes an angle of a predetermined value or smaller with respect to the row region.
Hereinafter, with reference to
First, at step S1, the controller 180 acquires the positions and orientation of the wheels responsible for steering of the agricultural machine 100. The relative position (coordinate values in a coordinate system that is fixed to the agricultural machine 100) of the wheels responsible for steering with respect to the agricultural machine 100 may have known values which are in accordance with the model of the agricultural machine 100. In this example, the wheels responsible for steering are the right and left front wheels. The right and left rear wheels respectively move on paths that are traveled by the right and left front wheels. The operator may input the positions of wheels, including the wheels responsible for steering, to the controller 180 in advance. Measurement values of the orientation of the wheels responsible for steering may be fed from a steering angle sensor (angle-of-turn sensor) to the controller 180, for example.
At step S2, image recognition processing by the image recognition system 1000 is begun. Specifically, the controller 180 causes the image recognition system 1000 to begin image recognition processing. The image recognition processing may include finding a row region from an image that is acquired by the imaging device 120 (
At step S3, the image recognition system 1000 determines whether a row region has been detected or not. If a row region is detected (Yes), control proceeds to step S4; if no row region is detected (No), control proceeds to step S7. When proceeding to step S7, it is decided that row-following travel is impossible. Note that the determination as to whether row-following travel is possible or not is made by the controller 180 based on a result of detection by the image recognition system 1000.
At step S4, it is determined whether a work path region has been detected or not. If a work path region is detected (Yes), control proceeds to step S5; if no work path region is detected (No), control proceeds to step S7.
At step S5, based on the positions and orientation of the wheels responsible for steering, the controller 180 determines whether all wheels, including the wheels responsible for steering, are able to pass through the work path region or not. Specifically, it may be determined whether the positions of the wheels responsible for steering are located within the work path region and whether the orientation of the wheels responsible for steering matches the direction in which the work path extends or not. If it is possible to pass (Yes), control proceeds to step S6; if it is impossible to pass (No), control proceeds to step S7. When proceeding to step S6, it is decided that row-following travel is possible.
As mentioned earlier, if row-following travel is not possible, even if a command to start row-following travel is given from the start switch 112, the controller 180 does not start row-following travel.
The agricultural machine 100 may include a notifier to notify the operator as to whether row-following travel is possible or not. Examples of such a notifier include a display device that displays an icon, text, or a symbol; a light emitting device such as an LED; and an acoustic device that emits a sound or vibration, such as a buzzer or a loudspeaker. For example, when row-following travel is possible, an icon, text, or a symbol indicating that “ROW-FOLLOWING TRAVEL IS POSSIBLE” may be displayed on the screen of the display device, and when row-following travel is impossible, an icon, text, or a symbol indicating that “ROW-FOLLOWING TRAVEL IS NOT POSSIBLE” may be displayed in the screen of the display device. Furthermore, when row-following travel is impossible, if the start switch 112 has been manipulated by the operator to give a command to start row-following travel, a voice that “ROW-FOLLOWING TRAVEL IS CURRENTLY NOT POSSIBLE”, for example, may be issued from the acoustic device, or this text may be displayed on the display device.
In the example of
As described earlier, the agricultural machine 100 may include a mode switch 114 to switch between an automatic steering mode (automatic path travel mode or row-following travel mode) and a manual steering mode (
In the example of
The controller 180 may be configured or programmed to start automatic path travel when automatic path travel is selected with the mode switch 114 and if it is determined that automatic path travel is possible.
In one example embodiment, while in the row-following travel mode and when row-following travel is possible, if the operator shifts the start switch 112 downward from the neutral position, for example, row-following travel is started. During row-following travel, if the operator shifts the start switch 112 upward from the neutral position, for example, a signal from the start switch 112 that was commanding row-following travel to be started may cease to be output, or a signal commanding that row-following travel be stopped may be output from the start switch 112. Thus, although the start switch 112 is a switch that is capable of activating the functionality of row-following travel of the agricultural machine 100, the controller 180 according to an example embodiment of the present disclosure is configured or programmed not to immediately start row-following travel even if a command to start row-following travel is given from the start switch 112. As described above, the image recognition system 1000 determines whether row-following travel is possible or not, and validates the command from the start switch 112 only when it is determined that row-following travel is possible. This process and operation prevents row-following travel from starting when row-following travel is not possible, thus making it possible to avoid crop rows or ridges from being traveled on and crushed under the wheels.
During row-following travel or automatic path travel, the traveling speed of the agricultural machine 100 may be controlled based on the position of operation members (manipulators) that are manipulated by the operator, e.g., an accelerator pedal and a brake pedal. However, the traveling speed of the agricultural machine 100 may also be automatically controlled by the controller 180.
An example of a method of setting the target path is described. First, the operator manipulates the operational terminal 200 to register a start point A and an end point B that are located at ends (e.g., boundaries between the headlands 80 and the work area 70 of the field). For example, the operator may manually drive the agricultural machine 100 so as to cause the agricultural machine 100 to travel from the start point A to the end point B. When the agricultural machine 100 is located at the start point A and the end point B, the operator may press a registration button that is displayed on the operational terminal 200, as a result of which the start point A and the end point B become registered. Once this manipulation has been performed, the controller 180 determines a reference line (guidance line) Q0 extending from the start point A to the end point B. Although
The traveling equipment 145 of the agricultural machine 100 according to an example embodiment of the present disclosure is capable of manual steering travel, where the orientation of the wheels responsible for steering is changed via manual steering of the steering device. The agricultural machine 100 may further include an operation member (manipulator) that accepts a predetermined manipulation during manual steering travel. For example, the start switch 112 may function as such an operation member (manipulator). The controller 180 may be configured or programmed to generate a reference path (reference line Q0) based on the position of the traveling equipment 145 at the time when this operation member (manipulator) accepts the predetermined manipulation, and when a command to start automatic path travel has been given, generate a target path (a plurality of main paths Q1) by shifting the reference path in a predetermined direction. Specifically, the position coordinates of the agricultural machine 100 at the time when the lever-shaped start switch 112 is pulled frontward may be registered as the position coordinates of the start point A of the reference line Q0. Moreover, after the agricultural machine 100 is caused to travel in a desired direction, the position coordinates of the agricultural machine 100 at the time when the start switch 112 is pulled frontward may be registered as the position coordinates of the end point B of the reference line Q0.
The controller 180 may generate the reference path for automatic path travel during row-following travel. Specifically, while the agricultural machine 100 is traveling along a row region that is detected by the image recognition system 1000, the operator may manipulate the start switch 112 or other operation member (manipulator) to register the position coordinates of the start point A and the end point B of the reference line Q0. Note that, during row-following travel, even without the operator's manipulation, the controller 180 may set a preliminary reference line Q0 based on the coordinates of the ego-position that is acquired by the positioning system 2000 during row-following travel. As will be described later, such a preliminary reference line Q0 may be utilized in generating a target path after switching from row-following travel to automatic path travel, e.g., when a problem occurs in row-following travel, in accordance with the situation of the field or the traveling state of the agricultural machine 100.
In the above-described example, the operator uses the mode switch 114 to select the travel mode under automatic steering. However, the travel mode may be selected in other ways.
The controller 180 may be configured or programmed to select either automatic path travel or row-following travel in accordance with the situation of the field. For example, while the agricultural machine 100 is performing row-following travel, if any deletion exists in the row region to be followed, it may be switched to automatic path travel. Examples of “a deletion in the row region” include any portion where the crop row is deleted because of the crop withering, etc., in a portion of the crop row, any portion where a part of the ridge is broken, any portion where the crop row or ridge is partially covered by some object. Moreover, not only where actual deletions exist in the crop row or the ridge, but also any regions that failed to be properly detected as row regions due to misrecognition by the image recognition system 1000 are also included among “deletions in the row region”. Therefore, the phrase “the image recognition system has detected a deletion in the region while operating in the row-following travel mode”, should be interpreted as encompassing a situation where “the image recognition system has lost sight of the row region”. The target path in this case may have been previously set so as to follow along the crop row or ridge. Such a target path can be set by setting the aforementioned reference line (guidance line) Q0 while traveling via manual steering or during row-following travel, for example. If during row-following travel it is detected that a plurality of row regions including the row region to be followed while the agricultural machine 100 is traveling all have a deletion (final end), this may be determined as a final end of the field. When it is determined as the final end of the field, travel may be stopped without switching from automatic path travel, or the operator may be given an advance notice of stopping of the travel from the display device or a buzzer.
The controller 180 may be configured or programmed to select either one of automatic path travel and row-following travel in accordance with the traveling state of the traveling equipment 145. For example, row-following travel may be performed during forward travel and automatic path travel may be performed during backward travel. Alternatively, row-following travel may be performed when traveling along any path in which a crop row or a ridge is supposed to exist, and automatic path travel may be performed in any turning path Q2 for moving into an adjacent crop row or ridge.
The controller 180 may be configured or programmed to select either one of automatic path travel and row-following travel in accordance with the status of the positioning system 2000 or the image recognition system 1000. For example, if the quality of radio reception by the positioning system 2000 from GNSS satellites has deteriorated and resulted in a poorer reliability of positioning during automatic path travel, automatic path travel may be switched to row-following travel. During row-following travel, if a lens of the imaging device 120 becomes dirty or the image quality has deteriorated due to daylighting conditions, row-following travel may be switched to automatic path travel.
The controller 180 may be configured or programmed to correct the target path if a difference between the target path and the position of the row region as detected by the image recognition system 1000 becomes equal to or greater than a predetermined value during automatic path travel. For example, although the target path of automatic path travel is supposed to be a path that is parallel to the reference line Q0, positional errors of the positioning system may cause a large difference between the position of the crop row or ridge and the target path (position of the vehicle body) that is based on the position as detected by the positioning system. It may also be possible that the crop row or ridge row is shifted to right or left along the way. In such cases, a large difference exists between the position of the row region as detected by the image recognition system 1000 and the target path that is based on the position as detected by the positioning system 2000, and when this difference becomes equal to or greater than a predetermined value, the target path may be corrected. Specifically, if the target path (position of the vehicle body) is shifted to the right from the row region by a predetermined value or more (e.g., about 10 cm or more), for example, the target path is set to the left by a predetermined correction amount (e.g., about 5 cm).
Furthermore, the controller 180 may be configured or programmed to acquire coordinates defining row regions that have been detected by the image recognition system 1000, and generate a map of the row regions in the field. Specifically, by utilizing position coordinates of the agricultural machine 100 as determined based on signals from GNSS satellites, coordinates of the row regions in the world coordinate system are calculated, for example, and a map of the row regions is generated. With such a map, the image recognition system 1000 is able to estimate the ego-position on the map through matching between the row regions as determined from the images acquired with the imaging device 120 and the map.
The controller 180 may be configured or programmed to perform matching between the row regions detected by the image recognition system 1000 and the map to determine the position of the agricultural machine 100 in the field, and perform automatic path travel or row-following travel.
The controller 180 may be configured or programmed to acquire a map of row regions in the field that has been generated by another agricultural machine or any other device, for example, determine the position of the agricultural machine 100 in the field through matching between the row regions detected by image recognition system 1000 and the map, and perform automatic path travel or row-following travel.
The controller 180 may be configured or programmed to generate a target path for automatic path travel based on a map.
First, an image recognition system according to an illustrative first example embodiment of the present disclosure will be described. In the present example embodiment, detection of crop rows is performed as a “row detection”.
An image recognition system 1000 according to the present example embodiment includes an imaging device 120 to be mounted to an agricultural machine 100 in use (
The imaging device 120 is, for example, an onboard camera that includes a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor) image sensor. The imaging device 120 according to the present example embodiment is a monocular camera that is capable of capturing motion pictures at a frame rate of 3 frames/second (fps: frames per second) or above, for example.
The imaging device 120 is mounted at a predetermined position of the agricultural machine 100 so as to face in a predetermined direction. Therefore, the position and orientation of the camera coordinate system Σc with respect to the body coordinate system Σb are fixed in a known state. The Zc axis of the camera coordinate system Σc is on the camera optical axis A1. In the illustrated example, the camera optical axis A1 is inclined from the traveling direction F of the agricultural machine 100 toward the ground surface 10, with an angle of depression Φ that is greater than 0°. The traveling direction F of the agricultural machine 100 is schematically parallel to the ground surface 10 along which the agricultural machine 100 is traveling. The angle of depression Φ may be set to a range of, e.g., not less than 0° and not more than 60°, for example. In the case where the position at which the imaging device 120 is mounted is close to the ground surface 10, the orientation of the camera optical axis λ1 may be set so that the angle of depression Φ has a negative value, that is, a positive angle of elevation.
When the agricultural machine 100 is traveling on the ground surface 10, the body coordinate system Σb and the camera coordinate system Σc translate relative to the world coordinate system Σw. If the agricultural machine 100 rotates or swings in directions of pitch, roll, and yaw during travel, the body coordinate system Σb and the camera coordinate system Σc may rotate relative to the world coordinate system Cw. In the following description, for simplicity, it is assumed that the agricultural machine 100 does not rotate in pitch and roll directions and that the agricultural machine 100 moves essentially parallel to the ground surface 10.
Between adjacent crop rows 12, a belt-shaped intermediate region 14, in which no crops have been planted, exists. in between two adjacent crop rows 12, each intermediate region 14 is a region that is interposed between two opposing edge lines E. In the case where multiple crops are planted for one ridge in a width direction of the ridge, multiple crop rows 12 will be formed upon the one ridge. In other words, multiple crop rows 12 will be formed within the width of the ridge. In such a case, among the multiple crop rows 12 that are formed on the ridge, an edge line E of the crop row 12 that is located at an end of the width direction of the ridge serves as a delineator of an intermediate region 14. In other words, an intermediate region 14 lies between the edge lines E of crop rows 12 that are located at ends of ridges along the width direction, among the edge lines E of multiple crop rows 12.
Since an intermediate region 14 functions as a region (work path) through which the wheels of the agricultural machine 100 may pass, an “intermediate region” may be referred to as a “work path”.
In the present disclosure, an “edge line” of a crop row means a reference line segment (which may also include a curve) for defining a target path for an agricultural machine to perform row-following travel via automatic steering. Such reference line segments may be defined as both ends of a belt-shaped region (work path) through which the wheels of the agricultural machine are allowed to pass. The specific method of determining the “edge lines” of a crop row will be described later.
In the example of
The agricultural machine 100 according to the present example embodiment is capable of travelling in the automatic steering mode for performing row-following travel and in the usual manual steering mode. In order for the operator to switch between the automatic steering mode and the manual steering mode, the agricultural machine 100 includes the mode switch 114 shown in
In the present example embodiment, by a method described below, it is possible to accurately detect the crop rows 12 from such an image 40 and determine edge lines E of the crop rows 12. Then, based on the edge lines E, a path in which the agricultural machine 100 should proceed (target path) during row-following travel can be appropriately generated. As a result, through automatic steering, it becomes possible to control the travel of the agricultural machine 100 so that the front wheels 104F and the rear wheels 104R of the agricultural machine 100 will move along arrows L and R within the work paths 14 (row-following control). Through such row-following control, a precise automatic steering that is adapted to the state of growth of crops can be achieved which cannot be attained by automatic steering techniques that utilize GNSS or other positioning systems.
However, as shown in
After the image recognition system 1000 determines that row-following travel is impossible, if the state of the agricultural machine 100 changes to that shown in
When row-following travel through automatic steering is started and the agricultural machine 100 travels along a target path C indicated by central arrow C in
Hereinafter, the configuration and operation of an image recognition system according to an example embodiment of the present disclosure will be described in detail.
As shown in
The processor 122 in
The processor 20 may be a semiconductor integrated circuit, and referred to also as a central processing unit (CPU) or a microprocessor. The processor 20 may include an image processing unit (GPU). The processor 20 consecutively executes a computer program describing predetermined instructions, which is stored in the ROM 22, to realize processing that is needed for the row detection according to the present disclosure. A whole or a part of the processor 20 may be an FPGA (Field Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), or an ASSP (Application Specific Standard Product) in which a CPU is mounted.
The communicator 26 is an interface for performing data communication between the processor 122 and an external computer. The communicator 26 can perform wired communication based on a CAN (Controller Area Network) or the like, or wireless communication complying with the Bluetooth (registered trademark) standards and/or the Wi-Fi (registered trademark) standards.
The storage 28 is able to store data of images acquired from the imaging device 120 or images which are under processing. Examples of the storage 28 include a hard disk drive and a non-volatile semiconductor memory.
The hardware configuration of the processor 122 is not limited to the above examples. A whole or a part of the processor 122 does not need to be mounted on the agricultural machine 100. By utilizing the communicator 26, one or more computers located outside the agricultural machine 100 may be allowed to function as a whole or a part of the processor 122. For example, a server computer that is connected to a network may function as a whole or a part of the processor 122. On the other hand, a computer mounted in the agricultural machine 100 may perform all functions that are required of the processor 122.
In the present example embodiment, such a processor 122 acquires time-series color images from the imaging device 120, and performs operations S1, S2 and S3 below.
(S1) from time-series color images, generate an enhanced image in which the color of a crop row for detection is enhanced.
(S2) from the enhanced image, generate a plan view image as viewed from above the ground surface, the plan view image being classified into first pixels of which a color index value for the crop row is equal to or greater than a threshold and second pixels of which this index value is below the threshold.
(S3) based on the index values of the first pixels, determine the positions of edge lines of the crop row.
Hereinafter, specific examples of operations S1, S2 and S3 will be described in detail.
The time-series color images are an aggregation of images that are chronologically acquired by the imaging device 120 through imaging. Each image is composed of a frame-by-frame group of pixels. For example, when the imaging device 120 outputs images at a frame rate of 30 frames/second, the processor 122 is able to acquire new images with a period of about 33 milliseconds. As compared to the speed of a common automobile that travels on public roads, the agricultural machine 100, such as a tractor, travels in a field at a speed which is relatively low, e.g., about 10 kilometers per hour or lower. In the case of traveling at about 10 kilometers per hour, a distance of about 6 centimeters is travelled in about 33 milliseconds. Therefore, the processor 122 may acquire images with a period of, e.g., about 100 to 300 milliseconds, and does not need to process every frame of image captured by the imaging device 120. The period with which images to be processed by the processor 122 are acquired may be automatically changed by the processor 122 in accordance with the traveling speed of the agricultural machine 100.
In operation S1, based on time-series color images that have been acquired from the imaging device 120, the processor 122 in
The image sensor in the imaging device 120 includes a multitude of photodetection cells that are arranged in rows and columns. Each individual photodetection cell corresponds to one of the pixels included in an image, and includes an R subpixel to detect the intensity of red light, a G subpixel to detect the intensity of green light, and a B subpixel to detect the intensity of blue light. The light outputs to be detected by the R subpixel, the G subpixel, and the B subpixel of each photodetection cell may be referred to as an R value, a G value, and a B value, respectively. Hereinafter, an R value, a G value, and a B value may be collectively referred to as “pixel values” or “RGB values”. By using an R value, a G value, and a B value, it is possible to define a color based on coordinate values within an RGB color space.
In the case where the color of a crop row for detection is green, an enhanced image in which the color of a crop row is enhanced is an image resulting from: converting the RGB values of each pixel of a color image acquired by the imaging device into pixel values having a relatively large weight on the G value. Such pixel value conversion for generating an enhanced image may be defined as “(2×G value−R value−B value)/(R value+G value+B value)”, for example. Herein, the (R value+G value+B value) in the denominator is a factor for normalization. Hereinafter, normalized RGB values will be referred to as rgb values, which are defined as: r=R value/(R value+G value+B value); g=G value/(R value+G value+B value); and b=B value/(R value+G value+B value). Note that “2×g−r−b” is called an excess green index (ExG: Excess Green Index).
As the “color index value” regarding which the color of the crop is to be enhanced, any index other than the excess green index (ExG) may also be used, e.g., a green red vegetation index (G value-R value)/(G value+R value). In the case where the imaging device can also function as an infrared camera, NDVI (Normalized Difference Vegetation Index) may be used as the “color index value for the crop row”.
There may be cases where each crop row is covered by a sheet called “mulch” (mulching sheet). In such cases, the “color of the crop row” is the “color of objects that are arranged in rows covering the crops”. Specifically, when the sheet color is black, which is an achromatic color, the “color of the crop row” means “black”. When the sheet color is red, the “color of the crop row” means “red”. Thus, the “color of the crop row” may mean not only the color of the crops themselves, but also the color of the region defining the crop row (i.e., a color that is distinguishable from the color of the soil surface).
The generation of an enhanced image in which the “color of the crop row” is enhanced may utilize conversion from an RGB color space into an HSV color space. An HSV color space is a color space that is constituted by the three components of hue, saturation, and value. Using color information obtained by converting from an RGB color space into an HSV color space makes it possible to detect a “color” with low saturation, such as black or white. In the case of utilizing an OpenCV library to detect “black”, the hue may be set to the maximum range (0-179), the saturation may be set to the maximum range (0-255), and the value range may be set to 0-30. In order to detect “white”, the hue may be set to the maximum range (0-179), the saturation may be set to the maximum range (0-255), and the value range may be set to 200-255. Any pixel that has a hue, a saturation, and a value falling within such setting ranges is a pixel having the color to be detected. In the case of detecting a green pixel, for example, the hue range may be set to a range of e.g. 30-90.
Generating an image in which the color of a crop row for detection is enhanced (enhanced image) makes it easy to distinguish (i.e., extract) crop row regions from the remaining background regions (segmentation).
Next, operation S2 will be described.
In operation S2, from the enhanced image 42, the processor 122 generates a plan view image being classified into first pixels of which a color index value for the crop row is equal to or greater than a threshold and second pixels of which this index value is below the threshold. The plan view image is an image as viewed from above the ground surface.
In the present example embodiment, as a color index value for the crop row, the aforementioned excess green index (ExG) is adopted, and a discriminant analysis method (Otsu's binarization) is used to determine a discrimination threshold.
By assigning each of the pixels constituting the enhanced image 42 as either a “first pixel” or a “second pixel”, it becomes possible to extract a region for detection from the enhanced image 42. Also, by giving “zero” to the pixel value of any “second pixel”, or removing the second pixel data from the image data, it becomes possible to mask any region other than the regions for detection. When finalizing the regions to be masked, it may be possible to perform a process of including any pixel whose excess green index (ExG) exhibits a locally high value, as a noise, into the masked regions.
The plan view image 44 of
At a position that is distant from an origin O1 of the camera coordinate system Σc1 by the focal length of the camera along the Zc axis, an imaginary image plane Im1 exists. The image plane Im1 is orthogonal to the Zc axis and the camera optical axis A1. A pixel position on the image plane Im1 is defined by an image coordinate system having a u axis and a v axis that are orthogonal to each other. For example, a point P1 and a point P2 located on the reference plane Re may have coordinates (X1, Y1, Z1) and (X2, Y2, Z2) in the world coordinate system Σw, respectively. In the example of
Through perspective projection based on a pinhole camera model, the point P1 and the point P2 on the reference plane Re are converted, respectively, into a point p1 and a point p2 on the image plane Im1 of the imaging device having the first pose. On the image plane Im1, the point p1 and the point p2 are at pixel positions indicated by coordinates (u1, v1) and (u2, v2), respectively.
When the imaging device has the second pose, an imaginary image plane Im2 exists at a position that is distant from an origin O2 of the camera coordinate system Σc2 by the focal length of the camera along the Zc axis. In this example, the image plane Im2 is parallel to the reference plane Re. A pixel position on the image plane Im2 is defined by an image coordinate system having a ut axis and a v′ axis that are orthogonal to each other. Through perspective projection, a point P1 and a point P2 on the reference plane Re are converted, respectively, into a point p1* and a point p2* on the image plane Im2. On the image plane Im2, the point p1* and point p2* are at pixel positions indicated by coordinates (u1*, v1*) and (u2*, v2*), respectively.
Once the relative locations of the camera coordinate systems Σc1 and Σc2 with respect to the reference plane Re (world coordinate system Σw) are given, then, for a given point (u, v) on the image plane Im1, it is possible to determine a corresponding point (u′, v′) on the image plane Im2 through homography transformation. When point coordinates are expressed by a homogeneous coordinate system, such homography transformation is defined by a transformation matrix H of 3 rows×3 columns.
The content of the transformation matrix H is defined by numerical values of h11, h12, . . . , h32, as indicated below.
The eight numerical values (h11, h12, . . . , h32) can be calculated by a known algorithm once a calibration board that is placed on the reference plane Re is imaged by the imaging device 120 mounted to the agricultural machine 100.
When a point on the reference plane Re has coordinates (X, Y, 0), the coordinates of the corresponding points on the respective camera image planes Im1 and Im2 are associated with the point (X, Y, 0) by respective homography transformation matrices H1 and H2, as indicated by the formulae of eq. 3 and eq. 4 below.
From the above two formulae, the following formula is derived. As is clear from this formula, the transformation matrix H is equal to H2H1−1. H1−1 is an inverse of H1.
The content of the transformation matrices H1 and H2 depends on the reference plane Re; therefore, if the position of the reference plane Re changes, the content of the transformation matrix H also changes.
By utilizing such homography transformation, a plan view image of the ground surface can be generated from an image of the ground surface acquired by the imaging device having the first pose (imaging device mounted to the agricultural machine). In other words, through homography transformation, coordinates of a given point on the image plane Im1 of the imaging device 120 can be converted into coordinates of a point that is on the image plane Im2 of an imaginary imaging device having a predetermined pose with respect to the reference plane Re.
After calculating the content of the transformation matrix H, the processor 122 executes a software program based on the aforementioned algorithm to generate, from time-series color images or preprocessed images of time-series color images, overhead view images in which the ground surface 10 is viewed from above.
In the above description, it is assumed that points (e.g., P1, P2) in a three-dimensional space are all located on the reference plane Re (e.g., Z1=Z2=0). In the case where the height of a crop with respect to the reference plane Re is non-zero, in the plan view image resulting after homography transformation, the position of a corresponding point will be shifted from its proper position. In order to suppress an increase in the amount of shift, it is desirable that the height of the reference plane Re is close to the height of the crop for detection. Bumps and dents, e.g., ridges, furrows, or trenches, may exist on the ground surface 10. In such cases, the reference plane Re may be offset upward from the bottoms of such bumps and dents. The offset distance may be appropriately set depending on the bumps and dents of the ground surface 10 on which crops are planted.
While the agricultural machine 100 is traveling on the ground surface 10, if the vehicle body 110 (see
By the above-described method, the processor 122 according to the present example embodiment generates a plan view image as viewed from above the ground surface, the plan view image being classified into first pixels of which a color index value for the crop row is equal to or greater than a threshold and second pixels of which this index value is below the threshold; thereafter, the processor 122 performs operation S3.
Next, operation S3 will be described.
In operation S3, based on the index values of the first pixels, the processor 122 determines the positions of the edge lines of the crop row. Specifically, the index values of the first pixels (i.e., pixels whose color index value is equal to or greater than a threshold) are totaled along a plurality of scanning lines in the plan view image.
The histogram of
In the present example embodiment, the second pixels are masked before color index values for the crop row is totaled upon each scanning line s. In other words, it is not that the number of first pixels (number of pixels) is counted in a plan view image that has been binarized based on a classification between first pixels and second pixels. In the case where the number of first pixels is counted, if a multitude of pixels (classified as first pixels) that slightly exceed the threshold Th due to fallen leaves and weeds or the like exist, for example, the count value of first pixels will increase. On the other hand, as in the present example embodiment of the present disclosure, totaling color index values for the crop row with respect to first pixels, rather than relying on the number of first pixels, suppresses misjudgments associated with fallen leaves or weeds, thus enhancing the robustness of row detection.
At step S10, a direction (angle) of the scanning lines S is set. Herein, clockwise angles θ are defined relative to the u axis of the image coordinate system (see
At step S12, index values are totaled for the pixels on any scanning line S extending in the direction of each angle θ, thereby generating a histogram of total values. The histogram will exhibit a different distribution depending on the angle θ.
At step S14, from among a plurality of histograms thus obtained, a histogram is selected that has steep boundaries between bumps and dents, e.g., as shown in
At step S16, from the peak values of the histogram corresponding to the angle θ determined at step S14, edge lines of each crop row 12 are determined. As described above, positions of scanning lines S having a total value that is 0.8 times the peak, for example, may be adopted as the edge lines.
Note that, when searching through directions (angles) of the scanning lines S, each time the angle θ is varied by 1 degree within the range of search, a histogram of total values on the scanning lines S at that angle θ may be generated. A feature (e.g., recess depth/protrusion height, a differential value of the envelope, etc.) may be calculated from the waveform of the histogram, and based on that feature, it may be determined whether the direction of the crop rows 12 is parallel to the direction of the scanning lines S or not.
Note that the method of determining the angle θ is not limited to the above examples. In the case where the direction in which the crop rows extend is known through measurements, the direction of the agricultural machine may be measured with an inertial measurement unit (IMU) mounted on the agricultural machine 100, and its angle θ with respect to the direction in which the crop rows extend may be determined.
When detection of crop rows is utilized for the traveling of the agricultural machine, the crop rows to be accurately detected are at the center of the image or its vicinity. Therefore, distortion in regions near both ends of the right-left direction of the plan view image can be ignored.
It has been confirmed that, according to example embodiments of the present disclosure, crop row detection with high accuracy is possible by suppressing the influences of forward light, backlight, sunny weather, cloudy weather, fog, and other weather conditions, or daylighting conditions that vary depending on the time zone of work. It has also been confirmed that crop row detection with high robustness is possible even when there is a change in the kind of crop (cabbage, broccoli, radish, carrot, lettuce, Chinese cabbage, etc.), growth state (from seedling to fully grown), presence/absence of diseases, presence/absence of fallen leaves or weeds, and soil color.
In the above example embodiment, thereafter homography transformation is executed after performing a step of determining a binarization threshold and extracting crop regions based on pixels at a threshold or above. However, the step of extracting crop regions may be performed after homography transformation. Specifically, in the series of processes shown in
Hereinafter, a modified example of the method of row detection to be performed by an image recognition system according to the present disclosure will be described.
In this modified example, the processor 122 splits a whole or a part of the plan view image 44 into a plurality of blocks. Then, for each of the plurality of blocks, the positions of edge lines E of crop rows 12 are determined. In the illustrated example, in the plan view image, there are three blocks B1, B2 and B3 in belt shapes that are continuous along the horizontal direction in the image. The processor 122 is able to determine edge lines of crop rows based on a belt shape in a direction that is different from the traveling direction of the agricultural machine 100.
In
According to this modified example, there is no need to change the directions (angles) of the scanning lines, and the edge lines E of the crop rows 12 can be determined with less computational load. Note that the length of each block along the vertical direction in the image may be set to an equivalent of a distance of, for example, about 1 to 2 meters on the ground surface, for example. Although this modified example splits one image into three blocks to derive total value histograms, the number of blocks may be four or more. The block shape are not limited to the above examples. In the plan view image, the block may be in belt shapes that are continuous along either the horizontal direction in the image or the vertical direction in the image. The processor 122 is able to determine the edge lines of the crop rows through splitting into blocks of belt shapes extending in a direction that is different from the traveling direction of the agricultural machine 100.
As described above, by splitting the plan view image into a plurality of blocks and generating a total value histogram for each block, it becomes easy to determine the direction of a crop row, and even if the crop row changes its direction in the middle, it is possible to know the direction after the change.
The above-described methods of row detection can all be implemented by a computer, and carried out by causing the computer to execute desired operations.
As can be seen from the above explanation, in order to determine the positions of edge lines E of crop rows 12 with a high positional accuracy, it is preferable to increase the number of scanning lines, or reduce the length of each block along the vertical direction in the image. However, performing row detection by the above method for all of the time-series images that are acquired by the imaging device 120 or the entire range of each image may increase the computational load for the processor 122.
As described above, after the image recognition system 1000 has started the image processing operation in response to the operator selecting the automatic steering mode with the mode switch 114, the period until detecting a row region such as a crop row may be used for a low-positional accuracy detection process. This low-positional accuracy detection process may be, for example, a process that is directed to some selected images among the time-series images acquired by the imaging device 120 as the target. Then, once a row region is detected, it is preferable to start a detection process with an enhanced positional accuracy by increasing the number of scanning lines, reducing the length of each block along the vertical direction in the image, or increasing the number of blocks. In a state where a row region has been detected and it has been determined that row-following travel is possible, after the operator issues a command to start row-following travel with the start switch 112, a detection process with an enhanced accuracy may be started.
Thus, by carrying out the processing to be performed by the image recognition system 1000 in two or more steps, it becomes possible to reduce the computational load for the processor 122 in effect. Moreover, because a computation to determine a row region that is executed with a high positional accuracy imposes a high computational load on the processor 122 of the image recognition system 1000, it is preferable to start the execution based on a command from the start switch 112 or the like as a trigger, for example.
In order to determine row detection, the aforementioned blocks may be set in a region (interest region) that is selected from within the image. When starting row-following travel, the image recognition system 1000 may perform a process of selecting an interest region as a target of image recognition processing, such that the interest region during the row-following travel is smaller than the interest region before the row-following travel. Specifically, during row-following travel, a relatively narrow range that includes a row region to be followed may be selected as the interest region.
Row detection by an image recognition system according to an illustrative second example embodiment of the present disclosure will be described. In the present example embodiment, ridge detection is performed as a “row detection”.
The height, width, and intervals of the ridge 16 do not need to be uniform, but may vary from place to place. Generally speaking, the height of a ridge 16 is a difference of the ridge in height from the interridge land. In the present specification, the “height” of a ridge 16 is defined by the distance to an upper surface of the ridge 16 from the aforementioned reference plane Re.
In the example of
As shown in
In the present example embodiment, the processor 122 acquires time-series images from the imaging device 120, and performs operations S21, S22 and S23 below.
(S21) from a plurality of images among time-series images that have been acquired at different points in time, determine a first amount of movement of each of a plurality of feature points in an image plane, through feature point matching.
(S22) through perspective projection of each of the plurality of feature points from the image plane onto a reference plane corresponding to the ground surface, determine a second amount of movement of each projection point in the reference plane based on the first amount of movement.
(S23) based on the second amount of movement, estimate heights of the plurality of feature points from the reference plane to detect a ridge on the ground surface.
Hereinafter, specific examples of operations S21, S22 and S23 will be described in detail.
First, operation S21 will be described. In operation S11, from a plurality of images among the time-series images that have been acquired at different points in time, a first amount of movement of each of the plurality of feature points in an image plane is determined through feature point matching. The time-series images are an aggregation of images that are chronologically acquired by the imaging device 120 through imaging. The time-series images do not need to be color images, but may be color images. In the case where the imaging device 120 outputs time-series color images, the processor 122 may apply gray-scale processing to a given color image for processing among the time-series color images. As has been described with reference to the first example embodiment, each image is composed of a frame-by-frame group of pixels. Similarly, the frame rate is as has been described with reference to the first example embodiment.
Not only at time t but also at other points in time, e.g., time t+1, t+2, t+3, . . . the imaging device 120 chronologically acquires an image 40 (t+1), an image 40 (t+2), and image 40(t+3), . . . . Each of the plurality of images that are chronologically acquired by the imaging device 120 during the travel of the agricultural machine 100 may include the same region of the ground surface 10 in a partially overlapping manner.
In the present example embodiment, the processor 122 extracts feature points from the image 40 (t), the image 40 (t+1), . . . A “feature point” is a point whose pixel (s) has a luminance value or color that is distinguishable from those of the surrounding pixels, such that the position (s) of the pixel (s) can be identified within the image. By extracting feature points in the image, a plurality of images that have captured the same scene can be associated with one another. In a region of the image where the luminance value and color are uniform, it is difficult to distinguish any pixel in that region from the surrounding pixels. Therefore, a feature point is to be selected from within a region in which the luminance value or color locally changes within the image. A feature point is a pixel or a group of pixels that has a “local feature”.
In the present example embodiment, the purpose of extracting a feature point is to measure an amount of movement of the feature point through feature point matching from time-series images 40 (t), 40 (t+1), . . . that are acquired while the agricultural machine 100 is moving. Extraction of a feature point that is suitable for such feature point matching can be performed by the processor 122 based on image processing. Examples of feature-point extraction algorithms based on image processing include SIFT (Scale-invariant feature transform), SURF (Speed-Upped Robust Feature), KAZE, and A-KAZE (ACCELERATED-KAZE). Similarly to SIFT or SURF, KAZE and A-KAZE are feature-point extraction algorithms that are robust because of their strength in scaling, rotation, and changes in lighting. Unlike SIFT and SURF, KAZE and A-KAZE do not employ a Gaussian filter. Therefore, KAZE and A-KAZE are unlikely to be affected by rotation, scales, and changes in luminance values, and are able to extract feature points even from a region of the image where changes in the luminance value and color are relatively small. This makes it easy to extract feature points that are suitable for feature point matching, even from an image of the soil surface or the like. As compared to KAZE, A-KAZE is advantageous due to its high robustness and ability to enhance the processing speed. In the present example embodiment, the A-KAZE algorithm is used to extract feature points. However, the algorithm for feature point matching is not limited to this example.
Finding the association between a plurality of feature points extracted from the image 40 (t) and a plurality of feature points in the image 40 (t+1) corresponding to the aforementioned plurality of feature points is carried out by the algorithm of feature point matching. In
After performing such feature point matching, for each of the plurality of feature points, the processor 122 determines an amount of movement (first amount of movement) in the image plane. It is not that the first amount of movement determined from the two images 40 (t) and 40 (t+1) has one common value for all feature points. Depending on the physical difference in height between feature points existing on the ground surface 10, the first amount of movement exhibits different values.
In the image 40 (t) of
The feature points f1 and f2 in the image 40 (t) are, respectively, points resulting through a perspective projection of the points F1 and F2 on the ground surface 10, as the subjects, onto the image plane Im1 of the imaging device 120. Similarly, the feature points f1 and f2 in the image 40 (t+1) are, respectively, points resulting through a perspective projection of the points F1* and F2* on the ground surface 10, as the subjects, onto the image plane Im1 of the imaging device 120. The center point of perspective projection is the origin O of the camera coordinate system Σc of the imaging device 120. Since perspective projection has a bidirectional relationship, the points F1 and F2 can be said to be points resulting through a perspective projection of the feature points f1 and f2 in the image 40 (t) onto the ground surface 10. Similarly, the points F1* and F2* can be said to be points resulting through a perspective projection of the feature points f1 and f2 in the image 40 (t) onto the ground surface 10.
As shown in
As can be seen from
From the ratio (homothetic ratio) between lengths of the sides of two homothetic triangles shown in
The above formula is transformed to give the following formula.
In order to estimate the size of a bump-dent difference on the ground surface 10 based on the above formula, the processor 122 according to the present example embodiment performs operation S22. That is, each of the plurality of feature points is perspective-projected from the image plane onto the reference plane Re corresponding to the ground surface 10, and the second amount of movement (L+dL) of each projection point in the reference plane Re is determined based on the first amount of movement. The distance L in the above formula can be acquired by measuring the traveled distance of the agricultural machine 100. Moreover, the height Hc of the origin O of the camera coordinate system from the reference plane Re is known. Therefore, once the second amount of movement (L+dL) becomes known, the height dH of the ridge 16 can be calculated from the formula of eq. 7. The second amount of movement (L+dL) itself can be determined from the first amount of movement.
After performing operation S22, the processor 122 performs operation S23.
In operation S23, based on the second amount of movement (L+dL) of each feature point, the processor 122 estimates the height dH of each feature point from the reference plane Re, and detects the ridge 16 on the ground surface 10.
Thus, in the present example embodiment, given a height Hc of the center point O of perspective projection from the reference plane Re, heights dH of the plurality of feature points from the reference plane Re, a second amount of movement L of a feature point (whose dH is zero) on the reference plane Re, and a second amount of movement L+dL of a feature point whose dH is greater than zero, the height of each feature point can be determined as Hc·(1.0−L/(L+dL)).
When determining the second amount of movement from the first amount of movement, homography transformation can be utilized. Specifically, by using the aforementioned inverse H1−1 of the transformation matrix H1, the coordinates of each feature point on the image plane Im1 may be converted into coordinates of a corresponding point on the reference plane Re. Therefore, first, the processor 122 determines a first amount of movement from the coordinates of each feature point on the image plane Im1 before and after the movement. Next, after the coordinates of each feature point are changed through homography transformation into coordinates of a corresponding point on the reference plane Re, a second amount of movement can be determined from the coordinates before and after the movement on the reference plane Re.
As has been described with respect to the first example embodiment, a plurality of scanning lines are also set in the present example embodiment. In the present example embodiment, however, a mean value of heights of feature points is calculated along each scanning line. Moreover, by varying the direction (angle) of the scanning lines, the direction in which a ridge extends can be found from the distribution of height mean values of feature points. Once the direction in which the ridge 16 extends is determined, edge lines of the ridge 16 can be determined by a method similar to the method of determining the edge lines of a crop row 12. As has been described with reference to
Thus, as shown in
In the present example embodiment, the processor 122 determines, as edge lines of the ridge, positions that are located on opposite sides of the position of a peak as indicated by the height mean values, the positions having a height which accounts for a predetermined rate (e.g., about 0.8 times) with respect to the peak. Above the graph of
In the present example embodiment, too, as has been described with reference to
According to the present example embodiment, row detection does not depend on the “color of the crop row”, thus providing an advantage of not being susceptible to the kind of crop or the daylighting conditions. It has been confirmed that detection is possible not only for tall ridges, e.g., “high ridges” that are often made in growing vegetables, but also for relatively low ridges whose height is in the range of, for example, about 5 to 10 centimeters.
The detection of crop rows in the first example embodiment and the detection of ridges in the second example embodiment may be simultaneously or selectively performed by the processor 122. In the case where crops are planted on the ridges, edge lines of crop rows and edge lines of ridges are determined. The target path for the agricultural machine may be determined based on both kinds of or one kind of edge lines.
The processor 122 may calculate a detection reliability for each of crop row detection and ridge detection. The reliability of crop row detection may be determined based on the distribution of total values of index values shown in
In the case where the processor 122 is capable of performing both crop row detection and ridge detection, one of crop row detection and ridge detection, or both, may be performed in accordance with the operator's selection.
Hereinafter, row detection system in an illustrative third example embodiment of the present disclosure will be described. Herein, selection of an interest region will be described in detail.
As can be seen from the image exemplified in
On the other hand, the crop rows or ridges to be detected, which are needed to select a target path, are around the front of the traveling agricultural machine. More specifically, it suffices to accurately detect crop rows or ridges that are located near the wheels included in the traveling equipment of the agricultural machine. In the present example embodiment, row detection is performed not with respect to the entire image that is acquired by the imaging device 120, but only in a partial region, whereby the amount of computation to be performed by the processor 122 and the time required for computation can be reduced. Because outliers caused by distortion at the image periphery can be eliminated, the accuracy of row detection is enhanced.
The selection of the interest region 60 (region setting) depends on the position and orientation in which the imaging device 120 is mounted to the agricultural machine 100, and also on the structure or shape of the agricultural machine 100. For example, after the imaging device 120 is mounted to the agricultural machine 100, the range (shape, size, position) of the interest region 60 may be manually determined while confirming the image obtained from the imaging device 120 on a monitor screen. Based on the optical performance and mounted position of the imaging device 120, the particular model of the agricultural machine, etc., the range of the interest region 60 may be finalized and input to the processor 122.
The processor 122 according to the present example embodiment may be configured or programmed to detect at least a portion of the wheels 10F from the image 40 as shown in
The processor 122 may estimate a positional relationship between the at least detected one of crop rows 12 and ridges 16 and the front wheels 104F based on an image of the portions of the front wheels 104F that are included in the interest region 60. The processor 122 may be configured or programmed to estimate a positional relationship between the at least detected one of crop rows 12 and ridges 16 and the agricultural machine 100 based on such a positional relationship.
Note that the processor 122 may not possess any information indicating accurate positions of the front wheels 104F relative to the agricultural machine 100. Such information indicating positions may be coordinates of the front wheels 104F relative to the body coordinate system Σb fixed to the agricultural machine 100, for example. Even when such coordinates are previously stored in the storage 28 of the processor 122, its accuracy may be compromised if the operator changes the tire size of the front wheels 104F or changes the interval between the right and left front wheels 104F, for example. In such cases, the processor 122 may detect portions of the front wheels 104F that are included in the interest region 60, and based on an image of the detected portions of the front wheels 104F, estimate the positions of the front wheels 104F relative to the agricultural machine 100.
In general, relative to the vehicle body 110 of the agricultural machine 100, positions of the tire treads CA are known. Therefore, the positional relationship of the tire treads CA with the plan view image (rectangular area) 62 of the interest region 60 is also known. However, setting the interest region 60 so as to include at least a portion of one or more wheels as in the present example embodiment can provide the following advantageous effects.
The structure of the vehicle body 110 may differ from model to model, and also the tread width (distance between centers of tire treads CA) T may differ from model to model. Even within the same model, the operator may change the tread width T as aforementioned. Therefore, selecting the shape and size of the interest region 60 so as to include the wheels 104 appearing in the image will realize an image processing that can cope with various models, and cope with changes in the tread width T that may be made by the operator.
It is no longer required to input the positions of the tire treads CA as coordinates in the body coordinate system Σb in advance. It becomes possible to automatically acquire coordinates of the front wheels 104F or the tire treads CA in the body coordinate system Σb based on an image that is acquired by the imaging device 120.
Based on an image, it becomes possible to monitor a positional error between the edge lines of a row determined by the image recognition system or a target path that is generated based on the edge lines, and the wheels.
Note that, as mentioned earlier, the wheels will be deformed when a plan view image of the ground surface is generated through homography transformation. In order to accurately estimate a positional relationship of the wheels (in particular tire treads CA) with the edge lines of a row or a target path, it is desirable to correct the homography transformation. Hereinafter, this aspect will be described.
In order to know the positional relationship between the front wheels 104F and the edge lines of a crop row 12 or a ridge 16 based on such a plan view image, it is preferable to estimate the centers of the tire treads CA based on the coordinates (X3′, Y3′, 0) and (X4′, Y4′, 0) of the corresponding points P3′ and P4′.
In the example of
Thus, in the present example embodiment, by including at least a portion of the wheel (s) in the interest region, it becomes possible to monitor the relative locations of the wheels relative to a row that has been detected from within the interest region, on the basis of time-series images.
Next, an example embodiment of an agricultural machine including a positioning system and an image recognition system of example embodiments 1 to 3 will be described. The positioning system may be any arbitrary GNSS system. Note that the procedure or algorithm of row detection by the image recognition system is not limited to the procedure or algorithms described with respect to example embodiments 1 to 3 above.
An agricultural machine according to the present example embodiment includes the above-described image recognition system. Moreover, this agricultural machine includes a control system to perform control to achieve auto-steer driving by utilizing positional information of a row region that is acquired with the image recognition system, and/or ego-position information that is acquired with the positioning system. The control system is a computer system that includes a storage and a controller, and is configured or programmed to control steering, travel, and other operations of the agricultural machine.
The positioning system includes a GNSS receiver, for example. Such a positioning system is able to identify the position of the work vehicle based on signals from GNSS satellites. However, when there are rows in the field, even if the positioning system is able to measure the position of the agricultural machine with a high accuracy, the interspaces between rows are narrow, such that the traveling equipment, e.g., wheels, of the agricultural machine may be liable to protrude into the rows depending on how the crops are planted or depending on the state of growth. In the present example embodiment, however, the aforementioned image recognition system can be used to detect actually-existing rows and perform appropriate automatic steering. In other words, the automatic steering device included in the agricultural machine (controller) according to an example embodiment of the present disclosure is configured to be capable of not only controlling the steering angle of the wheels responsible for steering so that the ego-position matches a previously set path, but also controlling the steering angle of the wheels responsible for steering based on the positions of the edge lines of a row that are determined by the image recognition system.
Moreover, in the agricultural machine according to the present example embodiment, the processor of the image recognition system can monitor the positional relationship between the edge lines of rows and the wheels responsible for steering on the basis of time-series color images. By generating a positional error signal from this positional relationship, it becomes possible for the automatic steering device of the agricultural machine to appropriately adjust the steering angle so as to reduce the positional error signal.
On the other hand, if row-following travel has been selected (S501, No), the controller 180 determines whether row-following travel is possible or not based on a result of detection by the image recognition system 1000 (S510). When it is determined that row-following travel is possible (S510, Yes), and if a command to start row-following travel is given with the start switch 112 (S511, Yes), the controller 180 starts row-following travel (S512). If it is determined that row-following travel is not possible (S510, No) or if a command to start row-following travel is not given with the start switch 112 (S511, No), the controller 180 does not start row-following travel.
During row-following travel, if a command to end row-following travel is given with the start switch 112 (S513, Yes), the controller 180 ends row-following travel (S514).
The agricultural machine 100 according to the present example embodiment includes an imaging device 120 and an obstacle sensor (s) 136. In the present example embodiment, the positioning device 130 functions as the aforementioned positioning system 2000. Although one obstacle sensor 136 is illustrated in
s shown in
The positioning device 130 in the present example embodiment includes a GNSS receiver. The GNSS receiver includes an antenna to receive a signal (s) from a GNSS satellite (s) and a processing circuit to determine the position of the agricultural machine 100 based on the signal (s) received by the antenna. The positioning device 130 receive a GNSS signal (s) transmitted from a GNSS satellite(s), and performs positioning on the basis of the GNSS signal (s). GNSS is a general term for satellite positioning systems, such as GPS S (Global Positioning System), QZSS (Quasi-Zenith Satellite System, e.g., MICHIBIKI), GLONASS, Galileo, BeiDou, and the like. Although the positioning device 130 in the present example embodiment is disposed above the cabin 105, it may be disposed at any other position.
Furthermore, the positioning device 130 may complement the position data by using a signal from an inertial measurement unit (IMU). The IMU can measure tilts and minute motions of the agricultural machine 100. By complementing the position data based on the GNSS signal using the data acquired by the IMU, the positioning performance can be improved.
In the examples shown in
The prime mover 102 may be a diesel engine, for example. Instead of a diesel engine, an electric motor may be used. The transmission 103 can change the propulsion and moving speed of the agricultural machine 100 through a speed changing mechanism. The transmission 103 can also switch between forward travel and backward travel of the agricultural machine 100.
The steering device 106 includes a steering wheel, a steering shaft connected to the steering wheel, and a power steering device to assist in the steering by the steering wheel. The front wheels 104F are the wheels responsible for steering, such that changing their angle of turn (also referred to as “steering angle”) can cause a change in the traveling direction of the agricultural machine 100. During manual steering, the steering angle of the front wheels 104F can be changed as the operator manipulates the steering wheel. The power steering device includes a hydraulic device or an electric motor to supply an assisting force for changing the steering angle of the front wheels 104F. When automatic steering is performed, under the control of a controller disposed in the agricultural machine 100, the steering angle may be automatically adjusted by the power of the hydraulic device or electric motor (steering motor).
A linkage device 108 is provided at the rear of the vehicle body 110. The linkage device 108 may include, e.g., a three-point linkage (also referred to as a “three-point link” or a “three-point hitch”), a PTO (Power Take Off) shaft, a universal joint, and a communication cable. The linkage device 108 allows the implement 300 to be attached to or detached from the agricultural machine 100. The linkage device 108 is able to raise or lower the three-point linkage device with a hydraulic device, for example, thus controlling the position or pose of the implement 300. Moreover, motive power can be sent from the agricultural machine 100 to the implement 300 via the universal joint. While towing the implement 300, the agricultural machine 100 allows the implement 300 to perform a predetermined task. The linkage device may be provided frontward of the vehicle body 110. In that case, the implement may be connected frontward of the agricultural machine 100.
The implement 300 shown in
In addition to the imaging device 120, the positioning device 130, the obstacle sensor 136, and the operational terminal 200, the agricultural machine 100 in the example of
The positioning device 130 performs positioning of the agricultural machine 100 by utilizing GNSS. In the case where the positioning device 130 includes a RTK receiver, not only GNSS signals transmitted from multiple GNSS satellites, but also a correction signal that is transmitted from a reference station is used. The reference station may be disposed around the field that is traveled by the agricultural machine 100 (e.g., at a position within 10 km of the agricultural machine 100). The reference station generates a correction signal based on the GNSS signals received from the multiple GNSS satellites, and transmits the correction signal to the positioning device 130. The GNSS receiver 131 in the positioning device 130 receives the GNSS signals transmitted from the multiple GNSS satellites. Based on the GNSS signals and the correction signal, the positioning device 130 calculates the position of the agricultural machine 100, thus achieving positioning. Use of an RTK-GNSS enables positioning with an accuracy on the order of several cm of errors, for example. Positional information (including latitude, longitude, and altitude information) is acquired through the highly accurate positioning by an RTK-GNSS. Note that the positioning method is not limited to an RTK-GNSS; any arbitrary positioning method (e.g., an interferometric positioning method or a relative positioning method) that provides positional information with the necessary accuracy can be used. For example, positioning may be performed by utilizing a VRS (Virtual Reference Station) or a DGPS (Differential Global Positioning System). The positioning device 130 does not need to be of a positioning type utilizing satellite signals, but may be a device using any other positioning method that recognizes an ego-position. Examples of other positioning method may include methods that measure an ego-position by receiving radio waves from a plurality of radio wave transmitting devices (beacons, Wi-Fi (registered trademark) communication devices, etc.) around field, or from provided the an electromagnetic induction wire or RF-ID embedded in a field. Alternatively, it may be a method that estimates an ego-position by recognizing landmarks or tags in and/or around the field with a camera, etc.
The IMU 135 includes a 3-axis accelerometer and a 3-axis gyroscope. The IMU 135 may include a direction sensor such as a 3-axis geomagnetic sensor. The IMU 135 functions as a motion sensor which can output signals representing parameters such as acceleration, velocity, displacement, and pose of the agricultural machine 100. Based not only on the GNSS signals and the correction signal but also on a signal that is output from the IMU 135, the positioning device 130 can estimate the position and orientation of the agricultural machine 100 with a higher accuracy. The signal that is output from the IMU 135 may be used for the correction or complementation of the position that is calculated based on the GNSS signals and the correction signal. The IMU 135 outputs a signal more frequently than the GNSS signals. Utilizing this highly frequent signal allows the position and orientation of the agricultural machine 100 to be measured more frequently (e.g., about 10 Hz or above). Instead of the IMU 135, a 3-axis accelerometer and a 3-axis gyroscope may be separately provided. The IMU 135 may be provided as a separate device from the positioning device 130.
In addition to or instead of the GNSS receiver 131 and the IMU 135, the positioning device 130 may include other kinds of sensors. Depending on the environment that is traveled by the agricultural machine 100, it is possible to estimate the position and orientation of the agricultural machine 100 with a high accuracy based on data from such sensors.
By using the positioning device 130 as such, it is possible to generate a map of crop rows and ridges as detected by the aforementioned image recognition system 1000.
For example, the drive device 140 may include various devices that are needed for the traveling of the agricultural machine 100 and the driving of the implement 300, e.g., the aforementioned prime mover 102, transmission 103, differential including a locking differential mechanism, steering device 106, and linkage device 108. The prime mover 102 includes an internal combustion engine such as a diesel engine. Instead of an internal combustion engine or in addition to an internal combustion engine, the drive device 140 may include an electric motor that is dedicated to traction purposes.
The steering wheel sensor 150 measures the angle of rotation of the steering wheel of the agricultural machine 100. The angle-of-turn sensor 152 measures the angle of turn of the front wheels 104F, which are the wheels responsible for steering. Measurement values by the steering wheel sensor 150 and the angle-of-turn sensor 152 are used for the steering control by the controller 180.
The storage 170 includes one or more storage media such as a flash memory or a magnetic disc. The storage 170 stores various data that is generated by the sensors and the controller 180. The data that is stored by the storage 170 may include map data in the environment that is traveled by the agricultural machine 100, and data of a target path of automatic steering. The storage 170 also stores a computer program(s) to cause the ECUs in the controller 180 to perform various operations to be described later. Such a computer program(s) may be provided for the agricultural machine 100 via a storage medium (e.g., a semiconductor memory or an optical disc) or through telecommunication lines (e.g., the Internet). Such a computer program (s) may be marketed as commercial software.
The controller 180 includes a plurality of ECUs. The plurality of ECUs include an ECU 181 for image recognition, an ECU 182 for speed control, an ECU 183 for steering control, an ECU 184 for automatic steering control, an ECU 185 for implement control, an ECU 186 for display control, and an ECU 187 for buzzer control. The ECU 181 for image recognition functions as a processor of the image recognition system. The ECU 182 controls the prime mover 102, the transmission 103, and the brakes included in the drive device 140, thus controlling the speed of the agricultural machine 100. The ECU 183 controls the hydraulic device or electric motor included in the steering device 106 based on a measurement value of the steering wheel sensor 150, thus controlling the steering of the agricultural machine 100. The ECU 184 performs computations and controls for achieving auto-steer driving, based on signals which are output from the positioning device 130, the steering wheel sensor 150, and the angle-of-turn sensor 152. During auto-steer driving, the ECU 184 sends the ECU 183 a command to change the steering angle. In response to this command, the ECU 183 controls the steering device 106 to change the steering angle. In order to cause the implement 300 to perform a desired operation, the ECU 185 controls the operation of the linkage device 108. Also, the ECU 185 generates a signal to control the operation of the implement 300, and transmits this signal from the communication IF 190 to the implement 300. The ECU 186 controls displaying on the operational terminal 200. For example, the ECU 186 may cause a display device of the operational terminal 200 to present various indications, e.g., a map of the field, detected crop rows or ridges, the position of the agricultural machine 100 and a target path in the map, pop-up notifications, and setting screens. The ECU 187 controls outputting of alarm sounds by the buzzer 220.
Through the action of these ECUs, the controller 180 realizes driving via manual steering or automatic steering. During usual auto-steer driving, the controller 180 controls the drive device 140 based on the position of the agricultural machine 100 as measured or estimated by the positioning device 130 and the target path stored in the storage 170. As a result, in the automatic path travel mode, the controller 180 causes the agricultural machine 100 to travel along the target path. On the other hand, in a row-following control mode where travel is done along the rows, the ECU 181 for image recognition determines from a detected crop row or ridge the edge lines of the crop row or ridge, and generates a target path based on these edge lines. The controller 180 performs an operation in accordance with this target path.
The plurality of ECUs included in the controller 180 may communicate with one another according to a vehicle bus standard such as CAN (Controller Area Network). Although the ECUs 181 to 187 are illustrated as individual corresponding blocks in
The communication IF 190 is a circuit that performs communications with the communication IF 390 of the implement 300. The communication IF 190 performs exchanges of signals complying with an ISOBUS standard such as ISOBUS-TIM, for example, between itself and the communication IF 390 of the implement 300. This causes the implement 300 to perform a desired operation, or allows information to be acquired from the implement 300. Moreover, the communication IF 190 can communicate with an external computer via a wired or wireless network. The external computer may be a server computer in a farming support system which centralizes management of information concerning fields by using a cloud, and assists in agriculture by utilizing the data on the cloud, for example.
The operational terminal 200 is a terminal for the operator to perform a manipulation related to the traveling of the agricultural machine 100 and the operation of the implement 300, and may also be referred to as a virtual terminal (VT). The operational terminal 200 may include a display device such as a touch screen panel, and/or one or more buttons. By manipulating the operational terminal 200, the operator can perform various manipulations, such as switching ON/OFF the automatic steering mode, switching ON/OFF the cruise control, setting an initial position of the agricultural machine 100, setting a target path, recording or editing a map, switching between 2WD/4WD, switching ON/OFF the locking differential, and switching ON/OFF the implement 300. At least some of these manipulations can also be realized by manipulating the operation switches 210. Displaying on the operational terminal 200 is controlled by the ECU 186.
The buzzer 220 is an audio output device to present an alarm sound for alerting the operator of an abnormality. For example, during auto-steer driving, the buzzer 220 may present an alarm sound when the agricultural machine 100 has deviated from the target path by a predetermined distance or more. While row-following travel is not possible, the buzzer 220 may make an alarm sound when the operator manipulates the start switch 112 to issue a command to start row-following travel. Instead of the buzzer 220, a loudspeaker of the operational terminal 200 may provide a similar function. The buzzer 220 is controlled by the ECU 186.
The drive device 340 in the implement 300 performs a necessary operation the for implement 300 to perform a predetermined task. The drive device 340 includes devices adapted to the intended use of the implement 300, e.g., a pump, a hydraulic device, an electric motor, or a pump. The controller 380 controls the operation of the drive device 340. In response to a signal that is transmitted from the agricultural machine 100 via the communication IF 390, the controller 380 causes the drive device 340 to perform various operations. Moreover, a signal that is in accordance with the state of the implement 300 may be transmitted from the communication IF 390 to the agricultural machine 100.
In the above example embodiments, the agricultural machine 100 may be an unmanned work vehicle which performs self-driving. In that case, component elements which are only required for human driving, e.g., the cabin, the driver's seat, the steering wheel, and the operational terminal, do not need to be provided in the agricultural machine 100. The unmanned work vehicle may perform a similar operation to the operation according to any of the above example embodiments via autonomous driving, or by remote manipulations by an operator.
A system that provides the various functions according to example embodiments can be mounted to an agricultural machine lacking such functions as an add-on. Such a system may be manufactured and sold independently from the agricultural machine. A computer program for use in such a system may also be manufactured and sold independently from the agricultural machine. The computer program may be provided in a form stored in a computer-readable, non-transitory storage medium, for example. The computer program may also be provided through downloading via telecommunication lines (e.g., the Internet).
The techniques and example embodiments according to the present disclosure can be applied to agricultural machines, such as vehicles for crop management, vegetable transplanters, or tractors, for example.
While example embodiments of the present invention have been described above, it is to be understood that variations and modifications will be apparent to those skilled in the art without departing from the scope and spirit of the present invention. The scope of the present invention, therefore, is to be determined solely by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
2021-211939 | Dec 2021 | JP | national |
This application claims the benefit of priority to Japanese Patent Application No. 2021-211939 filed on Dec. 27, 2021 and is a Continuation application of PCT Application No. PCT/JP2022/045041 filed on Dec. 7, 2022. The entire contents of each application are hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2022/045041 | Dec 2022 | WO |
Child | 18736607 | US |