150 likes | 167 Views
Motion Planning and Control Using 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
E N D
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: q=0 (down), qdot=0 • Goal configuration: q=p (up), qdot=0
Pendulum Swing-Up • A pendulum of mass m and length l • Motor at joint can apply torques {-1,0,1} single tree, 3300 nodes dual tree, 5600 nodes
Pendulum Swing-Up (Cont.) Torques = {-4, -2, -1, 0, 1, 2, 4}, 4000 iterations
Acrobot Swing-Up [adapted from Sutton & Barto]
Multi-Agent Planning • 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
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:
Dynamic Safety Envelopes • 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 srandRANDOM_STATE(); 4 EXTEND(T, srand); 5 return T EXTEND(T, s) 1 snearNEAREST_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