Railway planning for complex dynamics

By treating vehicles with trailers as base objects with kinematically relevant accessories and pre-calculating basic maneuvers, the method addresses inefficiencies in path planning for complex objects, achieving precise and efficient motion path determination.

DE102014215245B4Active Publication Date: 2026-05-07BAYERISCHE MOTOREN WERKE AG
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
BAYERISCHE MOTOREN WERKE AG
Filing Date
2014-08-01
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Existing path planning methods for complex objects, such as vehicles with trailers, are inefficient and imprecise as they often treat vehicles as point masses, leading to infeasible paths.

Method used

A method that considers a vehicle as a base object with kinematically relevant accessories, using state variables to determine a motion path by pre-calculating basic maneuvers that ensure continuity and discrete values at endpoints, reducing computational effort through predefined grids and modified functions.

Benefits of technology

This approach allows for precise and computationally efficient determination of motion paths for complex objects by ensuring continuity and feasibility, reducing the computational burden and enabling real-time collision-free path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method (400) for determining a motion path (203) of a movable object (100, 233) comprising a basic object (100) and a kinematically relevant addition (233) to the basic object (100), wherein a motion of the basic object (100) is described by a plurality of basic state variables (222, 223, 224) and a motion of the addition (233) by an addition state variable (225), wherein the method (400) comprises - Determine (401) a plurality of basic maneuvers (211) for the basic object (100), wherein each basic maneuver (211) comprises a progression of the plurality of basic state variables (222, 223, 224) from a starting point to an endpoint of the basic maneuver (211), wherein the plurality of basic maneuvers (211) is determined such that the plurality of basic state variables (222, 223, 224) assume predefined values ​​at the starting point and at the endpoint; - Modifying (402) the plurality of basic maneuvers (211) to determine a plurality of modified basic maneuvers (211) such that the values ​​of the plurality of basic state variables (222, 223, 224) remain unchanged at the start point and end point of the plurality of basic maneuvers (211), and such that the supplementary state variable (225) assumes predefined values ​​at the start point and end point of the plurality of modified basic maneuvers (211); and - Determining (403) the movement path (203) by sequencing modified basic maneuvers (211) of the plurality of modified basic maneuvers (211), characterized in that - the multitude of basic maneuvers (211) for the basic object (100) is determined such that the basic maneuvers (211) have spatial maneuver lengths that have a relative deviation from a mean of the spatial maneuver lengths of the basic maneuvers (211) of the multitude of basic maneuvers (211) of equal to or less than a predefined deviation threshold.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The invention relates to a method and a corresponding device for carrying out track planning, in particular for road vehicles.

[0002] Path planning methods are used in a variety of application areas, such as robotics and automotive engineering. Path planning is particularly important for semi- and / or fully automated vehicles, as it determines a collision-free path (also known as a movement path) for the vehicle (e.g., for parking maneuvers or evasive maneuvers). This path planning typically takes place in real time to ensure reliable vehicle control in traffic.

[0003] In path planning, a moving object (e.g., a vehicle) is often considered a point mass moving along a specific path. Such an assumption is not necessarily valid for complex objects (e.g., a vehicle with a trailer) and can therefore lead to the determination of paths that may not be feasible for the complex object.

[0004] DE 103 22 829 A1 discloses a control system for a vehicle equipped with an electronically controlled powertrain including a steering system, braking system, and drive unit. A control unit generates a motion vector from a driver request, from which a control unit generates control signals that can be used to control the powertrain. To simplify maneuvering, particularly reversing, a path computer is provided. This computer calculates a path for the vehicle's position and location based on actual values ​​determined by a position and location detection device and target values ​​that can be entered using a target input device. This path consists of a sequence of motion vectors that move the vehicle from its actual position and location to the target position and location as the powertrain executes these motion vectors.For this purpose, in addition to the operating device, the railway computer is coupled to the control unit via a common drive train interface for the transmission of the motion vectors.

[0005] This document addresses the technical problem of providing a method and a corresponding device by which the determination of a motion path for relatively complex objects (which, for example, cannot be considered as point masses) can be carried out in a precise and computationally efficient manner.

[0006] The problem is solved by the independent claim. Advantageous embodiments are described, among other things, in the dependent claims.

[0007] According to one aspect, a method for determining the motion path of a moving object is described. The moving object comprises a base object and a kinematically relevant accessory to the base object. For example, the base object could be a vehicle (e.g., a road vehicle). The accessory could be, for example, a trailer of the vehicle. The motion of the accessory is typically dependent on the motion of the base object. In other words, a motion path of the base object typically influences a motion path of the accessory, or indeed, a motion path of the entire moving object.

[0008] The movement of the basic object is described by a multitude of basic state variables. For example, the multitude of basic state variables includes the position of the basic object, its yaw angle, and / or its steering angle (or other control variable). In particular, the basic state variables may include a basic state variable that influences or controls the movement of the basic object (such as the steering angle of a vehicle).

[0009] Similarly, a movement of the complement can be described by a complement state variable. If necessary, the movement of the complement can also be described by a multitude of complement state variables. The aspects described in this document regarding a complement state variable are applicable analogously to a multitude of complement state variables.

[0010] For example, in the case of a trailer, the supplementary state variable can include a trailer angle (relative to the orientation of the towing vehicle). The value of the supplementary state variable can depend on values ​​of the base state variables and / or on the trends of the base state variables.

