23
Real-Time Motion Planning for Agile Autonomous Vehicles Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Embed Size (px)

Citation preview

Page 1: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Real-Time Motion Planning for Agile Autonomous

VehiclesEmilio Frazzoli, Munther A. Dahleh and Eric Feron

Jingru Luo

Page 2: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Background

Kinodynamic motion planning A new randomized incremental algorithm

System’s dynamicsAn environment with moving obstaclesEfficiencySafety guaranteeOptimal solutionProbabilistic completeGuaranteed performance

Page 3: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Framework

System DynamicsOrdinary Differential Equations(ODEs)

Equilibrium points (zero velocity)

),( uxfdt

dx

eqx0),( eqeq uxf

(1)

(2)

Page 4: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Framework

Obstacle-Free Guidance SystemOptimal cost-to-go function for all

Compute the optimal control policy ft

t eqeq dtuxxxxJ0

),,(),(* (5)

UXX : (6)

x

eqx

x),( eqxx

),( 1 eqxx

1x

Page 5: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Framework

Notation ○ Feasible set F

for all (state, time) pairs satisfying all constraints

○ Reachable set

Given , is reachable if find

RXF

),( 00 tx ),( ff tx Uttu f ],[: 0

x

)( eqxT

),( 00 tx

),()( 11 eqxxtu

),()( 10 eqxxtu

),( 11 tx

),( ff tx

),( 00 txR

Page 6: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Framework

Problem FormulationGiven an initial state at time , and a goal ,

find that can steer the system from to

Optimal trajectory to minimize the cost

0t fx0xUttu f ],[: 0

)( fxT0x

Page 7: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Motion Planning

Basic idea

Initial condition

Random equilibrium point

Target

Page 8: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Data Structure

Node (state, time) coupleTotal cost

○ Accumulated cost by bookkeeping○ Cost-to-go

Lower bound: optimal cost functionUpper bound: infinity

Edge The randomly generated equilibrium pointCost along the edge

rx

),(* eqxxJ

Page 9: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Initialization

Root node: some point in the futureContains the initial conditionAs an example: , moving at , and

we devote s to the computation, the root node must be set at

Total cost:○ Accumulated cost: set to zero○ Cost-to-go

Lower bound: optimal cost functionUpper bound: infinity

),( 00 tx 0v

),( 0000 vtvx

),( 00 tx

),( 0000 vtvx

0v

A

B

Page 10: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Tree Expansion Step

Two points:Which node to expandIn which direction to explore

○ Samples a random configuration , and try to expand all nodes in order of increasing cost

○ Apply the optimal control policy until the system gets to endgame region of

rx

),( rxrx

Page 11: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Initial state

Random Equilibrium point

Target

1

2

3

Page 12: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Real-Time Consideration

Safety CheckMoving obstaclesCollision check at time point is not enoughCheck safety over a time

○ safetyA milestone (x, t) is τ-safe if (x, t) is feasible for all

t [t,t+∈ τ]

Page 13: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Real-Time Consideration

Improving performanceTrajectories from equilibrium to equilibrium

provide unsatisfactory performancePrimary milestoneSecondary milestone, split the new edge

into n segments and add the breakpoints

Primary milestone

Secondary milestone

Page 14: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Update Cost

Look for the optimal trajectoryWhen a solution is foundUpper bound on the cost-to-go are updatedUpdate backward to the root

○ Parent.U.B.> node.U.B.+ edge_cost○ Parent.U.B node.U.B.+ edge_cost

Initial state

Target

Xnew

Page 15: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Tree Pruning

Upper bound and lower boundLower bound: optimal cost-to-go in free

environmentUpper bound: cost of the best trajectory from the

milestone to the destination or +∞Every time a solution is found, prune subtree while

updating the node○ lower bound + edge cost > upper bound current node

Page 16: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Initial state

Random point

Target

x

3

4

56

L: 10U: 10

L: 15U: +∞

2

L: 25U: +∞

1

L: 35U: +∞

10L: 20U: +∞

L: 22U: +∞ L: 25

U: +∞

L: 15U: 20

L: 20U: 25

L: 22U: 30 L: 25

U: 35

10

5

5 5

10

Page 17: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Initial state

Random point

Target

Complete Algorithm

InitializationLoop if trajectory(root, target) collison free then return success loop

newTrajectory=Expand-Treeif newTrajectory != failure and safethen get Primary and Second M.S.for all new M.S. doUpdate-Cost and Prune-Tree

until Time is up if feasible solution found then root best child else if root has children then root random child else generate another root

Page 18: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Application Example

Four plannersA: one node, chosen randomlyB: one node, chosen as the closest oneC: all node sorted in random orderD: all node sorted in the order of increasing

distance

Page 19: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Application Example

Ground robot moving among fixed spheres Helicopter moving among fixed spheres

The planners handle easily

Page 20: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Application Example

Ground robot moving through sliding doorsC, D perform better

Algorithm A Algorithm D

Page 21: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Application Example

Helicopter moving through sliding doorsC, D perform better while A failed

Algorithm B Algorithm D

Page 22: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Conclusion

Deal with system dynamics efficiently Decouple between the high-level motion

plan and low-level control tasks Real time issues

Finite computation timeSafety checkExploration strategy

Future workMotion plan in the uncertain environment

Page 23: Emilio Frazzoli, Munther A. Dahleh and Eric Feron Jingru Luo

Thank You!