Control unit and method for managing a machine

CN122935745APending Publication Date: 2026-10-16瑟德拉斯科格萨加纳经济学会
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202580013562.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-02-06
Filing Date
2025-01-29
Publication Date
2026-10-16

AI Technical Summary

Technical Problem

然而,如果地形崎岖或者包括过多的陡坡和障碍物,则机器可能无法通行所有线路和连接

Benefits of technology

[0015]Because this set of routes is determined to include traverseable tracks and takes into account the overturning hazard associated with one or more slopes, more efficient paths can be determined. This is because the machine is now able to use paths in complex and otherwise hazardous terrain environments. This is because when the set of routes is determined to be traverseable and takes into account the overturning hazard, it is determined such that they only allow safe tracks on one or more slopes, for example, by ensuring that the machine does not use routes that would involve dangerous angles associated with lateral or longitudinal uphill or downhill sections of one or more slopes. As a result, the machine can operate on a greater number of routes in the terrain, which further means that the determined paths will be more efficient, for example, by covering more areas of the terrain when determining paths to increase path coverage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122935745A_ABST
    Figure CN122935745A_ABST
Patent Text Reader

Abstract

The present application provides a method for managing a machine in a terrain comprising one or more slopes. The method comprises acquiring (201) terrain data indicative of the terrain. The method comprises determining (202) a set of routes based on the terrain data. Each route comprises a respective trajectory determined to be passable by the machine, and wherein each respective trajectory is determined to take into account rollover hazards associated with the one or more slopes. The method comprises determining (203) a set of connections connecting the set of routes. Each connection in the set of connections is indicative of a respective trajectory for the machine to transition between respective routes in the set of routes. The method comprises determining (204) a path for the machine to follow in the terrain. The path is determined based on the determined set of routes and the determined set of connections.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments herein relate to a control unit and a method therein. Furthermore, this document also provides a vehicle including said control unit, a computer program, and a carrier. In some aspects, embodiments of this document relate to manipulating machinery configured to perform one or more agricultural and / or forestry operations in terrain including one or more slopes. Background Technology

[0002] Using automated machines to perform agricultural operations (such as tillage) and / or forestry operations (such as forest management) is complex and involves the difficulty of planning efficient paths for the machines, especially when the terrain to be traversed is irregularly shaped or includes challenging terrain. One way to determine paths is to first establish roughly parallel tracks, which are typically manually set based on the shape of the terrain to be traversed by the machine, with connections between tracks set at the ends of the tracks based on predetermined turning radii. Paths can be further determined on the established tracks and connections based on any suitable pathfinding algorithm. However, if the terrain is rugged or includes too many steep slopes and obstacles, the machine may not be able to traverse all tracks and connections. In these cases, if the machine travels uphill or downhill at a dangerous angle, it may become stuck due to the risk of overturning on the steep slope, and the machine may subsequently require human intervention to continue, or may face an immediate risk of overturning. To avoid these situations, alternatively, paths can be determined to avoid rugged terrain including slopes and obstacles, resulting in very inefficient paths, but which are easier for the automated machine to follow without encountering problems. Summary of the Invention

[0003] The purpose of the embodiments described herein is to improve the efficiency of operating a machine configured to perform one or more agricultural and / or forestry operations in terrain including one or more slopes. Forestry operations as described herein may include any one or more suitable forestry-related operations, such as planting one or more saplings and / or surveying the terrain environment when the terrain includes woodlands and / or forests.

[0004] According to a first aspect of the embodiments herein, a method is provided for managing a machine in terrain comprising one or more slopes. The machine is configured to perform one or more agricultural and / or forestry operations in the terrain.

[0005] The method includes acquiring terrain data indicating the terrain and one or more slopes therein.

[0006] The method also includes determining a set of routes based on terrain data. Each route includes a corresponding track between corresponding locations in the terrain. Each corresponding track is determined to be traversable by a machine between the corresponding locations. Each corresponding track is determined taking into account the overturning hazard associated with one or more slopes.

[0007] The method also includes determining a set of connections for the group of lines. Each connection in the set of connections indicates a corresponding trajectory for the machine to follow to transition between corresponding lines in the set of lines.

[0008] The method also includes determining a path for the machine to follow in the terrain. This path is determined based on the determined set of routes and the determined set of connections.

[0009] According to a second aspect of the embodiments herein, a control unit configured to manage a machine in terrain is provided. The machine is configured to perform one or more agricultural and / or forestry operations in the terrain.

[0010] The control unit is configured to acquire terrain data indicating the terrain and one or more slopes therein.

[0011] The control unit is configured to determine a set of routes based on terrain data. This set of routes is determined to include routes. Each route includes a corresponding track between corresponding locations in the terrain. Each corresponding track is determined to be traversable by the machine between the corresponding locations. Each corresponding track is determined to take into account the overturning hazard associated with one or more slopes.

[0012] The control unit is configured to determine a set of connections for this group of lines. Each connection in this group of connections indicates a corresponding trajectory for the machine to follow to transition between the corresponding lines in the group of lines.

[0013] The control unit is configured to determine a path for the machine to follow in the terrain based on the determined set of lines and connections.

[0014] This document also provides a computer program containing instructions that, when executed on at least one processor, cause at least one processor to perform the methods described above. This document also provides a carrier storing a computer program product containing instructions that, when executed on at least one processor, cause at least one processor to perform the methods described above. This document also provides a machine configured to perform one or more agricultural and / or forestry operations in terrain including one or more slopes. The machine may include a control unit according to the second aspect, or be arranged to be remotely controlled by a control unit according to the second aspect.

[0015] Because this set of routes is determined to include traverseable tracks and takes into account the overturning hazard associated with one or more slopes, more efficient paths can be determined. This is because the machine is now able to use paths in complex and otherwise hazardous terrain environments. This is because when the set of routes is determined to be traverseable and takes into account the overturning hazard, it is determined such that they only allow safe tracks on one or more slopes, for example, by ensuring that the machine does not use routes that would involve dangerous angles associated with lateral or longitudinal uphill or downhill sections of one or more slopes. As a result, the machine can operate on a greater number of routes in the terrain, which further means that the determined paths will be more efficient, for example, by covering more areas of the terrain when determining paths to increase path coverage. Attached Figure Description

[0016] Examples of embodiments described herein are described in more detail with reference to the accompanying drawings, wherein: Figures 1a to 1c This is a schematic block diagram illustrating an example embodiment of the present article.

[0017] Figure 2 This is a flowchart depicting an example method according to an embodiment of this document.

[0018] Figures 3a to 3b This is a diagram illustrating an example embodiment of the present article.

[0019] Figure 4 This is a diagram illustrating an example embodiment of the present article.

[0020] Figures 5a to 5c This is a diagram illustrating an example embodiment of the present article.

[0021] Figure 6 This is a diagram illustrating an example embodiment of the present article.

[0022] Figure 7 This is a diagram illustrating an example embodiment of the present article.

[0023] Figure 8 This is a schematic block diagram illustrating an embodiment of the control unit. Detailed Implementation

[0024] The embodiments described herein can provide aspects for improving the efficiency of agricultural and / or forestry automation by enabling machines to use paths in a highly efficient manner in rugged terrain.

