PROCEDURE FOR DETERMINING A TRAJECTORY FOR AN AUTONOMOUS VEHICLE

IT202600027259T2Active Publication Date: 2026-05-06ROBERT BOSCH GMBH
View PDF -1 Cites 0 Cited by

Patent Information

Application Number
IT502026000027259
Authority / Receiving Office
IT · IT
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-04-03
Filing Date
2024-03-21
Publication Date
2026-05-06
Estimated Expiration
2044-03-21
Patent Text Reader

Abstract

The invention relates to a method for determining a trajectory according to which a mobile device (100) is to move in an environment along one or more possible predetermined movement paths, comprising: providing a set of different monitoring zones (151-153), wherein each of the different monitoring zones defines an area around the mobile device (100) in which the mobile device (100) monitors or is to monitor the environment, wherein a monitoring zone configuration is assigned to the mobile device according to a predetermined assignment criterion depending on a speed of the mobile device, each of which comprises a predetermined monitoring zone of the set of different monitoring zones; providing an admissibility criterion that specifies an admissible monitoring zone from the set of different monitoring zones;Determining a sequence of critical speeds for the mobile device, based on the set of different monitoring zones, wherein the critical speeds each specify a maximum permissible speed for the mobile device for each monitoring zone configuration; determining the trajectory based on the sequence of critical speeds and based on the admissibility criterion, in particular within the framework of an optimization; and providing the trajectory, and in particular causing the mobile device to move according to the trajectory;
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present invention relates to a method for determining a trajectory along which a mobile device, e.g. a robot or an at least partially automated vehicle, is to move in an environment, a computing unit and a computer program for carrying out the method, and a mobile device. Background of the invention

[0002] Mobile devices, particularly robots, drones, or at least partially automated vehicles such as so-called AGVs ("Automated Guided Vehicles"), are used in various fields. Such mobile devices typically move along a trajectory or path of motion in an environment such as a home, a garden, a factory hall, on the street, in the air, or in water. The trajectory is planned or determined, for example, to be as short as possible if a specific destination is to be reached. Obstacles or objects in the environment should be taken into account. Likewise, it is often desired that the mobile device reach a specific destination as quickly as possible. Disclosure of the invention

[0003] According to the invention, a method for determining a trajectory, a computing unit and a computer program for implementing the method, as well as a mobile device with the features of the independent patent claims are proposed. Advantageous embodiments are the subject of the dependent claims and the following description.

[0004] The invention relates to mobile devices that move or are intended to move along a trajectory in an environment. A trajectory in this case comprises in particular a movement path and a speed profile along the movement path. The trajectory can, for example, comprise positions and / or orientations of the mobile device and additionally a speed profile, e.g. points in time at which these positions and / or orientations are to apply. This also specifies a certain speed along or on the movement path. This speed can also be variable along the movement path, e.g. lower on curves than on straight sections. One or more possible movement paths can be specified. The trajectory is then intended to move along one (in which case only the speed matters) or one of the several movement paths (in which case a selection can be made).

[0005] Examples of such mobile devices are robots and / or drones and / or partially or (fully) automated vehicles (on land, water or in the air). Robots could include, for example, household robots such as vacuum and / or floor cleaning robots, floor or street cleaning devices or robotic lawnmowers, but also other so-called service robots, as well as at least partially automated vehicles, such as passenger transport vehicles or goods transport vehicles (including so-called industrial trucks, e.g. in warehouses, and automated forklifts), but also aircraft such as drones or watercraft. Parts of robots, e.g. a robot arm with a manipulator, can also be considered as mobile devices.

[0006] Generating movements with minimal time duration along, for example, a specific movement path is a frequently encountered problem. A mobile device that performs a task faster is generally more efficient, meaning fewer mobile devices are needed for operation. For automated guided vehicles (AGVs), which usually travel in straight lines on reserved lanes, the maximum speed of the AGV in question is usually the most important criterion. For robot arms, where the problem is fundamentally similar, it becomes significantly more difficult due to the additional complexity of the kinematics and dynamics. Mobile devices operating in confusing environments generally cannot travel continuously at top speed. This raises the question of how to determine time-minimal trajectories.

