Computer-implemented method for generating a route for an autonomous agricultural vehicle
The computer-implemented method for generating agricultural vehicle routes addresses the inefficiencies of on-site installation by using computational simulations, reducing installation time and operational disruptions while maintaining route accuracy.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- LELY PATENT NV
- Filing Date
- 2025-11-07
- Publication Date
- 2026-05-15
AI Technical Summary
The installation of autonomous agricultural vehicles requires trained personnel to be present on-site for extended periods, leading to operational disruptions and inefficiencies due to the need for step-by-step programming and visual verification of routes, which is time-consuming and limits farm operations.
A computer-implemented method generates a route for autonomous agricultural vehicles using computational graph-based simulations, allowing map and vehicle data to be processed off-site, determining potential collision risks and optimizing routes without physical presence, thus enabling efficient and accurate route planning in a controlled environment.
This method significantly reduces installation time from days to hours, minimizes the need for experienced personnel, and reduces operational disruptions by allowing route planning in a safe environment, ensuring reliable vehicle operation upon installation.
Smart Images

Figure IB2025061381_15052026_PF_FP_ABST
Abstract
Description
[0001] COMPUTER-IMPLEMENTED METHOD FOR GENERATING A ROUTE FOR AN
[0002] AUTONOMOUS AGRICULTURAL VEHICLE
[0003] FIELD
[0004]
[0001] The invention relates to a computer-implemented method for generating a route adapted for use by an autonomous agricultural vehicle in an agricultural space, such as a livestock space. The invention further relates to a computer program and to a data processing device. Further, the invention relates to a method for providing an autonomous agricultural vehicle, such as an autonomous manure removal vehicle or an autonomous feeding vehicle, with a route for operating along. Finally, the invention relates to a user interface.
[0005] BACKGROUND
[0006]
[0002] Agricultural autonomous vehicles are well known and increasingly used in the agricultural industry, as they offer farmers the possibility to carry out repetitious and intensive tasks in a reliable manner according to schedule and at minimal manpower.
[0007]
[0003] Known autonomous agricultural vehicles, in particular vehicles for performing tasks directly related to the feeding livestock and / or the cleaning of their living space, are programmed in situ, i.e. while the vehicle is at the agricultural location it is going to be used. The location where the vehicle is going to be used depends on the specific vehicle and its tasks, and can be one or a combination of a barn, shed, farmyard or farmland. The routes for these known autonomous agricultural vehicles are programmed step by step, wherein each step consists of giving an instruction to the vehicle, waiting for the vehicle to execute the instruction and then saving it. Any potential problems, such as the vehicle colliding with a structural item or exceeding operational limits, are checked visually and / or prevented manually before saving the instruction. This method of installing an autonomous agricultural vehicle allows for tailor-made installation, substantially independent of the particular type of vehicle and lay-out of the location and can therefore be reliably used for all types of autonomous agricultural vehicles.
[0008]
[0004] An example of generating a route for a vehicle in situ is described in WO 2018 / 074917. The described vehicle comprising a sensor system operably connected to the control unit for moving the vehicle about in the barn and arranged to repeatedly determine a value of a parameter related to a position of the vehicle with respect to the barn or an object therein, such as the at least one structure therein. Further, the vehicle comprises a position determining system for determining the position of the vehicle with respect to a reference position, and a vehicle communication device operably connected to the control unit to send the position to an external communication device. The external communication device is arranged to visualize the received position of the vehicle and for inputting of barn map information by a user on the basis of the visualised position and / or parameter values. The input barn map information is sent back to the control unit of the vehicle. Thus, the vehicle gives its position as well as measured data that will be indicative of detected obstacles. Since the user is present, he can immediately assess the situation and couple the information to one or more of the walls or animal related structure(s), or not if there happens to be an incorrect measurement. The vehicle is used in situ to generate both an accurate barn map and a route.
[0009]
[0005] A downside of these methods of installation, however, is that installers need to be trained and experienced to correctly interpret data from the communication device in order to make the robot function correctly. Furthermore, these methods of installation even requires experienced installers to be on site for a long time, as the stepby-step programming of the route in situ with a vehicle can take more than a day. Moreover, the operation of the farm in the location where the vehicle is to be used is limited during the installation time. To ensure a safe working environment for the installer and accurate route planning, the space where a route is planned is preferably cleared from animals and other work activities.
[0010]
[0006] A goal of the invention is to make the installation of autonomous agricultural vehicles more efficient.
[0011] SUMMARY OF THE INVENTION
[0012]
[0007] According to a first aspect of the invention, a solution is provided in the form of a computer-implemented method for generating a route adapted for use by an autonomous agricultural vehicle in an agricultural space, such as a livestock space. The method comprises the steps of: forming a computational graph based on map data comprising coordinates relating to boundaries of the agricultural space; obtaining vehicle data of the autonomous agricultural vehicle, the vehicle data comprising at least a length and a width of the autonomous agricultural vehicle defining a vehicle outline thereof with respect to a central point and a normal forward moving direction; receiving input defining at least one displacement for execution by the autonomous agricultural vehicle within the agricultural space having an end pose with respect to a start pose; determining a sequence of two or more route datapoints within the computational graph, comprising a route datapoint corresponding to the start pose and a route datapoint corresponding to the end pose determining for the at least one displacement a risk of colliding with one of said boundaries of the agricultural space impacting completion of the displacement; and relaying the risk.
[0013]
[0008] The computer-implemented method allows the route to be generated independently from the physical location where the vehicle is (to be) used. As soon as the map data and vehicle data are available, the route can be made at any location and at any time. Thus, no physical presence of a person making the route is required on the farm, and the making of the route does not need to be scheduled within the installation planning for the vehicle. Rather, the route can be made in a safe a comfortable working environment, such as an office, at any time prior to installation, thereby reducing installation time significantly, i.e. make it more efficient.
[0014]
[0009] The map data indicates boundaries of the space comprising features such as walls, fences, doors and optionally ditches, as well as relevant locations of vehicle related features such as charger location(s), fill location(s) and dump pit(s), i.e. the map data relates positions of static objects with respect to each other, thereby defining the surroundings in which the vehicle is to be used and where it can and cannot drive. The manner of obtaining the map data itself is not part of the invention. Map data of the agricultural space in which the vehicle is to operate may be obtained at any time and without limiting the operation of the farm much. The map data could be based, for example on a blueprint of the agricultural space according to which the space was built, or on physical measurements, either manually, or via an area-scan. The map data thus does not have to be obtained by the installer either. Even if physical measurements are to be taken of the agricultural space, these could be taken by any person at any time prior to installation, for example by the representative visiting the farm during moment of sales.
[0010] The vehicle data may be determined during vehicle design, or testing in the factory, and may be available as a generic data set for a particular type of agricultural vehicle. Thus, the vehicle data may be available ahead of the actual vehicle that is to be installed at the farm being manufactured, such that the route could even be generated prior to or parallel to the manufacturing of the vehicle that is intended for the specific agricultural space.
[0015]
[0011] The vehicle data comprises data relevant to the amount of physical space required by the vehicle whilst moving around. Further, the vehicle data may comprise limitations to the range of motion, such as a minimum distance or radius determined by what the controller of the vehicle can do, or a minimum rate of turn to protect the wheels and / or drive mechanism from wear. The vehicle data may also comprise data indicative of battery capacity and power consumption, and / or capacity and output / uptake estimates of any other storage units comprised in the vehicle. Not all data needs to be provided as is but could be derived from other data. For example, the turning radius boundaries can also be provided as a maximum turning rate at a particular driving speed, a maximum torque on an axle of the driving wheels or a torque difference between two driving wheels.
[0012] In the step of forming a computational graph based on the map data, the map data is converted to a computational data set representing the actual agricultural space with its boundaries. This computational graph may take any form usable for further computations, although a form using or usable with x- and y-coordinates is preferred due to being intuitive to understand and will be used from hereon in the description. The x- and y-coordinates may be x- and y-coordinates with respect to a predetermined start position, e.g. [0;0], in the agricultural space, such as for example a lower left-hand corner of the map data or a charger location.
[0016]
[0013] In the step of receiving at least one displacement input for execution by the vehicle within the agricultural space having an end pose with respect to a start pose, a user provides route planning input resulting in at least one displacement of the vehicle, i.e. moving a particular distance in a particular direction from a predefined start pose to an end pose. The poses define both a position and an orientation, i.e. direction in which the normal forward moving direction of the vehicle is pointing. The predefined start pose for the first, and optionally only, displacement input may be a standardized pose in the method. Alternatively, the first predefined start pose may also be defined by user input. The predefined start pose may be any position and orientation within the computational graph, although a location of a charger, with an orientation corresponding to a movement direction for (dis-)connecting the charger, is commonly chosen such as to ensure the vehicle starts the route after charging. The at least one displacement may be an indication of a series of distances and turns for the vehicle to carry out in the order put in, wherein the start pose used by the subsequent displacement may be the end pose of the current displacement. Distances may be absolute distances in the coordinate system of the map data, or relative distances to objects and / or the current position. Similarly, turns may be defined as orientation changes with respect to a fixed reference direction, or as orientation changes with respect to the current orientation. The at least one displacement may also be an indication of a series of locations indicated in a coordinate system correlating to the map data, with the order of the series of locations determining the route. Alternatively, the at least one displacement input may be a selection of a single location or sub-section within the map data (or computational graph based thereon) for the vehicle to drive to and / or in, optionally together with one or more further predefined requirements such as a time, duration, frequency or predefined threshold related to the work being carried out by the vehicle (cleanliness level, amount of feed present, etc.).
[0017]
[0014] The at least one displacement input could be put in directly via the device performing the method itself, such as via buttons and / or a screen, which may be a touchscreen. Alternatively, the user input could be sent to the device via a secondary device comprising the buttons and / or (touch-)screen or -pad. Various methods of providing the input are foreseeable. For example, coordinates or movement displacements (e.g. a distance to move in a particular direction or a turn at a turning-rate) could be manually entered. Providing the at least one displacement input as a series of displacements, each second displacement being defined with respect to an end pose of the first displacement, is an easy to understand and adopt manner of providing input that is similar to the known in-situ route programming. Preferably, the user-interface provides the user with a visual representation of the map data on which the computational graph is based and shows the route datapoints corresponding to the provided input. Additionally or alternatively, the user interface may allow the user to draw the at least one displacement in the visual representation of the map data, for example via touchscreen. Preferably, a system used to perform the method is adapted to correlate the input data to the computational graph based on the map data and determine what datapoints are corresponding to the input.
[0018]
[0015] The at least one displacement that is provided as input forms the basis for the route planning. Based on the at least one displacement, a sequence of one or more route datapoints are automatically determined within the computational graph. The route datapoints comprise a route datapoint corresponding to the start pose and a route datapoint corresponding to the end pose of the at least one displacement input. The system used to perform the method may comprise additional instructions based on which additional datapoints are identified as route datapoints in between the route datapoints corresponding to the start and end poses of the displacement input, such as for example a maximum distance between route datapoints, which may further depend on a direction or type of displacement (i.e. straight or turn). Thus, depending on the particular input, substantially all route datapoints may directly correlate to an input displacement. The input displacement starts at a starting pose defining a start route datapoint, which may be the last route datapoint from a preceding displacement or a (standard) starting location for the vehicle such as a datapoint corresponding to a pose of a charging station, and define a motion to an end pose which is the route datapoint associated with the input displacement. Any additional route datapoints may be generated between the start and end route datapoint of the input displacement to more accurately define the route therebetween. The correlation between the amount of displacements received and the amount of generated route datapoints may depend on a distance covered through the at least one displacement and / or the particular type of displacement. For example, for accurate route determination, it may be predefined within the method to have a distance between route datapoints be no larger than a distance corresponding to 0.1 meters in the actual agricultural space when traveling in a straight line. For driving through a bend, this distance may be smaller, such as for example no larger than 0.01 meters. These distances may be area dependent and for example relate to physical constraints put on vehicle movement when within a predetermined distance and / or orientation from an object in the physical space. For example, to ensure docking between the vehicle and the charger, without damaging either, the vehicle must always approach and leave the charger with the normal forward moving direction under a predetermined orientation from the same direction in a straight movement over a distance of at least 1 meter from the charger.
[0019]
[0016] The computational graph allows any series of datapoints to be initially assigned as route datapoints, such that further computational steps are to be carried out to verify that these route datapoints do not result in situations that cannot be reliably executed by the actual vehicle in the actual agricultural space. Therefore, after the determining of one or more route datapoints, the step of determining for the at least one displacement a risk of colliding with one of said boundaries of the agricultural space impacting completion of said displacement is performed (automatically, i.e. by a computer program carrying out the method). This step may be performed after receiving each displacement independently, and / or be performed once a complete route is determined. Rather than having to physically go through every step of programming the route with the vehicle in situ in the agricultural space and visually ensuring each step complies with boundaries set by the vehicle and the space, the computer-implemented method performs a simulation of each step based on the imported data sets.
[0020]
[0017] Any risk identified in the simulation is relayed. The relay provides a trigger for adjustment of the displacement input and / or one or more route datapoints corresponding to the displacement input. The relaying preferably comprises or consists of relaying the risk through a notification to a user. Preferably, at least part of the risks, such as for example risks comprising displacements for the vehicle that always cause the route to be stopped prematurely, are communicated to the user via the user-interface, through a risk indicating message and / or a risk identifying icon in the visual representation of the map data with the route datapoints. The indication of the particular risk that is identified in the simulation may serve as a guide to how the risk could be resolved.
[0021]
[0018] Through the risk relay triggering adjustment, the computer-implemented method is an iterative process of assessing route viability for the vehicle. This iterative process may be partially automated to lower the risk of route completion failure. As a result of the simulation and adjustment triggering, the finalised route obtained from the computer-implemented method will have the same, or even better, accuracy as the route that was planned with the physical vehicle in the physical agricultural space. A user of the method is guided by the adjustment triggering, such that even less experienced users can generate routes that allow the vehicle to perform reliably and according to plan once in-situ on the farm.
[0022]
[0019] The finalized route merely needs to be uploaded to the controller of the agricultural autonomous vehicle ahead of commencing work in the agricultural space. This uploading takes relatively little time compared to the physical step by step programming and could even be performed ahead of vehicle delivery to the agricultural space. As a result, the time required for new vehicle installation is reduced vastly, for example from two days to around half a day, and installers do not need to be extensively trained and experienced in route-making. Due to no in-situ route needing to be done during installation, only a relatively small section of the agricultural space needs to be idle during installation. Thus, the farm operations are less impacted by the installation. Moreover, the installation has a lower occupational health and safety risk due to less work having to be performed whilst on the farm, and the shorter installation time might result in a nicer work-schedule for installers.
[0023]
[0020] As long as the map data is still available and relevant, the same data can be used to generate more and / or new routes, for example when one or more additional vehicles are installed, when an existing vehicle is replaced or upgraded, or when requirements for the vehicles activities have changed.
[0024]
[0021] The method may be particularly adapted for generating a route for an autonomous manure removal vehicle. Manure removal vehicles are relatively hard to plan routes for, compared to for example feed vehicles, due to the vehicles having to clean the entire space. To clean the entire space, the vehicle’s route has to include sections wherein the vehicle is in contact with walls and other objects to allow these parts of the space to be cleaned. While for other vehicles the problem of potentially colliding with walls or other boundaries is strictly avoided and remedied by simply planning the route with a larger margin around these boundaries, for manure removal vehicles the route needs to include sections wherein the vehicle purposefully interacts with the boundaries, such as moving along the boundary whilst maintaining close contact.
[0025]
[0022] According to an embodiment, the determining for the at least one displacement having a risk of colliding with one of said boundaries that impacts completion of the displacement comprises, projecting the central point onto each of the associated route datapoints, with the normal forward moving direction (F) oriented towards a subsequent route datapoint in the sequence and verifying a likelihood of the vehicle outline coinciding with or crossing one of said boundaries of the agricultural space in the computational graph. The likelihood of the vehicle outline coinciding with or crossing a boundary may contribute to the risk category and severity of the risk, for example, depending on what section of the outline (specific part that coincides, under what angle and to what extent) is determined to coincide or cross a boundary. In turn, the type and / or severity of the risk may determine if, and what type of, a correction needs to be implemented. The manner in which the risk is relayed may therefore depend on the likelihood, the risk category and / or risk severity. Moreover, the likelihood of collision of all route datapoints of the at least one displacement, optionally together with type and severity, may be used to calculate a weighted arithmetic mean value, to generate a total risk, or success, value for said at least one displacement which may also be included in the risk relay. Such a total risk or success value may be calculated for each generated route in its entirety, enabling comparison between various generated routes for the same vehicle, using the same map data.
[0026]
[0023] In an embodiment, the verifying of a likelihood of the external boundary coinciding with or crossing a boundary of the agricultural space in the computational graph comprises: simplifying the vehicle outline to a simplified shape, such as a polygon and / or (semi-)circle having a length and a width substantially corresponding to a maximum length and maximum width of the vehicle, projecting the simplified shape at least at the two subsequent route datapoints, and determining if any boundaries of the agricultural space indicated in the computational graph intersect with the simplified shape at any of the projections.
[0024] This is a simple to implement method of checking for collisions, which provides accuracy at the positions where the simplified shape is projected. Although this method could be used to check for collisions throughout the entire displacement, this requires a lot of computational effort. It is therefore preferred to minimize the number of projections. For displacements along a substantially straight path, sufficient accuracy in risk determination may be obtained if the simplified shape is only projected at the route datapoints corresponding to the start and end poses of the displacement. However, for displacements consisting of or comprising a curved path, it is preferred to have the projections at the start pose, the end pose, and at least one intermediate pose along the curved path. This makes the method more accurate and reliable for determining collision risks when the vehicle is simulated to move around a bend or corner. Thus preferably, this method further comprises determining if the two subsequent route datapoints have the forward moving direction of the vehicle pointing in a different direction from one another, and if true, including at least one additional projection at an intermediate pose in between the two subsequent route datapoints.
[0027]
[0025] Additionally or alternatively, the verifying of a likelihood of the external boundary coinciding with or crossing a boundary of the agricultural space in the computational graph may comprise determining a displacement area in the computational graph, the displacement area enclosing the vehicle outline for the central point projection on both subsequent route datapoints simultaneously, the displacement area preferably being formed by interconnecting the vehicle outlines projected on both subsequent route datapoints, and determining if any boundaries of the agricultural space indicated in the computational graph intersect with the displacement area. This way of calculating the risk of collision for a movement between two subsequent datapoints requires less computational space. To minimize the simulation becoming too inaccurate by using this manner of calculating the risk, this manner of calculating is not used for determining collision risk for displacements around a bend or corner. Thus preferably, the method further comprises first determining if the two subsequent route datapoints have the forward moving direction of the vehicle pointing in substantially the same direction and, if true, using the displacement area for determining the likelihood of coinciding with or crossing a boundary of the agricultural space. Ideally, the manner using displacement area calculations is used for displacements along a straight line and the manner using simplified shape is used for displacements that have the vehicle change direction, resulting in an optimal balance between minimizing calculation space and collision risk determination accuracy.
[0026] In an embodiment, the vehicle data comprises a drift factor representing a localization inaccuracy for movement in the normal forward moving direction, and the step of determining a risk impacting completion of the displacement further comprises determining a required clearance based on the localization drift factor and the movement between two subsequent route datapoints and adding the required clearance to the external boundary of the autonomous agricultural vehicle. The accuracy of the risk simulations is improved by accounting for actual localization inaccuracies that are to be expected for the actual vehicle when in use in the agricultural space. The actual vehicle has one or more sensors for determining its (relative) position within the actual agricultural space, enabling the vehicle to follow the planned route. Typical sensors are, but are not limited to, odometers, gyroscopes and accelerometers. All sensor modalities are prone to problems resulting in localization inaccuracies such that a distance and / or moving direction the actual vehicle is moved in as controlled by the vehicle’s controller does not fully correspond to the true physical distance and or direction the vehicle has moved. Exemplary causes are that one or both of the wheels slip, the gyro drifts and / or accelerometer error buildup. These problems lead to some degree in inaccuracy when following a planned route and thus add to the potential risks impacting completion of displacements. The computer-implemented method is adapted to calculate a localization uncertainty for the AGV associated with each displacement and use this uncertainty as a required additional clearance, i.e. margin, during other risk calculations, such as the collision risk.
[0028]
[0027] The localization risk factor may be implemented as a fixed required clearance in a direction of movement, associated with a movement, i.e. an indicated movement in x-direction results in a determined clearance in x-direction and is maintained when the vehicle movement is continued in y-direction, from which point onwards a clearance is also determined for the y-direction. Alternatively, the required clearance is determined in an x-direction and an y-direction of the computational graph, wherein a clearance for a subsequent route datapoint is the clearance of the preceding route datapoint in the x-direction and y-direction plus the localization drift factor times the distance driven in the x-direction and in the y-direction. In this case, the localization uncertainty is thus calculated as a function of the whole route up until the present route datapoint. The localization drift factor may represent an uncertainty in localization along the normal forward moving direction during each movement between route datapoints. The localization uncertainty increases proportionally with each distance moved in the normal forward moving direction and is cumulative along an axis of the computational graph. Thus, through the total route comprising turns that cause the vehicle’s normal forward moving direction to point in different directions, the localization uncertainty accumulates to also have localization uncertainty in a direction perpendicular to the normal forward moving direction of the vehicle. The localization uncertainty may start from zero or have a predetermined minimum value. Additionally, or alternatively, the localization uncertainty may be capped at a predetermined maximum uncertainty value. Moreover, the localization drift factor may additionally represent an uncertainty in orientation, resulting in a localization uncertainty perpendicular to the normal forward moving direction increasing proportionally with each distance moved in the normal forward moving direction.
[0029]
[0028] The impact of the cumulative localization inaccuracies on the route following performance of the actual vehicle is commonly reduced by including sufficient route poses in the route where a sensed location of the actual vehicle cannot be anything else than the true physical location seen in at least one direction of motion for the vehicle, such as for example at the charger location or when sensing the distance to a fixed boundary such as a wall or fence. Thus, the actual vehicle is provided with one or more sensors and adapted to recalibrate its relative (sensed) position based on detection of a boundary under a predetermined condition.
[0030]
[0029] To account for presence of this feature in the simulation, according to an embodiment, the required clearance is reduced by, or reset to a predetermined constant when a second of the two subsequent route datapoints has a distance to a boundary within a predetermined distance range and an angle of the normal forward moving direction of a projection of the central point onto a first of the two subsequent route datapoints towards the second of the two subsequent route datapoints has an orientation with respect to the boundary within a predetermined orientation range, preferably when the external boundary at a second of the two subsequent route datapoints corresponds to an input displacement. The predetermined distance range may correspond to a range of one or more sensors on the actual vehicle, such as for example an optical sensor adapted to sense boundaries within a range of 1 .5 m and / or a resistance sensor sensing the vehicle abutting a boundary, i.e. when a distance to the boundary is substantially zero. The angle between the normal forward moving direction and the boundary then determines in what direction, with respect to the vehicle’s normal forward moving direction, the required clearance is reduced or reset, and by how much. The computer implemented method may perform calculations to check distances to nearest boundaries within the computational graph for a predetermined number of route datapoints, such as for example for each datapoint. This may for example be desired when the amount of route datapoints is substantially larger than the number of displacements provided as input, such as when the at least one displacement is a selection of a single location or sub-section within the map data. The associated orientation check calculation may be performed together with the distance check calculation, or only calculated if a distance within the predetermined range is found. Preferably, the calculation is at least performed when the second route datapoint corresponds to a displacement input provided by a user. In particular, when the at least one displacement is provided as a series of distances and turns for the vehicle to carry out in the order put in, or as a series of locations determining the route, particular user input within the series of displacements may trigger the method to perform the reduction or reset calculation. For example, the user interface may enable the user to indicate an intended zero-to-wall-distance position (also referred to as “walltouch”, when at 90° angle with respect to the normal forward moving direction, or “bump”, when at 0° angle), either as specific displacement, or through “snapping” an indicated location together with a visualized boundary.
[0031]
[0030] In an embodiment, the determining of the risk impacting completion of the displacement comprises determining a risk level for a found risk, wherein the risk level depends on a predetermined severity the risk. The severity level of the risk can be used to determine if, and what type of, a correction of the particular route data-point needs to be implemented. Risk levels may, for example, be set to differentiate between high risks, such as potential issues leading to permanent severe damage and / or risks that certainly result in the vehicle failing to complete the planned route, and lower risks, such as potential issues leading to increased wear and / or risks that result in a minor chance of the vehicle failing to complete the planned route. Intermediate risk levels could also be determined and implemented. High risks may be considered of such importance that the route needs to be free of such risks before being finalised and uploaded to the vehicle for actual use in the agricultural space. For low risks, it might be considered if certain potential issues could be accepted under the specific circumstances.
[0032]
[0031] Preferably, a highest risk level is associated with the center of the vehicle crossing a boundary of the agricultural space in the computational graph and wherein further risk levels are graded depending on an angle between the normal forward moving direction of the vehicle and the boundary of the agricultural space which is determined to coincide with or be crossed by the vehicle outline. The area of crossing may further be used as a measure of the severity and thus used to determine the risk level.
[0033]
[0032] According to an embodiment, the step of relaying the risk comprises outputting a risk-notification signal and / or message to a user, the signal and / or message optionally including a suggested adjustment of the displacement to remedy the risk. This triggers the user to check if the risk is acceptable and adjust the input defining the displacement if the risk is not acceptable. The risk notification may comprise advice related to the specific risk that is detected, providing the user with a better understanding of the vehicle’s limitations and guiding towards a solution that may be implemented by adjusting the route selection data. The adjusting of the route selection data may be performed manually.
[0034]
[0033] Additionally, or alternatively, the step of relaying the risk may comprise triggering automatic adjustment of one or more route datapoints corresponding to the displacement in dependence of the risk falling within a predetermined boundary, the adjustment comprising moving the route datapoint by a predetermined distance in a predetermined direction in accordance with pre-set conditions.
[0035]
[0034] The trigger of automatic adjustment may take the form of the route datapoints being fully automatically adjusted for some predetermined risks or take the form of an automatically provided suggestion of adjustment that is for the user to accept. In the case of fully automatic adjustment, the relay of the associated risk notification may be an internal relay within the method that prompts the automatic adjustment. For example, route datapoints may be moved by a predetermined amount, if the risk indicates a likely non-frontal collision, in a predetermined direction away from the indicated non- frontal collision, such as for example resulting in automatically widening a turn around a corner. The automatic adjustment may be limited to relatively small corrections of the route datapoints with respect to the manually input displacement and for example leave fatal collisions in which the motion between to subsequent route datapoints indicates the autonomous agricultural vehicle driving through a wall for the user to resolve manually. Additionally, or alternatively, the automatic adjustment may be limited to individual displacements that have associated risks such as a collision and for example leave risks associated with multiple subsequent route datapoints such as drift due to multiple displacements for the user to resolve manually.
[0036]
[0035] In addition to the collision risk, additional risks may be checked for the route based on displacement input and relayed. An example of such additional risks is for example a risk of the agricultural autonomous vehicle not returning to the docking area based on a comparison between a route length calculated for the route and a theoretical maximum route length based on battery capacity and average power consumption. A further example is a risk of the agricultural autonomous vehicle not completing its intended task for the complete route, based on a comparison between route length and a theoretical maximum route length based on storage capacity and average uptake / output (which depending on the vehicle and type of storage may for example be one of manure, water or feed).
[0037]
[0036] According to a second aspect of the invention, a computer program is provided, comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of the first aspect. Thus, all steps of the method are performed by a single computer program.
[0038]
[0037] According to a third aspect, a data processing device containing a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of the first aspect. The data processing device may be a stand-alone device independent from the vehicle, such as a laptop computer or a smartphone comprising software or an app adapted to carry out the method. The data processing device may also be a remote server, adapted to exchange data with a local device, such as via a web browser. Alternatively, the data processing device may be a device for use in the vehicle, such as a controller, receiving input via a device that is in communication with the controller.
[0039]
[0038] According to a fourth aspect of the invention, a method for providing an autonomous agricultural vehicle, such as an autonomous manure removal vehicle or an autonomous feeding vehicle, with a route for operating along is provided. The vehicle comprises at least two wheels, a drive for driving at least one of the wheels, and a storage means that is in data-communication with a controller, which respectively hold the route and control the vehicle to follow the route, wherein the route is obtained using the method according to the first aspect. The route is thus obtained independently from the actual vehicle moving in the actual agricultural space. The storage means may be comprised in the agricultural autonomous vehicle or provided in a separate device that is in data- communication with the agricultural autonomous vehicle. The vehicle may be one of a feeding vehicle or a manure removal vehicle. Feeding vehicles are considered all types of vehicles handling animal feed and may be configured to perform one or more of the tasks of obtaining feed, mixing feed, distributing feed and redistributing feed. Manure removal vehicles are considered all types of vehicles performing one or more cleaning tasks on a farm or in a field where animals, such as cattle, are kept and which may be configured to perform one or more of the tasks of collecting manure, collecting soiled bedding, cleaning soiled bedding for re-use.
[0040]
[0039] According to an embodiment, the route is obtained using a device, such as a computer, that is independent from the vehicle and uploaded to the vehicle. This allows for the route being made completely independently from the vehicle, i.e. at any suitable location and moment, such as in an office and prior to delivery and / or installation of the vehicle in the agricultural space. Alternatively, the route may be obtained on a device that is part of the vehicle, for example the controller, which is provided with input via an independent device, such as a smartphone or a computer, and adapted to determine a next route or route section prior to controlling the vehicle accordingly.
[0041]
[0040] According to a fifth aspect of the invention, a user interface is provided for use with the computer program according to the second aspect or data processing device according to the third aspect. The user interface is adapted for a user to define at least one displacement for execution by an autonomous agricultural vehicle within an agricultural space with respect to a start pose.
[0042] DRAWINGS
[0043]
[0041] The invention will be explained below with reference to the drawings, which show non-limiting exemplary embodiments of the invention, in which identical reference numerals indicate identical or similar components, and in which:
[0044]
[0042] Figure 1 schematically shows a method for providing an autonomous agricultural vehicle with a route,
[0045]
[0043] Figure 2 schematically shows an example of an autonomous agricultural vehicle that may be provided with a route in accordance with the invention, and a schematic representation of AGV data representing said vehicle for use in the route planning,
[0046]
[0044] Figure 3 schematically shows a computer implemented method for planning a route for an autonomous agricultural vehicle,
[0047]
[0045] Figure 4 schematically shows a sequence of displacements for an AGV within a map-section of an agricultural space, in particular an animal space, together defining a part of a route for the AGV,
[0048]
[0046] Figure 5 A - 5 F each respectively schematically show a displacement for an AGV with a particular boundary (section) of an agricultural space, together with a visual representation of an associated collision risk determination,
[0049]
[0047] Figure 6 schematically shows a visual representation of an expected localization uncertainty for an AGV during a displacement within a map-section of an agricultural space, and
[0050]
[0048] Figures 7 A - 7 C each provide a schematic visualization of localization uncertainty adjusting or resetting under pre-defined conditions, wherein Figures 7A and B represent a displacement in which the normal direction of travel is substantially perpendicular with respect to the boundary, and wherein Figure 7C represents a displacement in which the AGV is traveling in a direction substantially parallel to the boundary.
[0051] DETAILED DESCRIPTION
[0052]
[0049] Figure 1 schematically shows a method for providing an autonomous agricultural vehicle with a route. The method comprises the steps S1 : Obtain AGV data, S2: Obtain map data, S3: Plan route for AGV and S4: Set route in AGV controller.
[0053]
[0050] AGV is an abbreviation for Autonomous Guided Vehicle. In the context of the present disclosure, the AGV is an autonomous agricultural vehicle adapted for performing work in an agricultural space, such as cleaning an animal space or fetching and / or providing feed. The vehicle may be an automated guided vehicle or an autonomous mobile robot. In particular, the agricultural vehicle may be a manure removal vehicle or a feed vehicle. Work is normally performed according to a predefined plan, which may include a time schedule and / or particular locations for the vehicle to be at, optionally under predefined conditions. Such predefined conditions may be one or more of: a predefined timeslot, a predefined threshold of amount of feed or dirt such as manure, a presence of animals, a presence of another AGV, and weather conditions.
[0054]
[0051] The map data obtained under step S2 is map data of the space the agricultural vehicle is intended to operate in, hence map data of an agricultural space. The agricultural space may consist or comprise of an indoor space such as a barn and / or an outdoor space such as a farm’s field or a farm’s yard. The map data includes boundaries of the space, such as any walls, fences, doors and optionally ditches, as well as relevant locations of vehicle related features such as charger location(s), fill location(s) and dump pit(s). The manner of obtaining the map data itself is not part of the invention. Various methods of obtaining map data are well known and include taking physical measurements using measuring tape or optical sensors, using verified building maps and using camera images.
[0055]
[0052] The step of planning the route for the AGV S3 is carried out as a computer- implemented method 100 for making a route of the autonomous agricultural vehicle in the agricultural space. This enables the route planning to be carried out without a person having to be present in the agricultural space with the vehicle. The AGV data from S1 and map data from S2 provide necessary input for the simulation of a route. The route planning may be carried out by a processor that is separate from the vehicle, such as in a computer device. A route that leads to a satisfactory simulation result may be exported from the computer-implemented method as output and set in the AGV controller in S4, such that the controller of the vehicle controls the vehicle to drive along this route in the agricultural space. This uploading to the controller may be performed at any time and is not limited to the vehicle already being installed at work location. Uploading the route to the controller of the vehicle may thus, for example, be performed before the vehicle is delivered to the agricultural space where it is intended to perform work. Throughout the remainder of the description, parts of the computer-implemented method enabling the simulation may be described in relation to the vehicle performing the resulting route(sections) in the agricultural space. To distinguish between the vehicle (or AGV) in the simulation and the vehicle (or AGV) working in the agricultural space, the latter will be referred to as “actual vehicle” and “actual agricultural space” from hereon.
[0056]
[0053] The step S1 of obtaining AGV data comprises obtaining at least a minimum amount of data of the particular actual vehicle for which the method is carried out, necessary to generate a sufficiently representative computer model thereof. An example of an actual autonomous agricultural vehicle 10 and a schematic representation of obtained AGV data S1 representing said vehicle for use in the simulation is shown in Figure 2. The particular autonomous agricultural vehicle 10 shown is a manure removal vehicle. The vehicle may be reduced to a mere datapoint 1 , containing information defining an outer circumference of the vehicle with respect to the datapoint 1 and a normal forward moving direction F thereof. The datapoint 1 is preferably positioned on a longitudinal central axis of the vehicle, such that the vehicle outline 2, corresponding to the outer circumference of the vehicle, is substantially symmetrical with respect to the longitudinal central axis. Although the datapoint 1 may be regarded as the center of the vehicle, such that the vehicle outline 2, corresponding to the outer circumference of the vehicle, is at substantially equal distance therefrom, for ease of calculations it is preferred to have the longitudinal position of the datapoint 1 corresponding to a longitudinal position of the drive wheel(s) of the vehicle. The vehicle outline 2 is included in the depicted schematic representation and may be included in more detail in the AGV data for more accurate modelling and / or be included in a visualization for a user on a user interface. It is obvious that when a route is planned for an actual vehicle of a different type and / or design, the computer model will be generated accordingly and thus look different from the depicted schematic representation of Figure 2. Further data may be included in the AGV data, but is not shown in the schematic. This data may comprise one or more of: battery capacity, tank capacity, controller limits and localization sensor characteristics such as accuracy. Obviously, if desired, such information could be included in a visualization in a user-interface in a number of known ways.
[0057]
[0054] An embodiment of the computer implemented method 100 for planning a route for an autonomous agricultural vehicle is shown in more detail in Figure 3. The steps of the method 100, in order of being performed, are shown to be:
[0058] - form a computational graph based on map data 101 ,
[0059] - receive at least one displacement input for execution by the AGV within the computational graph 102,
[0060] - determine one or more route datapoints within the computational graph, corresponding to the at least one displacement 103,
[0061] - determine for at least one displacement a risk impacting completion of said displacement 104, and
[0062] - the option to adjust a displacement 105 and go through the previous two steps again.
[0063]
[0055] In the step of forming a computational graph based on the map data 101 , map data is converted to a computational data set representing the actual agricultural space with its boundaries and any further features relevant to the actual AGV. This computational graph may take any form usable for further computations, although a form using or usable with x- and y-coordinates is preferred due to being intuitive to understand and will be used from hereon in the description. The x- and y-coordinates may be x- and y-coordinates with respect to a predetermined start pose, e.g. [0;0], in the agricultural space, such as for example a lower left-hand corner of the map data or a pose of a charger.
[0064]
[0056] In the step of receiving at least one displacement input for execution by the AGV within the computational graph 102, a user provides route planning input resulting in at least one displacement. The at least one displacement forms the basis for the route planning. Based on the at least one displacement, one or more route datapoints are automatically determined within the computational graph, corresponding to the at least one displacement 103. Depending on the particular input, substantially all route datapoints may directly correlate to an input displacement. The input displacement starts at a starting pose defining a start route datapoint, which may be the last route datapoint from a preceding displacement or a (standard) starting location for the vehicle such as a datapoint corresponding to a pose of a charging station, and define a motion to an end point which is the route datapoint associated with the input displacement. Alternatively or additionally, additional route datapoints may be generated in between the start and end route datapoint of the input displacement to more accurately define the route therebetween. The correlation between the amount of displacements received and the amount of generated route datapoints may depend on a distance covered through the at least one displacement and / or the particular type of displacement. For example, for accurate route determination, it may be predefined within the method to have a distance between route datapoints be no larger than a distance corresponding to 0.5 meters in the actual agricultural space when traveling in a straight line. For driving through a bend, this distance may be smaller, such as for example no larger than 0.1 meters or even 0.01 meters.
[0065]
[0057] The at least one displacement is provided via a user interface, such as via a graphical interface on a screen of a phone or computer. Various methods of providing the input are foreseeable. For example, coordinates or movement displacements (e.g. a distance to move in a particular direction or a turn at a turning-rate) could be manually entered in input boxes. Preferably, the user-interface provides the user with a visual representation of the map data on which the computational graph is based and shows the route datapoints corresponding to the provided input. Additionally, or alternatively, the user-interface allows the user to draw the at least one displacement in the visual representation of the map data, for example via touchscreen. The system is adapted to correlate the input data to the computational graph based on the map data and determine what datapoints are corresponding to the input. The system may comprise additional instructions based on which additional datapoints are identified as route datapoints, such as for example a maximum distance between route datapoints, which may further depend on a direction or type of displacement (i.e. straight or turn).
[0066]
[0058] The at least one displacement may be an indication of a series of distances and turns for the vehicle to carry out in the order put in, each distance and turn resulting in at least one next route datapoint. The at least one displacement may also be an indication of a series of locations indicated in a coordinate system correlating to the map data, with the order of the series of locations determining the route and corresponding to at least a part of the route datapoints. Alternatively, the at least one displacement may be a single location or sub-section within the map data (or computational graph based thereon) for the vehicle to drive to and / or in, optionally together with a further predefined requirement such as a time, duration or predefined threshold related to the work being carried out by the vehicle (cleanliness level, amount of feed present, etc).
[0067]
[0059] The computational graph allows any series of datapoints to be initially assigned as route datapoints, such that further computational steps are to be carried out to verify that these route datapoints do not result in situations that cannot be reliably executed by the actual vehicle in the actual agricultural space. Therefore, after the determining of one or more route datapoints, the step of determining for the at least one displacement a risk impacting completion of said displacement 104 is performed (automatically, i.e. by a computer program carrying out the method). This step may be performed after receiving each displacement independently, and / or be performed once a complete route is determined.
[0068]
[0060] The risks are categorized in different categories, such as for example:
[0069] - displacements that are physically impossible to execute as intended, e.g. driving through a wall,
[0070] - displacements I routes that exceed the battery capacity of the vehicle, and
[0071] - displacements I routes with miscellaneous issues that do not necessarily lead to failures in a short-term but impact the lifespan of parts of the vehicle, e.g. doing a turn with a radius such that the wheel wears faster.
[0072] Each risk category may further be subdivided into risk levels, such as high / medium / low, depending on the severity of the impact of the risk on the likelihood of route completion and / or a percentage representing the likelihood of the risk occurring may be calculated. For example, the risk of colliding with a boundary of the agricultural space (wall, fence, etc.) has two subcategories:
[0073] 1) going through a boundary, e.g. the center of the vehicle moves through the boundary, and
[0074] 2) contacting a boundary, e.g. only a boundary of the vehicle is calculated to move through the boundary, wherein a. the vehicle is substantially facing the boundary, i.e. the normal forward moving direction F is within ± 45 degrees perpendicular to the boundary, or b. the vehicle is substantially parallel to the boundary, i.e. the normal forward moving direction F is within ± 45 degrees parallel to the boundary.
[0075] The first subcategory is a displacement that is impossible to execute by the actual vehicle in the actual agricultural space and thus carries the highest risk for route completion. The second subcategory has a medium to high risk for route completion if the boundary is more or less perpendicular to the normal forward moving direction F of the vehicle and a low to medium risk if the boundary is more or less parallel to the normal forward moving direction F. In the last case, a collision will occur with a side of the actual vehicle, which usually merely results in some cosmetic damage, such as scrapes, and / or some redirecting of the actual vehicle by the boundary. Nonetheless, any redirecting of the actual vehicle might impact on the performance of the actual vehicle during further displacements, such that even identified collisions with a low risk in the simulation require some consideration, rather than being readily accepted. The method of assessing the risk of collision is further described in reference to Figures 4 - 7.
[0076]
[0061] If a risk is identified for one or more route datapoints of a displacement, the risk is relayed. The manner in which the risk is relayed may depend on the risk category, risk level and / or likelihood At least part of the risks, such as a set of risks comprising displacements for the vehicle that always cause the route to be stopped prematurely, are communicated to the user via the user-interface, through a risk indicating message and / or a risk identifying icon in the visual representation of the map data with the route datapoints. Optionally, all risks are identified to the user. Based on the type of risk and optionally the number of risks, the displacement may then be adjusted through the step of optionally adjusting the displacement 105. The step of adjusting the displacement 105 may be performed manually, or, optionally within pre-defined boundaries, the method may suggest an adjustment, or the adjustment may be performed automatically by the computer-implemented method.
[0077]
[0062] Alternatively, and in particular when the method is performed with a relatively high number of route datapoints being generated automatically compared to the number of displacements received as input, an additional or alternative adjusting step may be included in the method, wherein one or more route datapoints corresponding to a particular risk are automatically adjusted, preferably within predetermined boundaries, or wherein the method returns a suggestion for adjustment to the user (for the user to accept before implementing as new route datapoint). Thus, the computer-implemented method 100 is an iterative process of assessing route viability for the vehicle, which may be partially automated to lower the risk of route completion failure.
[0078]
[0063] Figure 4 schematically shows an exemplary sequence of displacements 3- 1 , 3-2, 3-3, 3-4, 3-5, 3-6 for an AGV within a map-section 200 of an agricultural space, together defining a part of a route for the AGV. The aforementioned visual representation of the map data and route datapoints as optionally provided in a user-interface could be similar to this schematic representation. The map-section 200 shows a number of wallsections 5, i.e. some boundaries of the agricultural space, as well as a route datapoint associated with an end pose of the vehicle’s center 1-1 , 1-2, 1-3, 1-4, 1-5, 1-6 at the end of each displacement and an associated vehicle outline 2 of the vehicle. The exemplary route section consists of a straight 3-1 , a turn 3-2, a wall follow 3-3, a parallel to the wall 3-4, another turn 3-5 and another wall follow 3-6. Although each displacement 3-1 , 3-2, 3-3, 3-4, 3-5, 3-6 is provided with an independent reference numeral to allow different displacements being defined, displacements may also simply be referred to by the general reference numeral 3. Each of the displacements may correspond to a displacement input. A similar route section, comprising or consisting of the same route datapoints now associated with an end pose of the vehicle’s center at the end of each displacement 1-1 , 1-2, 1-3, 1-4, 1-5, 1-6, could also be defined by (exemplary) single displacement 20 and further automatically generated, such as mentioned in the description related to Figure 3. The depicted route section is thus a result of the aforementioned steps of receiving at least one displacement for execution by the AGV within the computational graph 102 and determining one or more route datapoints within the computational graph corresponding to the at least one displacement 103. For each move to a subsequent route datapoint the risk of collision with the boundary (in this case wall) is checked, together with any required margins. The term “displacement” is used during the remainder of this description to refer to a motion between two route datapoints, regardless if the associated route datapoints demarking a start and / or end pose of such a displacement are directly related to user input or are automatically generated.
[0079]
[0064] The manner of calculating the risk for collision is further explained in reference to Figures 5A - 5F, which each respectively schematically show a displacement for an AGV within a particularly shaped boundary 5 of an agricultural space. Figures 5A - 5D each show a displacement 3 along a differently shaped wall (section) 5, which respectively are straight, having a slightly sloped section, having a significantly sloped section and having a facing section. Figure 5E shows a turn displacement 3 around a corner of a wall-section. Figure 5F shows a wall follow displacement, in which the AGV is turned with a side surface against the wall, after which the displacement is continued along the wall.
[0080]
[0065] For displacements consisting of a substantially straight path, i.e. a path wherein the normal forward moving direction F of the vehicle is pointing in substantially the same direction for both route datapoints defining the start and end of the displacement, such as the displacement 3 shown in Figures 5A - 5D, the area in which the AGV performs the motion is automatically, i.e. by the computer-implemented method, simplified to a displacement area 3’, the displacement area being a shape enclosing the vehicle outline 2 of the vehicle both at the start pose and the end pose of the displacement. The displacement area 3’ may be obtained by simply interconnecting the two vehicle outlines, such as depicted in Figures 5A and 5D, or a polygonal tightly enclosing the vehicle outlines may be used, such as the rectangular shape depicted in Figures 5B and 5C. A collision risk is then checked for by determining if the displacement area 3’ intersects with any boundaries that are indicated in the computational graph. This is a relatively simple way of checking collision risk for each displacement as a whole, requiring relatively few computations.
[0081]
[0066] The particular example in Figure 5A, where the wall follow displacement is performed along a straight wall section, does not return a collision risks for the displacement area 3’.
[0082]
[0067] In Figure 5B, the wall 5 contains a section that is at an angle with respect to the first part of the wall, causing a substantial intersection 7 between that section of the wall 5 and the displacement area 3’. Thus, a collision is calculated for the depicted displacement. The collision may be further categorized, for example using the previously described subcategories. In the depicted situation only a boundary of the vehicle is calculated to move through the wall-section and the normal moving forward direction F of the vehicle is substantially perpendicular to the wall-section, such that the risk of the collision is low to medium. In the actual agricultural space, the actual vehicle will likely be moved off course, following the angle of the section of the wall. Thus, the present displacement will not directly lead to a failure of route completion but might result in the vehicle steering off course if the route is not adjusted appropriately.
[0083]
[0068] In Figure 5C, the wall 5 contains a section that is at a more substantial angle with respect to the first part of the wall, also causing substantial intersection 7 between that angled section of the wall 5 and the displacement area 3’ such that a collision is calculated. The depicted situation in Figure 5C differs from the situation depicted in Figure 5B in that the angle of the wall-section is much steeper, such that that section of the wall cannot be considered substantially perpendicular and poses a more significant risk that the collision results in the actual vehicle being stopped by the collision.
[0084]
[0069] In Figure 5D, the displacement area 3’ is intersected by a perpendicular wall-section, i.e. the wall-section is perpendicular to the normal forward moving direction F of the vehicle and the center of the vehicle 1 moves through the wall-section 5. This collision is categorized as the highest risk for the vehicle not being able to complete the route, i.e. using this route for the actual vehicle in the actual agricultural space will certainly lead to failure. Thus, the collision calculation will return the highest risk.
[0085]
[0070] For displacements following a curved path, i.e. where the normal forward moving direction F of the vehicle is pointing in a different direction for the start and end route datapoints, such as the turn displacement 3 around the corner of the wall 5 depicted in Figure 5E, the vehicle outline 2 is simplified to a simplified shape 3”, such as the depicted rectangle having a length and a width substantially corresponding to a maximum length and maximum width of the vehicle. This simplified shape 3” is used to determine intersection with the wall-section 5 at the start, the end and at least one intermediate pose along the curved path as depicted. The number of intermediate poses along the bend, i.e. the spacing of automatically generated intermediate route datapoints in turns, are predetermined and based on a weighing of accuracy versus available and / or required computational power. In the situation shown in Figure 5E, the simplified shape 3” comparison with the boundary results in no calculated collision risk for the start and end poses of the curved path, but a collision risk 9 is found at least halfway through the displacement. The size of calculated overlap between the corner of the wall 5 and the simplified shape 3” can then be used to determine a severity of the collision, i.e. based on pre-set conditions. Additionally, or alternatively, if further intermediate poses were accounted for through additional intermediate route datapoints, an orientation of the AGV at the position of impact could be compared to the orientation of the wall at the position of colliding to determine the severity. This method of checking for collisions is also simple to implement and is more accurate than the method described for the substantially straight path traveling. Although optionally this method could therefore be used to check for collisions throughout all displacements, this requires more computational effort. Therefore, it is preferred to use this method only for the curved paths of displacements, i.e. for determining a collision risk for a turn displacement and / or curved-path sections of other displacements.
[0086]
[0071] For an optimal balance between required computational power and accuracy, any displacement 3 consisting of both a straight path and a curved path has a route datapoint automatically included at a position along the displacement where the turn and straight path abut one another. An example of such a displacement is depicted in Figure 5F. The curved-path section is then assessed for collision risks through the method previously explained in reference to Figure 5E, while the straight path section is assessed according to the method explained in reference to Figures 5A-5D. A small area of overlap ahead of a straight path section along a wall 6, such as shown in the exemplary wall follow displacement in Figure 5F, is automatically compared with pre-set rules and / or ranges to determine if the collision as depicted may be considered desirable, such as for example when the vehicle is intended to scrape the wall for cleaning and therefore ignored. If the normal forward moving direction F is within ± 45 degrees parallel to the wall, the actual vehicle will merely scrape the wall and ensure the precise positioning of the vehicle with respect to a direction perpendicular to the wall.
[0087]
[0072] The actual vehicle has one or more sensors for determining its (relative) position within the actual agricultural space, enabling the vehicle to follow the planned route. Typical sensors are, but are not limited to, odometers, gyroscopes, ultrasonic sensors and optical sensors. All sensor modalities are prone to problems resulting in localization inaccuracies such that a distance and / or moving direction the actual vehicle is moved in as controlled by the vehicle’s controller does not fully correspond to the true physical distance and or direction the vehicle has moved. Exemplary causes are that the wheels slip, the gyro drifts and / or ultrasonic and optical sensors are dirty. These problems lead to some degree in inaccuracy when following a planned route and thus add to the potential risks impacting completion of displacements. The impact of the cumulative localization inaccuracies on the route following performance of the actual vehicle is commonly reduced by including sufficient route positions in the route where a sensed location of the actual vehicle cannot be anything else than the true physical location seen in at least one direction of motion for the vehicle, such as for example at the charger location or when touching a fixed boundary such as a wall or fence. Thus, the actual AGV is provided with one or more sensors and adapted to recalibrate its relative (sensed) position based on detection of a boundary under a predetermined condition.
[0088]
[0073] The accuracy of the risk simulations is improved by accounting for these actual localization inaccuracies. The computer-implemented method is adapted to calculate a localization uncertainty for the AGV associated with each displacement and use this uncertainty as margin during other risk calculations, such as the collision risk. Hereto, the AGV data for the vehicle further includes localization sensor characteristics of the vehicle, comprising at least one drift factor representing a localization inaccuracy in at least one direction, such as the normal forward moving direction F, and at least one reduction or reset factor for reducing or resetting a calculated localization uncertainty under predetermined conditions. The drift factor relates the localization inaccuracy to a distance by which the vehicle moves, thereby allowing the localization uncertainty being determined for each subsequent route datapoint.
[0089]
[0074] A visual representation of an expected uncertainty 4-1 , 4-2 for an AGV during displacements 3-1 , 3-2 within a map-section of an agricultural space is shown in Figure 6. The map-section has a wall-section 5 with a corner and the displacements indicate a straight 3-1 and a turn 3-2, which are intended to maneuver the vehicle around the corner. In the depicted embodiment, the localization uncertainty 4-1 , 4-2 increases proportionally with the movement in a particular direction. For ease of use, only the x- and y-positions in the map are considered, such as shown in Figure 6, where the localization uncertainty 4-1 , 4-2 is depicted as a rectangle that grows proportionally with the distance moved in x- and y-direction between subsequent route datapoints 1-1 , 1-2. It will occur to the skilled person that the same principle can easily be used in computational maps based on a different coordinate system.
[0090]
[0075] The depicted localization uncertainty is directly proportional to a clearance that is required between the vehicle and boundaries, such as walls, calculated as a function of the whole route up until the present route datapoint:
[0091] The clearance in the x-direction Uxi+1and the y direction Uyi+1for the next displacement is the clearance of the previous displacement in the x-direction Uxi and the y-direction Uytplus the drift factor Kdrifttimes the distance driven in the x-direction (Ax) and y- direction (Ay). The distance driven is simply the difference between the start coordinates (xi, yi) and the end coordinates (xi+i, yi+i) of the displacement. If an displacement comprises intermittent route datapoints along which a route-section curve for the displacement is generated, the distances in the x- and y-direction can be the sum of the differences between all x-positions and y-positions, respectively.
[0092]
[0076] The straight displacement 3-1 in the y-direction assumes the uncertainty is minimal at the start of the straight displacement 3-1 and results in the localization uncertainty 4-1 increasing in the y-direction only, proportionally by a distance Ay moved to reach the route datapoint 1-1 marking the final position of the straight displacement 3- 1. The turn displacement 3-2 has both a displacement in the same y-direction as well as a displacement in the perpendicular thereto x-direction, resulting in the associated localization uncertainty 4-2 increasing proportionally to distances Ay and Ax in both directions from the preceding localization uncertainty 4-1.
[0093]
[0077] The localization uncertainty may be translated from the route datapoint to the associated representation of the vehicle outline 2, to result in a correspondingly inflated vehicle outline 2’-1 , 2’-2. This inflated vehicle outline 2’-1 , 2’-2 is then used to automatically check for potential collisions, using the method set out in relation to Figures 5A - 5F. The inflated boundary is directly proportional to the required clearance from boundaries in the agricultural space, such as walls. In the depicted example, should the next displacement be a straight, there is thus a risk that the actual vehicle might collide the actual corner, due to the localization uncertainty.
[0094]
[0078] Alternative or additional functions could be used, such as indicated in the summary of the invention. In particular, the functions may be adapted to produce a fixed clearance factor, may be adapted to include a predetermined minimum value that is considered applicable for each movement regardless of the distance moved and / or may be adapted to have a cap, i.e. a predetermined maximum clearance value. Furthermore, the functions may also be adapted to include a localization risk perpendicular to the direction of movement, to account for an uncertainty in vehicle orientation with respect to the driving directions, which may be implemented using one or more of the functionoptions described for the localization risk in driving direction.
[0095]
[0079] The computational method may be adapted to relay a localization risk warning if the localization uncertainty exceeds a predetermined maximum value, which optionally may be a first value for a first direction (x-direction) and a second value for a second direction (y-direction). This warning is adapted to prompt the user, or the method itself, to include a displacement corresponding to the AGV having a route datapoint in the computation graph where the position is fixed with a predetermined uncertainty. Obviously, the user (or method itself) may include such displacements without warning as well.
[0096]
[0080] Displacements resulting in the localization uncertainty being reduced to a predetermined value in x- and / or y-direction comprise one or more of the following:
[0097] - a route datapoint corresponding to a predefined vehicle related location in the agricultural space, such as at a charger, a dump pit or a filling station, and
[0098] - a route datapoint being at a predetermined distance and / or orientation from a predetermined type of boundary indicated in the computational graph, optionally under a predetermined condition.
[0099]
[0081] Being at a predefined vehicle-related location in the agricultural space correlates to having a minimum localization uncertainty in all directions, i.e. best achievable accuracy. The localization uncertainty in the method is reset using a reset factor corresponding to a predetermined minimum value for localization uncertainty, such as zero, at route datapoints corresponding to these datapoints of the computational graph. It is common practice to take the charging point as the starting pose of a route, and also as the end pose, such as to allow the route to be followed over and over again. Using a predefined vehicle-related location is preferred, as this ensures each route calculation starting with the minimum localization uncertainty, while the actual vehicle, if performing the route, is assured to start with the same localization. Nonetheless, an alternative (vehicle-related) location may be taken as the start and end pose of a route.
[0082] A route datapoint being at a predetermined distance and / or orientation from a predetermined type of boundary indicated in the computational graph, optionally under a predetermined condition, mimics the sensing of a boundary under a predetermined condition. The particular distance and orientation, as well as the predetermined condition under which a route datapoint falling within a predetermined range thereof, depends on the particular vehicle that is simulated, and its sensing capabilities. Preferably, the actual vehicle is at least provided with a force sensor assembly adapted to sense the actual vehicle touching a boundary with a side and / or with a front of the vehicle outline. Additionally, or alternatively, the actual vehicle may be provided with an optical and / or ultrasonic sensor assembly adapted to sense a boundary within a predetermined distance range and at a predetermined distance sensing accuracy. The AGV data therefore comprises one or more reduce factors corresponding to these sensing modalities, preferably having one or more pre-set ranges for distance and / or orientation.
[0100]
[0083] A manner of reducing the localization uncertainty in dependence of a calculated distance and / or orientation from a boundary under predefined conditions is now described in relation to the schematics shown in Figures 7A - 70.
[0101]
[0084] Figures 7A and 7B represent a displacement where the vehicle is intended to move towards a boundary, i.e. the normal direction of travel F of the vehicle during the displacement 3 is substantially perpendicular to the wall-section 5 it moves towards, and the displacement stops at a distance from the wall. The vehicle’s normal direction of travel F is at an angle (p with respect to the x- or y-direction of the computational graph and / or the wall-section 5 is at an angle ip with respect to the y- or x-direction thereof. When a second route datapoint in de sequence of two route datapoints representing the vehicle’s movement has an associated vehicle outline 2 at a predetermined distance from the boundary (wall), such as zero in the depicted situation, the localization uncertainty is reduced according to the following rules:
[0102] / erp, if ((p=0 V (P=TT) V (i = 7T / 2 V l|J= -7T / 2) Uxi+1= ) Uxi+1, if (cp= n / 2 V q>= -n / 2) V (ip=0 V ip=TT) ^xi+i / ^reduce > otherwise
[0103] (Uyi+1, if (cp=O V q>=TT) V (ip= n / 2 V ip= -rr / 2) Uyi + l = ) Kperp, if ( P= ^ / 2 V <P= -7T / 2) V (ip=0 V ip=TT) Uyi+i / Kreduce > otherwise
[0104] Thus the localization uncertainty of the next displacement in the x-direction Uxi+1is reduced to a value Kperpif either the angle of normal forward moving direction F of the vehicle (p is pointing in the x-direction (cp=O V q>=TT) (Figure 7A) or if the angle of the wall ip is pointing in the y-direction (ip= TT / 2 V ip= -TT / 2) (Figure 7B). The localization uncertainty in the y-direction Uyi+1is maintained at the value calculated up to the present route datapoint. Similarly, the localization uncertainty of the next displacement in the y- direction is reduced to value Kperpif the angle of the normal forward moving direction F of the vehicle is pointing in the y-direction, in which case the localization uncertainty in x- direction is maintained at the value calculated up to the present route datapoint. In all other situations, thus when both the angle (p of the vehicle and the angle of the wallsection ip are not straight, the clearance is reduced by dividing by a constant (Kreduce). Kperpis a constant when the end pose of the displacement has a route datapoint for which the vehicle outline 2 touches the wall-section, which may be equal to the aforementioned predetermined minimum value. In this case, the value of Kperpmay represent a force sensor of the actual vehicle. Kperpmay also be one of a list of constants or a function depending on calculated distance to the boundary if the route datapoint of the end pose of the displacement is within a predetermined distance range. The predetermined distance range corresponds to a functional range of the sensor on the actual vehicle at which the sensor can sense a boundary with a known accuracy that is then used for the value Kperp. In this case, Kperpmay represent a functionality of an ultrasonic and / or optical sensor assembly of the actual vehicle. For an actual vehicle comprising both types of sensors, the AGV data may thus comprise a list of values and / or function(s) for Kperp.
[0105]
[0085] Figure 70 represent a displacement in which the vehicle is intended to follow a wall, where the normal direction of travel F of the vehicle during the displacement 3 is parallel to the boundary 5 indicating the wall at a predetermined distance d. In this case, the localization uncertainty is reduced according to the following rules: (cp= n / 2 V q>=- n / 2 ) A (ip= n / 2 V ip=- TT / 2) (cp=O V q>=TT) A (ip=0 V ip=TT) ^^i+i / ^reduce t otherwise (cp= TT / 2 V (p=- 7r / 2 ) A (ip= n / 2 V ip— rr / 2) ( P=0 V (P=TT) A (ip=0 V ip=TT) Uy^ Kreduce, otherwise
[0106] Thus, if both the angle of the normal moving direction F of the vehicle (p and the angle of the wall-section ip are pointing in the y-direction, the localization uncertainty for the start of the next displacement is reset to a value Kparin the x-direction Uxi+1and is maintained at the calculated value in the y-direction Uyi+1. Similarly, if the angle of the normal moving direction F of the vehicle (p and the angle of the wall-section ip are both in the x-direction, the localization uncertainty is reset in the y-direction and maintained at the calculated value in the x-direction. Kparis a constant when the end pose of the displacement has a route datapoint for which the vehicle outline 2 touches the wall-section, i.e. a distance d between the route datapoint and the wall is equal to the distance between the route datapoint, and the vehicle outline 2 perpendicular to the normal driving direction F. In this case, the value of Kparin the AGV data may represent a force sensor of the actual vehicle. Kparmay also be one of a list of constants or a function depending on calculated distance d. In this case, Kparmay represent a functionality of an ultrasonic and / or optical sensor assembly of the actual vehicle. For an actual vehicle comprising both types of sensors, the AGV data may thus comprise a list of values and / or function(s) for Kpar. In all other situations, the clearance by dividing by a constant (Kreduce). This is the case when both the angle of the normal moving direction of the vehicle (p and the angle of the wall ip are not straight.
[0107]
[0086] The localization uncertainty 4 and / or inflated boundary 2’ may be included in a user-interface visualization. This visualization may be similar to the schematic representation in Figure 6, but alternative solutions are foreseeable, such as including shadow lines around a line interconnecting the route datapoints.
[0108]
[0087] It will be obvious to the skilled person that, although the above exemplary description in relation to Figures 4 - 7 mention walls and wall-sections as boundaries, the same holds for fences, doors and to some extend also to ditches.
[0109]
[0088] The present invention has been described above with reference to a number of exemplary embodiments as shown in the drawings. It will be clear to a person skilled in the art that the scope of the invention is not limited to these examples, nor to the explicitly mentioned alternatives, but that a number of further variations and modifications thereof are possible without departing from the scope of the invention as defined in the attached claims.
Claims
CLAIMS1. Computer-implemented method for generating a route adapted for use by an autonomous agricultural vehicle in an agricultural space, such as a livestock space, the method comprising: forming a computational graph based on map data comprising coordinates relating to boundaries of the agricultural space (5); obtaining vehicle data of the autonomous agricultural vehicle, the vehicle data comprising at least a length and a width of the autonomous agricultural vehicle defining a vehicle outline (2) thereof with respect to a central point (1) and a normal forward moving direction (F); receiving input defining at least one displacement for execution by the autonomous agricultural vehicle within the agricultural space having an end pose with respect to a start pose; determining a sequence of two or more route datapoints (n, n+1) within the computational graph, comprising a route datapoint corresponding to the start pose (n) and a route datapoint corresponding to the end pose (n+1); determining for the at least one displacement a risk of colliding with one of said boundaries of the agricultural space impacting completion of the displacement by simulating said at least one displacement using the vehicle data; and relaying the risk.
2. Method according to claim 1 , adapted for generating a route for an autonomous manure removal vehicle.
3. The method according to claim 1 or 2, wherein the determining for the at least one displacement a risk of colliding with one of said boundaries impacting completion of the displacement comprises, projecting the central point (1) onto each of the associated route datapoints, with the normal forward moving direction (F) oriented towards a subsequent route datapoint in the sequence and verifying a likelihood of the vehicle outline (2) coinciding with or crossing one of said boundaries of the agricultural space (5) in the computational graph.
4. Method according to claim 3, wherein verifying a likelihood of the external boundary (2) coinciding with or crossing a boundary of the agricultural space (5) in the computational graph comprises: simplifying the vehicle outline (2) to a simplified shape (3”), such as a polygon or (semi-)circle, having a length and a width substantially corresponding to a maximumlength and maximum width of the vehicle, projecting the simplified shape at least at the two subsequent route datapoints, and determining if any boundaries of the agricultural space (5) indicated in the computational graph intersect with the simplified shape (3”) at any of the projections.
5. Method according to claim 4, further comprising determining if the two subsequent route datapoints have the forward moving direction (F) of the vehicle pointing in a different direction from one another, and if true, including at least one additional projection at an intermediate pose in between the two subsequent route datapoints.
6. Method according to any one of the preceding claims, wherein verifying a likelihood of the external boundary (2) coinciding with or crossing a boundary of the agricultural space (5) in the computational graph comprises determining a displacement area (3’) in the computational graph, the displacement area enclosing the vehicle outline (2) for the central point (1) projection on both subsequent route datapoints simultaneously, the displacement area preferably being formed by interconnecting the vehicle outlines projected on both subsequent route datapoints, and determining if any boundaries of the agricultural space (5) indicated in the computational graph intersect with the displacement area (3’).
7. Method according to claim 6, further comprising first determining if the two subsequent route datapoints have the forward moving direction (F) of the vehicle pointing in substantially the same direction and, if true, using the displacement area (3’) for determining the likelihood of coinciding with or crossing a boundary of the agricultural space (5).
8. The method according to any one of claims 3 - 7, wherein the vehicle data comprises a drift factor (Kdrift) representing a localization inaccuracy for movement in the normal forward moving direction (F), and wherein the step of determining a risk impacting completion of the displacement comprises determining a required clearance (4xi+i, 4yi+i) based on the localization drift factor (Kdrift') and the movement (Ax, Ay) between two subsequent route datapoints and adding the required clearance to the external boundary (2) of the autonomous agricultural vehicle.
9. The method according to claim 8, wherein the required clearance (4%i+1,4xi+1) is determined in an x-direction and an y-direction of the computational graph, wherein a clearance for a subsequent route datapoint is the clearance of the preceding route datapoint in the x-direction and y-direction (4% j,4y j) plus the localization inaccuracy corresponding to the movement from the subsequent route datapoint to the current route datapoint, preferably calculated as the localization drift factor (Kdrift) timesthe distance driven in the x-direction (Ax) and in the y-direction (Ay).
10. The method according to claim 8 or 9, wherein the required clearance is reduced by, or reset to a predetermined constant when a second of the two subsequent route datapoints has a distance to a boundary within a predetermined distance range and an angle of the normal forward moving direction of a projection of the central point (1) onto a first of the two subsequent route datapoints towards the second of the two subsequent route datapoints has an orientation with respect to the boundary within a predetermined orientation range, preferably when the external boundary at a second of the two subsequent route datapoints corresponds to an input displacement.
11. The method according to any one of the preceding claims, wherein determining of the risk impacting completion of the displacement comprises determining a risk level for a found risk, the risk level depending on a predetermined severity the risk.
12. The method according to claim 11 , wherein a highest risk level is associated with the center of the vehicle (1) crossing a boundary of the agricultural space (5) in the computational graph and wherein further risk levels are graded depending on an angle between the normal forward moving direction of the vehicle (F) and the boundary of the agricultural space (5) which is determined to coincide with or be crossed by the vehicle outline (2).
13. The method according to any one of the preceding claims, wherein the step of relaying the risk comprises outputting a risk-notification signal and / or message to a user, the signal and / or message optionally including a suggested adjustment of the displacement to remedy the risk.
14. The method according to any one of the preceding claims, wherein the step of relaying the risk comprises triggering automatic adjustment of one or more route datapoints corresponding to the displacement in dependence of the risk falling within a predetermined boundary, the adjustment comprising moving the route datapoint by a predetermined distance in a predetermined direction in accordance with pre-set conditions.
15. A computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of any of claims 1 - 14.
16. A data processing device containing the computer program of claim 15.
17. Method for providing an autonomous agricultural vehicle, such as an autonomous manure removal vehicle or an autonomous feeding vehicle, with a route for operating along, the vehicle comprising at least two wheels, a drive for driving at leastone of the wheels and a controller for controlling the vehicle to follow the route, wherein the route is obtained using the method according to any one of claims 1 - 14.
18. Method according to claim 17, wherein the route is obtained using a device, such as a computer, that is independent from the vehicle and uploaded to the vehicle.
19. A user interface for use with the computer program according to claim 15 or data processing device according to claim 16, adapted for a user to define at least one displacement for execution by an autonomous agricultural vehicle within an agricultural space with respect to a start pose.