Upload
others
View
1
Download
0
Embed Size (px)
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