Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators
description
Transcript of Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators
Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators
Presented by Huy NguyenApril 28, 2003
Introduction
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).
The ApproachPatrick A. O’Donnell 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.
Task-Completion (TC) Diagram
B
AsB sA
gB
gAsB
gB
sA
gA
Path in C-Space Task-Completion Diagram
Task-Completion (TC) Diagram
B
AsB sA
gB
gA
Task-Completion (TC) Diagram
B
AsB sA
gB
gA
Axes represent segments of robot paths.
Task-Completion (TC) Diagram
B
AsB sA
gB
gA
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.
Task-Completion (TC) Diagram
B
AsB sA
gB
gA
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.
Task-Completion (TC) Diagram
B
AsB sA
gB
gA
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.
Task-Completion (TC) Diagram
A
BsA sB
gA
gB
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!
Greedy Scheduler Demo
B
AsB sA
gB
gA
procedure Greedy Scheduler; begin i:=0; j:=0; while i < m or j < n do begin if Ri,j is collision free then begin if i < m then begin Execute Ai; i:=i+1; end
if j < n then begin Execute Bj; j:=j+1; end end else if i < m and Ri,j-1 is collision free then begin Execute Ai; i:=i+1; end else if j < n and Ri-1,j is collision free then begin Execute Bj; j:=j+1; end Wait for any completion signals; end end
Greedy Scheduler Demo
B
AsB sA
gB
gA
procedure Greedy Scheduler; begin i:=0; j:=0; while i < m or j < n do begin if Ri,j is collision free then begin if i < m then begin Execute Ai; i:=i+1; end
if j < n then begin Execute Bj; j:=j+1; end end else if i < m and Ri,j-1 is collision free then begin Execute Ai; i:=i+1; end else if j < n and Ri-1,j is collision free then begin Execute Bj; j:=j+1; end Wait for any completion signals; end end
Greedy Scheduler Demo
B
AsB sA
gB
gA
procedure Greedy Scheduler; begin i:=0; j:=0; while i < m or j < n do begin if Ri,j is collision free then begin if i < m then begin Execute Ai; i:=i+1; end
if j < n then begin Execute Bj; j:=j+1; end end else if i < m and Ri,j-1 is collision free then begin Execute Ai; i:=i+1; end else if j < n and Ri-1,j is collision free then begin Execute Bj; j:=j+1; end Wait for any completion signals; end end
Deadlock
B
AsB sA
gB
gA
Greedy Scheduler can become Deadlocked.
SW-closure
.
B
AsB sA
gB
gA
Can avoid deadlock by computing SW-closure of union of collision regions to fills in non-convexities.
Parallelism 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
Increasing Potential Parallelism
B
A
TC Diagram may have collision regions near diagonal because of original choice of paths.
Increasing Potential Parallelism
B
A
B
A
For a problematic collision region, replan path between the initial and final points of A by using swept volume of B as an obstacle.
New path may change collision rectangles and/or execution times.
Changing 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
Conclusions 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?
End
Special thanks to Chris Clark and Guha Jayachandran for the diagrams!
Previous 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.
Previous 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.