[0025] Figures 1a to 1c This is a schematic overview depicting non-limiting examples of embodiments described herein. Figures 1a to 1cA representation of terrain 100 and a machine 1 arranged to operate in terrain 100 are shown. Terrain 100 may include forests or woodlands, and / or may include any suitable entity related to agriculture (e.g., cultivation) and / or forestry (e.g., afforestation).

[0026] like Figure 1a As shown, terrain 100 may include one or more slopes 60. Although in Figure 1a As well as other illustrations in the embodiments herein, which are indicated as rectangular areas, one or more slopes 60 may include any slope with irregular uphill and / or downhill sections of any angle, such as the natural irregularity of uphill sections found in forests or woodlands.

[0027] In terrain 100, a machine, such as machine 1, can operate. Machine 1 is configured to perform one or more agricultural and / or forestry operations in terrain 100, such as planting one or more plants (e.g., shrubs, like saplings) transported by machine 1, and / or inspecting trees or plants found in terrain 100. Machine 1 can be any suitable machine for performing one or more agricultural and / or forestry operations in terrain 100. For example, machine 1 can be a tree-planting vehicle and / or a tree-inspection vehicle. Alternatively, machine 1 can be an agricultural vehicle. Machine 1 can be an autonomous vehicle. In embodiments herein, machine 1 may or may not carry an operator. Machine 1 can be an articulated machine comprising a trailer carrying one or more plants and / or planting equipment. The one or more plants can be saplings.

[0028] To determine the path, as will be discussed in the embodiments herein, a set of routes 10 is determined, such as... Figure 1a As shown. Each route in this set of routes 10 includes a corresponding track between corresponding locations in the terrain 100. Each corresponding track is determined to be traversable by the machine 1 between the corresponding locations. Each corresponding track is determined taking into account the overturning hazard associated with one or more slopes 60. Each route in this set of routes 10 can be selected to be followed by the machine 1, for example, as part of a determined path.

[0029] According to embodiments herein, a set of connections 20 may connect the set of lines 10. Each connection in the set of connections 20 may indicate a corresponding trajectory for machine 1 to follow to transition between corresponding lines in the set of lines 10. In other words, in order to transition from following a first line in the set of lines 10 to following a second line in the set of lines 10, one of the connections in the set of connections 20 may be followed in the middle to allow machine 1 to transition to following the second line.

[0030] The group of lines 10 can typically not intersect each other, and can instead be connected by the group of connections 20.

[0031] Terrain 100 may also include one or more obstacles 40. The one or more obstacles 40 may be any suitable object or obstacle that the machine 1 cannot or should not pass through (e.g., due to danger or hazard). For example, the one or more obstacles may include any one or more of the following: - One or more trees - One or more stones or boulders, for example, those with a size greater than a threshold. - One or more lake areas or bodies of water, for example, having a depth greater than a threshold. - One or more swamps - One or more residential areas, and - One or more restricted areas.

[0032] The embodiments described herein can be controlled by a control unit 80. The control unit 80 may be a control unit included in or remotely relative to machine 1, for example, in a server or remote cloud environment. The control unit 80 may (e.g., wired or wirelessly) be communicatively coupled to control and / or communicate with any one or more entities of machine 1 (e.g., any one or more sensors, actuators, vehicle motion controllers, or other controllers). To perform one or more agricultural and / or forestry operations, the control unit 80 may (e.g., wired or wirelessly) be communicatively coupled to devices attached to machine 1 (e.g., plant handling equipment, a robotic arm for grasping and / or planting trees, a camera for inspecting plants and / or the environment surrounding machine 1) to control and / or communicate with them.

[0033] In other words, the machine includes a control unit 80, or is arranged to be remotely controlled by the control unit 80.

[0034] like Figure 1b As shown in the example, the group of lines 10 and the group of connections 20 can be used to determine path 50, which, as part of the embodiments herein, will refer to Figure 2 Further discussion. Path 50 can be a selection of lines and connections from the set of lines 10 and the set of connections 20 to form a path, for example based on any suitable heuristic, such as for improving the path coverage of machine 1 in terrain 100.

[0035] Path 50 may or may not include loops, that is, loops in this group of paths 10 that are used multiple times.

[0036] Path 50 may typically include a predefined or dynamically set starting position 21, that is, a position in or near the first path in the group of paths 10.

[0037] Path 50 may include an end point 22, for example, as part of a route in the set of routes 10. Path 50 may be determined before machine 1 travels through terrain 100 (i.e., before performing one or more agricultural and / or forestry operations in terrain 100). However, path 50 may also be dynamically determined as machine 1 travels along path 50. In these embodiments, the end point 22 is not predetermined, and machine 1 may be configured to travel until a certain termination condition is met, such as planting a set number of plants, or based on when machine 1 needs maintenance, charging, or refueling.

[0038] like Figure 1c As shown, the group of lines 10 and / or the group of connections 20 can be determined by considering the overturning hazard of machine 1, which will also refer to Figure 2 Further discussion. For example, machine 1 may be restricted to travel on one or more slopes 60 at a lateral angle relative to an uphill or downhill slope (which is at most a predefined lateral angle 61, such as 20 degrees). Additionally or alternatively, machine 1 may be restricted to travel on one or more slopes 60 at a longitudinal angle relative to an uphill or downhill slope (which is at most a predefined longitudinal angle 62, such as 25 degrees).

[0039] In other words, the set of lines 10 and / or the set of connections 20 can be determined based on the knowledge of the location of the terrain through which the machine 1 can pass, and / or based on the limitations of the lateral and / or longitudinal angles that the machine 1 can tolerate relative to the terrain 100, taking into account the risk of overturning or other stability hazards.

[0040] Several embodiments will now be described, some of which may be considered alternatives, while others may be used in combination.

[0041] Figure 2 An example method for managing machine 1 in terrain 100 is shown. Terrain 100 includes one or more slopes 60. Machine 1 is configured to perform one or more agricultural and / or forestry operations in terrain 100, such as planting one or more plants in the terrain and / or inspecting forests or other environments in terrain 100.

[0042] The control unit 80 can perform the method described below. The method includes the following actions, which can be performed in any suitable order. Optional actions are listed below. Figure 2 The dashed box indicates the information.

[0043] Action 201

[0044] The method includes acquiring terrain data indicating terrain 100 and one or more slopes 60 of terrain 100. The terrain data may be predefined, measured by a previous machine traversing terrain 100, and / or received from a server. The terrain data may include any suitable information that may affect how the machine will or is able to traverse terrain 100, such as any one or more of the following: - An indication of the uphill and / or downhill slopes and their associated angles for one or more slopes. -One or more inputs (e.g., from a user) indicate at least one boundary region. -Topology of terrain 100, - Indication of one or more obstacles 40, - An indication of one or more geofences that Machine 1 cannot traverse, for example, as part of one or more obstacles 40.

[0045] Action 202

[0046] The method includes determining the group of routes 10 based on terrain data.

[0047] Each of the routes in this set 10 includes a corresponding track between corresponding locations in the terrain 100. Each corresponding track is determined to be traversable by the machine 1 between the corresponding locations. Each corresponding track is determined taking into account the overturning hazard associated with one or more slopes 60.

[0048] The group of lines 10 can be defined to have a set width or a set minimum width, for example, the width or minimum width can correspond to the size and / or characteristics of machine 1.

[0049] Considering the risk of overturning, this set of lines 10 is safe for the movement of machine 1.

