Performing low profile object detection on a mower

Low profile object detection can be performed on mowers or other vehicles that may be autonomous. An autonomy controller can be employed on a mower to receive and process sensor data for a detection area to determine whether an object may be present in a region of interest within the detection area. When the autonomy controller determines that an object may be present, it can cause the ground speed of the mower to be slowed and can commence buffering region of interest sensor data over a period of time. The autonomy controller can process the buffered region of interest sensor data to determine whether an object is present in the region of interest, and if so, can alter the path of the mower appropriately.

CROSS-REFERENCE TO RELATED APPLICATIONS

BACKGROUND

Expansive grassy areas such as sod farms, golf courses, sports fields, parks, etc. are oftentimes cut frequently using large mowers. For example, a sod farm may be cut multiple times a week. Labor costs associated with such mowing can be significant.

With recent advancements in automation, some mower manufacturers have developed autonomous mowers. These autonomous mowers can be driven with minimal oversight using GPS or other geolocation techniques thereby reducing the labor costs associated with frequent mowing. Like many automobiles, an autonomous mower will typically employ sensors to detect the presence of objects in the mower's path. For example, an autonomous mower may include a sensor to detect large objects such as people, animals, trees, equipment, etc. to prevent collisions with such objects. The detection of these objects on a mower can be accomplished in much the same manner as such objects are detected on automobiles.

With mowers, however, there are unique difficulties because mowers operate on grass and include mower blades that pass mere inches above the ground. A very small object, which an automobile may simply drive over and may safely ignore, could pose a significant problem to a mower. For example, if a mower drives over a sprinkler line, a mower deck may be destroyed. Additionally, it is not uncommon for these relatively small objects to be covered at least partially by the grass. For example, grass to be cut could have grown around an old sprinkler line making it very difficult to detect that the sprinkler line is the mower's path. Similar difficulties may exist for other types of autonomous equipment (or vehicles) that interface directly with or immediately above the ground such as sod harvesters, combine harvesters, forage harvesters, plows, cultivators, seeders, etc.

BRIEF SUMMARY

Embodiments of the present invention extend generally to methods for performing low profile object detection on mowers or other off-highway vehicles that may be autonomous, to circuitry or computer program products for performing such methods, and to mowers and other off-highway vehicles that are configured to perform such methods. An autonomy controller can be employed on a mower to receive and process sensor data for a detection area to determine whether an object may be present in a region of interest within the detection area. When the autonomy controller determines that an object may be present, it can cause the ground speed of the mower to be slowed and can commence buffering region of interest sensor data over a period of time. The autonomy controller can process the buffered region of interest sensor data to determine whether an object is present in the region of interest, and if so, can alter the path of the mower appropriately. If the autonomy controller is unable to determine whether an object is present in the region of interest, it can notify an external system to receive feedback on whether to allow the mower to proceed along its path.

In some embodiments, the present invention may be implemented as a mower that includes a main body, one or more mower decks supported by the main body, one or more sensors that provide sensor data for a detection area that extends in front of the one or more mower decks, an autonomy controller that receives the sensor data for the detection area from the one or more sensors and a machine controller that controls a ground speed and direction of the mower. The autonomy controller can be configured to perform a method for detecting an object within the detection area. This method can include: processing the sensor data for the detection area to determine that an object may be present in a region of interest within the detection area; in response to determining that an object may be present in a region of interest within the detection area, causing the machine controller to slow the ground speed of the mower; buffering region of interest sensor data received over a period of time; and processing the buffered region of interest sensor data to determine whether an object is present in the region of interest.

In some embodiments, the present invention may be implemented by an autonomy controller of a vehicle as a method for detecting a low profile object. The autonomy controller can receive, from one or more sensors, sensor data for a detection area. The autonomy controller can process the sensor data for the detection area to determine that an object may be present in a region of interest within the detection area. In response to determining that an object may be present in a region of interest within the detection area, the autonomy controller can cause a ground speed of the vehicle to be slowed. In conjunction with causing the ground speed of the vehicle to be slowed, the autonomy controller can buffer region of interest sensor data received over a period of time. The autonomy controller can then process the buffered region of interest sensor data to determine whether an object is present in the region of interest.

