Method for determining a trajectory for a mobile device
A two-stage optimization method using signed distance and device area functions efficiently determines collision-free trajectories for mobile devices with complex shapes, addressing inefficiencies in existing path planning methods.
Patent Information
- Application Number
- PCT/EP2025/065436
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-17
- Filing Date
- 2025-06-04
- Publication Date
- 2025-12-26
AI Technical Summary
Existing methods for determining a trajectory for mobile devices, such as robots and drones, are inefficient in avoiding collisions with obstacles and do not account for the complex shapes of these devices, leading to potential collisions and suboptimal path planning.
A two-stage optimization method using a signed distance function and a device area function to define a collision-free trajectory, where the first stage optimizes a sub-device area and the second stage minimizes the distance function for each pose, addressing the shape complexity of the mobile device.
This approach allows for efficient, real-time collision avoidance and path planning for mobile devices with complex shapes, reducing computational expense and ensuring collision-free motion.
Smart Images

Figure EP2025065436_26122025_PF_FP_ABST
Abstract
Description
[0001] Description Title Method for Determining a Trajectory for a Mobile Device The present invention relates to a method for determining a trajectory for a mobile device, according to which the mobile device is to move in an environment, a computing unit and a computer program for carrying out this method, and a mobile device. Background of the Invention Mobile devices, in particular robots, drones, or at least semi-automated moving vehicles such as AGVs (Automated Guided Vehicles), are used in various fields. Such mobile devices move, for example, along a trajectory or a path of movement in an environment such as an apartment, a garden, a factory hall, or on the street, in the air, or in water. Collisions with objects in the environment should be avoided as far as possible.Disclosure of the Invention: According to the invention, a method for determining a trajectory for a mobile device, a computing unit and a computer program for carrying it out, as well as a mobile device with the features of the independent claims, are proposed. Advantageous embodiments are the subject of the dependent claims and the following description. The invention generally relates to mobile devices that move, or are intended to move, along a trajectory in an environment. A trajectory here comprises, in particular, a movement path and, in particular, poses for the mobile device along the movement path, as well as, optionally, a velocity profile along the movement path. The trajectory can thus, for example, define positions and / or orientations (the poses) for the mobile device and additionally a velocity profile, e.g.The times at which these positions and / or orientations are to apply are defined; this also specifies a particular speed along or on the path of movement. In an environment, there are usually objects present that can be considered obstacles for the mobile device, so a collision between the mobile device and objects should be avoided. Examples of such mobile devices are, for example, robots and / or drones and / or vehicles that move semi-automatically or (fully) automatically (on land, water, or in the air). Examples of robots include household robots such as vacuuming and / or mopping robots, floor or street cleaning devices, or robotic lawnmowers, as well as other so-called service robots, and vehicles that move at least partially automatically, such as passenger transport vehicles or goods transport vehicles (also known as industrial trucks, etc.).In warehouses (including automated forklifts), but also aircraft such as drones or watercraft. Mobile devices for transporting and / or cleaning, for example in warehouses, supermarkets, or hardware stores, etc., are also relevant. Furthermore, mobile devices can include parts of robots, such as a robotic arm with a manipulator, or cranes that move containers, forklifts, or forklift forks or similar equipment. In all these cases, there may be objects such as other (mobile) devices, walls, furniture, people, animals, or other objects with which a collision must be avoided. One way to find a suitable trajectory is to try out and evaluate different trajectories, such as given, randomly generated, or iteratively determined trajectories. It is important to consider, firstly, that the mobile device does not collide with objects or...On the one hand, the potential collision with obstacles is important, but on the other hand, factors such as the speed at which the mobile device reaches a destination defined by its trajectory, or how precisely the trajectory follows a predetermined path, can also be significant. It has been shown that a particularly efficient way to assess a potential collision between a mobile device and an object is to use a so-called signed distance. In this way, a distance function can be defined that specifies a signed distance to an object in the environment for any given position. The distance is positive if the position is outside the object, negative if the position is inside the object, and zero if the position lies on an edge of the object. The value of the distance itself is the shortest distance from the position to the object, defined according to a desired norm, such as the Euclidean norm.As has been shown, such a distance function can be defined not only for a single object, but also for multiple objects together, namely for a union of, for example, all objects in a neighborhood or at least all relevant objects. In this case, one can speak of an object or obstacle region. It should be noted that such an obstacle region can also comprise several separate subregions. The distance function or obstacle region can, for example, be determined only once initially, but can also be redefined repeatedly, for example, according to predefined criteria. In this way, a signed distance to the object or obstacle region can be determined or approximated (i.e., determined approximately) for any position or point. Likewise, a signed distance for a specific area—i.e., a (possibly defined) area—can be determined using such a signed distance function.The distance to an object or obstacle can be determined or approximated by an (even infinite) set of positions or points. For example, a minimum signed distance can be determined or approximated. In this case, this can be done for a specific subset of positions or points within the area (or even for all positions), and then the smallest value (which can also be negative) is used. It should also be noted that the specific value for the signed distance does not necessarily have to be explicitly calculated for each position, but can also be read from a pre-calculated map (e.g., a so-called "signed distance map"). Another aspect to consider is the external form of the mobile device itself.The outer shape of a mobile device, depending on its pose, defines an area (also called device area) that the device occupies within its environment. A common choice for representing or approximating the outer shape of a mobile device is a circle (in 2D, then, for example, a sphere in 3D) or multiple circles or spheres. While this allows for the definition of a device area that the mobile device occupies, at least approximately, and generally rules out the possibility of a collision with an object or obstacle, the actual outer shape of the mobile device often deviates significantly from a circular or spherical shape. Therefore, collisions might be detected where none actually occur.For example, this would rule out a trajectory that would lead the mobile device through a narrow opening through which the device could still pass, but the circle or sphere as its envelope could not. In general, the device's range can also be defined by a predefined parameter set of one or more parameters; for a single parameter, the parameter set could be a range of values, for example, while for multiple parameters, the parameter set could be a multidimensional set of values or a set of several ranges of values. Such parameters allow for a definition of the device's range or an (approximate) outer shape of the mobile device that is more complex than a simple circle or sphere and thus closer to the actual outer shape.Using a device area function, a device area can be specified based on the (current) pose of the mobile device, which the mobile device occupies at least approximately. Furthermore, it should be noted that the device area can be used, for example, in 2D or 3D. In one embodiment, the device area corresponds to a capsule shape. The capsule shape can, for example, correspond to (or be defined in this way as) a Minkowski sum of a straight line and a circle or a sphere. The position of the mobile device then corresponds, for example, to the midpoint of the straight line. The straight line, in turn, can be determined, for example, by the predefined set of values for the parameter. It is understood that the position of the mobile device can also be defined at another point on the capsule shape, particularly on the straight line.In one embodiment, the device area corresponds to a rectangle or a rectangle with rounded corners. Other polygons, possibly with rounded corners, are also possible. In 3D, these would be, for example, polyhedra or cuboids, possibly with rounded corners. The position of the mobile device then corresponds, for example, to the center point of the polygon or polyhedron (with or without rounded corners). An axis of the polygon or polyhedron can then be determined, for example, by the predefined parameter set of one of the parameters. Two or more parameters with corresponding, possibly multidimensional, parameter sets can also be used to define multiple axes that are, for example, perpendicular to each other. These could be, for example, a front-to-back axis, a left-to-right axis, and possibly a top-to-bottom axis. It is understood that other ways of defining the device area are also possible, which may include...It can also include more than one parameter. Furthermore, starting from a current trajectory, a sequence of poses is determined for the mobile device. The trajectory is then determined based on this sequence and made available for further use, particularly for moving the mobile device. This sequence can also be used directly as the trajectory. This involves a two-stage optimization with respect to the parameter(s) and, in particular, the trajectory. Thus, optimization is performed using a distance function defining the obstacles in the environment (this can be, for example, in the form of a distance map) as well as a certain variability in the external shape of the mobile device (through the parameter). A pre-calculated distance map allows for a more efficient and faster calculation, especially with the two-stage optimization, than if, for example,A comparable distance function would be used, specifying the distance from any position to the mobile device. For example, if finding the minimum points across all obstacles for the robot is performed, a large number of points must be sampled. Finding the minimum value across a large number of sample points is computationally very expensive. In this case, especially if the robot shape is modeled as a capsule, the distance is minimized only along a center line. The number of required samples is significantly reduced. Therefore, the process is considerably more efficient in terms of computational power.In one embodiment, when determining the sequence, a set of values for each parameter is provided for each pose in the sequence. A first optimization step and a subsequent second optimization step (the two-stage optimization) are then repeatedly performed until one or at least one of several termination criteria is reached. For example, the set of values can initially be provided with one or more predefined values for the respective parameter before the first optimization step is performed. In one embodiment, the first optimization step involves determining the sequence of poses for the mobile device within the framework of an optimization. This is done based on a sub-device area defined by the respective set of values. As mentioned, the (entire) device area can be defined by a parameter set of values for the parameter (or...).A multidimensional set of values for multiple parameters can be specified. If, however, only single values are used for the parameter, only a portion of the total device area results, the sub-device area. A collision avoidance condition must be met, according to which, for every point in the sub-device area, a value of the distance function is greater than or equal to a predefined threshold. In other words, a pose for the mobile device can be varied until the collision avoidance condition is met, specifically for the sub-device area – not necessarily for the entire device area. The same distance function can be used for every pose in the sequence. However, it is also conceivable to use individual distance functions for several or all poses in the sequence. This allows for any changes in the obstacle area, e.g., over time.The sequence is thus made even more precise. The second optimization step involves determining a target value for each parameter, within the predefined parameter value set, for the potential next pose. This target value ensures that the distance function for a sub-device area defined by the target value of the respective parameter reaches a minimum value (particularly considering the sign). In other words, the process seeks a point within the device area that is closest to, or even furthest from, the obstacle area. This target value is then added to the value set. The sequence of poses for the mobile device obtained when one or at least one of several termination criteria is reached is then provided.The requirement that the signed distance must not be less than a predefined value within a continuous area covered by the mobile device (the device area) leads to a so-called semi-infinite programming problem. This is solved through optimization on two levels. In the lower level, the second optimization step, the point that achieves the minimum signed distance value is identified. In the upper level, the first optimization step, the collision avoidance conditions are applied to the points determined in the previous iterations. In this way, a transparent optimization algorithm is obtained. Collision-free motion planning can be performed in (at least near) real time for various robot shapes or shapes of mobile devices, without the need to limit the shape to circles (or spheres).In the iterative two-level solution (two-stage optimization), the possible solutions, i.e., the collision-free areas, are approximated externally. Despite this external approximation, it is experimentally verified that the robot or mobile device does not collide with obstacles. In one embodiment, the one or more termination criteria include at least one of the following: a predetermined number of iterations of the first optimization step, and in particular of the subsequent second optimization step, has been reached; a difference between a last determined potential sequence and one immediately preceding it, or at least one pose thereof, is less than a predetermined pose threshold. As has been shown, it can be assumed, for example, that the collision avoidance condition is met for the entire device area after only four or five iterations.However, the semi-infinite problem allows for a significantly faster solution. A termination criterion can also be that no new target value is determined for the respective parameter in the second optimization step, i.e., that a potentially next target value is already present in the set of values. A computing unit according to the invention, e.g., a control unit or a control unit of a mobile device, or a server or other computer, is configured, particularly programmatically, to carry out a method according to the invention. The invention also relates to a mobile device, e.g., a robot, a drone, or a vehicle that moves at least semi-automatically (e.g., an AGV), which is configured to receive a trajectory or motion control parameters. The mobile device then has a drive system and a control unit for controlling the drive system based on the adapted trajectory and / or the motion control parameters.The mobile device can also have a computing unit according to the invention, meaning that the trajectory and / or the motion control parameters can be determined on the mobile device or its computing unit. However, it is also advantageous if the trajectory and / or the motion control parameters are determined on a higher-level computing unit, e.g., a server or in the cloud, from where the mobile device then receives the trajectory and / or the motion control parameters. The mobile device can, for example, also have at least one sensor unit for detecting objects in the environment, which can be used, for example, to update the distance function.Implementing a method according to the invention in the form of a computer program or computer program product with program code for carrying out all method steps is also advantageous, as this incurs particularly low costs, especially if an executing control unit is already available for other tasks. Finally, a machine-readable storage medium is provided with a computer program stored on it as described above. Suitable storage media or data carriers for providing the computer program are, in particular, magnetic, optical, and electrical storage media, such as hard drives, flash memory, EEPROMs, DVDs, etc. Downloading a program via computer networks (Internet, intranet, etc.) is also possible. Such a download can be wired or wireless (e.g., via a WLAN network, a 3G, 4G, 5G, or 6G connection, etc.).Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawing.
[0002] The invention is schematically illustrated in the drawing using an exemplary embodiment and is described below with reference to the drawing.
[0003] Brief description of the drawings
[0004] Figure 1 schematically shows a mobile device in an environment to illustrate the invention.
[0005] Figures 2, 4 and 5 show schematic representations to explain the invention.
[0006] Figure 3 schematically shows a process of a method according to the invention in a preferred embodiment.
[0007] embodiment(s) of the invention
[0008] Figure 1 schematically depicts a mobile device 100 in an environment 120, which will be used to explain the invention. By way of example, the mobile device 100 is a self-driving vehicle, e.g., an AGV or another robot. It is understood that the mobile device can also be of a different type, as explained above. The mobile device 100 includes a computing unit 108 designed as a control unit, which is, for example, wirelessly connected to the higher-level computing unit 110 for data transmission, and, by way of example, a lidar sensor 106.
[0009] Furthermore, the mobile device 100 has a drive system 104 and a control unit 102 for controlling the drive system 104 based on a trajectory or motion control variables. In the environment 120, an example of a possible trajectory 130 is indicated, according to which the mobile device 100 is to be moved or travel. The trajectory 130 can specify not only the path of movement to be followed by the mobile device (alternative paths may also exist), but also a speed. Two objects 140 and 142 are also shown as examples in the environment. When determining the trajectory 130, it is desirable that it be planned in such a way as to avoid a collision between the mobile device 100 and the objects 140 and 142 (in the sense of obstacles). The trajectory 130 itself comprises, for example, a sequence of poses that the mobile device 100 is to assume successively.An example of the current pose 136 of the mobile device is shown – with position 132 and orientation 134. For this, an approximate representation of the outer shape of the mobile device 100 is required, i.e., an area occupied by the mobile device in its surroundings – a device area. In Figure 1, for example, it can be seen that the area between the two objects 140, 142 is relatively narrow, but the mobile device 100 can pass through it. If, for example, a circle is assumed for the outer shape or device area of the mobile device, i.e., a circle enclosing the mobile device, then the mobile device would probably not fit between the two objects 140, 142. However, if the outer shape or device area of the mobile device used to determine the trajectory is closer to the actual shape, it can be achieved that the trajectory passes between the two objects 140, 142.Figure 2 shows two possible basic device shapes as examples, i.e., possible shapes that at least approximately represent the external form of the mobile device. Device shape 200 is a capsule shape, while device shape 220 is a rectangle with rounded edges. Both device shapes generally come closer to the actual external form of a mobile device than, for example, a simple circle, as can also be seen with mobile device 100 in Figure 1. In this respect, the device shapes shown are less conservative than, for example, a circle, or even a small number of circles. It should be noted, however, that in special cases, such as with some robotic vacuum cleaners, a circle still comes very close to the actual external form and can therefore be suitable as a device shape. Device shape 200 will be explained in more detail below using an example.Figure 202 shows a center point of the capsule shape, and this center point can, for example, be considered the position of the mobile device. Figure 204 shows an orientation (arrow) of the mobile device. Figure 206 shows a radius, and figure 208 shows a straight line with center point 202 at its midpoint. The capsule shape cap can now be represented as the Minkowski sum of the straight line 208 and the circle circ with radius 206. where p is the center point, r the radius, and η the orientation, which is aligned along line 208. θ is a parameter with a specified range of values −0.5 ≤ θ ≤ 0.5. The Minkowski sum is given for two sets. and applies: The capsule shape cap(p, η, r) is therefore a device area function that, depending on a pose (p, η) of the mobile device, specifies a device area that is at least approximately occupied by the mobile device, where the device area is further determined by at least a predefined range of values of the parameter θ. A distance function specifies, for any position in the environment, a signed distance to an obstacle area, such as the entirety of objects 140, 142 in Figure 1. The signed distance SD can be represented, for example, as follows: where t denotes a point or position in the environment or more generally in physical space, where n w the dimension of the physical Space is – in practice, this will usually be two- or three-dimensional. With The object or obstacle area is then designated. ‖ denotes a norm, e.g., the Euclidean norm. The value of the (here: Euclidean) signed distance is strictly positive if the point lies outside the obstacle or obstacle area, strictly negative if the point lies inside the obstacle or obstacle area, and zero if the point lies on the boundary of the obstacle or obstacle area. It should be noted that the set ^ is not necessarily a convex set. Functions or maps of signed distances are often discrete grid maps in practice. The device area 220 will be explained in more detail below using an example. Figure 222 shows a center point of the form , and this center point can, for example, be considered the position of the mobile device. Figure 224 shows an orientation (arrow) of the mobile device.Furthermore, a radius of 226 is shown, and a straight line with a midpoint of 200 is shown. Additionally, a direction perpendicular to the orientation (arrow) of the mobile device is shown, and another straight line is shown, marked with 230. The shape rec can now be represented as the Minkowski sum of the straight lines 228, 232, and the circle circ with radius 226. where p is the center point, r the radius, η the orientation, and η′ the direction perpendicular to the orientation, with the orientation aligned along line 228 and the direction perpendicular to it along 232. θ is a parameter with a specified range of −0.5 ≤ θ ≤ 0.5, and θ′ is another parameter with a specified range of −0.5 ≤ θ′ ≤ 0.5. It should be noted that not only the 2D shapes shown as examples are suitable, but more generally, polygons (with optionally rounded corners) are also possible, both in 2D and 3D. The two shapes shown can also be extended to 3D. A 2D polygon (with rounded corners) can, for example, be constructed according to... Specify. The case of the rectangle is then a special case with . Furthermore, the basic 2D polygon shape could be formed using spheres instead of circles via a Minkowski sum: A 3D polyhedron can then be described, for example, according to The polygon is represented by a polygon whose direction in a further dimension is given by η'', with θ'' corresponding to another parameter. Figure 3 schematically illustrates one embodiment of the method. The aim is to determine a trajectory for a mobile device moving within an environment. For example, this could be the situation shown in Figure 1, where the mobile device or robot should not collide with objects. In step 300, a preliminary distance function 302 is created, which provides a signed distance to an obstacle area, as mentioned above, for any position in the environment. In step 304, this preliminary distance function 302 is then interpolated using, for example, B-spline functions to obtain a continuously differentiable distance function 306.In step 308, this distance function 306 is then made available for further use. Steps 300 to 308 can, for example, be performed only once initially, particularly offline. However, it is also conceivable that steps 300 to 308 are repeated at a low frequency, meaning that the distance function is updated regularly. This allows for adjustments to be made for changes in the environment or if the mobile device has moved into a previously unexplored area. As already mentioned, an individual distance function can also be used for each pose of the sequence to be determined. In step 310, a device area function 312 is now provided, which, depending on a pose (i.e., position and orientation) of the mobile device, specifies a device area that the mobile device occupies, at least approximately, in the environment.As mentioned earlier, the device range is determined at least by a predefined range of values for a parameter. In the formula above, this parameter is denoted by ^ for an example device range. In step 320, a sequence of poses for the mobile device is determined. This could be, for example, five, ten, or generally N poses in the sequence; this could, for example, cover a future period of two seconds. In step 322, a set of values 324 for the parameter ^ is provided, specifically for each pose in the sequence. Initially, certain values can be predefined for the parameter. In the capsule shape example, these could be, for example, the values -0.5, 0.0, 0.5. This results in a set of values Θ. 0,k = {−0,5,0.0,0.5}. where k ∈ N [0,N]The number of the pose in the sequence is indicated. In a typical method of determining a trajectory, a control system, k can also correspond to a time step. Instead of a pose, one can also speak more generally of a state of the mobile device. The state or pose determined at a time step k can therefore also be denoted by x^. A first optimization step 326 and a subsequent second optimization step 328 then follow repeatedly, i.e., in a loop, until one or at least one of several termination criteria 330 is reached. In particular, the second optimization step can be executed especially quickly and efficiently using parallel algorithms, e.g., running continuously on a GPU.The first optimization step 326 involves determining a sequence of poses for the mobile device based on a sub-device area defined by the respective set of values. When the first optimization step 326 is performed for the first time, the set of values comprises Θ. 0,k The initial values are specified in each case. The sub-device range corresponds to a range as defined by the device range function with the specified values in the set of values Θ. 0,kis determined. In Figure 4a, for a specific time step ^, as well as an initially predefined set of values, an obstacle area 440 and a device area 450 are shown. The device area 450 shown here applies to a pose for the mobile device. The entire device area 450 corresponds to the complete capsule shape as defined above, i.e., for a complete predefined range of values of the parameter θ. A partial device area, as defined by the set of values Θ 0,k The result, which is {−0.5,0.0,0.5}, is represented by 452 (three circles). For the pose of the mobile device, a collision avoidance condition must be met, according to which, for every point in the device sub-area 452, a value of the distance function is greater than or equal to a predefined threshold. The area occupied by the mobile device, the device area, is given in the capsule shape example, as mentioned, by Here, p(X) gives k ) the potential position, η(Xk ) the potential orientation, and r the radius of the circle. The radius can be chosen according to the actual external shape of the mobile device. The collision avoidance condition can then be represented as follows: for all −0.5 ≤ θ ≤ 0.5 and γ ∈ circ (r). This is equivalent to for all −0.5 ≤ θ ≤ 0.5. This condition comprises an infinite number of inequalities, resulting in a semi-infinite optimization problem. Therefore, as mentioned, this is solved in two stages or levels, the two optimization steps mentioned. In the first optimization step, the condition is or the equivalent condition only for the values of the parameter θ from the set of values Θ. 0,ksolved. In the example in Figure 4a, this only applies to the partial device area represented by the three circles – this is the first iteration. In the example of Figure 4a, this collision avoidance condition is fulfilled for the pose shown. It should be noted that the threshold ∈ in Figure 4a is represented by a correspondingly (slightly) enlarged obstacle area 442. In an arbitrary iteration j with a set of values Θ j,k The conditions would then have to be met. for all θ ∈ Θ j,kAs mentioned, it can be advantageous here to use a continuously differentiable distance function, which can be achieved by interpolating individual discrete distance functions (or distance maps). This is done, as mentioned, for each pose of the sequence, not just for one pose. Figure 5a shows a similar situation to that in Figure 4a, but for a later time step k. This can also be seen, for example, in the fact that the pose for the mobile device is generally further to the upper left. The entire device range is labeled 550 here. A sub-device range, as defined by the set of values Θ, is shown below. 0,kThe result of {−0.5,0.0,0.5} is represented by 552 (three circles). While the collision avoidance condition may still be met for this sub-device area 552, it would not be met for the entire device area 550. This is indicated by a triangle at the point where device area 550 overlaps with the enlarged obstacle area 442. If a sequence of poses has been found in a first optimization step of an iteration, the second optimization step follows. This involves determining or finding a target value for the parameter (which must, of course, lie within the specified range of values for the parameter) for each pose. At this target value, the distance function for a sub-device area defined by the target value of the parameter should assume a minimum value. The target value could be, for example,This can be solved by a numerical solver (using a continuously differentiable distance function) or by sampling θ from the possible sets of values and identifying the set with the minimum signed distance. This is shown in Figure 4b. There, in addition to Figure 4a, a sub-equipment area 454 is shown, resulting from a specific value for the parameter. For this value of the parameter, the distance function takes on a minimum value; that is, the sub-equipment area 454 includes the point or position of the (total) equipment area 450 that is closest to, or even furthest from, the obstacle area. In Figure 5b, this is shown analogously in comparison to Figure 5a for the later time step or the other pose, with the additional sub-equipment area shown as 554. This target value θ. ∗ The respective set of values Θ is then assigned. j,kadded so that the set of values Θ is available for the next iteration j+1,kThis results in a new sequence of poses being determined for which – given the then-applicable sub-device area, in Figure 4b these would be the four circles – the collision avoidance condition is met. Figure 4c shows another situation with a different target value and sub-device area 456, where the pose has been changed only slightly. Similarly, Figure 5c shows a sub-device area 556. These optimization steps are repeated until a termination criterion is met. This could mean, for example, that a difference between a currently determined sequence of poses and one determined immediately before (i.e., in the last iteration) is less than a predefined pose threshold. This may have been reached, for example, in Figures 4c and 5c. However, it could also simply be terminated after a certain number of iterations. It should be noted that upon termination, the following may occur:The optimization process is terminated after the first step, making the second optimization step unnecessary in the final iteration. Generally, however, whether the iteration is terminated at the first or second optimization step depends on the type of termination criterion used. The procedure explained using the capsule shape as an example can also be applied to other device areas or device area functions, such as the aforementioned rectangle with rounded corners. One difference is that the target value of θ, which yields the smallest signed distance, is sought along the edges of the rectangles, assuming that the obstacles are sufficiently large and cannot completely penetrate the mobile device. Specifically, in the example of the rectangle with rounded corners, the collision avoidance condition can be formulated as follows: Whereby the amount of value here as is defined (with the cross as the Cartesian product). The first optimization step then involves solving: In the second optimization step, both parameters could then be optimized across their entire range. In practice, however, this is usually sufficient only for the edge of the rectangle, as it can be assumed that an obstacle or obstacle area does not lie completely within the mobile device. In step 340, the sequence 342 of poses obtained upon reaching one or at least one of several termination criteria 330 is then provided to the mobile device. In general, a sequence of poses is thus found for the mobile device within the framework of a two-stage optimization. In step 350, the trajectory 352 is then determined based on the sequence of poses and provided in step 360. Based on the trajectory, motion control parameters 372 for the mobile device can then be determined in step 370 and provided in step 374.In particular, the proposed approach for determining the trajectory can be implemented within an MPC approach, allowing for the handling of fairly general system dynamics. These include, for example, complex inertial effects, side slip, etc. It should be noted that the proposed approach can also be used to refine or smooth paths (e.g., motion paths or trajectories) generated by search-based path planning algorithms (which often suffer from inconsistent paths).
Claims
Claim 1. A method for determining a trajectory for a mobile device (100), in particular a robot, or a vehicle that moves at least semi-automatically, according to which trajectory the mobile device is to move in an environment (120), comprising: providing (308) a distance function (306) that specifies, for any position in the environment, a signed distance from that position to an obstacle area; providing (310) a device area function (312) that, depending on a pose of the mobile device, specifies a device area that is occupied by the mobile device at least approximately in the environment, wherein the device area is further determined by a predetermined set of values of one or more parameters; determining (320) a sequence of poses for the mobile device, within the framework of a two-stage optimization with respect to the one or more parameters;Determining (350) the trajectory (352) based on the sequence of poses or as the sequence of poses; and providing (360) the trajectory.
2. The method of claim 1, wherein determining (320) the sequence of poses for the mobile device comprises: - providing (322) a respective set (324) of values of the respective parameter, for each pose of the sequence of poses, - repeatedly performing a first optimization step (326) and a subsequent second optimization step (328) until; to achieve one or at least one of several termination criteria (330), - providing (340) the sequence of poses obtained upon achievement of one or at least one of several termination criteria (330). 3.Method according to claim 2, wherein the first optimization step (326) comprises: determining, within the scope of an optimization, of the sequence of poses, based on a sub-device area (452) defined by the respective set of values, for which poses of the sequence of poses a collision avoidance condition is satisfied, such that for each point in the sub-device area a value of the distance function is greater than or equal to a predetermined threshold, wherein the second optimization step (328) comprises: determining a respective target value of the parameter, within the respective predetermined range of values, for the poses of the sequence of poses at which target value the distance function for a sub-device area defined by the target value of the parameter assumes a minimum value, and adding the respective target value to the respective set of values. 4.A method according to claim 2 or 3, wherein the respective set of values is initially provided before the first execution of the first optimization step with one or more predetermined values of the respective parameter.
5. A method according to any one of claims 2 to 4, wherein the one or more termination criteria comprise at least one of the following termination criteria: - a predetermined number of executions of the first optimization step, and in particular of the subsequent second optimization step, has been reached, - a difference between a last determined pose of the sequence and one immediately preceding it is less than a predetermined pose threshold, - in the second optimization step, no new target value is determined for the respective parameter.
6. Method according to one of the preceding claims, wherein the device area corresponds to a capsule shape, wherein the capsule shape corresponds in particular to a Minkowski sum of a straight line and a circle or a sphere, and wherein the position of the mobile device corresponds in particular to a midpoint of the straight line.
7. Method according to claim 6, wherein the straight line is determined by the predetermined parameter value set of one or at least one of the several parameters. 8.A method according to any one of claims 1 to 5, wherein the device area corresponds to a polygon, in particular a rectangle, or a polyhedron, in particular a cuboid, in particular each with rounded corners, and wherein the position of the mobile device corresponds in particular to a center point of the polygon or polyhedron.
9. A method according to claim 8, wherein one or more axes of the polygon or polyhedron are determined by the predetermined parameter set of values of one or more parameters.
10. A method according to any one of the preceding claims, further comprising: determining (370), based on the trajectory, motion control variables (372) for the mobile device, and providing (374) the motion control variables and / or moving the mobile device based on the motion control variables.
11. A computing unit (108) configured to perform all process steps of a method according to any one of the preceding claims.
12. A mobile device (100) configured to obtain a trajectory (130) determined according to a method according to any one of claims 1 to 9, or motion control variables determined according to claim 10, comprising a drive system (104) and a control unit (102) for controlling the drive system based on the trajectory and / or the motion control variables, and in particular a computing unit (108) according to claim 11, and further in particular at least one sensor unit (106) for detecting objects in the environment.
13. A mobile device (100) according to claim 12, which is a vehicle that moves at least partially automatically, in particular a passenger transport vehicle or a goods transport vehicle, or a robot, in particular a household robot, e.g.Vacuuming and / or mopping robot, floor or street cleaning device, or lawnmower robot, or designed as a drone or robotic arm.
14. Computer program comprising commands which, when executed by a computer, cause the computer to execute the method according to claims 1 to 10.
15. Computer-readable data carrier on which the computer program according to claim 14 is stored.