[0011] The procedure involves determining a multitude of basic maneuvers for the basic object. Each basic maneuver comprises a progression of a multitude of basic state variables from a starting point to an endpoint of the basic maneuver. In other words, a basic maneuver can define or reproduce the progressions of the basic state variables. In particular, a basic maneuver can describe the spatial progression of the basic object from a starting point to an endpoint. Furthermore, the basic maneuver can describe the progression of other basic state variables (e.g., the yaw angle and / or the steering angle) along the spatial progression of the basic object.

[0012] For example, the behavior of the multitude of basic state variables of a basic maneuver can be described by an analytical basic function. Any point in the spatial path of a basic maneuver, between its start and end points, can be identified by a progress parameter p, and the analytical basic function can be a function, particularly a polynomial, of the progress parameter p. For instance, the position of the basic object along a basic maneuver can be described by analytical basic functions x(p) (for a first spatial coordinate) and y(p) (for a second spatial coordinate). The other basic state variables can depend on a first and / or second derivative of one or more of these analytical basic functions x(p) and y(p), respectively.

[0013] The multitude of basic maneuvers can be determined such that the values ​​of the multitude of basic state variables assume discrete (typically predefined) values ​​at the start and end points. In particular, the basic state variables, which represent the position of the basic object, can lie on a predefined grid (especially a value grid, e.g., an occupancy grid). For example, a predefined grid can be provided for each of the multitude of basic state variables. These grids typically include a limited number of grid points for each state variable. In other words, the state variables can only assume a limited number of discrete, predefined values ​​(with a defined step size between the possible values) at the start and end points of a basic maneuver.By limiting the number of values ​​for the basic state variables at the start and end points to a limited number of values, the number of basic maneuvers can be limited, which in turn limits or reduces the computational effort required to determine a movement path.

[0014] The discrete values ​​that can be assumed by the state variables can be interdependent, which can lead to distortions of the grids. For example, the possible discrete values ​​for a steering angle can depend on the value of the yaw angle.

[0015] The multitude of basic maneuvers can be determined in such a way that the progressions of the multitude of basic state variables are continuous. Furthermore, the multitude of basic maneuvers can be determined in such a way that the progressions of the multitude of basic state variables can actually be executed by the basic object. These boundary conditions allow the number of possible basic maneuvers to be further reduced, and thus the computational effort required to determine a motion path to be reduced. Moreover, it can be ensured that a determined motion path can actually be implemented by the moving object.

[0016] The procedure further involves modifying the multitude of (possible) basic maneuvers to determine a corresponding multitude of modified basic maneuvers. The multitude of basic maneuvers is modified such that the values ​​of the multitude of fundamental state variables remain unchanged at the starting and ending points of the multitude of basic maneuvers. Furthermore, the multitude of basic maneuvers can be modified such that the values ​​of the complementary state variable at the starting and ending points of the multitude of modified basic maneuvers lie on a predefined grid (in particular, a value grid) for the complementary state variable. This predefined grid for the complementary state variable can comprise a limited number of grid points. In other words, the complementary state variable can only assume a limited number of discrete values ​​at the starting and ending points of a modified basic maneuver (possibly...).with a predefined step size between the possible discrete values).

[0017] Typically, one or more (e.g., all) of the base state variables influence the value of the complementary state variable. In particular, the position of the base object during a base maneuver can influence the behavior of the complementary state variable of the entire moving object (including the complementary state variable). By modifying a base maneuver, it can be ensured that the complementary state variable also assumes predefined values ​​on a predefined grid at the start and end points of the base maneuver (without changing the values ​​of the base state variables at the start and end points).Thus, a large number of modified basic maneuvers can be efficiently provided, which can be continuously strung together with respect to the basic state variables and the supplementary state variable to determine a motion path for the entire moving object that can actually be implemented by the moving object.

[0018] The behavior of the multitude of basic state variables and the behavior of the supplementary state variable of a modified basic maneuver can be described by a modified function. This modified function represents a modified function compared to the analytical basic function of the corresponding basic maneuver. In particular, the modified function can correspond to the sum of the analytical basic function and a supplementary function.

[0019] As explained above, at least one of the multitude of basic state variables can depend on the basic analytical function. Furthermore, at least one of the multitude of basic state variables can depend on a (first or second) derivative of the basic analytical function. The complementary function can be zero at the starting point and at the endpoint (thus leaving at least one basic state variable unchanged that depends directly on the basic analytical function). Additionally, a (first or second) derivative of the complementary function can be zero at the starting point and at the endpoint (thus leaving at least another basic state variable unchanged that depends directly on a (first or second) derivative of the basic analytical function). This ensures that the values ​​of the multitude of basic state variables of a basic maneuver remain unchanged at the starting point and at the endpoint when the basic maneuver is modified.

[0020] The modified function of a modified basic maneuver (which includes the complementary function) can describe the spatial path of the modified basic maneuver from a starting point to an endpoint. Conversely, the basic function of the corresponding basic maneuver can describe the spatial path of the corresponding basic maneuver from its starting point to its endpoint. The complementary function can be used to modify the spatial path of the basic maneuver such that the boundary conditions for the complementary state variable are also satisfied at both the starting point and the endpoint of the modified basic maneuver.