In some embodiments, the present invention may be implemented as a vehicle that includes a main body, a first sensor and a second sensor that each provide sensor data for a detection area that extends in front of the main body, an autonomy controller that receives the sensor data for the detection area from the first and second sensors and a machine controller that controls a ground speed of the vehicle. The autonomy controller is configured to perform a method for detecting an object within the detection area which includes: receiving, from one or both of the first and second sensor, sensor data for the detection area; processing the sensor data for the detection area to determine that an object may be present in a region of interest within the detection area; in response to determining that an object may be present in a region of interest within the detection area, causing the machine controller to slow the ground speed of the vehicle; buffering region of interest sensor data received over a period of time from the second sensor; and processing the buffered region of interest sensor data to determine whether an object is present in the region of interest.

In some embodiments, the present invention may be implemented as a method for building a database of labeled images for use in detecting a low profile object in a path of a vehicle. Sensor data for a detection area may be received from one or more sensors on a vehicle. The sensor data for the detection area may be processed to determine that an object may be present within the detection area. In response to determining that an object may be present within the detection area, a ground speed of the vehicle may be slowed. In conjunction with causing the ground speed of the vehicle to be slowed, a feed from a camera of the vehicle may be provided to an external system. The external system may then display the feed and receive user input that labels an object contained in the feed. The feed with the labeled object may then be stored in a database.

DETAILED DESCRIPTION

In this specification and the claims, the term “mower” should be construed as equipment that can be propelled across the ground and that is capable of cutting grass. One of skill in the art would understand that there are many different types and configurations of mowers. Therefore, although the following description will employ an example where the mower is in the form of a tractor that supports a number of mower decks, it should be understood that any type of mower could be configured to implement embodiments of the present invention. The term “mower deck” should be construed as a component of a mower that houses one or more cutting blades. A mower that is configured to implement embodiments of the present invention may include one or more mower decks.

FIG.1provides one example of a mower100that is configured in accordance with embodiments of the present invention. Mower100is in the form of a tractor having a main body105from which three mower decks110are supported. A cab155is positioned towards a front of main body105and may be configured to house an operator. However, embodiments of the present invention are directed to enabling mower100to be autonomous, and therefore, no operator needs to be present within cab155during operation.

In the depicted example, a first sensor120, a second sensor130and a camera140are positioned on cab155. This positioning, however, is merely one example. In other examples, the sensors and/or camera could be positioned inside cab155, at a different location on main body105, on mower decks110, etc. In some embodiments, positioning the sensors on or in cab155as opposed to on or near mower decks110can minimize the vibrational forces the sensors will experience.

The number and/or type of sensors may also vary. In the depicted example, it will be assumed that first sensor120is a 2D sensor and that second sensor130is a 3D sensor. The use of these different types of sensors is described below. It will also be assumed that the horizontal ranges of first sensor120and second sensor130are sufficient to encompass the cutting width of mower decks110(i.e., the combined width of the three mower decks). However, if either sensor did not have a sufficient horizontal range, multiple sensors of the same type could be employed. For example, first sensor120or second sensor130could be replaced with two sensors where each sensor is oriented to cover the left or right side of mower100's cutting path. In some embodiments, multiple sensors could be employed even when their ranges overlap. Accordingly, the present invention should not be limited to embodiments that employ any particular number and/or type of sensor.

Camera140can be mounted anywhere on mower100that will enable a video feed of the mower's cutting path to be presented to a user. In the depicted example, a single camera140is mounted to the front of cab155. However, in other embodiments, one or more cameras140could be mounted on one or more of mower decks110, on another portion of main body105or at some other position.

FIG.2illustrates an example of a control system200that may be employed on a mower, such as mower100, to enable the mower to perform low profile object detection in accordance with embodiments of the present invention. Control system200includes an autonomy controller210, a machine controller220, sensor120, sensor130and camera140, all of which may be incorporated into or on mower100, and an external system230.

Autonomy controller210can be implemented with any suitable hardware- and/or software-based circuitry including, but not limited to, a central processing unit, a microprocessor, a microcontroller, a field programming gate array, an application-specific integrated circuit, a system on a chip, etc. Autonomy controller210is coupled to sensor120and sensor130(or any other sensors employed on a mower) to receive and process sensor data that is generated as mower100traverses the ground. In addition to receiving sensor data, autonomy controller210can provide control signals to some or all of sensor120, sensor130, camera140, machine controller220and external system230as described below.

