motion planning and control using rrts [selected slides/movies] michael m. curtiss (ms studennt)...
TRANSCRIPT
Motion Planning and ControlUsing RRTs
[Selected Slides/Movies]
Michael M. Curtiss (MS Studennt)
Michael S. Branicky (Advisor)Electrical Engineering & Computer Science
Case Western Reserve University
May 2002
New Applications of RRTs
We have applied/extended them to:
• Nonlinear planning– pendulum swing-up, acrobot
• Prioritized multi-agent planning– air traffic control
Pendulum Swing-Up• A pendulum of mass m and
length l• Motor at joint can apply
discrete torques• Initial configuration: =0 (down), dot=0• Goal configuration: = (up), dot=0
Pendulum Swing-Up
• A pendulum of mass m and length l
• Motor at joint can apply torques {-1,0,1}
dual tree, 5600 nodes
single tree, 3300 nodes
Pendulum Swing-Up (Cont.)
Torques = {-4, -2, -1, 0, 1, 2, 4}, 4000 iterations
Acrobot Swing-Up
[adapted from Sutton & Barto]
Acrobot: The Movie
QuickTime™ and a decompressorare needed to see this picture.QuickTime™ and a decompressorare needed to see this picture.
• Planning for simplified air traffic control– Airplanes take off from one of six airports and fly to a
destination airport– Airplanes cannot occupy the same cell at the same time,
except adjacent to airports– Airplanes cannot fly directly in front of or behind other
airplanes (preventing swapping)
• Prioritized Planning– A path is planned for each agent in turn– Paths are treated as obstacles in space-time for all future
agents, and are immutable once planned
Multi-Agent Planning
Multi-Agent Planning: The Movie
QuickTime™ and aYUV420 codec decompressorare needed to see this picture.QuickTime™ and aYUV420 codec decompressorare needed to see this picture.
Nonholonomic Airplanes• Six airports• W-Space = [-1,1] x [-1,1]• Safety-radius of 0.03• Rate-constrained turning• Unicycle equations of motion:
• Prioritized Planning:
QuickTime™ and aYUV420 codec decompressorare needed to see this picture.
Dynamic Safety Envelopes
QuickTime™ and aYUV420 codec decompressorare needed to see this picture.
• Lregion=(v2/2)Amax
• Can always stop without
hitting other agents
Hybrid Trajectories
• Hybrid problems require finding valid trajectories from sinit to sgoal
• Trajectory is defined as a sequence of states s, where s=(x,q)
Hybrid RRT Algorithm
BUILD_RRT(sinit)
1 T.init(sinit); 2 for k=1 to K do
3 srand RANDOM_STATE();
4 EXTEND(T, srand); 5 return T
EXTEND(T, s)
1 snear NEAREST_METRIC_NEIGHBOR(s, T)
2 if (NEW_STATE(s, snear, snew, unew) then
3 T.add_vertex(snew)
4 T.add_edge(snear, snew, unew)
Hybrid RRT Changes
• Include discrete state in state space (S=XQ)• Redefine distance metric
– Non-trivial systems must account for discrete state changes in the distance metric
– Stair climbing example, (S=[-20,20]2{1,2,3,4}):
• Introduce switching as an operator– Unrestricted (switching control) or restricted (stair climber)– Autonomous (pogo stick) or controlled (gear shifting)
(c1,c2) = x1-x22 + 20 q1-q2
Stair-Climber Example
QuickTime™ and aCinepak decompressorare needed to see this picture.