Title: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators
1Deadlock-Free and Collision-Free Coordination of
Two Robot Manipulators
- Presented by Huy Nguyen
- April 28, 2003
2Introduction
- Goal
- Coordinate the trajectories of two robot
manipulators so as to avoid collisions and
deadlock. - Definitions
- path Curve in C-space.
- trajectory Time history of positions along
path (curve in state space).
3The Approach
- Patrick A. ODonnell and Tomas Lozano-Perez 89
- Decouple path specification step from trajectory
specification step. - Assume path of each manipulator has been planned
off-line and is composed of a sequence of path
segments. - Assume that we can estimate the time required to
execute each segment. - Trajectory coordination problem is a scheduling
problem where space is the shared resource. -
4Task-Completion (TC) Diagram
Task-Completion Diagram
Path in C-Space
gB
gB
B
gA
sA
sB
sA
gA
A
sB
5Task-Completion (TC) Diagram
gB
B
sB
sA
gA
A
6Task-Completion (TC) Diagram
- Axes represent segments of robot paths.
gB
B
sB
sA
gA
A
7Task-Completion (TC) Diagram
- Axes represent segments of robot paths.
- Rectangle Rij is shaded if the swept volume of
the ith path segment of A collides with swept
volume of jth path segment of B.
gB
B
sB
sA
gA
A
8Task-Completion (TC) Diagram
- Axes represent segments of robot paths.
- Rectangle Rij is shaded if the swept volume of
the ith path segment of A collides with swept
volume of jth path segment of B. - A schedule is a non-decreasing curve that
connects lower-left corner of diagram to
top-right corner.
gB
B
sB
sA
gA
A
9Task-Completion (TC) Diagram
- Axes represent segments of robot paths.
- Rectangle Rij is shaded if the swept volume of
the ith path segment of A collides with swept
volume of jth path segment of B. - A schedule is a non-decreasing curve that
connects lower-left corner of diagram to
top-right corner. - A safe schedule is a schedule that never
penetrates interior of union of collision
rectangles.
gB
B
sB
sA
gA
A
10Task-Completion (TC) Diagram
- Axes represent segments of robot paths.
- Rectangle Rij is shaded if the swept volume of
the ith path segment of A collides with swept
volume of jth path segment of B. - A schedule is a non-decreasing curve that
connects lower-left corner of diagram to
top-right corner. - A safe schedule is a schedule that never
penetrates interior of union of collision
rectangles. - Boundaries of collision rectangles are safe!
gA
A
sA
sB
gB
B
11Greedy Scheduler Demo
procedure Greedy Scheduler begin i0
j0 while i lt m or j lt n do
begin if Ri,j is collision free
then begin if i lt m
then begin Execute Ai
ii1 end if j lt n then
begin Execute Bj jj1 end
end else if i lt m and
Ri,j-1 is collision free then
begin Execute Ai ii1 end else
if j lt n and Ri-1,j is collision
free then begin Execute Bj
jj1 end Wait for any completion
signals end end
gB
B
sB
sA
gA
A
12Greedy Scheduler Demo
procedure Greedy Scheduler begin i0
j0 while i lt m or j lt n do
begin if Ri,j is collision free
then begin if i lt m
then begin Execute Ai
ii1 end if j lt n then
begin Execute Bj jj1 end
end else if i lt m and
Ri,j-1 is collision free then
begin Execute Ai ii1 end else
if j lt n and Ri-1,j is collision
free then begin Execute Bj
jj1 end Wait for any completion
signals end end
gB
B
sB
sA
gA
A
13Greedy Scheduler Demo
procedure Greedy Scheduler begin i0
j0 while i lt m or j lt n do
begin if Ri,j is collision free
then begin if i lt m
then begin Execute Ai
ii1 end if j lt n then
begin Execute Bj jj1 end
end else if i lt m and
Ri,j-1 is collision free then
begin Execute Ai ii1 end else
if j lt n and Ri-1,j is collision
free then begin Execute Bj
jj1 end Wait for any completion
signals end end
gB
B
sB
sA
gA
A
14Deadlock
- Greedy Scheduler can become Deadlocked.
gB
B
sB
sA
gA
A
15SW-closure
- Can avoid deadlock by computing SW-closure of
union of collision regions to fills in
non-convexities.
.
gB
B
sB
sA
gA
A
16Parallelism
- Previously, we could only execute one segment of
A and/or B at each step. - Parallelism decreases execution time.
- Axes correspond to expected execution time.
- Want a nearly diagonal path.
B
A
17Increasing Potential Parallelism
- TC Diagram may have collision regions near
diagonal because of original choice of paths.
B
A
18Increasing Potential Parallelism
- For a problematic collision region, replan path
between the initial and final points of A by
using swept volume of B as an obstacle.
B
B
A
A
New path may change collision rectangles and/or
execution times.
19Changing Tasks
- Allow one robot to deal with significant delay in
the other. - Construct TC diagram assuming each robot will
carry out all tasks. - Allow jumps to nonadjacent regions (assume end of
one cycle is beginning of another.
B
A
20Conclusions
- Interesting Ideas
- Decoupling of path and trajectory planning.
- Interpretation as scheduling problem and use of
the Task-Completion diagram. - Only use space-time planning for collisions near
diagonal to increase parallelism. - Questions/Concerns
- Scalability. Computing all potential collisions
is expensive. - Actual results? Comparisons?
21End
- Special thanks to Chris Clark and
- Guha Jayachandran for the diagrams!
22Previous Approaches
- Global Methods
- Construct complete collision-free trajectories.
- Example
- Construct Configuration Space-Time and compute
trajectories for each robot one at a time, using
swept volume (in space-time) of previous
trajectories as obstacles. - Pros
- Guarantee that robots will reach goal.
- Cons
- Depends on carefully controlled trajectories.
23Previous Approaches
- Local Methods
- Decide at each point in time the trajectory for
each robot. - Example
- At each point in time, define separating planes
and ensure that objects stay on opposite sides. - Pros
- Can accommodate unexpected variations in
trajectories or unexpected obstacles. - Cons
- May reach deadlock.
- Rely on changing paths to avoid collisions.