[0021] For example, the complementary function of the function xVariation(p)=m∗sin(2∗π∗p)∗p2∗(1−p)2, or the function xVariation(p)=m∗p3∗(1−p)3 The complementary state variable corresponds to the following parameters, where p is the progress parameter and m is a deviation parameter that can modify the spatial trajectory of the base maneuver and / or a value of the complementary state variable. The complementary function, and in particular the deviation parameter m, can be determined (e.g., by an iterative search procedure) such that the values ​​of the complementary state variable at the start and end points of the modified base maneuver lie on the predefined grid for the complementary state variable. For a multitude of complementary state variables, a multitude of deviation parameters can be used to position the multitude of complementary state variables on corresponding grids at an endpoint.

[0022] A multitude of modified basic maneuvers can be made available for determining a movement path. For example, this multitude of modified basic maneuvers can be pre-calculated and stored on a vehicle's memory unit. During operation, the vehicle's control unit can then access this multitude of modified basic maneuvers to determine a movement path by chaining them together. For instance, the control unit can determine whether the vehicle is towing a trailer. If a trailer is being towed, the movement path can be determined based on the multitude of modified basic maneuvers. If no trailer is being towed, the movement path can be determined based on the multitude of (original) basic maneuvers for the base object.

[0023] The motion path can be determined such that, at a transition between two consecutive (modified) basic maneuvers, the multitude of basic state variables and (if applicable) the supplementary state variable are continuous. Furthermore, continuity can be taken into account from a (first) derivative of the curves of the basic state variables and (if applicable) the supplementary state variable. This ensures that the determined motion path can be implemented by the moving object.

[0024] The set of basic maneuvers for the base object is determined such that the basic maneuvers have spatial maneuver lengths that deviate from the mean of the spatial maneuver lengths of the set of basic maneuvers by as much as or less than a predefined deviation threshold. The deviation threshold can be, for example, 1% or less, 5% or less, or 10% or less. In other words, the set of basic maneuvers can be determined such that the basic maneuvers exhibit approximate directional invariance with respect to maneuver length. This ensures that by concatenating basic maneuvers, motion paths are determined whose length is proportional to the number of concatenated basic maneuvers. This reduces the computational effort required for graph searches to find an optimal motion path.Furthermore, movement paths can be determined that are independent of the object's orientation and can then be flexibly mapped onto a specific occupancy grid.

[0025] To determine a direction-invariant set of basic maneuvers, the process of determining the set of basic maneuvers for the basic object can include one or more of the following measures: In particular, basic maneuvers can be determined with a maneuver length that is one, two, or three orders of magnitude longer (e.g., 10 to 100 or up to 1000 times) than a grid spacing of a spatial grid of values ​​for the positions of the basic maneuvers. Increasing the maneuver length relative to the grid spacing can increase the degree of direction invariance.

[0026] Furthermore, endpoints for the basic maneuvers can be selected that lie between two circles around a starting point for the basic maneuvers. An outer circle of the two circles can have a radius of at least [value missing]. 2 The grid spacing is sometimes larger than the radius of an inner circle of the two circles. This allows for the determination of a nearly direction-invariant set of endpoints (and corresponding basic maneuvers). Furthermore, this ensures that, with the smallest possible circle spacing, 211 endpoints of the basic maneuvers are enclosed by the two circles for a relatively large number of orientations / directions.

[0027] Furthermore, one or more endpoints can be excluded for possible basic maneuvers. In particular, an endpoint can be excluded that, although it lies between the two circles, has the same direction from the starting point as another endpoint that lies between the two circles. This increases the directional invariance of the basic maneuvers. Additionally, the number of basic maneuvers can be reduced (and thus the computational effort required to determine a motion path) without compromising the quality of the determined motion path.

[0028] Furthermore, an endpoint can be excluded as a possible basic maneuver if, starting from the starting point, it has a direction or yaw angle where this direction or yaw angle differs from the direction or yaw angle of another endpoint by a relative deviation equal to or less than a predefined deviation threshold (e.g., 5% or less). This allows basic maneuvers with similar directions / yaw angles to be avoided, thereby reducing the effort required to determine a motion path.

[0029] According to another aspect, a procedure for determining a multitude of (direction-invariant) basic maneuvers for identifying a motion path is described. The procedure may include one or more of the procedural steps described in this document, which increase the directional invariance of the maneuver lengths of the multitude of basic maneuvers. In particular, the procedure may include steps that ensure that the endpoints of the basic maneuvers are located as far as possible from the starting point of the basic maneuvers and that the endpoints are as close as possible to the starting point. Such steps result in the endpoints being distributed approximately in a regular circular pattern around the starting point. This can be achieved by using two circles that enclose the endpoints of the determined basic maneuvers.