[0050] To address rollover hazards, heuristic methods and / or embodiments discussed below can be used to ensure avoidance or mitigation of rollover risks. For example, determining the set of routes 10 may include verifying that the set of routes 10 does not involve rollover hazards, such as verifying that if machine 1 follows the set of routes 10 or a specific route within it on one or more ramps 60, it will not exceed a predefined lateral angle 61 and / or a predefined longitudinal angle 62. Determining the set of routes 10 may also include verifying that if machine 1 follows the set of routes 10 or a specific route within it, it will not collide with or attempt to travel over one or more obstacles 40.

[0051] Other embodiments of this document may implicitly account for the risk of rollover by aligning the line along the line direction at a location in which there are no obstacles or slopes that are associated with the risk of rollover of machine 1.

[0052] Establish the corresponding preferred route direction for this group of routes 10.

[0053] In some embodiments, determining the set of routes 10 may include establishing corresponding preferred route directions for multiple locations in the terrain 100. The preferred route directions may be represented as corresponding angles of the respective locations relative to a predefined direction (e.g., "north").

[0054] The preferred route direction can guide the direction of the route in the group of routes 10 that will pass through or approach the corresponding preferred route direction.

[0055] The preferred route direction can be established by evaluating the corresponding distances that machine 1 can travel along terrain 100 from each of multiple locations in multiple directions. These multiple directions are typically as numerous as possible, as they improve the accuracy of determining the preferred route direction, which ultimately improves route generation. However, the number of these multiple directions can be at least six or eight, and often more, such as 16 directions.

[0056] The corresponding distance may involve an estimate of how far machine 1 can travel in the corresponding direction until it reaches a position where machine 1 can no longer travel in the corresponding direction (e.g., due to one or more obstacles 40 and / or due to the risk of machine 1 overturning in one or more slopes 60). The estimate of the corresponding distance may be based on terrain data and optionally a predefined model of machine 1. In other words, assessing the corresponding distance may include considering whether machine 1 can safely traverse the corresponding uphill and / or downhill sections of one or more slopes 60 in terrain 100.

[0057] Establishing a preferred route direction may further include: for each corresponding location among a plurality of locations, establishing a corresponding preferred route direction for that location based on an evaluated distance. For example, the corresponding route direction may be determined based on one or more of the longest evaluated distances. Additionally or alternatively, the corresponding route direction may be determined by considering distances below a set threshold, i.e., this may correspond to a non-preferred route direction.

[0058] Additionally or alternatively, the corresponding preferred route direction can be based on the length of the evaluated distance, such that the corresponding route direction is based on a predefined heuristic method of direction associated with the evaluated distance. The predefined heuristic method can consider the trend of direction associated with the evaluated distance, such that a corresponding preferred route direction is established for directions associated with distances above a threshold and in similar directions. In other words, the evaluated distance can be used to determine the trend of route direction. This trend can determine the corresponding preferred route direction.

[0059] This trend can be determined by having multiple or all orthogonal direction pairs from multiple directions form corresponding vector pairs based on their respective evaluated distances to the corresponding location. Each vector pair is scored based on the length of the resulting scalar product of the corresponding vector. The resulting scalar product with the highest score (i.e., the largest scalar product) can be considered as the trend, and the corresponding vectors can be combined, such as the average of two vectors or any suitable derivation, as the preferred route direction for the corresponding location.

[0060] In some embodiments, establishing a preferred route direction further includes applying a smoothing and / or filtering function to one or more preferred route directions. For example, a preferred route direction may be compared with route directions at adjacent locations and adjusted by predefined coefficients to have a direction more similar to the compared route directions.

[0061] In some embodiments, establishing a preferred route direction is also based on one or more inputs (e.g., from a user) indicating at least one boundary region. In these embodiments, the at least one boundary region may represent different areas of terrain 100, and the establishment of a preferred route direction may be performed individually for each area. In these embodiments, the respective edges of the at least one boundary region may act as obstacles in evaluating the distance to each respective location.

[0062] For example, determining the set of lines 10 may include determining the set of lines 10 based on established preferred line directions. In some embodiments, the set of lines 10 may be determined to be at least partially aligned with the established preferred line directions. In other words, the set of lines 10 may be determined to include at least one line that connects corresponding preferred line directions to form the at least one line at one or more locations.

[0063] Determining the route 10 based on the established preferred route direction can mean taking into account the risk of overturning, because the machine 1 traveling along the preferred route direction will not have the risk of overturning, or the risk will be significantly reduced.

[0064] Determining the circuit using simulation

[0065] In some embodiments, determining the set of lines 10 involves simulating the motion of a set of particles within a representation of terrain 100. Each particle in this set can typically be represented as a circle, but other shapes may also be applicable. In other words, the set of particles can be an abstract representation used to find lines. Each particle in this set can be associated with any one or more of the following: a predefined shape, size, or boundary collision region (e.g., collision radius), mass, kinetic energy, velocity, speed, direction, angular momentum, and elasticity. The most important constant parameters in the simulation may be mass, angular momentum, and elasticity.

[0066] In these embodiments, each particle in the group includes two corresponding poles. These two corresponding poles can be regions or locations of the corresponding particle. These two corresponding poles can be located on opposite sides of the corresponding particle.

[0067] The simulation can be based on a simulation configuration. The simulation configuration can define one or more parameters regarding how the set of particles is represented relative to terrain 100 and relative to the established preferred route direction.

[0068] The simulation configuration can also indicate any one or more of the following parameters: The number of particles in this group. An initial distribution of particles with a settable density, and The velocity configuration of the group of particles, for example, a random configuration, wherein the group of particles is initialized with random velocities (i.e., random directions, amplitudes, and orientations).

[0069] The group of particles can be simulated over a time period, moving relative to a representation of terrain 100 and interacting with a set kinetic energy. The simulation may include simulating a first force applied to the group of particles to follow an established preferred trajectory direction. The magnitude of the first force can be based on a simulation configuration. In other words, the first force can be applied to the group of particles, for example, causing the corresponding particles to rotate so that the corresponding poles align with one or more of the established preferred trajectory directions.

[0070] The simulation may include simulating a second force to attract the corresponding two poles of different particles in the group of particles. In other words, the second force may be applied to the group of particles, such as pushing and / or rotating the corresponding particles, causing the corresponding poles of the different particles to attract each other, i.e., to move and / or rotate toward each other.

[0071] The simulation may include a simulated third force for the corresponding collisions of the group of particles with each other or with simulated obstacles of the terrain 100. The third force may exert a repulsive or blocking force on the corresponding particles relative to the point of collision.

[0072] The simulation can be initialized by applying kinetic energy (i.e., motion in any direction) to the particles in the group.

[0073] The simulation allows the group of particles to attract corresponding poles and allows these poles to dynamically align with the established preferred path direction. The simulation can terminate when the force applied to the group of particles satisfies a termination condition, causing the kinetic energy of the group of particles to fall below a threshold or become zero. In other words, the total simulated kinetic energy for the group of particles is allowed to gradually decrease as the group of particles moves and interacts, and the simulation stops after a fixed number of iterations when the simulated kinetic energy of the group of particles reaches the threshold. This can be referred to as a cooling process, which can occur simultaneously to form a stable structure and can be part of a simulated annealing process.