[0007] Another aspect to be considered when determining trajectories for such mobile devices concerns safety monitors. This means that a mobile device, such as an AGV, has the ability to detect its surroundings and, in particular, to recognize objects or obstacles. This serves, for example, for safety reasons, to prevent collisions between the mobile device and obstacles. For example, the distance between obstacles in the environment can be detected, e.g., using LiDAR or a LiDAR sensor. Different monitoring zones can be defined, with each of the different monitoring zones defining an area around the mobile device, preferably in the direction of travel, in which area the mobile device monitors or is intended to monitor the environment. If an obstacle is detected in a currently assigned monitoring zone, an action is typically performed. This can, for example,a maneuver such as braking or swerving the mobile device to avoid a collision.

[0008] One or more different monitoring zones are to be assigned to the mobile device depending on the speed of the mobile device. The speed can include a longitudinal speed, a lateral speed, or an angular speed, or any combination thereof. The monitoring zones to be assigned can also depend on the type of speed. For example, when cornering, monitoring zones can be larger in the direction of the curve. A steering angle of the mobile device, if adjustable, can also influence the monitoring zone to be assigned. It should be noted here that the monitoring zones can be, for example, only two-dimensional (2D), but also three-dimensional (3D).

[0009] While the speed of the mobile device (at least up to its maximum speed) can generally change arbitrarily, i.e. continuously, the monitoring zones are discrete in nature. This means that the assigned monitoring zones do not change for a specific speed range of the mobile device, but change suddenly when a certain speed threshold is exceeded. For example, the monitored area is then significantly expanded. One reason for this discrete nature is that only a certain number of different monitoring zones need to be considered during the evaluation for obstacle detection, which allows for faster processing. Furthermore, this type of monitoring zone is established in the field of robotics and is the most frequently used approach.It should also be noted that choosing a finite number of zones used by algorithms to check for possible collisions helps to reduce the complexity of the safety proof for the entire robot system.

[0010] However, for a mobile device assigned to such monitoring zones or using such monitoring zones, there is a risk that determining a trajectory might result in the mobile device subsequently performing an unnecessary action due to an obstacle detected (at a certain distance). This would lead to unnecessary delays or even longer interruptions, which runs counter to the goal of achieving the fastest possible trajectory.

[0011] Against this background, it is proposed that a set of different surveillance zones be provided to determine such a trajectory. These can, in particular, be those surveillance zones that can be used or are to be used for the mobile device in question. Depending on the type of mobile device, the type of implemented surveillance functionality, or even the type of environment in which the mobile device is to move, the number and type or size of the different surveillance zones can vary. As mentioned, each of the different surveillance zones defines an area around the mobile device in which the mobile device monitors or is to monitor the environment.An assignment criterion is provided, according to which a monitoring zone configuration is or will be assigned to the mobile device depending on the speed of the mobile device; a monitoring zone configuration comprises a predetermined monitoring zone of the set. For example, a monitoring zone configuration can comprise a larger monitoring zone at higher speeds than at lower speeds. It is expedient if the assigned monitoring zone is always selected starting from the mobile device (or a sensor), typically approximately in the direction of travel. Regardless of the type of assignment, however, a discretization will be present.

[0012] Furthermore, an admissibility criterion is provided that specifies a permissible monitoring zone from the set of different zones. Here, a user can specify, for example, which monitoring zone should be accepted, depending on the environment or possible movement paths. This can be achieved, for example, to ensure that only a monitoring zone (and thus also a monitoring zone configuration) is permitted where it can be ensured, or at least assumed, that the aforementioned action of the mobile device will not be triggered.

[0013] Furthermore, a sequence of critical speeds for the mobile device is then determined, specifically based on the set of different monitoring zones, preferably also based on the one or more possible predefined movement paths. The one or more possible predefined movement paths in particular predetermine possible speeds for the mobile device; for example, a certain ratio of longitudinal to angular speed can be specified for a curve or cornering. Furthermore, one or more possible steering angles for the mobile device can be specified by the one or more possible predefined movement paths. In the case of a vehicle in which a steering angle can be set, a certain curve leads, for example, to a certain, required steering angle.

