Title: Motion Planning and Control Using RRTs Selected SlidesMovies
1Motion Planning and ControlUsing RRTsSelected
Slides/Movies
- Michael M. Curtiss (MS Studennt)
- Michael S. Branicky (Advisor)
- Electrical Engineering Computer Science
- Case Western Reserve University
- May 2002
2New Applications of RRTs
- We have applied/extended them to
- Nonlinear planning
- pendulum swing-up, acrobot
- Prioritized multi-agent planning
- air traffic control
3Pendulum Swing-Up
- A pendulum of mass m and length l
- Motor at joint can apply discrete torques
- Initial configuration
- q0 (down), qdot0
- Goal configuration
- qp (up), qdot0
4Pendulum 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
5Pendulum Swing-Up (Cont.)
Torques -4, -2, -1, 0, 1, 2, 4, 4000
iterations
6Acrobot Swing-Up
adapted from Sutton Barto
7Acrobot The Movie
8Multi-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
9Multi-Agent Planning The Movie
10Nonholonomic Airplanes
- Six airports
- W-Space -1,1 x -1,1
- Safety-radius of 0.03
- Rate-constrained turning
- Unicycle equations of motion
- Prioritized Planning
11Dynamic Safety Envelopes
- Lregion(v2/2)Amax
- Can always stop without hitting other agents
12Hybrid Trajectories
- Hybrid problems require finding valid
trajectories from sinit to sgoal - Trajectory is defined as a sequence of states s,
where s(x,q)
13Hybrid RRT Algorithm
- BUILD_RRT(sinit)
- 1 T.init(sinit)
- 2 for k1 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)
14Hybrid RRT Changes
- Include discrete state in state space (SX?Q)
- Redefine distance metric
- Non-trivial systems must account for discrete
state changes in the distance metric - Stair climbing example, (S-20,202?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-x2??2 20 ?q1-q2?
15Stair-Climber Example