Task-Motion Planning for Safe and Efficient Urban Driving
Yan Ding, Xiaohan Zhang, Xingyue Zhan, Shiqi Zhang
International Conference on Intelligent Robots and Systems (IROS 2020) Click to download!
Autonomous vehicles need to plan at the task level to compute a sequence of symbolic actions, such as merging left and turning right, to fulfill people's service requests, where efficiency is the main concern. At the same time, the vehicles must compute continuous trajectories to perform actions at the motion level, where safety is the most important. Task-motion planning in autonomous driving faces the problem of maximizing task-level efficiency while ensuring motion-level safety. To this end, we develop algorithm Task-Motion Planning for Urban Driving (TMPUD) that, for the first time, enables the task and motion planners to communicate about the safety level of driving behaviors.
The contribution of this research is two-fold, including the new safety estimator, and the TMPUD algorithm. We have implemented and evaluated TMPUD using CARLA, an autonomous driving platform for simulating urban driving scenarios. Results suggest TMPUD improves both safety and efficiency, in comparison to two baseline methods from the literature
TMPUD consists of four components, i.e., task planner, plan manager, motion planner and safety estimator. Task planner includes components of goal specification, action description, and utility function, where users’ service requests are received by the goal specification component. Task planner computes a sequence of symbolic actions that are passed to the plan manager. The plan manager generate navigation goals (i.e., a pair of two poses) to path planner, which is then used for computing a continuous trajectory for connecting 2D poses. The trajectory will be used in the two components of safety estimator and tracking controller. Safety estimator uses this trajectory to estimate actions’ safety levels, and then the utility function in task planner can be updated accordingly. Tracking controller computes the desired control signals to drive the vehicle to follow the trajectory from the path planner
Safety Estimation Algorithm
Objective: Compute the safety level, Safe(<s, a, s'>), of a symbolic action <s, a, s'>
Input: symbolic action <s, a, s'>
Output: estimated safety value Safe(<s, a, s'>) ∈ [0.0, 1.0]
Step 1: Generate an optimal plan at the task level
• Acceleration set Δ and steer angle set Θ
• Depend on the adopted motion planner and the ego vehicle itself
Step2: Compute a safe control set Us(t)
• Us(t) ⊂ Δ × Θ, where t refers to time
• Size of safe control set Us reflects the safety level
• Small |Us(t)| indicates a low safety level
Step3: Calculate safety value of action <s, a, s'>
• Probability of elements sampled from set Δ × Θ being located in the safe set Us
Objective: Enable interaction between task and motion planning for urban driving.
• Initial state si; goal specification sg
• Task planner Pt; motion plannerPm
• State mapping function f: X = f(s)
Output: Control signal of vehicles while ensuring safety and efficiency of driving behaviors
Step1: Generate an optimal plan at the task level
p → Pt(sinit, sg, Cost, Safe), where p = < sinit, a0, s1 ,a1, … sg>
Step 2: Compute the safety value of an action performed in the next step
• Update Safe function with the safety value
Step 3: Update the task planning being performed
•Generate a new plan: p' → Pt(sinit, sg, Cost, Safe)
Illustrative example: TMPUD starts with using our optimal task planner to compute Plan A. The vehicle takes the first symbolic action from Plan A (trajectory in blue color), and executes the action using our motion planner. Getting close to Area 1, the vehicle plans to merge left. However, the safety estimator at the motion level reports a low safety value in Area 1. This computed safety value is incorporated into task planner, where the task planner integrates the safety value into its cost function, and re-computes an optimal plan, Plan B. Different from Plan A, Plan B suggests the vehicle to go straight, and merge left in Area 2. In this trial, the vehicle was able to follow Plan B all the way to the goal. TMPUD enabled the vehicle to avoid the risky behavior of merging left in Area 1 without introducing extra motion cost.
Overall performances of TMPUD and two baseline methods: The x-axis represents the average traveling distance, and the y-axis represents the total number of collisions and stops. The four subfigures correspond to four different road conditions. The road conditions, from left to right, are low-density and low-acceleration, low-density and high-acceleration, high-density and low-acceleration, high-density and highacceleration. Under each road condition, we evaluate each algorithm using 4000 trials. We did batch-based evaluations with four batches for significance analysis, where each batch includes 1000 trials.
Code and Slide for Presentation
This project code has two parts. One is task planner (click to download) and the other is motion planner (click to download). For task planner, we use Answer Set Programming (ASP) to realize it, where ASP is a non-monotonic, declarative, and propositional formalism used for Knowledge Representation and Reasoning (KRR). For motion planner, we realize it uisng CARLA. The slide (click to download) in IROS 2020 is also shared.
The authors thank Fangkai Yang for discussions on this topic. This work has taken place in the Autonomous Intelligent Robotics (AIR) Group at SUNY Binghamton. AIR research is supported in part by grants from the National Science Foundation (IIS-1925044 and REU Supplement), Ford Motor Company (URP Awards), OPPO (Faculty Research Award), and SUNY Research Foundation