[0014] The critical speeds each specify a maximum permissible speed for the mobile device for a specific surveillance zone configuration. As mentioned, a surveillance zone configuration applies to a specific speed range; a maximum speed can then be determined within this range. When cornering, for example, the speed can have a longitudinal and an angular component.

[0015] The trajectory is then determined based on the sequence of critical speeds and the admissibility criterion, particularly within the framework of an optimization or optimization procedure. For this purpose, a selected, in particular maximum, critical speed can be determined from the sequence of critical speeds, so that a monitoring zone configuration assigned to the selected critical speed satisfies the admissibility criterion. This allows, for example, a maximum speed to be found at which it can be assumed that the mobile device's action will not be triggered. The trajectory is then determined based on the selected critical speed.

[0016] Furthermore, the trajectory is then provided; in particular, the mobile device can be prompted to move according to the trajectory. Based on the trajectory, for example, motion control variables (e.g., control variables for the drive system, such as torques, steering inputs, and the like) can be determined and provided for the mobile device. In particular, the mobile device can also be controlled based on the motion control variables. For this purpose, a control or regulating unit for controlling a drive system can be provided, for example.

[0017] A computing unit according to the invention, e.g. a control unit or a control unit of a mobile device, is configured, in particular in terms of programming, to carry out a method according to the invention.

[0018] The invention also relates to a mobile device, e.g., a robot, a drone, or an at least partially automated vehicle (e.g., an AGV), which is configured to receive a trajectory or motion control variables. The mobile device then comprises a drive system and a control or regulating unit for controlling the drive system based on the trajectory and / or the motion control variables. The mobile device may also comprise a computing unit according to the invention. As already mentioned, the mobile device may be configured to execute an action (e.g., a braking maneuver) when an obstacle is detected in the monitoring zone configuration currently assigned to the mobile device. For this purpose, the mobile device may also comprise one or more sensors or sensor units, e.g., lidar sensors.

[0019] Implementing a method according to the invention in the form of a computer program or computer program product with program code for performing all method steps is also advantageous, as this entails particularly low costs, especially if an executing control unit is also used for additional tasks and is therefore already present. Suitable data storage devices for providing the computer program include, in particular, magnetic, optical, and electrical storage devices, such as hard disks, flash memories, EEPROMs, DVDs, and others. Downloading a program via computer networks (Internet, intranet, etc.) is also possible.

[0020] Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.

[0021] It is understood that the features mentioned above and those to be explained below can be used not only in the combination specified in each case, but also in other combinations or on their own, without departing from the scope of the present invention.

[0022] The invention is illustrated schematically in the drawing using exemplary embodiments and is described in detail below with reference to the drawing. Character description

[0023] Figure 1a schematically shows a mobile device in an environment for explaining the invention. Figure 1b shows the mobile device from Figure 1aTo explain the invention in another view, Figure 2 schematically shows a sequence of a method according to the invention in a preferred embodiment. Figures 3a to 3d show diagrams to explain a method according to the invention in a preferred embodiment. Figures 4a to 4d show diagrams to explain a method according to the invention in a further preferred embodiment. Detailed description of the drawing

[0024] In Figure 1aA mobile device 100 is schematically shown in an environment 120, with reference to which the invention will be explained. By way of example, the mobile device 100 is a self-driving vehicle, e.g., an AGV. It is understood that the mobile device can also be of a different type, as explained above. The mobile device 100 has a computing unit 108 embodied as a control unit, which is connected, e.g., to the higher-level computing unit 110 for wireless data transmission, and, by way of example, a lidar sensor 106.

[0025] Furthermore, the mobile device 100 has a drive system 104 and a control or regulating unit 102 for controlling the drive system 104 based on trajectories or motion control variables.

[0026] In the environment 120, a possible movement path 132 is indicated by way of example, which the mobile device 100 can or should follow, e.g., along which it should move. For this purpose, a trajectory 130 can be determined, which specifies not only the movement path ultimately to be followed by the mobile device (alternative possible movement paths could also be present), but also a speed. Furthermore, an obstacle 140 in the environment is shown by way of example.