[0030] Another aspect described is a software (SW) program. The SW program can be configured to run on a processor (e.g., on a vehicle's control unit) and thereby execute the procedure described in this document.

[0031] Another aspect describes a storage medium. This storage medium can include a software program configured to run on a processor and thereby execute the procedure described in this document.

[0032] According to another aspect, a vehicle control unit is described that is configured to execute at least part of the procedure described in this document. Specifically, the vehicle control unit can be configured to determine a movement path for the vehicle based on a multitude of (modified) basic maneuvers. For this purpose, the control unit can determine an occupancy grid of the vehicle's surroundings based on environmental data from the vehicle's sensors. Furthermore, the control unit can determine a movement path that guides the vehicle through this occupancy grid without collisions.

[0033] According to another aspect, a vehicle (especially a road vehicle such as a passenger car, a truck or a motorcycle) is described that includes a control unit described in this document.

[0034] It should be noted that the methods, devices, and systems described in this document can be used both alone and in combination with other methods, devices, and systems described in this document. Furthermore, any aspect of the methods, devices, and systems described in this document can be combined with one another in a variety of ways. In particular, the features of the claims can be combined with one another in a variety of ways.

[0035] The invention will now be described in more detail using exemplary embodiments. Fig. 1. Exemplary components of a vehicle; Fig. 2a an exemplary movement path in an occupancy grid; Fig. 2b Exemplary dimensions of a vehicle with trailer; Fig. 2c Exemplary spatial progressions of basic maneuvers; Fig. 2d an exemplary selection of spatial endpoints for basic maneuvers; Fig. 3a an exemplary roadway and a movement path planned for the roadway; Fig. 3b, Fig. 3c and Fig. 3D exemplary progressions of state variables along a motion path; and Fig. 4. A flowchart of an exemplary procedure for determining a motion path for a moving object.

[0036] As stated at the beginning, this document deals with the computationally efficient determination of a motion path for a complex object, i.e., path planning for a complex object. A path planning method is described below using the example of a vehicle with a trailer. However, it should be noted that the method described in this document can be applied analogously to other moving objects (e.g., robots). For example, the method can also be applied to a robot that is towing another object behind it.

[0037] Fig. Figure 1 shows components of an exemplary vehicle 100. The vehicle 100 includes one or more environmental sensors 102 configured to acquire environmental data relating to the vehicle 100's surroundings. A control unit 101 of the vehicle 100 is configured to determine a collision-free movement path for the vehicle 100 based on the environmental data. For this purpose, the control unit 101 can be configured to determine an occupancy grid of the vehicle 100's surroundings based on the environmental data. Furthermore, a collision-free movement path through the occupancy grid can be determined using the method described in this document. Additionally, the control unit 101 can be configured to cause one or more actuators 103 of the vehicle 100 (e.g., the vehicle 100's steering system) to guide the vehicle 100 along the determined movement path.

[0038] To determine a motion path (or path for short), the control unit 101 can be configured to execute, at least partially, the motion path determination procedure described in this document. The procedure described in this document is based on the so-called "state lattice" method, in which a motion path is composed of a multitude of sequentially linked basic maneuvers. The basic maneuvers are chosen such that the start and end points of a basic maneuver lie on a discrete set of values ​​for a specific set of state variables. To determine a motion path, basic maneuvers are sequentially linked such that the values ​​of the state variables at the start point of a subsequent maneuver coincide with the values ​​of the state variables at the end point of a maneuver directly preceding the subsequent maneuver.This means that the basic maneuvers are arranged in such a way that the state variables are continuous at the transition points. Furthermore, continuity of the derivatives of the state variables at the transition points can also be ensured.

[0039] A set of basic maneuvers can be determined in advance (i.e., offline), so that when determining a specific motion path (i.e., online), the predetermined set of basic maneuvers can be used. This pre-computation of basic maneuvers is made possible, in particular, by restricting the state variables to a discrete set of values. By pre-computing a set of basic maneuvers, the computational effort required to determine a specific motion path can be reduced.

[0040] Furthermore, for each basic maneuver, a set of cells from a spatial grid can be pre-computed (i.e., offline). This set of cells includes those cells (starting from a given starting point) that must be free, i.e., traversable, so that the basic maneuver can be performed collision-free from that starting point. Thus, the computational effort required to determine possible basic maneuvers when creating a motion path can be reduced, since simple comparison operations can determine whether a basic maneuver, starting from a given starting point, can be placed collision-free within the occupancy grid of a vehicle's environment.

[0041] Fig. Figure 2 shows an example spatial occupancy grid 200 with a multitude of cells 201, 202. Such an occupancy grid 200 can be determined, for example, using environmental data from a vehicle 100. Each cell 201, 202 can have a specific extent / size (e.g., one or more centimeters) in the x-direction 205 and in the y-direction 206. The spatial occupancy grid 200 comprises unoccupied cells 201 (without fill), which can be entered by an object 204 (e.g., a vehicle 100), and occupied cells 202 (hatched fill), which cannot be entered by the object 204. Using the method described in this document, a movement path 203 through the spatial movement grid 200 can be determined. For this purpose, starting from a starting point of object 204 (filled circle), a possible set of basic maneuvers 211 can be determined from the available set of basic maneuvers 211.From the available set of basic maneuvers 211, those basic maneuvers 211 are selected that satisfy the continuity conditions for the state variables at the starting point. This results in a first subset of basic maneuvers 211. From this first subset of basic maneuvers 211, those basic maneuvers 211 are then selected that can be executed without collisions, i.e., those that do not collide with an occupied cell 202.

[0042] Thus, starting from a given point, a possible set of basic maneuvers 211 is obtained, each leading to different values ​​of the state variables at the respective endpoints (represented by the dotted circles). From the respective endpoints, corresponding possible sets of basic maneuvers 211 can then be determined, and so on. In total, a graph 210 with a multitude of possible paths through the spatial grid 200 can be determined. From this multitude of possible paths, a preferred path 203 can be selected using a graph search algorithm (e.g., an A* algorithm) (in particular, a path that reduces or minimizes a specific optimization criterion, such as a minimum path length 203 and / or a minimum lateral acceleration).

[0043] As explained above, a graph 210 is created from basic maneuvers 211, where each basic maneuver 211 has a defined initial state and a defined final state, and where the initial state and final state can also include a spatial starting point and a spatial endpoint. The starting point of a basic maneuver 211 can be the same for all available basic maneuvers 211 (e.g., at x=0 and at y=0). The endpoints of the basic maneuvers 211 can differ from each other. Fig. Figure 2c shows the spatial progressions for a variety of basic maneuvers 211. In Fig. Figure 2c shows only the spatial profiles in one possible octant. Further basic maneuvers 211 in other octants can be determined by reflection.

[0044] Possible state variables of basic maneuvers 211 of a vehicle 100 with a trailer 233, which is connected to a coupling 232 of the vehicle 100, are in Fig. Figure 2b illustrates this. Besides the starting point and the end point of a basic maneuver 211 (where the starting point and the end point can be defined as the position (x,y) 222 of the rear axle center at the beginning and end of the basic maneuver 211), further state variables can be considered. In particular, the orientation (e.g., a yaw angle γ 223) of the vehicle 100 at the starting point and at the end point of the basic maneuver 211 can be considered. Furthermore, a steering angle δ 224 of the vehicle 100 at the starting point and at the end point of the basic maneuver can be considered. With respect to the trailer 233, as a complex component of a moving object 204, the trailer angle can be considered. K 225 of the trailer 233 are considered relative to the direction of travel.

[0045] Thus, the state of a vehicle 100 with trailer 233 can be described, for example, by the state vector [x, y, γ, δ, κ] TEach state variable from the state vector can assume a multitude of discrete values ​​at the start / end points of a basic maneuver 211. For example, • the positional parameters x, y 222 take on values ​​according to a spatial grid 200 with a specific size of the cells 201, 202; • the yaw angle γ 223 can assume a multitude of yaw angle values, by which orientations of the vehicle 100 in space are covered as completely as possible; • the steering angle δ 224 can assume a multitude of steering angle values, which are physically adjustable by the vehicle 100; and • the trailer angle κ 225 can assume a variety of trailer angle values ​​that are possible along a realistic movement path 203.

[0046] For each state variable, a maximum possible range of values ​​can be defined. Furthermore, possible values ​​within this maximum range can be defined with a predetermined resolution. This results in a state grid with a specific grid spacing for each state variable.

[0047] The basic maneuvers 211 can be generated in such a way that, as far as possible, all directions (starting from an initial point (0,0)) can be reached uniformly through the basic maneuvers 211. The endpoints of the basic maneuvers 211 should be approximately the same distance from the initial point. In other words, the basic maneuvers 211 should achieve spatial directional invariance of the maneuver length.

[0048] To generate approximately direction-invariant basic maneuvers 211, two circles can be drawn around the starting point (0,0) in a first step (see Fig. 2d). The outer circle can be circumscribed by 2*cell length The endpoint must be larger than the inner circle. This ensures that an endpoint with a direction at a 45° angle from the starting point (0,0) is present. To reduce storage space and computation time when creating the basic maneuvers 211, only 1 / 8 of all basic maneuvers can be determined and stored (in one octant). For example, only basic maneuvers 211 with a yaw angle at the starting position that lies in the second octant can be determined and stored. All basic maneuvers 211 whose initial yaw angle lies in a different octant can then be reduced to the second octant by reflections. This requires that every state of a different octant can be reflected exactly to a state in the second octant (for all state variables). Due to the square grid, reflections only occur along the horizontal, vertical, or diagonal axis.

[0049] The two circles reduce the set of all endpoints 251 to a reduced set of endpoints 252, 253 (and thus a reduced set of basic maneuvers 211), where endpoints 252, 253 are approximately the same distance from the starting point (0,0) between the circles. Endpoints 253 can be excluded because other endpoints 252 within the circles have the same direction (starting from the starting point (0,0)). With the aforementioned choice of radius for the outer circle, such endpoints 253 can only occur at angles of n*45°. Excluding endpoints 253 reduces the number of subsequent maneuvers, which simplifies the graph search in graph 210 while only slightly altering the space of possible trajectories / paths 213. Furthermore, by excluding endpoints 253, the directional invariance of the maneuver length of the basic maneuvers 211 is improved.

[0050] Typically, the maneuver length is substantially larger than the cell length (e.g., 70-100 times larger). Therefore, the above method results in approximately directional invariance of the maneuver length. Furthermore, the above method results in an approximately uniform distribution of the discrete yaw angles. Thus, an approximately invariant trajectory planning can be carried out overall.

[0051] Assuming N xy possible end positions, N γ possible yaw angles, N δ possible steering angles and N κ Possible pendant angles result in an octant NxyNγ8Nγ−22(NδNκ)2 Basic maneuvers 211, which transform an available initial state into an available final state. This is as follows: from the starting point (0,0) of the basic maneuvers 211, there are in principle N xySpatial endpoints (x,y) are reachable (in the upper half-plane without points on the x-axis 205, since y(p) must increase monotonically). In addition, there is the yaw angle δ (N δ ) which initially lies in an octant and theoretically must end in the upper half-plane and must not lie on the x-axis 205 (hence the factor 12 and -2). For the steering angle γ and the trailer angle κ, all possibilities are conceivable at the start and end points.

[0052] However, certain combinations of initial and final states (i.e., specific basic maneuvers 211) can be excluded from the total number of basic maneuvers 211 from the outset, as these combinations cannot be physically implemented by a vehicle 100. In particular, the basic maneuvers 211 can be checked for their drivability. No jumps in the state variables x, y, γ, δ, κ may occur. Furthermore, vehicle dynamics limits must be observed. Thus, an available (and drivable) set of basic maneuvers 211 can be provided. As already explained above, the available set of basic maneuvers 211 can be calculated in advance (i.e., offline).

[0053] In particular, an available set of basic maneuvers 211 can be provided for the vehicle 100 (i.e., for the base object). The trailer 233 (as an addition to the base object) can initially be disregarded. Thus, in a first step, basic maneuvers 211 can be determined that satisfy the conditions regarding drivability and the discrete state values ​​at the start and end points of a basic maneuver 211 with respect to the state variables of the base object 100. In a second step, the basic maneuvers 211 can then be modified to ensure that the modified basic maneuvers 211 assume only discrete state values ​​for the one or more state variables of the addition 233 to the base object 100 (and still satisfy the conditions for the state variables of the base object 100).

[0054] A basic maneuver 211 can be described analytically such that, given initial and final states, the progression of state variables between these states can be calculated. For this purpose, a mathematical model (e.g., a polynomial) can be used (which is also referred to as the basic function in this document). An analytically described basic maneuver 211 for the basic object 100 can then be varied with respect to the addition 233 (e.g., the pendant) such that the additional state variable 225 (i.e., the newly introduced pendant angle) also begins and ends on the state grid. This can be achieved by changing the path of the basic maneuver 211 between its starting and ending points without altering the existing state variables of the basic object 100 at the starting and ending points.

[0055] A basic maneuver 211 of a basic object 100 can be described in the form x(p), y(p), p = 0% ... 100% (p=0 maneuver start, p=1 maneuver end). Here, p is a "progress parameter" of the basic maneuver 211. The other state variables can be calculated as follows, assuming the kinematic single-track model: γ=arctan(dydpdxdp)=f(dxdp,dydp)

[0056] The speed Length change Time change can be assumed to be constant. The abstract auxiliary quantity η = length change dp is typically not constant. From Circle radius = wheelbase δ and Length change / Time change = dγ / Time change * Circle radius surrendered: η=dγdp∗Circle radius=dγdp∗Wheelbaseδ=Length changedp and δ=wheelbaseη∗dγdp=f(dxdp,dydp,d2xdp2,d2ydp2,…)

[0057] One way to determine the state variables for all progress parameter values ​​p is to plan using polynomials for x(p) and y(p). All state variables for vehicle 100 (i.e., for the basic object) can then be determined using the formulas given above. Since all four basic state variables of the basic object 100 must be at defined values ​​at both the starting point and the end point of a basic maneuver 211, there are 8 boundary conditions. As an example, polynomials of the following form, which also have 8 degrees of freedom, can be chosen as the function class: x(p)=c1+p∗c2+p2∗c3+p3∗c4+p4∗c5+p5∗c6 y(p)=c7+p∗c8

[0058] This class of functions only allows strictly monotonic progressions along y(p), which is practically no restriction, since only maneuvers in the direction of the second octant are pre-calculated (see Fig. 2c) begin. By reflections onto the other seven octants, all further basic maneuvers 211 can be determined.

[0059] Thus, in a first step, a large number of basic maneuvers 211 of the basic object 100 can be determined, whereby the basic maneuvers 211 of the basic object 100 • can be analytically described by x(p) = f x (p) and y(p) = f y (p); • the basic state variables [x, y, γ, δ] T of the basic object 100 can be determined based on the analytical description; and • the state variables [x, y, y, δ] T of the basic object 100 at the starting point p = 0 and at the end point p = 1 of a basic maneuver 211 assume the predefined discrete state values.

[0060] In a second step, the addition 233 (e.g., a pendant) to the basic object 100 is considered. This leads to one or more further state variables, e.g., the pendant angle (κ), which should also begin and end on a discrete grid. In other words, the values ​​for one or more addition state variables 255 of the addition 233 should also lie at predefined discrete values ​​at the start and end points in order to enable a sequence of modified basic maneuvers 211.

[0061] The dynamics of the trailer angle κ 225 can be calculated as follows, assuming the kinematic single-track model with trailer: κ˙=−va(acsin(κ)+(bccos(κ)+1)tan(δ)), where v is the speed of the vehicle's rear wheel and 100. The geometric quantities a, b, c can Fig. 2b can be taken from there.

[0062] To take into account the dynamics of the trailer 233, the basic maneuver 211 for the base object 100 can be varied or modified, e.g. according to the following formula: xwith trailer(p)=x(p)+xVariation(p) ymit Anhaenger(p)=y(p).

[0063] In order to avoid changing the state variables of the basic object 100 at the starting point (p = 0) and at the end point (p = 1), the complementary function x must Variation (p) at p = 0 and p = 1 in x Variation (p), dxVariation(p)dp andd2xVariation(p)dp2 assume the value 0. This is evident from the fact that formulas [1]-[3] for the basic state variables 223, 224, in particular for the steering angle δ, depend on the aforementioned values ​​of the complementary function. An complementary function that satisfies this condition is, for example, xVariation(p)=m∗sin(2∗π∗p)∗p2∗(1−p)2.

[0064] Another possibility is: xVariation(p)=m∗p3∗(1−p)3.

[0065] The deviation parameter "m" in the supplementary function can be chosen such that the trailer angle 225 of a modified basic function 211 ends at a desired grid value of the state grid for the trailer angle 255. In summary, the deviation parameter m thus changes the final value of the trailer angle 225 at the endpoint of a (modified) basic maneuver 211 without affecting any other basic state variable 222, 223, 224 at the start or end point of the basic maneuver 211.

[0066] The basic maneuvers 211 for the base object 100 can thus be adapted such that the one or more supplementary state variables 225 of the supplement 233 to the base object 100 also lie on a predefined state grid. The adapted or modified basic maneuvers 211 can then be used to create a graph 210 of movement paths 203 and, using a search algorithm (e.g., an A* algorithm), to determine a movement path 203 that reduces (or possibly minimizes) a predefined optimization criterion (e.g., the length of the movement path 203). By combining modified basic maneuvers 211 in such a way that the state variables (and possibly their derivatives) are continuous at the transitions of basic maneuvers 211, it can be ensured that the determined motion paths 203 can actually be realized by the object 100, 233.

[0067] Fig. Figure 3a shows a movement path 203 along a motorway exit 300. Fig. 3b, Fig. 3c and Fig. 3D images show the profiles of the state variables 223, 224, 225 along the path 310 (measured in meters) of path 203. In particular, they show Fig. 3b the course 323 of the yaw angle, Fig. 3c the course 324 of the steering angle 224 and Fig. Figure 3d shows the profile 325 of the trailer angle 225 along the path 310. It is evident that at the transitions between the basic maneuvers 211, the state variables 223, 224, 225 assume predefined discrete values. Furthermore, it is evident that continuous profiles 323, 324, 325 result for the state variables 223, 224, 225. Within the basic maneuvers 211, the state variables 223, 224, 225 can assume arbitrary values.

[0068] Fig.Figure 4 shows a flowchart of an exemplary procedure 400 for determining a motion path 203 of a moving object 100, 233. The moving object comprises a basic object 100 and a kinematically relevant addition 233 to the basic object 100.

[0069] A movement of the basic object 100 can be described by a multitude of basic state variables 222, 223, 224. A movement of the supplement 233 can be described by a supplement state variable 225.

[0070] The procedure 400 comprises determining 401 a plurality of basic maneuvers 211 for the basic object 100, wherein each basic maneuver 211 comprises or describes a course of the plurality of basic state variables 222, 223, 224 from a starting point to an endpoint of the basic maneuver 211. The plurality of basic maneuvers 211 is determined such that the values ​​of the plurality of basic state variables 222, 223, 224 at the starting point and at the endpoint lie on a predefined (state) grid for the plurality of basic state variables 222, 223, 224.

[0071] Procedure 400 further comprises modifying 402 the set of basic maneuvers 211 to determine a set of modified basic maneuvers 211 such that the values ​​of the set of basic state variables 222, 223, 224 remain unchanged at the start and end points of the set of basic maneuvers 211. Furthermore, the set of basic maneuvers 211 is modified such that the values ​​of the supplementary state variable 225 at the start and end points of the set of modified basic maneuvers 211 lie on a predefined (state) grid for the supplementary state variable 225.

[0072] Furthermore, the procedure 400 includes determining 403 the motion path 203 by sequencing modified basic maneuvers 211 from the multitude of modified basic maneuvers 211. In particular, the procedure steps 401 and 402 can be carried out in advance of the actual determination of the motion path 203. Specifically, the multitude of modified basic maneuvers 211 can be stored on a memory unit of a vehicle 100. To determine a specific motion path 203, a control unit 101 of the vehicle 100 can then access the stored multitude of modified basic maneuvers 211 to determine the specific motion path 203. By pre-calculating modified basic maneuvers 211, the computational complexity in determining the specific motion path 203 can be kept low.

[0073] The procedure described in this document can also be used for trajectory planning, where, in addition to the position of an object 100, 233, the time at which the respective position is to be reached is also determined. Alternatively or additionally, a velocity profile v(t) along a path 203 can be planned. The velocity / acceleration can be considered as a further state of a basic maneuver 211. However, this can lead to a very high number of basic maneuvers 211.

[0074] Alternatively, velocity can be treated as a dimension decoupled from the trajectory. The possible velocity changes can thus be considered as decoupled from the trajectory. This is possible, for example, under the assumption of kinematic models (infinite skew stiffness). For instance, "velocity change profiles" (acceleration(p)) for the basic maneuvers 211 can be pre-calculated, and then a combination of a velocity change profile with a determined path 203 can be calculated. This reduces the memory requirement for profiles to the sum of the number of trajectory profiles and the number of acceleration profiles.

[0075] The methods described in this document enable the computationally efficient determination of motion paths 203 of complex objects 100, 233. The consideration of the dynamics of additions 233 to a basic object 100 was described in this document using a vehicle 100 with a trailer 233 as an example. In general, a multitude of dynamics (especially non-holonomic dynamics) can be efficiently handled by introducing further state variables and adapting basic maneuvers 211. By varying existing (and possibly optimal for a specific state vector) basic maneuvers 211, one or more additional state variables can be considered with a minor modification to account for an addition 233 to a basic object 100. This results in no substantial loss of quality and no substantial additional complexity.

[0076] The present invention is not limited to the embodiments shown. In particular, it should be noted that the description and the figures are intended only to illustrate the principle of the proposed methods, devices, and systems.

Claims

[1] Method (400) for determining a motion path (203) of a movable object (100, 233) comprising a basic object (100) and a kinematically relevant addition (233) to the basic object (100), wherein a motion of the basic object (100) is described by a plurality of basic state variables (222, 223, 224) and a motion of the addition (233) by an addition state variable (225), wherein the method (400) comprises, - Determine (401) a plurality of basic maneuvers (211) for the basic object (100), wherein each basic maneuver (211) comprises a progression of the plurality of basic state variables (222, 223, 224) from a starting point to an endpoint of the basic maneuver (211), wherein the plurality of basic maneuvers (211) is determined such that the plurality of basic state variables (222, 223, 224) assume predefined values ​​at the starting point and at the endpoint; - Modifying (402) the plurality of basic maneuvers (211) to determine a plurality of modified basic maneuvers (211) such that the values ​​of the plurality of basic state variables (222, 223, 224) remain unchanged at the start point and end point of the plurality of basic maneuvers (211), and such that the supplementary state variable (225) assumes predefined values ​​at the start point and end point of the plurality of modified basic maneuvers (211); and - Determining (403) the movement path (203) by stringing together modified basic maneuvers (211) of the multitude of modified basic maneuvers (211), characterized by , that - the multitude of basic maneuvers (211) for the basic object (100) is determined such that the basic maneuvers (211) have spatial maneuver lengths that have a relative deviation from a mean of the spatial maneuver lengths of the basic maneuvers (211) of the multitude of basic maneuvers (211) of equal to or less than a predefined deviation threshold. [2] Method (400) according to claim 1, wherein - the progressions of the multitude of basic state variables (222, 223, 224) of a basic maneuver (211) of the multitude of basic maneuvers (211) are described by an analytical basic function; - the progressions of the multitude of basic state variables (222, 223, 224) and a progression of the supplementary state variable (225) of a corresponding modified basic maneuver (211) are described by a modified function. [3] Method (400) according to claim 2, wherein - any point between the starting point and the end point of a basic maneuver (211) is described by a progress parameter p; - the basic analytical function comprises a function, in particular a polynomial, of the progress parameter p. [4] Method (400) according to one of claims 2 to 3, wherein - at least one of the many basic state variables (222, 223, 224) depends on the basic analytical function; - at least one of the multitude of basic state variables (222, 223, 224) depends on a derivative of the basic analytical function; - the modified function corresponds to the sum of the basic analytical function and a supplementary function; - the complementary function is zero at the starting point and at the endpoint; and - a derivative of the complementary function is zero at the starting point and at the endpoint. [5] Method (400) according to claim 4, wherein the complementary function xVariation(p)=m∗sin(2∗π∗p)∗p2∗(1−p)2, or xVariation(p)=m∗p3∗(1−p)3 corresponds to where p is a progress parameter and where m is a deviation parameter with which a value of the complementary state variable (225) can be changed. [6] Method (400) according to claim 5, wherein - the modified function of a modified basic maneuver (211) describes a spatial progression of the modified basic maneuver (211) from a starting point to an endpoint of the modified basic maneuver (211); and - the supplementary function, in particular the deviation parameter m, is determined such that the supplementary state variable (225) assumes predefined values ​​at the starting point and at the end point of the modified basic maneuver (211). [7] Method (400) according to one of the preceding claims, wherein the plurality of basic state variables (222, 223, 224) and the supplementary state variable (225) can each assume a limited number of predefined values. [8] Method (400) according to any one of the preceding claims, wherein - the basic object (100) comprises a vehicle; - the supplement (233) includes a trailer of the vehicle; - the multitude of basic state variables (222, 223, 224) includes a position of the vehicle, a yaw angle (223) of the vehicle and / or a steering angle (224) of the vehicle; and - the supplementary state variable (225) includes a trailer angle. [9] Method (400) according to one of the preceding claims, wherein the plurality of basic maneuvers (211) is determined such that - the trends of the multitude of basic state variables (222, 223, 224) are continuous; and - the progressions of the multitude of basic state variables (222, 223, 224) can be executed by the basic object (100). [10] Method (400) according to one of the preceding claims, wherein the motion path (203) is determined such that at a transition between two successively modified basic maneuvers (211) the plurality of basic state variables (222, 223, 224) and the supplementary state variable (225) are continuous. [11] Method (400) according to any one of the preceding claims, wherein determining (401) the plurality of basic maneuvers (211) for the basic object (100) comprises one or more of, - Determining basic maneuvers (211) with a maneuver length that is one, two, or three orders of magnitude longer than a grid spacing of a spatial value grid; and / or - Selecting endpoints (252) for the basic maneuvers (211) that lie between two circles around a starting point for the basic maneuvers (211); wherein an outer circle of the two circles has a radius that is at least 2 times the grid spacing is larger than the radius of an inner circle of the two circles; and / or - Excluding an endpoint (253) for the basic maneuvers (211) which, although it lies between the two circles, has the same direction from the starting point as another endpoint (252) which lies between the two circles; and / or - Excluding an endpoint (253) which has a direction or yaw angle from the starting point, wherein the direction or yaw angle has a relative deviation from a direction or yaw angle of another endpoint (252) which is equal to or less than a predefined deviation threshold.

Citation Information

Patent Citations

  • System for steering a vehicle during reversing by uncoupling the steering column and using the steering wheel deflections as a target value for the automatic steering

    DE102005028326A1

  • control system for a vehicle

    DE10322829A1