Machine controller220can represent the components that drive mower100. In some embodiments, machine controller220can represent a drive-by-wire system. Of primary relevance to the present invention, machine controller220can be configured to control the ground speed of mower100, including being able to stop mower100, and may also be configured to change the path of mower100in response to control signals received from autonomy controller210.

In some embodiments, sensor120may be a 2D sensor. For purposes of this specification and the claims, a 2D sensor may be construed in accordance with its customary meaning such as a sensor that employs variations in heat (e.g., a thermography sensor), reflectivity (e.g., a LiDAR intensity sensor), color (an RGB sensor), etc. to detect objects that may be present in the sensor's field of view. In some embodiments, sensor130may be a 3D sensor. For purposes of this specification and the claims, a 3D sensor may be construed in accordance with its customary meaning such as a sensor that incorporates depth measurements in its sensor data such as time of flight sensors (e.g., LiDAR, RADAR, Ultrasonic sensors) that provide 2D reflectivity-based sensor data and incorporate depth measurements based on the time at which a reflected signal is received and stereo cameras (e.g., RGB-D sensors) that employ spaced cameras and perform trigonometric calculations on pixel values produced by the spaced cameras to determine depth. These sensors are provided as examples only, and embodiments of the present invention could be implemented using any sensor or combination of sensors that enable the functionality described below.

External system230may represent any computing device that is capable of receiving and displaying a video feed generated by camera(s)140and that is capable of providing feedback/input to autonomy controller210. In one example, external system230could include a computing device (e.g., a smart phone or tablet with an app, a desktop or mobile device logged into a website, a dedicated device, etc.) that an operator has registered with autonomy controller210or otherwise associated with mower100. In such cases, the operator (e.g., a manager of a sod farm, golf course, park, etc.) could employ external system230to monitor the operation of mower100when it is autonomous or even while riding in mower100. In another example, external system230could be a cloud-based artificial intelligence engine that receives the video feed generated by camera(s)140and/or sensor data. In any case, in some embodiments, external system230can be employed to prompt an individual (or to employ artificial intelligence) to determine whether an object is present in mower100's path when the low profile object detection techniques of the present invention do not confirm the presence of an object with a threshold level of certainty.

FIGS.3A-3Cprovide an example where mower100approaches a low profile object while mowing and can provide context for the subsequent description of low profile object detection techniques that autonomy controller210can perform. InFIG.3A, mower100is shown as travelling at a ground speed (GS1) while cutting a grass field300. In some embodiments, autonomy controller210can cause machine controller220to maintain mower100at this ground speed when no objects are detected in mower100's path.

While cutting, sensors120and130can generate sensor data over a detection area350that is in front of mower decks110. In other words, detection area350encompasses the section of grass that mower100is about to cut. The location of detection area350is one example only. In some cases, detection area350may extend rearwardly up to each of mower decks110or may have any other shape or position that encompasses the path that mower100is about to traverse. In the depicted embodiment, it is assumed that both sensors120and130are generating sensor data over detection area350. In other words, the field of view of sensor120and sensor130correspond with detection area350. Accordingly, autonomy controller210can receive both 2D sensor data and 3D sensor data for detection area350.

InFIG.3A, a low profile object300(e.g., a piece of rebar that is sticking up from the ground) is shown in mower100's path but has not yet entered detection area350. In contrast, inFIG.3B, it is assumed that mower100has advanced to the point where low profile object300has entered detection area350. Accordingly, the sensor data that sensors120and130provide to autonomy controller210may reflect the presence of low profile object300. However, given that low profile object300may stick up only slightly above the grass, may be the same temperature as the grass, may have a similar color as the grass, etc., it may be very difficult to determine from the sensor data that low profile object300is present.

To detect the presence of low profile objects with sufficient accuracy to avoid running them over or having to unnecessarily stop or alter the path of the mower, autonomy controller210can perform low profile object detection techniques as described in detail below. As part of such techniques, and as represented inFIG.3C, autonomy controller210can instruct machine controller220to cause mower100to travel at a slower ground speed (GS2) when autonomy controller210suspects that a low profile object may be present in mower100's path. While traveling at the slower ground speed, sensors120and130may continue to produce sensor data encompassing the detection area, but autonomy controller210can alter which sensor data sensor120and/or130provides as described below.