[0074] In response to terminating the simulation, for example with regard to termination conditions, the method includes determining the set of lines 10 based on the corresponding pole-forming lines connecting the particles in the set of particles.

[0075] Thus, the corresponding poles connecting this set of particles can form multiple connected particle chains, wherein the corresponding particles are aligned with the established preferred path direction and the corresponding connected poles. Therefore, determining this set of paths 10 may include determining the path to traverse the positions associated with the particles and / or poles of the multiple connected particle chains. Determining this set of paths may also include verifying the set of paths based on one or more criteria based on turning radius and / or rollover hazard, for example, to ensure that machine 1 will not roll over or encounter any other hazard, and / or additionally to ensure that machine 1 can perform the said turning radius.

[0076] In other words, at the end of the simulation, the multiple poles of the group of particles will have found positions where they are at least partially aligned with the established preferred route direction and can also be close to at least one other pole of another particle (e.g., within a predefined distance). This group of routes 10 can be determined as trajectories of positions associated with corresponding particles in the group within the traversable terrain 100. The trajectories of this group of routes 10 can be formed based on the positions of the corresponding poles of the corresponding particles. These trajectories can be formed in many different ways, such as directly connecting between poles, but they can also be formed with smoother trajectories, for example, by forming trajectories based on the central position associated with the group of particles and the positions in between (e.g., the midpoint of the distance between the two nearest poles of different corresponding particles). Any suitable method of forming trajectories between particles with the nearest adjacent poles can be used, because if the trajectory is aligned with the poles of the particles, the resulting trajectory will be characterized as following the terrain 100, such that the preferred route direction is taken into account, which also means that the risk of overturning is mitigated or eliminated.

[0077] Path determination using iterative functions

[0078] In some embodiments, determining the set of lines 10 includes assigning a corresponding value to each position associated with a corresponding line direction of the established preferred line direction. These values ​​can be any suitable values, such as those between 0 and 1. The assigned values ​​can be represented by any suitable mathematical model, such as a set of pixels and / or as a matrix, where each position of the matrix can be a pixel whose value corresponds to a color, such as 0 to 1 mapped to black to white. Each corresponding value can be assigned as a constant or as a value from a predefined distribution interval, such as through a randomization function.

[0079] In some embodiments, determining the group of lines 10 includes iteratively applying functions.

[0080] Applications of this function include updating each assignment value at a location based on a filter (e.g., a Gabor filter) and the corresponding assignment values ​​at one or more neighboring locations. The filter can indicate coefficients, such as positive or negative coefficients, that should be applied to the corresponding assignment values ​​at one or more neighboring locations. These coefficients can be based on the filter used, and which filter is used can be determined based on which preferred line direction is associated with the current location and the assignment value to be updated.

[0081] In other words, each position has an assigned value, and the corresponding assigned value is updated based on its current value, its corresponding preferred route direction, and the assigned values ​​of one or more neighboring positions. The one or more neighboring positions can be any suitable number of neighboring positions and do not necessarily have to be directly adjacent. For example, if the position is represented as a pixel or value in a matrix, the value to be updated can be at the center position, and neighboring positions can be values ​​or pixels in rows or columns below, above, or to the side of the value to be updated. At the edges of such a matrix, any suitable edge cases can be applied for calculation.

[0082] As an example, determining the group of lines 10 may include iteratively executing the function to find positions associated with aligned line directions, which can be grouped to determine lines to be part of the group of lines 10. The function may include updating the assignment value at each position based on an assignment value and a preferred line direction at the position corresponding to the assignment value. In other words, each position may have an assignment value, and this assignment value is updated based on the preferred line direction of its associated position, and based on the assignment value of that position together with the assignment values ​​of one or more adjacent positions. The assignment value at a position may be increased or decreased based on a predefined function. The assignment values ​​may be arranged as a matrix relative to their respective positions and corresponding preferred line directions. The function then iteratively applied may be a function that applies selective convolution to the matrix. In selective convolution, a kernel matrix is ​​selected individually at each position based on the preferred line direction of each position. This kernel matrix may be or involve a Gabor filter selected from a set of Gabor filters based on the corresponding preferred line direction of the position to be updated.

[0083] This function can be used iteratively to update each assigned value until a termination condition is met, typically for a set number of iterations. Each iteration may include updating every value at every position.

[0084] Updating each assigned value using this function can form one or more aligned position groups. Each aligned position group can include associated values ​​within a corresponding target interval (e.g., above a threshold). If the associated values ​​are within the corresponding target interval, this can mean that they have been found to be associated with orientation, allowing them to be used together to determine the lines to be part of that group of lines 10, i.e., the orientation of each position can be aligned within a certain error tolerance.

[0085] Aligned position groups can indicate different areas or patterns that can be used to determine where lines can be formed. Therefore, determining this group of lines 10 can also be based on one or more aligned position groups.

[0086] Action 203

[0087] The method includes determining a set of connections 20 that connect the group of lines 10. As an example, each connection in the set of connections 20 may indicate a corresponding trajectory for machine 1 to follow to transition between corresponding lines in the group of lines 10.

[0088] The group connection 20 can connect the lines in the group of lines 10 at the endpoints of the corresponding lines or at any other suitable location of the corresponding lines. The group connection 20 can connect the group of lines 10 such that the group of lines 10 and the group connection 20 form multiple interconnected tracks throughout the terrain 100, which the machine 1 can follow in any suitable manner, for example as part of the machine 1's autonomous mode.

[0089] In some embodiments, determining the group of connections 20 includes determining a set of candidate connections between the group of lines 10. This set of candidate connections can be generated based on any suitable generation method between multiple different locations of different lines in the group of lines 10. The set of candidate connections may include connections between locations of different lines in the group of lines 10 that reach a predefined connection distance, for example, in each direction, such that the corresponding candidate connection can represent a connection in a different direction.

[0090] Typically, this set of candidate connections can be two-dimensional and predefined trajectories, which are then evaluated based on overturning hazard if applied to terrain 100 (e.g., relative to one or more slopes).

[0091] The determination of the group of connections 20 can also be based on the determined group of candidate connections, for example by selecting one or more accessible connections of machine 1 for transitioning between different lines in the group of lines.

[0092] In some embodiments, determining the set of connections 20 includes verifying the set of candidate connections based on whether the set of candidate connections is passable by machine 1 at least relative to one or more corresponding downhill and / or uphill sections of one or more ramps 60. In other words, only candidate connections that include downhill and / or uphill sections within the boundaries of a predefined lateral angle 61 and / or a predefined longitudinal angle 62 can be considered verified. Verification of the set of candidate connections can also be performed relative to one or more obstacles 40, for example, such that only passable candidate connections where one or more obstacles do not obstruct machine 1 can be considered verified. In some embodiments, only verified candidate connections can be determined as part of the set of connections 20. Verification of the set of candidate connections can also include evaluating the set of candidate connections based on one or more lateral and / or longitudinal angles of the respective candidate connection and relative to a predefined lateral angle 61 and / or a predefined longitudinal angle 62. If the predefined lateral angle 61 and / or predefined longitudinal angle 62 is exceeded, the candidate connection is not applicable to machine 1.

[0093] The predetermined cost function may involve estimating a passage metric based on a predefined heuristic, which measures the extent to which machine 1 can traverse the corresponding candidate connections, or whether it can traverse them at all. The set of candidate connections is then validated, or their passage metrics are evaluated, to verify that the candidate connections can be based on the cost function.

