Lecture18 planningandverify tutorialpublish.illinois.edu/safe-autonomy/files/2019/04/Lecture... ·...

Preview:

Citation preview

RRT MPECE/CS498

Pulkit Katdare8th April, 2019

Outline

• Introduction

• Rapidly-Exploring Random Tree

• Controller Design

• Putting it all together

What is Planning?

Motion PlanningGiven initial state !"#"$ and a goal %& , what is the path or sequence ofcontrol inputs that will lead us from start to goal?Possible Issues:• Obstacle avoidance• Nonholonomic systems• Computationally intensive• Nonconvex optimization• Large number of samples required in real-time

Two approaches: optimization-based & sampling-based techniques

Rapidly exploring Random Tree (RRT)Build tree by generating next states through the dynamics by randomly selecting inputs

Rapidly exploring Random Tree (RRT)Build tree by generating next states through the dynamics by randomly selecting inputsGenerate_RRT(!"#"$, &, Δ()).init(!"#"$)for k = 1 to K

!*+#, ß RANDOM_STATE()!#-+* ß NEAREST_NEIGHBOR(!*+#,, )).ß SELECT_INPUT(!*+#,, !#-+*)!#-/ß NEW_STATE(!#-+*, ., Δ()).add_vertex(!#-/)).add_edge(!#-+*, !#-/, .)

Return )

Rapidly exploring Random Tree (RRT)Build tree by generating next states through the dynamics by randomly selecting inputsGenerate_RRT(!"#"$, &, Δ()).init(!"#"$)for k = 1 to K

!*+#, ß RANDOM_STATE()!#-+* ß NEAREST_NEIGHBOR(!*+#,, )).ß SELECT_INPUT(!*+#,, !#-+*)!#-/ß NEW_STATE(!#-+*, ., Δ()).add_vertex(!#-/)).add_edge(!#-+*, !#-/, .)

Return )

How???

Controller Design?

• How to move a robot from point A to point B• We need a model first

• VR : speed of the car• ! : steering of the car

How to figure out this VR and !?

X

Y

x

y

θ

A

BController algorithm

• VR= 0• ! = K(arctan("#) - %)

A

BController algorithm

• VR= Constant• ! = 0.0

A

BController algorithm

• VR= Constant• ! = 0.0

A

BController algorithm

• VR= Constant• ! = 0.0

This MP

Recommended