[0027] In Figure 1b the mobile device is 100 from Figure 1ashown in a perspective view, with a lidar sensor 106 being particularly visible here. Using the lidar sensor 104, the environment or potential obstacles therein can be detected within a certain area 150 around the mobile device 100. A foot 142 is shown as an example of an obstacle. In the area 150, there can be various monitoring zones; for example, the monitoring zones 151, 152, and 153 are designated. In particular, there is always a specific monitoring zone that is observed, for example, the rectangle 151. The monitoring zone 152, on the other hand, can include the rectangle of the monitoring zone 151 as well as the adjacent U-shaped area. The monitoring zone 153 can, for example, additionally include the further U-shaped area at the very outside. It should be noted that each monitoring zone is preferably an independent zone and not a combination of separate zones. In general, different monitoring zones can overlap (as in 。 Figure 1b shown), but can also be separate from one another. The monitoring zones are preferably set or specified in such a way that specific safety standards are adhered to, and the mobile device can still come to a stop when the monitoring zone is triggered and the static obstacle is not reached. In this case, static objects or obstacles in particular are considered (interpretation of the standard). In addition, monitoring zones can also be more complex in practice, e.g. in the form of any polygon. Depending on the current speed of the mobile device 100, a different one of these monitoring zones 151, 152, 153 can be active, ie an obstacle detected there triggers an action such as braking. In the example shown, the foot is detected in the monitoring zone 153.

[0028] All monitoring zones intended for a specific mobile device and / or environment can be grouped together in one set. For example, all Figure 1b The monitoring zones shown (the monitoring zones 151, 152, 153) form this set. As already mentioned, the mobile device can be assigned a monitoring zone configuration according to a predetermined assignment criterion depending on a speed, each of which includes a predetermined monitoring zone of the set of different monitoring zones. For example, at the maximum speed of the mobile device 100, the Figure 1b shown monitoring zone 153 may belong to a current monitoring zone configuration, but at low speed, for example, only the monitoring zone 152 or even only 151. In this case, the mobile device 100 would not perform the action or it would not be triggered.

[0029] To determine a trajectory for such a mobile device that specifies a velocity profile along a movement path, an optimization problem can be solved. This can be assumed to be fundamentally feasible. However, as mentioned above, if the possible velocity that the mobile device can assume were taken as its maximum velocity, there would be a risk of a large surveillance zone configuration occurring, which would unnecessarily lead to an action by the mobile device. The following describes how this can be avoided.

[0030] In Figure 2A sequence of a method according to the invention is shown in a preferred embodiment. In a step 200, a set 202 of different monitoring zones is first provided; each of the different monitoring zones defines an area around the mobile device in which the mobile device monitors or is to monitor the environment. Such monitoring zones are shown, for example, in Figure 1b The mobile device is assigned a monitoring zone configuration 206 according to a predetermined assignment criterion 204 depending on the speed of the mobile device, each of which comprises a predetermined monitoring zone of the set of various monitoring zones.

[0031] In Figure 3ais shown in a diagram, which includes various speed ranges (here in 2D as an example). For this purpose, a longitudinal speed v and an angular speed ω are shown on the axes, which indicate possible speeds of the mobile device. The origin (0,0) represents standstill. A maximum longitudinal speed is denoted by v max and minimum and maximum angular speeds (signed, e.g. moving left and right) are denoted by - ω max and ω max. Negative values ​​could also be taken into account for the longitudinal speed. The generally possible speeds of the mobile device are therefore denoted by a point in the diagram which does not exceed the minimum or maximum speeds. It is conceivable that the maximum longitudinal speed and maximum angular speed cannot be reached at the same time.

[0032] Area 350 here comprises various speed ranges, some of which are designated 351, 352, 353, 354, 355, 356, 357, for example. The speed ranges are, for example, convex areas. Depending on the speed of the mobile device, it can then be assigned a different monitoring zone, which is specified via a monitoring zone configuration. The same monitoring zone is assigned to each speed within a speed range. For example, if the speed lies in speed range 351, a smaller monitoring zone will be assigned, since the braking distance will generally be shorter than if the speed lies in speed range 357.

[0033] It goes without saying that the situation here is not limited to the two-dimensional (2D) case, although this is the case here for the sake of simplicity. Thus, the velocity ranges can be, for example, only two-dimensional (2D) or just as three-dimensional (3D).

