Dynamic programming and gradient descent based decision and planning for autonomous driving vehicles
AssigneeBaidu USA LLC
InventorsFan Zhu, Qi Kong
Life of this patent
Estimating the term…
Abstract
According to some embodiments, a system calculates a first trajectory based on a map and a route information. The system generates a path profile based on the first trajectory, traffic rules, and an obstacle information describing one or more obstacles perceived by the ADV, where for each of the obstacles, the path profile includes a decision to yield or nudge to left or right of the obstacle. The system generates a speed profile based on the path profile in view of the traffic rules. The system performs a gradient descent optimization based on the path profile and the speed profile to generate a second trajectory representing an optimized first trajectory and controls the ADV according to the second trajectory.
Claims21
A computer-implemented method to generate a driving trajectory for an autonomous driving vehicle (ADV), the method comprising:
- calculating a first trajectory based on a map and a route information;
- generating a path profile based on the first trajectory, traffic rules, and an obstacle information describing one or more obstacles perceived by the ADV, wherein for each of the obstacles, the path profile includes a decision to yield or approach to left or right of the obstacle;
- generating a speed profile based on the path profile in view of the traffic rules, wherein the speed profile includes a decision to yield or overtake the obstacle, the path profile and the speed profile being generated iteratively using dynamic programming, wherein for each of the obstacles, the speed profile comprises a rough speed profile having speed candidates at different points in time being iterated using the dynamic programming, the rough speed profile including a station-time graph being used as initial constraint to calculate an optimal station-time curve;
- performing a gradient descent optimization based on the path profile and the speed profile to generate a second trajectory representing an optimized first trajectory, wherein performance of the gradient descent optimization includes repeatedly calculating differentials of a path cost function at a current value and taking a step proportional to the differential until a minimum is reached;
- and
- controlling the ADV according to the second trajectory.
A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:
- calculating a first trajectory based on a map and a route information;
- generating a path profile based on the first trajectory, traffic rules, and an obstacle information describing one or more obstacles perceived by the ADV, wherein for each of the obstacles, the path profile includes a decision to yield or approach to left or right of the obstacle;
- generating a speed profile based on the path profile in view of the traffic rules, wherein the speed profile includes a decision to yield or overtake the obstacle, the path profile and the speed profile being generated iteratively using dynamic programming, wherein for each of the obstacles, the speed profile comprises a rough speed profile having speed candidates at different points in time being iterated using the dynamic programming, the rough speed profile including a station-time graph being used as initial constraint to calculate an optimal station-time curve;
- performing a gradient descent optimization based on the path profile and the speed profile to generate a second trajectory representing an optimized first trajectory, wherein performance of the gradient descent optimization includes repeatedly calculating differentials of a path cost function at a current value and taking a step proportional to the differential until a minimum is reached;
- and
- controlling the ADV according to the second trajectory.
A data processing system, comprising:
- a processor;
- and
- a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations, the operations including calculating a first trajectory based on a map and a route information;
- generating a path profile based on the first trajectory, traffic rules, and an obstacle information describing one or more obstacles perceived by the ADV, wherein for each of the obstacles, the path profile includes a decision to yield or approach to left or right of the obstacle;
- generating a speed profile based on the path profile in view of the traffic rules, wherein the speed profile includes a decision to yield or overtake the obstacle, the path profile and the speed profile being generated iteratively using dynamic programming, wherein for each of the obstacles, the speed profile comprises a rough speed profile having speed candidates at different points in time being iterated using the dynamic programming, the rough speed profile including a station-time graph being used as initial constraint to calculate an optimal station-time curve;
- performing a gradient descent optimization based on the path profile and the speed profile to generate a second trajectory representing an optimized first trajectory, wherein performance of the gradient descent optimization includes repeatedly calculating differentials of a path cost function at a current value and taking a step proportional to the differential until a minimum is reached;
- and
- controlling the ADV according to the second trajectory.
Dependencies are inferred from the claim text.