[0094] In some embodiments, the method includes: for each pair of lines in the group of lines 10, determining the group of connections 20 by selecting verified candidate connections with a higher throughput metric, typically at least one for each pair of lines in the group of lines 10.

[0095] The group of connections 20 can be defined as including tracks with a set width or a set minimum width, for example, the width or minimum width may correspond to the size and / or characteristics of machine 1. In other words, these tracks may conform to the size of machine 1.

[0096] Action 204

[0097] The method includes determining a path 50 for machine 1 to follow in terrain 100. Path 50 is determined based on the determined set of routes 10 and the determined set of connections 20. Path 50 can be determined at least in part by selecting routes and connections from the set of routes 10 and the set of connections 20, for example based on any strategy and / or (one or more) heuristic methods.

[0098] Path 50 may include a start position 21. Path 50 may include an end position 22, or it may not include an end position 22, for example, depending on whether the path is dynamically determined when machine 1 travels along path 50.

[0099] Determining path 50 can be performed at any appropriate time, before or during machine travel along path 50. This can also be applied to any one or more of actions 201, 202, and 203.

[0100] Determining path 50 may include iteratively selecting lines from the group of lines 10 and selecting connections from the group of connections 20 to form path 50.

[0101] Path 50 can be defined as having a loop, for example, path 50 can indicate the multiple uses of some lines in group 10. Path 50 can be defined as indicating the order in which machine 1 should follow the lines and connections that form part of path 50.

[0102] Path 50 can be determined using any suitable heuristics and / or path search strategies regarding the group of lines 10 and the group of connections 20.

[0103] In some embodiments, determining path 50 includes using a predetermined path search strategy. For example, determining path 50 may include: starting from starting position 21, selecting lines and connections from the set of lines 10 and the set of connections 20 to form a path 50 for machine 1 to follow.

[0104] In some embodiments, determining path 50 includes using a path coverage algorithm for the set of lines 10 to determine path 50 in terrain 100. The path coverage algorithm may include selecting lines and / or connections from the set of lines 10 and the set of connections 20 such that machine 1 will traverse terrain 100 as much as possible. The path coverage algorithm may also include selecting the set of lines 10 and the set of connections 20 based on the number of times a cycle occurs in the determined path 50, such that each line in the set of lines 10 occurs only a predetermined number of times in path 50. A minimum distance requirement can help ensure that if machine 1 plants one or more plants along path 50, these plants will be at sufficient distance from other plants. Therefore, the minimum distance requirement may be based on predetermined plant parameters, based on which one or more types of plants will be planted along path 50.

[0105] In some embodiments, determining path 50 includes evaluating whether including at least a portion of at least one first candidate route from the group of routes 10 increases the coverage of path 50 in terrain 100 compared to including at least a portion of at least one second candidate route from the group of routes 10. In other words, determining path 50 may be part of an iterative path search method, wherein the next one or more trajectories to be part of path 50 are evaluated based on a heuristic method and compared with one or more alternatives to one or more corresponding alternative trajectories.

[0106] As discussed above, determining path 50 may include iteratively selecting a route from the set of routes 10 based on one or more heuristics. The one or more heuristics may be predefined. Path 50 may begin at starting position 21 and be determined by selecting routes from the set of routes 10 and / or connections from the set of connections 20 based on one or more heuristics, and iteratively selecting subsequent routes from the set of routes 10 and / or subsequent connections from the set of connections 20 based on one or more heuristics. The one or more heuristics may include any one or more of the following: Based on the path coverage of terrain 100, routes and / or connections are selected from the group of routes 10 and / or from the group of connections 20. This means that each route or connection can be selected based on attempting to cover as much ground or area as possible.

[0107] Based on the number of times the route appears in path 50, routes and / or connections are selected from the set of routes 10 and / or the set of connections 20. Reducing the number of times routes and / or connections appear in the path can improve fuel / energy efficiency compared to using the same route in multiple iterations, and can ensure coverage of a larger area of ​​terrain 100 given the maximum distance that machine 1 can travel.

[0108] Based on the number of adjacent connections or lines and their corresponding frequency in the path, lines and / or connections are selected from the group of lines 10 and / or the group of connections 20. This allows path 50 to be determined so that lines and / or connections not previously selected as part of path 50 can be selected, thereby improving path coverage. This is recursive for multiple lines and connections.

[0109] Based on the selection of candidates with the highest scores for maximizing the coverage of the terrain 100 for the first visit of as many ground or areas as possible, routes and / or connections are selected from the group of routes 10 and / or the group of connections 20.

[0110] Based on path search or graph traversal strategies, such as A D The mail carrier algorithm, the traveling agent algorithm, or any other suitable method is used to select a route and / or connection from the group of routes 10 and / or the group of connections 20.

[0111] Based on the location and / or area furthest from the starting position 21, routes and / or connections are selected from the group of routes 10 and / or the group of connections 20, for example, to reach unexplored areas more quickly to improve path coverage.

[0112] One or more of the heuristics described above can be combined in any suitable manner.

[0113] In some embodiments, determining path 50 is also based on the reachability of machine 1 to plant one or more plants carried by machine 1. Reachability may involve how far machine 1 can reach while traveling path 50 to plant plants (e.g., trees), such that path 50 can be determined as the maximum number of locations that machine 1 can reach.

[0114] Action 205

[0115] In some embodiments, the method includes triggering the machine 1 to travel along a determined path 50. Alternatively, the method includes triggering the machine 1 to travel along the determined path 50 and performing one or more agricultural and / or forestry operations in the terrain 100. Alternatively, the method includes triggering the machine 1 to travel along the determined path 50 and performing one or more agricultural and / or forestry operations in the terrain 100 while traveling along the path 50.

[0116] One or more agricultural and / or forestry operations may include, for example, planting one or more plants, such as saplings, along or near path 50 as machine 1 follows path 50. Path 50 may also indicate the location for planting one or more plants, or machine 1 may dynamically detect suitable locations within or near path 50 as it travels along path 50.

[0117] Triggering machine 1 to travel along the determined path 50 and perform one or more agricultural and / or forestry operations in terrain 100 while traveling along path 50 may also include: triggering machine 1 to schedule and / or perform one or more planting operations along path 50 such that machine 1 does not pass by plants planted by machine 1 in path 50, for example by iteratively using the routes in the set of routes 10. In other words, if a location in path 50 will be traversed multiple times and requires planting, then the plant is planted during the last traversal of that location.

[0118] In other words, triggering the movement of machine 1 along the determined path 50 includes triggering the planting device of machine 1 to perform a tree-planting process. Triggering the planting device of machine 1 to perform the tree-planting process may include using the robotic arm of machine 1 to plant one or more plants. Triggering the planting device of machine 1 to perform the tree-planting process may include triggering the planting of trees such that when machine 1 moves along the path 50, during the last movement along one of the lines in the set of lines 10, trees are planted in that line.

[0119] The above embodiments will be further explained and illustrated below. The following embodiments can be combined with any suitable embodiments described above.

[0120] Figure 3a An example is shown of establishing a first preferred route direction 300 for a first location 310 among a plurality of locations in terrain 100, for example, as also discussed in action 202.