FIG.4A-4Crepresent functionality that control system200can perform during the sequence depicted inFIGS.3A-3C. In step1ashown inFIG.4A, autonomy controller210receives sensor data for detection area350from sensors120and130. In step1b, autonomy controller210processes the sensor data to determine whether an object, and particularly a low profile object, may be present in detection area350. Step1bcould entail processing the sensor data from both sensors120and130or processing the sensor data from only one of sensors120or130. For example, in some embodiments, autonomy controller210could process sensor data from sensor120(e.g., a 2D sensor) in step1bto determine whether an object may be present. In embodiments where sensor120is a 2D sensor, autonomy controller210could determine that an object may be present within detection area350, when there is a region within detection area350that exhibits a change in color, reflectivity, heat, etc. in excess of some defined threshold.

In step1c, when autonomy controller210determines that an object is not present within the detection area, autonomy controller210can cause machine controller220to maintain the ground speed of mower100. Autonomy controller210can perform steps1a-1crepeatedly while mower100is travelling and while no object is detected in mower100's path.

Turning toFIG.4B, in step2a, autonomy controller210continues to receive sensor data from sensors120and130as mower100travels at ground speed GS1. It is assumed that mower100has approached low profile object300(i.e., low profile object300has entered detection area350) and therefore, in step2b, as autonomy controller210processes the sensor data for the detection area, it can determine that an object may be present within a “region of interest.” This region of interest can be a portion of detection area350where the sensor data suggests that an object may be present. With reference toFIG.3B, the region of interest could be the region within detection area350that immediately surrounds low profile object300. In some embodiments, the size and/or shape of the region of interest may vary depending on the size and/or shape of the object that autonomy controller210has determined may be present. In other embodiments, a fixed size and/or shape of the region of interest (e.g., a one-foot square) may be used whenever autonomy controller210determines that an object may be present.

In step2c, based on determining that an object may be present within detection area350, autonomy controller210can cause machine controller220to reduce the ground speed of mower100to ground speed GS2. In step2d, in conjunction with reducing the ground speed of mower100, autonomy controller210can also notify sensor130of the region of interest. For example, autonomy controller210can provide sensor130with fixed or relative coordinates, offsets or some other definition of where the region of interest is within detection area350. Notably, sensor130may be a 3D sensor.

Turning toFIG.4C, in response to autonomy controller210identifying the region of interest, sensor130can commence sending “region of interest sensor data” as opposed to sensor data for detection area350. This region of interest sensor data is the sensor data that sensor130produces for the region of interest even though sensor130may still be generating sensor data for the entire detection area. In other words, in response to autonomy controller210specifying a region of interest, sensor130can commence sending a subset of the sensor data that it is generating. In other embodiments, rather than instructing sensor130to provide only region of interest sensor data, autonomy controller210may receive sensor data for detection area350and filter out any sensor data falling outside the region of interest.

As represented inFIG.4C, sensor120may still generate and send sensor data for detection area350while sensor130is sending region of interest sensor data. This can enable autonomy controller210to continue to perform steps1a-1cusing the sensor data from sensor120to detect any other object that may enter detection area350while autonomy controller210processes the region of interest sensor data to confirm whether an object is present.

Because autonomy controller210has caused mower100's ground speed to be slowed, low profile object300will remain in detection area350for a longer period of time. In other words, autonomy controller210will have more time to determine whether an object is actually present before either running over the object or having to stop the mower to avoid doing so. During this period of time, sensor130can continue to provide sensor data to autonomy controller210at the same rate (e.g., one sample per second). However, with sensor130providing only region of interest sensor data (or with autonomy controller210creating the region of interest sensor data by filtering out sensor data outside the region of interest), each sample will be much smaller. For example, sensor data for detection area350could include 1.5 million sample points per second, whereas region of interest sensor data may include a very small fraction of these sample points.

In step3b, autonomy controller210buffers the region of interest sensor data that it receives from sensor130over a period of time. Because the region of interest sensor data is much smaller than the sensor data for detection area350, autonomy controller210can buffer and subsequently process multiple samples of region of interest sensor data to determine whether an object is present in the region of interest. For example, with the slowing of the ground speed, autonomy controller210may receive and buffer ten samples of region of interest sensor data and then simultaneously process the ten buffered samples of region of interest sensor data to determine whether an object exists within the region of interest. This processing can be performed without stopping mower100or altering mower100's path.