[0034] In a step 210, an admissibility criterion 212 is provided, which specifies a permissible monitoring zone from the set 202 of various monitoring zones. This allows, for example, a user to specify which monitoring zone is permitted, since this would likely not trigger an action. For example, monitoring zones 152 could be permitted. In other words, the user can specify the monitoring zone such that the mobile device meets a certain safety standard. Nevertheless, the user is motivated, for example, to use the highest possible speeds and rotation rates. Each speed range from Figure 3aFor example, 357, a specific monitoring zone, e.g., 153, is assigned (for each sensor) to ensure the safety function while simultaneously enabling the fastest possible speed. It can already be seen that this leads to a restriction of the possible speeds. However, a check to determine whether the admissibility criterion is met will only be carried out later, as will be explained later.

[0035] In a step 220, a sequence 222 of critical speeds for the mobile device is then determined, based on the set 202 of different monitoring zones, as well as, for example, based on one or more possible predetermined movement paths, e.g., the movement path 132 from Figure 1a The critical speeds indicate a maximum permissible speed for the mobile device for each surveillance zone configuration.

[0036] For this purpose, boundary surfaces (or, in 2D, boundary lines or edges) of speed ranges can be considered. Figure 3b An example of such a boundary area 360 is shown, which lies between the speed ranges 356 and 356; this boundary area can be counted as part of the speed range 356 or as part of the speed range 357. To perform this assignment, an evaluation function (e.g., a scalar evaluation function) can be used. One goal can be to order the speed ranges as follows: Let f be an evaluation function, g be an admissibility criterion (a speed range or the associated monitoring zone is accepted if this is true or "True"), there are two speed ranges z1, z2, and t is a speed or a speed vector. Then: g t , z1 = = True AND g t , z2 = = False impliziert f z1 > f z2

[0037] In addition, the following applies: f z1 ≥ f z2 AND g t , z2 = = True impliziert g t , z1 = = True and: f z1 ≥ f z2 AND g t , z1 = = False impliziert g t , z2 = = False

[0038] The preferred monitoring zone or speed range is therefore one with a lower value. All values ​​(v, ω) within the area are assigned to this speed range. By assigning edges to speed ranges (here, areas), an algorithm can easily check for exceedances or undershoots of the boundary lines. This provides a direct assignment of the speed range in which the mobile device is located and can thus also determine the maximum speed within a speed range.

[0039] In Figure 3cPossible speeds are now shown with a line v' (along an arrow) that the mobile device can assume for a possible movement path. The possible movement path is, for example, a right-hand turn, which requires a certain ratio between longitudinal and angular velocity. As mentioned, the critical speeds each indicate a maximum permissible speed for the mobile device for a speed range, and thus a surveillance zone configuration. These critical speeds are designated here by the points v1 to v8.

[0040] In a step 230, the trajectory can be determined based on the sequence of critical speeds, and in step 232, a selected, in particular maximum, critical speed can be selected from the sequence of critical speeds, so that a monitoring zone configuration to be assigned to the selected critical speed satisfies the admissibility criterion.

[0041] In the example shown, for example, the speed ranges 351, 352, 353 can satisfy the admissibility criterion if the monitoring zones assigned to these speed ranges would not trigger any action for a possible obstacle at a certain distance. The maximum speed that thus satisfies the admissibility criterion is, for example, the one given by v6. In a step 234, the trajectory can then be determined with this critical speed v6, e.g. as part of an optimization, and made available in step 240. It should be noted that such a trajectory can only ever be determined in advance for a certain section of the movement path; this can then be repeated again and again.

[0042] While the above explanations are general and not limited to the 2D case, certain simplifications can be made in the 2D case. For the case of 2D velocity domains, the local motion path geometry can also be represented by a (signed) curvature K, as in Figure 3d shown. The plane of longitudinal velocity v and angular velocity w can be divided into triangular regions, as indicated by lines through the origin. A surface between two curvature boundaries can be uniquely represented by a lower and upper curvature boundary.