[0121] exist Figure 3a In the example scenario, the corresponding distance 330 from the first position 310 is assessed by estimating (e.g., based on terrain data acquired in action 201) how far the machine 1 can travel in multiple directions until it either collides with one or more obstacles 40 or faces the risk of overturning due to traveling at dangerous angles (e.g., exceeding a predefined lateral angle 61 and / or a predefined longitudinal angle 62) on one or more slopes 60.

[0122] Then, a first preferred route direction 300 can be established with regard to the distance that is passable in each of the multiple directions (e.g., a measure of trend or common direction), for example as part of the preferred route direction discussed in action 202.

[0123] Figure 3bAnother example is shown for establishing a first preferred line direction 300 for a first position 310. In this example, vector V is rotated in four steps along multiple directions with corresponding evaluation distances 330. Four steps are used in this example, but in a real implementation, more rotations and more directions can be used. These steps can be referred to as V0, V1, V2, and V3, with corresponding rotation angles of 0 degrees, 45 degrees, 90 degrees, and 135 degrees. For each rotation angle, the following sum can be calculated: all scalar products between Vi and line Pi are added to the corresponding sum, where Pi is represented as a vector. From the corresponding sum, all scalar products between lines Pi and VPi are subtracted, where VPi is a vector orthogonal to Vi. The Vi rotation angle corresponding to the trend can be used to form the preferred line direction 300. This trend can be the largest sum after the subtraction as described above.

[0124] The pseudo-algorithm for selecting the vector to be used as the basis for the preferred route direction is shown in Algorithm 1.

[0125] Algorithm 1: For all angles i: Rating = 0 For all lines j: Score = Score + Dot Product (Pj, Vi) - Dot Product (Pj, VPi) At all angles i, the vector Vi with the best score is selected to represent the preferred route direction, or it is used as the basis for determining the preferred route direction.

[0126] Figure 4 A representation of terrain 100 is shown, wherein a preferred route direction 400 is indicated by multiple arrows in different directions, such as the preferred route direction discussed in action 202. The preferred route direction 400 may include preferred route directions established in the same manner as the first preferred route direction 300 but for different locations within terrain 100. Using the preferred route direction 400, a set of routes 410 can be determined by aligning the corresponding routes along the corresponding route directions of the preferred route direction 400. This set of routes 410 may be part of the set of routes 10.

[0127] Figures 5a to 5c An example of simulating this group of particles is shown, for example, as used in action 202 to determine the group of lines 10.

[0128] Figure 5aA set of example particles 510 is shown, for example, as used to simulate this set of particles in action 202. The set of particles 510 may include virtual representations of the particles, typically circular in shape, but other shapes may also be applicable. The set of particles 510 may each include at least two poles 520. The at least two poles 520 may be positioned on predefined regions of the respective particles within the set of particles 510.

[0129] Figure 5b A representation of terrain 100 is shown, wherein a preferred route direction 500 is indicated by multiple arrows in different directions, such as the preferred route direction discussed in action 202. The preferred route direction 500 may be the same as or similar to the preferred route direction 400 as described above.

[0130] The group of particles 510 is simulated in the representation of terrain 100. Each particle can be initialized with force or motion, such as rotation, turning, velocity, etc. Each of at least two poles 520 of the group of particles 510 can attract another corresponding pole 520, for example, as a simulated force. Each of at least two poles 520 of the group of particles 510 can be aligned with a preferred path direction 500, for example, as a simulated force. The particles in the group can collide and / or bounce off each other and / or collide and / or bounce off the terrain 100, thereby simulating one or more collision forces that cause the group of particles 510 to move. After a termination condition, such as when all particles in the group of particles 510 have stopped moving, the simulation is considered complete and a path can be formed.

[0131] Figure 5c The representation of the group of particles 510 in the representation of terrain 100 is shown after the simulation (e.g., as described in action 202) has terminated.

[0132] A set of lines 550 is determined by connecting trajectories via at least two poles 520 of the set of particles. Each line in the set of lines 550 can be determined by a trajectory based on the position of the two poles of a first corresponding particle in the set of particles 510, or the trajectory of their average position, and also based on the trajectory from the position of the first pole of the corresponding first particle to the position of the nearest pole of another particle, which is located within a predefined distance of the first pole in the representation of terrain 100. If as Figure 5c If a trajectory is formed directly between the poles as in the example, sharp turns may occur, making it difficult for Machine 1 to move forward. This can be solved by using a smoothing function to form the trajectory. The smoothing function can form the trajectory based on the midpoint between the corresponding poles and the average position of each particle.

[0133] In this way, the set of lines 550 can be naturally shaped to align with the preferred route direction 500.

[0134] Line 550 can be part of line 10, for example, as simulated in action 202.

[0135] Figure 6 The circuit determination using an iterative function is shown, for example, as described in action 202.

[0136] The iterative function can be applied to assign values ​​at multiple locations on terrain 100. These multiple locations can be associated with preferred route directions (e.g., preferred route directions 400 and / or 500 discussed above), such that each location corresponds to a preferred route direction. Figure 6 In this context, each location includes an assigned value, which is represented as a corresponding pixel based on the initial state 600-0. The assigned value may have been randomized or set in any suitable manner. Pixels may correspond to the corresponding assigned value. Since only black and white are used for coloring, pixels can indicate high values ​​(e.g., above a threshold) and low values ​​(e.g., below a threshold). Black or white can indicate either a low or high value.

[0137] The assigned values ​​can be updated by applying an iterative function. This function uses the value of that pixel and its surrounding pixels as a submatrix 601 for each pixel. A Gabor filter is selected based on the preferred line direction of the position of the pixel to be updated. Gabor filter 602 is selected from a set of filters associated with different directional angles, and the selected Gabor filter can be the filter that is angularly closest to the preferred line direction of the position of the pixel to be updated. In this example, the corresponding preferred line direction is closest to 22.5 degrees, and Gabor filter 602 associated with 22.5 degrees is selected. Gabor filter 602 and submatrix 601 are of the same size, such that each value or pixel of Gabor filter 602 can indicate a coefficient for each corresponding value or pixel of submatrix 601, which indicates whether the corresponding value of submatrix 601 should be increased or decreased for the pixel to be updated. Typically, all values ​​of submatrix 601 are multiplied by the corresponding value of the corresponding position of Gabor filter 602 and further added to the value of the pixel to be updated. Performing this behavior for each pixel in matrix 600-0 requires reselecting the Gabor filter for each pixel. Typically, an activation function or thresholding function can be applied, or alternatively, at least a clamping function that limits the sum to a range can be applied. The process is iterated multiple times for each pixel; in this example, we show the results after one iteration 600-1, two iterations 600-2, five iterations 600-5, ten iterations 600-10, twenty iterations 600-20, fifty iterations 600-50, and finally one hundred iterations 600-100, where one hundred iterations 600-100 are considered the final iteration. In the final matrix of iterations 600-100, the pattern of pixels is clearly visible. This pattern can correspond to the aligned position group discussed in action 202, i.e., because each pixel corresponds to a value and position associated with a preferred line orientation. These patterns can appear due to common or consistent characteristics of line orientations at different positions. This means that patterns of high and / or low values ​​can be used to form lines in this group of lines 10, for example, by aligning lines 610 in the regions formed by the patterns in the final matrix of iterations 600-100.