When autonomy controller210's processing of the buffered region of interest sensor data confirms that an object is present in the region of interest, autonomy controller210can instruct machine controller220to alter mower100's path to avoid running over the object. This altering of mower100's path could entail steering mower100around the object, lifting one or more of mower decks100, stopping mower100, etc. Notably, the combination of slowing mower100's ground speed and causing sensor130to provide region of interest sensor data enables autonomy controller210to accurately determine whether and how to alter mower100's path without unnecessarily stopping mower100. In other words, the low profile object detection techniques that autonomy controller210performs can minimize the occurrence of false positives which would otherwise degrade the efficiency of mower100that repeated and unnecessary stops would cause.

In some instances, autonomy controller210will not be able to determine with sufficient certainty whether an object is present is mower100's path. In such cases, autonomy controller210can communicate with external system230to request external guidance. For example, autonomy controller210could send a notification to external system230to request that an operator view a live video feed from camera140and provide input identifying whether an object is present. Based on such input, autonomy controller210can instruct machine controller220to either proceed (e.g., when the input indicates that no object is present) or to alter mower100's path (e.g., when the input indicates that an object is present). As another example, autonomy controller210could send the region of interest sensor data and/or the live video feed to an artificial intelligence engine where it could be processed using more processing resources than autonomy controller210can provide to thereby determine with greater accuracy whether to alter mower100's path. An example of how an artificial intelligence engine may be employed is provided below.

FIG.5provides an example of how autonomy controller210can buffer and process region of interest sensor data. As shown, autonomy controller210can include a buffer210ain which it stores sensor data that is to be processed. Prior to instructing sensor130to provide region of interest sensor data, autonomy controller210could store a single sample of sensor data for detection area350in buffer210aand then process this single sample to determine whether an object may be present in detection area350. In contrast, after instructing sensor130to provide region of interest sensor data, autonomy controller210can store multiple samples of region of interest sensor data that it receives over a period of time. InFIG.5, buffer210ais shown as storing region of interest sensor data received over a period of time from t1to tn. Region of interest sensor data t1can represent the subset of the sensor data that sensor130produces at time t1where this subset is limited to the region of interest that autonomy controller210specified (e.g., the region immediately surrounding low profile object300). Similarly, region of interest sensor data tncan represent the subset of the sensor data that sensor130produces at time tnwhere this subset is limited to the region of interest that autonomy controller210specified.

After buffering region of interest sensor data t1through tn, autonomy controller210can input the buffered region of interest sensor data to an object detection algorithm210b. Because object detection algorithm210bsimultaneously processes multiple samples that encompass the region of interest, the presence of an object can be detected with high accuracy. For example, region of interest sensor data t1could be produced while low profile object300is 50 feet from mower100, region of interest sensor data t2could be produced when low profile object300is 48 feet from mower100, and so on. Each of region of interest sensor data t1through tnwould therefore provide a slightly different view of the region of interest and the potential object within that region. In embodiments where sensor130is a 3D sensor, each sample of region of interest sensor data will include depth measurements taken at a slightly different angle relative to the potential object. By simultaneously processing such depth measurements taken over the period of time at the various angles, object detection algorithm210bcan provide a highly accurate result indicating whether an object is present.

In some embodiments, autonomy controller210may also adjust a ground plane algorithm employed in object detection algorithm210bwhile processing the region of interest sensor data. For example, while processing sensor data for detection area350, object detection algorithm210bmay employ looser tolerances within its ground plane algorithm so that probable objects will be detected less frequently (e.g., to avoid too many false positives). In particular, detection area350will encompass areas that are farther from the sensors, and therefore the sensor data for such areas will have a low signal-to-noise ratio. This low signal-to-noise ratio will make it more difficult to distinguish an object from the ground. To avoid excessive false positives, object detection algorithm210bcan employ loose tolerances in its ground plane algorithm when processing sensor data for detection area350.

