METHOD FOR TRAJECTORY PLANNING OF A MOVING OBJECT
Patent Information
- Application Number
- DE502019013961
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-09-19
- Filing Date
- 2019-08-13
- Publication Date
- 2025-10-30
- Estimated Expiration
- 2039-08-13
AI Technical Summary
Existing rule-based trajectory planning systems face challenges in defining valid cost functions that account for rule violations, particularly in determining appropriate violation costs for permissible and impermissible system states and transitions.
A cost function is developed that distinguishes between time-dependent and fixed violation costs for state and transition rule violations, respectively, allowing for the optimization of movement trajectories by incorporating these costs into the planning process.
This approach enables efficient trajectory planning that minimizes total costs by considering the duration of rule violations and adherence to predefined rules, ensuring optimal path determination while accounting for rule violations.
Description
Technical area
[0001] The invention generally relates to methods for rule-based trajectory planning of moving objects taking into account permissible rule violations. Technical background
[0002] Rule-based trajectory planning typically considers a set of predefined rules to determine a reasonable trajectory between two positions. For example, a logical description language, so-called Linear Temporal Logic (LTL), can be used to describe the rules. This language maps a task specification in the form of an LTL specification. Based on the rules, permissible movement trajectories can be planned and optimized from the LTL specification.
[0003] Trajectory planning for moving objects in rule-based planning systems is based on the calculation of a cost function, which is used to iteratively optimize the trajectory. Depending on the optimization objective, the optimization is typically performed based on minimizing the time required for the moving object to move along the trajectory, the required energy consumption, or similar. However, defining a valid cost function that takes into account the case of a rule being violated is a challenge. Parameterizing the costs of violating a rule presents a particular challenge.
[0004] For example, from LI Reyes Castro et al., "Incremental sampling-based algorithm for minimum-violation motion planning", 52nd IEEE Conference on Decision and Control, December 2013, pp. 3217 to 3224, a trajectory planning technique is known in which an optimal motion trajectory is determined in the case of conflicting driving rules by assigning the costs of a rule violation to corresponding rules.
[0005] The paper C.-I. Vasile et al., "Minimum-violation scLTL motion planning for mobility-on-demand", IEEE International Conference on Robotics and Automation (ICRA), May 2017, pages 1481 to 1488, additionally discloses integrating trajectory planning, where costs are assigned for violating a rule if a rule cannot be interpreted by a given set of syntactically scLTL rules.
[0006] There is therefore a need to specify violation costs for a trajectory determination procedure for the violation of a rule during trajectory planning. Disclosure of the invention
[0007] According to the invention, a method for determining a movement trajectory for a moving object according to claim 1 and a method for guiding a moving object, a device and a moving object according to the independent claims are provided.
[0008] Further embodiments are specified in the dependent claims.
[0009] According to a first aspect, a computer-implemented method for determining a movement trajectory for a moving object, in particular a vehicle, in a rule-based trajectory planning system is provided, wherein a trajectory planning is carried out based on a minimization of total costs according to a cost function in order to determine the movement trajectory, wherein the cost function takes into account violation costs resulting for each trajectory section of the movement trajectory from a possible respective violation of one or more vulnerable rules with respect to the trajectory section, wherein the rule violation comprises a state rule violation and a transition rule violation, wherein the state rule violation indicates a violation of a state rule that indicates an impermissible state of the moving object, and the transition rule violation indicates a violation of a transition rule that indicates an impermissible state transition of the considered trajectory section of the movement trajectory for which the transition rule violation exists, wherein a time-dependent cost amount of the violation costs is assigned to the state rule violation and a fixed, in particular time-independent, cost amount of the violation costs is assigned to the transition rule violation, so that the total costs for a movement trajectory for each trajectory section that violates a violateable rule depend on the time-dependent or fixed cost amount assigned to the violated rule.
[0010] The determination of optimized motion trajectories is typically an iterative process in which costs determined according to a given cost function are minimized. This means that a motion trajectory is selected from a plurality of candidate trajectories for which the lowest costs are determined.
[0011] The cost function can be defined according to an optimization objective, which typically has at least one time-based component (in particular, dependent on the time required to complete the trajectory in question). Thus, the optimization objective can be minimizing the time to reach the objective, reducing energy consumption, which is also time-dependent, reducing pollutant emissions, and the like.
[0012] The rule description underlying trajectory planning defines permissible and impermissible system states based on the formulation of rules. The rule description comprises a set of rules that can include both violateable and non-violable rules. The determination of trajectory candidates takes into account that the non-violable rules are strictly adhered to and that the violation of vulnerable rules is avoided whenever possible.
[0013] Specifying rules as violateable allows trajectory planning to potentially violate one or more of the vulnerable rules and to account for the rule violation by incorporating additional costs into the underlying cost function. To this end, the system states and transitions between system states that cause a rule violation are additionally assigned different violation costs. In particular, rule violations that affect state transitions are assigned time-independent, fixed costs (violation costs), and rule violations that affect inadmissible system states are assigned time-dependent costs (violation costs). The corresponding violation costs can be determined by multiplying the time-dependent violation costs by a time period corresponding to the duration of the system state during which the trajectory planning includes trajectory sections where a rule violation occurs.
[0014] Furthermore, the time-dependent cost amount can be determined by multiplying it by the time required to move the object along the relevant trajectory section.
[0015] It may be provided that the trajectory planning includes the determination of several trajectory candidates, from which the trajectory candidate with the lowest total costs is selected as the movement trajectory.
[0016] According to one embodiment, trajectory planning can comprise a scan-based search method, in particular an RRT* method. Known trajectory planning methods generally include methods that already consider the respective costs for trajectory segments during or for the creation of the motion trajectory candidates. For example, the Rapidly Exploring Random Trees method (RRT method) can consider the respective costs of the trajectory segment based on the creation of a random tree. The trajectory is developed incrementally, starting from a starting point until an end condition is met, and the respective costs of the trajectory segments are summed to obtain the total costs for evaluating the trajectory.
[0017] In particular, trajectory planning may comprise the creation of a tree whose nodes indicate states and / or positions of the object and whose connections indicate trajectory sections between the positions of the respective nodes, wherein the creation of the tree comprises the following steps: Providing a new node corresponding to a sampling position of the object, determining multiple paths from the new node to the initial node of the tree; determining total costs for the multiple paths; connecting the new node to the predecessor node belonging to the path with the lowest total cost.
[0018] It can be provided that for already set nodes, the cost function is used to check whether they can be reached by the new node at lower costs, and if this is the case, they are connected to the new node.
[0019] Furthermore, the cost function can be formulated according to an optimization objective that takes into account the time required to travel the respective trajectory section.
[0020] According to a further aspect, a method is provided for guiding a moving object along a movement trajectory which is determined according to the above method.
[0021] In particular, steering interventions and forward movements of the moving object can be controlled depending on the movement trajectory.
[0022] Alternatively, depending on the movement trajectory, driving instructions for guiding the moving object can be issued, in particular in the form of navigation instructions by a navigation system.
[0023] According to a further aspect, a device for determining a movement trajectory for a moving object, in particular a vehicle, is provided in a rule-based trajectory planning system, wherein the device is configured to perform trajectory planning based on a minimization of total costs according to a cost function in order to determine the movement trajectory, wherein the cost function takes into account violation costs resulting for each trajectory section of the movement trajectory from a possible respective violation of one or more violateable rules with respect to the trajectory section, wherein the rule violation comprises a state rule violation and a transition rule violation, wherein the state rule violation indicates a violation of a state rule that indicates an impermissible state of the moving object, and the transition rule violation indicates a violation of a transition rule,which indicates an inadmissible state transition of the considered trajectory section of the movement trajectory for which the transition rule violation exists, wherein the state rule violation is assigned a time-dependent cost amount of the violation costs and the transition rule violation is assigned a fixed, in particular time-independent, cost amount of the violation costs, so that the total costs for a movement trajectory for each trajectory section that violates a violateable rule depend on the time-dependent or fixed cost amount assigned to the violated rule.
[0024] According to a further aspect, a movable object, in particular a vehicle, is provided with the above device, a drive system, a steering system and a sensor system for detecting the surroundings of the object, wherein the device controls the drive system and the steering system depending on environmental conditions, in particular positions of environmental objects and environmental areas, in order to move the object along the determined movement trajectory.
[0025] In addition to a vehicle, the movable object may also be a particularly automated or semi-automated robot, a particularly automated or semi-automated production machine or a particularly automated or semi-automated tool. Brief description of the drawings
[0026] Embodiments are explained in more detail below with reference to the attached drawings. They show: Figure 1 shows a schematic representation of a moving object for which trajectory planning is to be carried out; Figure 2 shows a flowchart illustrating a method for carrying out trajectory planning; Figure 3 shows a flowchart illustrating an RRT* method for carrying out trajectory planning; Figure 4 shows exemplary trajectories for different rule weightings for two rules; and Figure 5 shows exemplary trajectories for different rule weightings for a further rule. Description of embodiments
[0027] The following describes a method for trajectory planning for a moving object based on a predefined rule base. The optimization goal should correspond to the time to reach the destination. The following description is based on the example of trajectory planning for a vehicle that is to leave a parking lot via an exit on a specific lane. The trajectory planning should determine a movement trajectory of the vehicle along which the vehicle is to be guided as quickly as possible while observing predefined movement rules. In addition, non-driveable areas are specified, which can, for example, indicate the positions of other vehicles or buildings. While the movement rules are specified as violateable rules, i.e.As rules that can be ignored if necessary, taking into account a disadvantage in a cost function of trajectory planning, the non-navigability rules represent non-violable rules, since buildings or other obstacles cannot be driven over in reality.
[0028] Figure 1 shows a schematic representation of a moving object, which can be embodied as a vehicle 1. The vehicle 1 can have a control unit 2, which is designed to carry out trajectory planning and execute a determined movement trajectory. The control unit 2 can control the vehicle 1 to carry out a movement via controls and interventions in a drive system 3 and a steering system 4. For this purpose, steering interventions and forward movements can be variably specified in a conventional manner to follow a determined movement trajectory.
[0029] To control the vehicle 1, environmental conditions can be detected using a sensor system 5. The sensor system 5 can comprise, for example, a camera or other sensors usable for object detection in the vehicle's surroundings, such as ultrasonic sensors and the like. Using the sensor system 5, the positions of environmental objects and environmental areas (roadway, green space, etc.) can be detected and identified, allowing a map of the environment to be determined based on areas that cannot be accessed, and this map can be used as the basis for non-accessibility rules.
[0030] The starting point of the method described below is a task specification in the form of Linear Temporal Logic (LTL), in particular, a co-safe Linear Temporal Logic (scLTL). This represents a description language for a task specification of a task to be solved that has temporal modalities. Every scLTL task specification can be translated into a deterministic finite state machine.
[0031] In Figure 2 A flowchart is shown to illustrate the procedure for performing trajectory planning.
[0032] In step S1, a rule base for moving vehicle 1 is constructed from the environmental map captured by the sensors, an environmental map retrieved from a map memory, and a predefined LTL description. A rule base can be expressed, for example: 1. Do not drive through any off-highway areas indicated on the surrounding map. 2. If you are in lane A, do not change to lane B. 3. Do not drive in a lane in the opposite direction of travel.
[0033] This rule base includes a non-violable rule, Rule 1, since trajectory planning must under no circumstances allow objects in the vehicle's environment to be driven over.
[0034] Rules 2 and 3, on the other hand, represent vulnerable rules that may be ignored or violated under certain circumstances.
[0035] In step S2, trajectory planning is performed. Trajectory planning can be performed according to various methods known from the prior art. These methods typically determine a plurality K of trajectory candidates.
[0036] In step S3, the costs for each of the trajectory candidates are determined according to a predefined cost function. Each trajectory candidate comprises a plurality N of consecutive trajectory segments, the respective costs TK of which are calculated and summed for each trajectory candidate.
[0037] The cost function can be: TK k ∈ 1 … K = ∑ i = 1 N b ⋅ T i + ∑ r = 1 R VK fix , i , r + VK var , i , r ⋅ T i for each of the K candidate trajectories.
[0038] The conventional costs for driving each trajectory section correspond to b · T i . Thus, the movement costs are proportional to the time required to travel the respective trajectory section.
[0039] The violation costs (VC) for a violation of a vulnerable rule are calculated accordingly for each of the trajectory segments. A distinction is made between a transition rule violation and a state rule violation of a vulnerable rule.
[0040] A transition rule violation concerns a rule that affects a state transition. According to the example above, rule 2, "If in lane a, do not change to lane b," corresponds to a state transition check, namely, whether the trajectory segment under consideration involves a lane change.
[0041] A state rule violation occurs when the rule specifies that a state of vehicle 1 is illegal. For example, a state rule violation of a trajectory segment occurs when vehicle 1 is in an illegal position specified by a violateable rule. According to the example above, a violation of the rule "Do not drive in a lane facing the opposite direction of travel" by a corresponding trajectory segment corresponds to a state rule violation.
[0042] For a set of vulnerable rules R, violation costs VK are assigned. The violation costs give a time-dependent amount for state rule violations VK var,i,r so that the violation costs are higher the longer the system state that violates the respective state rule lasts. In contrast, the violation costs for a transition rule violation indicate a fixed cost amount VK fix,i,rwhich is time-independent, since the transition between system states cannot be assigned to a time period.
[0043] The injury costs VK var,i,r , VK fix,i,r can be specified for each of the vulnerable rules, whereby the rule is that if VK var,i,r ≠ 0 is VK fix,i,r = is 0 and vice versa.
[0044] In step S4, a motion trajectory is selected from the trajectory candidates that has the lowest cost according to the above cost function.
[0045] In step S5, the vehicle 1 is moved according to the determined trajectory.
[0046] The distinction between violation costs for transitional rule violations and state rule violations allows for appropriate consideration of violation costs also for state rule violations, the amount of which is determined by the duration of the rule violation.
[0047] This type of consideration of injury costs can already be taken into account in trajectory planning if the method used uses the total costs to construct the movement trajectory to be determined.
[0048] For example, the above cost calculation can be considered in a sample-based search method, such as a Rapidly Exploring Random Tree (RRT*) method, which can be described using the flowchart of Figure 3 is explained in more detail.
[0049] The following describes a Rapidly Exploring Random Tree (RRT*) method for determining an optimal movement trajectory for vehicle 1. The Rapidly Exploring Random Tree (RRT*) method is a probabilistic approach for solving trajectory planning. A virtual tree is constructed, whose nodes correspond to a vehicle position and whose branches correspond to trajectory segments. Each node can also be assigned a total cost value.
[0050] The tree is constructed by repeatedly adding new nodes to the state space using a randomly determined heuristic until a goal state is reached. The tree's extension is only permitted if none of the non-violable rules are violated. The path of the trajectory is determined by backward consideration, starting from the found goal state (end node) to the starting point (start node).
[0051] In detail, in step S11, an initial node is assumed that corresponds to a certain predetermined vehicle position.
[0052] To create a new node, in step S12, a random node is first selected according to a random number function, which can indicate any position of the vehicle 1 in the observation space.
[0053] Starting from the new node, in step S13 the neighbouring node within a given distance from the new node is searched for in the existing tree, which no non-violable rule is violated, is possible according to a movement model of the vehicle (no acute angles to a previous trajectory section can be driven), and is minimal according to the total cost of the trajectory of the tree formed so far.
[0054] The total cost is the cost associated with the respective neighboring node plus the cost for the trajectory segment (the new edge of the tree) to the new node. The neighboring node with which a trajectory with the lowest total cost results is chosen as the predecessor node for the new node.
[0055] In determining the costs, the injury costs as described above in relation to the procedure for Figure 2described. In doing so, it is determined accordingly whether the consideration of the trajectory section between the new node and the neighboring node under consideration represents a violation of a vulnerable rule. If a detected rule violation represents a state rule violation, a time duration for moving the vehicle 1 along the trajectory section under consideration is determined in a manner known per se from driving state data for the position of the previous node, route characteristics, and the like, and the costs are calculated accordingly, depending on a time-dependent amount. VK var,i,r the injury costs are multiplied by the duration.
[0056] If a detected rule violation constitutes a transitional rule violation, the costs will be calculated accordingly depending on a fixed cost amount VK fix,i,r the injury costs.
[0057] In step S14, the node is set accordingly and connected to the found selected predecessor node by a corresponding trajectory section.
[0058] In step S15, it can now be checked whether other, already placed, nodes of the tree can be reached via the new node with lower total costs. In doing so, all or some of the already placed (considered) nodes are checked. This is done assuming a connection, i.e., a trajectory section, between the new node and the considered node and determining the corresponding total costs. If the newly calculated total costs are lower than the total costs previously assigned to the considered node, the connection, i.e., the trajectory section of the considered node to its predecessor node is dissolved, and the new node is connected to the considered node via a corresponding connection (trajectory section).
[0059] In step S16, a check is made to determine whether the target condition is met or the target position has been reached. If the target condition is not met (alternative: No), the method continues with step S12; otherwise, the method continues with step S17.
[0060] In step S17, the vehicle 1 is moved along the found trajectory.
[0061] Using the RRT* method described above, it is possible to account for violable rules in trajectory planning by adjusting the total costs. The violation costs for a state rule violation are determined based on the duration of the rule violation. In contrast, rule violations affecting state transitions are considered as a fixed cost amount without a time reference when calculating the total violation costs.
[0062] In the example situation outlined above, a vehicle is to move from a parking space to an exit of the parking lot, and for this purpose, trajectory planning is to be carried out. The situation is in Figure 4 shown, with two parked vehicles in the outbound lane. The target condition is that the vehicle must leave the parking space in the lower right corner on the correct lane and in the correct direction. The non-violable conditions are that the vehicle must not drive over other vehicles or other structural obstacles. The rules are as follows: Rule 1:The vehicle should never drive in the wrong direction in the lane. Rule 2:The vehicle should avoid changing lanes whenever possible.
[0063] As in Figure 4 As shown, four trajectories result for different cost amounts for rule violations. Rule 1 / Rule 2 No lane change No lane change VK var,i,r = 1 VK var,i,r = 50 Wrong direction of travel K1 K2 VK fix,i,r = 0 Wrong direction of travel K4 K3 VK fix,i,r = 10
[0064] The resulting curves K1 to K4 correspond to the respective weightings shown in the table.
[0065] To illustrate the flexibility of the procedure, it can be extended by a rule according to which driving over a free parking space is not permitted. This rule can be assigned a variable cost. In combination with the two previously defined rules, the following results: Figure 5 The trajectory paths K5 and K6 are shown for two exemplary cost amounts (K5: low cost amount, K6: high cost amount) for the third rule. It can be seen that, depending on the weighting, the trajectory planning allows the free parking space to be overrun.
Claims
1. Computer-implemented method for determining a motion trajectory for a movable object, in particular a vehicle (1), in a rule-based trajectory planning system, wherein trajectory planning is performed based on minimizing total costs in line with a cost function in order to determine the motion trajectory, wherein the cost function takes into account violation costs that result, for each trajectory section of the motion trajectory, from any respective violation of one or more violable rules with respect to the trajectory section, wherein the rule violation comprises a state rule violation and a transition rule violation, wherein the state rule violation indicates a violation of a state rule indicating an impermissible state of the movable object, and wherein the transition rule violation indicates a violation of a transition rule indicating an impermissible state transition of the trajectory section in question, wherein the transition rule indicates whether the trajectory section in question provides for a lane change; wherein the state rule violation is assigned a time-dependent cost amount of the violation costs and the transition rule violation is assigned a fixed, in particular time-independent cost amount of the violation costs, such that the total costs for a motion trajectory, for each trajectory section that violates a violable rule, depend on the time-dependent or fixed cost amount assigned to the violated rule.
2. Method according to Claim 1, wherein the time-dependent cost amount is ascertained by multiplying by a duration required for the object to move along the trajectory section in question.
3. Method according to Claim 1 or 2, wherein the trajectory planning comprises ascertaining multiple candidate trajectories, from which the candidate trajectory having the lowest total costs is selected as motion trajectory.
4. Method according to one of Claims 1 to 3, wherein the trajectory planning comprises a sampling-based search method, in particular an RRT* method.
5. Method according to Claim 4, wherein the trajectory planning comprises creating a tree the nodes of which indicate states and / or positions of the object and the edges of which indicate trajectory sections between the positions of the nodes in question, wherein creating the tree comprises the following steps: - providing a new node corresponding to a sampling position of the object, - determining multiple paths from the new node to the starting node of the tree; - ascertaining total costs for the multiple paths; - connecting the new node to the predecessor node belonging to the path with the lowest total costs.
6. Method according to Claim 5, wherein the cost function is used to check, for nodes that have already been set, whether these are able to be reached by the new node with lower costs, and wherein, if so, these are connected to the new node.
7. Method according to one of Claims 1 to 6, wherein the cost function is formulated in line with an optimization objective that takes into account the duration taken to travel the respective trajectory section.
8. Computer-implemented method for guiding a movable object along a motion trajectory that is ascertained in line with one of the methods according to one of Claims 1 to 7.
9. Method according to Claim 8, wherein steering interventions and forward movements of the movable object are controlled depending on the motion trajectory.
10. Method according to Claim 8, wherein driving instructions for guiding the movable object are output depending on the motion trajectory.
11. Device for determining a motion trajectory for a movable object, in particular a vehicle, in a rule-based trajectory planning system, wherein the device is designed to perform trajectory planning based on minimizing total costs in line with a cost function in order to determine the motion trajectory, wherein the cost function takes into account violation costs that result, for each trajectory section of the motion trajectory, from any respective violation of one or more violable rules with respect to the trajectory section, wherein the rule violation comprises a state rule violation and a transition rule violation, wherein the state rule violation indicates a violation of a state rule indicating an impermissible state of the movable object, and the transition rule violation indicates a violation of a transition rule indicating an impermissible state transition of the trajectory section in question, wherein the transition rule indicates whether the trajectory section in question provides for a lane change; wherein the state rule violation is assigned a time-dependent cost amount of the violation costs and the transition rule violation is assigned a fixed, in particular time-independent cost amount of the violation costs, such that the total costs for a motion trajectory, for each trajectory section that violates a violable rule, depend on the time-dependent or fixed cost amount assigned to the violated rule.
12. Movable object, in particular vehicle (1), having a device according to Claim 11, a drive system (3), a steering system (4) and a sensor system (5) for capturing the surroundings of the object, wherein the device actuates the drive system (3) and the steering system (4) depending on surrounding states, in particular positions of surrounding objects and surrounding areas, in order to move the object along the determined motion trajectory.
13. Computer program that performs all of the steps of a method according to one of Claims 1 to 9 when it is executed in a data processing apparatus.
14. Machine-readable storage medium on which a computer program according to Claim 13 is stored.