[0138] Figure 7 A set of candidate connections 710 is shown, which can be generated at least partially in one or more slopes 60 of terrain 100, as described in action 203. This set of candidate connections 710 can be generated based on any suitable generation method between any suitable combination of the locations of different routes in this set of routes 10. While in Figure 7Only candidate connections for two lines in the group of lines 10 are shown, but it should be noted that the group of candidate connections can be further applied to any number of lines in the group of lines 10, wherein each line in the group of lines 10 has a generated candidate connection in the group of candidate connections 710 if each line is within a predefined connection distance from the other.

[0139] The set of candidate connections 710 can be validated based on one or more predefined models of machine 1 and on terrain data (e.g., acquired in action 201). For example, how machine 1 will traverse the corresponding candidate connection 710 can be simulated or estimated, and the corresponding candidate connection can be considered validated if it can be traversed without estimating the risk of machine 1 overturning.

[0140] The group of connections 20 can also be formed based on the verified group of candidate connections 710.

[0141] In order to perform the above-described actions, the control unit 80 is configured to manage the machine 1 in the terrain 100. The machine 1 is configured to perform one or more agricultural and / or forestry operations in the terrain 100.

[0142] Control unit 80 in Figure 8 As shown in the diagram. Components of the control unit 80 can be directly integrated into the machine 1 in any suitable manner. In other words, although... Figure 8 Control unit 80 is shown, but the illustration can also be directed at machine 1, for example, as a single entity. Control unit 80 can also be included in a remote location on machine 1, for example, as part of a server and / or cloud service.

[0143] The control unit 80 may include an input and output interface 800 configured to communicate with and / or control the entities of the machine 1, such as sensors, actuators and / or plant treatment equipment.

[0144] The input and output interface 800 may include, for example, a wired or wireless receiver (not shown) and a wireless or wired transmitter (not shown).

[0145] The control unit 80 is also configured to acquire terrain data indicating terrain 100 and one or more slopes 60 therein.

[0146] The control unit 80 is also configured to determine a set of routes 10 based on terrain data. Each route in the set of routes 10 includes a corresponding track between corresponding locations in the terrain 100. Each corresponding track is determined to be traversable by the machine 1 between the corresponding locations, and each corresponding track is determined to take into account the overturning hazard associated with one or more slopes 60.

[0147] The control unit 80 is also configured to identify a set of connections 20 that connect the set of lines 10.

[0148] The control unit 80 is also configured to determine a path 50 for the machine 1 to follow in the terrain 100 based on the determined set of lines 10 and the determined set of connections 20.

[0149] In some embodiments, the control unit 80 is further configured to determine the group of lines 10 by: - Establish corresponding preferred route directions 300, 400, 500, and 600 for multiple locations in terrain 100 using the following methods: For each of the multiple locations, evaluate the corresponding distance 330 that machine 1 can travel from the corresponding location along multiple directions through terrain 100, and Based on the assessed distance, corresponding preferred route directions of 300, 400, 500, and 600 are established for the respective locations.

[0150] In some embodiments, the control unit 80 is further configured to assess the corresponding distance 330 by considering whether the machine 1 can safely traverse the corresponding uphill and / or downhill sections of one or more slopes 60 in the terrain 100.

[0151] In some embodiments, the control unit 80 is further configured to establish preferred line directions 300, 400, 500, 600 by applying a smoothing function and / or a filtering function to one or more of the preferred line directions 300, 400, 500, 600.

[0152] In some embodiments, the set of lines 10 is determined to be at least partially aligned with the established preferred line directions 300, 400, 500, 600.

[0153] In some embodiments, the control unit 80 is further configured to determine the group of lines 10 by: - Simulates the motion of a group of particles 510 within a representation of terrain 100, each particle comprising two corresponding poles 520, wherein the group of particles 510 is simulated over a time period to move relative to the representation of terrain 100 and interact with each other at a predetermined kinetic energy, wherein a simulated first force is applied to the group of particles 510 to follow established preferred trajectory directions 300, 400, 500, 600, and wherein a simulated second force is applied to the mutual attraction of the corresponding two poles 520 of different particles within the group of particles 510, and - In response to terminating the simulation, the circuit 10 is determined based on the circuit formed by connecting the corresponding poles 520 between the particles in the group of particles 510.

[0154] In some embodiments, the control unit 80 is further configured to determine the group of lines 10 by: - Assign a corresponding value to each position associated with the corresponding route direction among the established preferred route directions 300, 400, 500, and 600, and - Iteratively applying a function that includes updating each assigned value based on the assigned value and the preferred line directions 300, 400, 500, 600 of one or more adjacent positions of the assigned value, to form one or more aligned position groups 610, each aligned position group including associated values ​​within a corresponding target interval (e.g., above a threshold), and - The group of lines 10 is determined based on one or more aligned position groups 610.

[0155] In some embodiments, the control unit 80 is also configured to determine the group of connections 20 by: - Identify a set of candidate connections 710 between the lines 10 in this group. - The candidate connection 710 is verified based on whether it is passable by machine 1 at least relative to one or more corresponding downhill and / or uphill sections of one or more ramps 60, and - The set of connections 20 is determined by evaluating the verified connections based on a predetermined cost function.

[0156] In some embodiments, the control unit 80 is further configured to determine path 50 by using a predetermined path search strategy and by selecting lines and connections from the group of lines 10 and the group of connections 20 starting from the starting position 21 to form path 50 for machine 1 to follow.

[0157] In some embodiments, the control unit 80 is further configured to determine path 50 by using a path coverage algorithm to determine path 50 in terrain 100 for the group of lines 10.

[0158] In some embodiments, the control unit 80 is further configured to determine path 50 by evaluating whether including at least a portion of at least one first candidate route in the group of routes 10 increases the coverage of path 50 in terrain 100 compared to including at least a portion of at least one second candidate route in the group of routes 10.

[0159] In some embodiments, the control unit 80 is further configured to determine the path 50 based on the accessibility of the machine 1 to plant one or more plants carried by the machine 1.

[0160] In some embodiments, the control unit 80 is also configured to trigger the machine 1 to travel along a determined path 50 and to perform one or more agricultural and / or forestry operations in the terrain 100 while traveling along the path 50.

[0161] The embodiments described herein can be implemented by a corresponding processor or one or more processors (e.g., processor 860 of the processing circuitry in control unit 80) and corresponding computer program code for performing the functions and actions of the embodiments herein. The program code described above can also be provided as a computer program (e.g., a computer program product), for example, in the form of a data carrier carrying the computer program code for executing the embodiments herein when loaded into control unit 80. One such carrier could be a CD-ROM. However, this is feasible for other data carriers (e.g., memory sticks). The computer program code can also be provided as plain program code on a server and downloaded to control unit 80.

[0162] The control unit 80 may also include a memory 870, which includes one or more memory units. The memory 870 includes instructions executable by a processor in the control unit 80. The memory 870 is configured to store, for example, information, instructions, data, configurations, and applications to execute the methods described herein when executed in the control unit 80.

[0163] In some embodiments, the computer program 880 includes instructions that, when executed by at least one corresponding processor 860, cause at least one processor of the control unit 80 to perform the aforementioned actions.

[0164] In some embodiments, the corresponding carrier 890 includes a corresponding computer program 880 (e.g., as part of the control unit 80), wherein the carrier 890 is one of an electronic signal, an optical signal, an electromagnetic signal, a magnetic signal, an electrical signal, a radio signal, a microwave signal, or a computer-readable storage medium.