Then, when transitioning to the processing of region of interest sensor data, object detection algorithm210bcan employ tighter tolerances within its ground plane algorithm to enhance the ability to distinguish a potential object from the surrounding area. Because mower100will be getting closer to the region of interest, the region of interest sensor data should exhibit an increasing signal-to-noise ratio (e.g., the signal-to-noise ratio should improve from time to t0time tn). Autonomy controller210can leverage this increasing signal-to-noise ratio to better distinguish objects from the ground plane when processing region of interest sensor data without unreasonably increasing the number of false positives. As an example, tightening tolerances within the ground plane algorithm can cause object detection algorithm210bto more accurately detect variations in the ground plane (e.g., dips or mounds in the field, intermittent slopes, etc.). In such cases, if an object is present in any area where the ground plane varies, the tightened tolerances within the ground plane algorithm will ensure that the varied ground plane will not hide the presence of the object. In contrast, without the tightened tolerances, the depth measurements attributable to the presence of the object may be hidden by depth measurements attributable to the varied ground plane (i.e., the object may appear as if it were part of the ground plane).

FIGS.6A-6Cprovide a flow diagram representing how low profile object detection may be performed in one or more embodiments of the present invention.FIG.6Arepresents functionality that autonomy controller210can perform in “normal operation mode.” Autonomy controller210can initially provide a ground speed and path to machine controller220to enable machine controller210to drive mower100at the specified ground speed along the specified path. Although not shown, autonomy controller210may continuously provide a specified path to machine controller220. Autonomy controller210may optionally output a video feed from camera140to external system230. In some embodiments, autonomy controller210may output the video from in response to a request from external system230(e.g., when an operator requests to view the video feed). While mower100travels at the specified speed along the specified path, sensors120and130(or possibly just sensor120) can provide sensor data for detection area350to autonomy controller210. Autonomy controller210can process this sensor data for detection area350to determine whether an object may be present in mower100's path. If not, autonomy controller210can cause machine controller220to maintain mower100's ground speed and path and can continue to process the sensor data for detection area350. In contrast, if autonomy controller210determines that an object may be present in mower100's path, autonomy controller210can transition into an “object suspected mode” as represented inFIG.6B.

As part of transitioning into object suspected mode, autonomy controller210can instruct machine controller220to reduce the ground speed of mower100. In response, machine controller220can reduce the ground speed while maintaining the specified path. Autonomy controller210may optionally send an alert to external system230. For example, autonomy controller230could notify an operator that it has entered object suspected mode and may optionally commence displaying a live video feed from camera140(if not already being displayed). Autonomy controller210can also identify the region of interest and specify the region of interest to sensor130. In response, sensor130can update its sensing parameters to cause only the region of interest sensor data to be provided to autonomy controller210. Alternatively, autonomy controller210may receive the sensor data for detection area350and apply a filter to create the region of interest sensor data. Autonomy controller210can then commence buffering the region of interest sensor data it receives over a period of time. Optionally, autonomy controller210can also tighten the tolerance on a ground plane algorithm that it employs as part of its object detection algorithm.

Autonomy controller210can then transition into an “object confirmation mode” as represented inFIG.6C. With the region of interest sensor data buffered over a period of time, autonomy controller210can process the buffered region of interest sensor data (e.g., via object detection algorithm210b). If this processing does not confirm the presence of an object, autonomy controller210can prompt external system230for input. This may entail displaying a live video feed (or images) from camera140on external system230to enable an operator to provide input indicating whether the operator believes an object is present. If the operator indicates that an object is not present, autonomy controller210can return to normal operation mode.

In contrast, if the processing of the buffered region of interest sensor data confirms the presence of an object or if the operator (or artificial intelligence engine) confirms the presence of an object, autonomy controller210can determine an appropriate path adjustment and instruct machine controller220to perform the path adjustment. Once the path adjustment is performed to avoid the object, autonomy controller210can return to normal operation mode.

Although embodiments of the present invention have been described in the context of a mower, control system200(or a similar control system) could be employed on other types of off-highway vehicles to perform low profile object detection techniques in the same or similar manner as described above.

In some embodiments, as part of presenting a live video feed or one or more images (generally “feed”) from camera140on external system230, external system230may also be configured to prompt the operator to label any suspected objects contained in the feed. For example, the operator could identify whether a suspected object is a pallet, sprinkler pipe, bad patch of grass, shadow, shovel, etc. The resulting labeled images, which may be generated from many different mowers in a variety of locations, could be stored in a database for subsequent use in training and implementing an artificial intelligence engine that can detect the presence of an object in a mower's path using the feed from a camera. Accordingly, in addition to employing operator input to determine an appropriate path adjustment for a particular mower in a particular scenario, control system200can be employed to build a database of labeled images that may enable an artificial intelligence engine to determine when path adjustments are necessary using only a feed from a camera.