[0043] In the Figures 4a to 4d diagrams are comparable to the diagrams from the Figures 3a to 3dshown. Instead of the longitudinal velocity v and the angular velocity, the longitudinal velocity v and a steering angle δ are plotted here. The speed ranges are, however, distributed in the same way, except that in the assignment criterion now only the longitudinal velocity v is relevant as the speed, but also the steering angle δ, as in Figure 4a to see.

[0044] In Figure 4c It can be seen that the possible speeds shown with a line "v" are parallel to the axis of the longitudinal speed v, since the steering angle itself does not represent a speed component of its own. This can also lead to a deviation in the assignment of the area to the speed ranges. In Figure 4dIt can also be seen that the local motion path geometry can also be represented by a (signed) curvature K', which in this case, however, only covers a specific range of the steering angle, allowing, for example, a certain amount of leeway for the steering angle. The rest of the procedure, however, can be carried out analogously.

Claims

1. A method for determining a trajectory (130) according to which a mobile device (100), in particular a robot, or an at least partially automated vehicle, is to move in an environment (120) along one or one of several possible predetermined movement paths (132), comprising: providing (200) a set (202) of different monitoring zones (1521, 152, 153), wherein each of the different monitoring zones defines an area around the mobile device (100) in which area the mobile device (100) monitors or is to monitor the environment, wherein a monitoring zone configuration (206) is assigned to the mobile device according to a predetermined assignment criterion (204) depending on a speed of the mobile device, each monitoring zone comprising a predetermined monitoring zone of the set of different monitoring zones;Providing (210) an admissibility criterion (212) that specifies a permissible surveillance zone from the set of different surveillance zones; determining (220) a sequence (222) of critical speeds (v1-v8) for the mobile device based on the set of different surveillance zones, wherein the critical speeds each specify a maximum permissible speed for the mobile device for a respective surveillance zone configuration; determining (230) the trajectory based on the sequence of critical speeds and based on the admissibility criterion, in particular within the scope of an optimization; and providing (240) the trajectory, and in particular causing the mobile device to move according to the trajectory.

2. The method according to claim 1, wherein determining (230) the trajectory based on the sequence of critical speeds comprises: determining (232) a selected, in particular maximum, critical speed from the sequence of critical speeds such that a monitoring zone configuration to be assigned to the selected critical speed satisfies the admissibility criterion; and determining (234) the trajectory based on the selected critical speed.

3. The method of claim 1 or 2, wherein determining the sequence of critical speeds for the mobile device is based on the set of different monitoring zones and based on the one or more possible predetermined movement paths.

4. Method according to one of the preceding claims, wherein possible speeds for the mobile device are predetermined by the one or more possible predetermined movement paths.

5. The method according to claim 4, wherein the one or more possible predetermined movement paths further specify one or more possible steering angles for the mobile device.

6. Method according to one of the preceding claims, wherein the speed of the mobile device comprises at least one of the following speeds: - a longitudinal speed (v), - a lateral speed, and - an angular speed (w).

7. The method according to any one of the preceding claims, further comprising: determining, based on the trajectory, motion control variables for the mobile device, and providing the motion control variables and / or moving the mobile device based on the motion control variables.

8. A computing unit (108) comprising a processor configured to carry out the method according to any one of the preceding claims.

9. A mobile device (100) configured to receive a trajectory (130) determined according to a method according to any one of claims 1 to 6, or movement control variables determined according to claim 7, comprising a drive system and a control or regulating unit for controlling the drive system based on the trajectory and / or the movement control variables, and in particular comprising a computing unit (108) according to claim 8, and further in particular comprising at least one sensor unit (106) for detecting obstacles in the environment, wherein the mobile device is configured to execute an action when an obstacle is detected in the monitoring zone configuration currently assigned to the mobile device.

10. Mobile device (100) according to claim 9, which is designed as an at least partially automated moving vehicle, in particular as a passenger transport vehicle or as a goods transport vehicle, or as a robot, in particular as a household robot, e.g. vacuum and / or wiping robot, floor or street cleaning device or lawnmower robot, or as a drone.

11. A computer program comprising instructions which, when executed by a computer, cause the computer to carry out the method according to claims 1 to 7.

12. A computer-readable data carrier on which the computer program according to claim 11 is stored.