[0165] Those skilled in the art will understand that the units in the aforementioned control unit 80 may refer to a combination of analog and digital circuits, and / or one or more processors configured with software and / or firmware (e.g., stored in the plant treatment device 1 (e.g., control unit 80) when executed by one or more corresponding processors (e.g., the processors described above). One or more of these processors, along with other digital hardware, may be included in a single application-specific integrated circuit (ASIC), or multiple processors and various digital hardware may be distributed across multiple separate components, either individually packaged or assembled into a system-on-a-chip (SoC).

[0166] When the words “comprise” or “comprising” are used, they should be understood as non-restrictive, meaning “consisting of at least…”.

[0167] The embodiments described herein are not limited to the preferred embodiments described above. Various alternatives, modifications, and equivalents may be used.

[0168] Any of the above embodiments and / or examples may be used in any suitable combination with any other one or more embodiments and / or examples above.

Claims

1. A method for managing a machine (1) in terrain (100), said terrain (100) including one or more slopes (60), said machine (1) being configured to perform one or more agricultural and / or forestry operations in said terrain (100), said method comprising: - Obtain (201) terrain data indicating the terrain (100) and one or more slopes (60) therein, - Based on the terrain data, a set of routes (10) is determined (202), wherein each route in the set of routes (10) includes a corresponding track between corresponding locations in the terrain (100), wherein each corresponding track is determined to be traversable by the machine (1) between the corresponding locations, and wherein each corresponding track is determined to take into account the overturning hazard associated with the one or more slopes (60). - Determine (203) a set of connections (20) that connect the set of lines (10). -Based on the determined set of lines (10) and the determined set of connections (20), determine (204) the path (50) for the machine (1) to follow in the terrain (100).

2. The method according to claim 1, wherein, The set of lines (10) defined in (202) includes: - Establish corresponding preferred route directions (300, 400, 500, 600) for multiple locations in the terrain (100) in the following manner. For each of the plurality of locations, evaluate the corresponding distance (330) from which the machine (1) can traverse the terrain (100) in multiple directions, and Based on the assessed distance, a corresponding preferred route direction (300, 400, 500, 600) is established for the corresponding location.

3. The method according to claim 2, wherein, Assessing the corresponding distance (330) includes considering whether the machine (1) can safely traverse the corresponding uphill and / or downhill sections of one or more slopes (60) in the terrain (100).

4. The method according to any one of claims 2 to 3, wherein, Establishing the preferred line directions (300, 400, 500, 600) also includes applying a smoothing function and / or a filtering function to one or more of the preferred line directions (300, 400, 500, 600).

5. The method according to any one of claims 2 to 4, wherein, The set of lines (10) is determined to be at least partially aligned with the established preferred line directions (300, 400, 500, 600).

6. The method according to any one of claims 2 to 5, wherein, The set of lines (10) defined in (202) includes: - Simulate the movement of a group of particles (510) in a representation of the terrain (100), each particle in the group comprising two corresponding poles (520), and wherein the group of particles (510) is simulated over a time period to move relative to the representation of the terrain (100) and interact with each other with a set kinetic energy, wherein a simulated first force is applied to the group of particles (510) to follow an established preferred path direction (300, 400, 500, 600), and wherein a simulated second force is used for the mutual attraction of the corresponding two poles (520) of different particles in the group of particles (510), and - In response to terminating the simulation, the set of lines (10) is determined (202) based on the lines formed by connecting the corresponding poles (520) between the particles in the set of particles (510).

7. The method according to any one of claims 2 to 5, wherein, The set of lines (10) defined in (202) includes: - Assign a corresponding value to each position associated with the corresponding route direction in the established preferred route directions (300, 400, 500, 600), and - Iteratively applying a function, which includes updating each assigned value based on a corresponding value and a preferred line direction (300, 400, 500, 600) of one or more adjacent positions of the corresponding assigned value, to form one or more aligned position groups (610), each aligned position group including an associated value within a corresponding target interval, such as above a threshold, and - Determine the set of lines (10) based on the one or more aligned position groups (610).

8. The method according to any one of claims 1 to 6, wherein, Determining (203) the set of connections (20) includes: - Determine a set of candidate connections (710) between the set of lines (10). - The set of candidate connections (710) is verified based on whether the machine (1) can pass through at least one or more downhill and / or uphill sections of one or more ramps (60), and - The set of connections is determined by evaluating the verified connections based on a predetermined cost function (20).

9. The method according to any one of claims 1 to 8, wherein, Determining the path (50) includes using a predetermined path search strategy, wherein determining the path (50) includes: starting from a starting position (21), selecting lines and connections from the set of lines (10) and the set of connections (20) to form the path (50) for the machine (1) to follow.

10. The method according to any one of claims 1 to 9, wherein, Determining the path (50) involves using a path coverage algorithm with respect to the set of lines (10) to determine the path (50) in the terrain (100).

11. The method according to any one of claims 1 to 10, wherein, Determining the path (50) includes: evaluating whether including at least a portion of at least one first candidate route in the set of routes (10) increases the coverage of the path (50) in the terrain (100) compared to including at least a portion of at least one second candidate route in the set of routes (10).

12. The method according to any one of claims 1 to 11, wherein, The determination of the path (50) is also based on the accessibility of the machine (1) to plant one or more plants carried by the machine (1).

13. The method according to any one of claims 1 to 12, further comprising triggering (205) the machine (1) to travel along a determined path (50), and performing one or more agricultural and / or forestry operations in the terrain (100) while traveling along the path (50).

14. A control unit (80) configured to manage a machine (1) in terrain (100), wherein the machine (1) is configured to perform one or more agricultural and / or forestry operations in the terrain (100), the control unit (80) being configured to: - Obtain terrain data indicating the terrain (100) and one or more slopes (60) therein. - Based on the terrain data, a set of routes (10) is determined, wherein each route in the set of routes (10) includes a corresponding trajectory between corresponding locations in the terrain (100), wherein each corresponding trajectory is determined to be traversable by the machine (1) between the corresponding locations, and wherein each corresponding trajectory is determined to take into account the overturning hazard associated with the one or more slopes (60). - Determine a set of connections (20) that connect the set of lines (10). -Based on the determined set of lines (10) and the determined set of connections (20), determine the path (50) for the machine (1) to follow in the terrain (100).

15. The control unit (80) according to claim 14, further configured to perform the method according to any one of claims 1 to 13.

16. A machine (1) configured to perform one or more agricultural and / or forestry operations in terrain (100) including one or more slopes (60), wherein the machine (1) includes a control unit (80) according to claim 14 or 15, or is arranged to be remotely controlled by the control unit (80) according to claim 14 or 15.

17. The machine (1) according to claim 16, wherein, The machine (1) is a tree planter (1).

18. The machine (1) according to claim 17, wherein, The machine (1) is an autonomous vehicle configured to perform one or more planting operations on one or more slopes (60) of the terrain (100).

19. A computer program comprising instructions that, when executed by a processor, cause the processor to perform the action according to any one of claims 1 to 13.

20. A carrier comprising the computer program according to claim 19, wherein, The carrier is one of the following: electronic signal, optical signal, electromagnetic signal, magnetic signal, electrical signal, radio signal, microwave signal, or computer-readable storage medium.