230 likes | 388 Views
Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators. Presented by Huy Nguyen April 28, 2003. Introduction. Goal Coordinate the trajectories of two robot manipulators so as to avoid collisions and deadlock . Definitions path – Curve in C-space.
E N D
Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators Presented by Huy Nguyen April 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 Approach Patrick 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 Task-Completion Diagram Path in C-Space gB gB gA B sA sB sA gA sB A
Task-Completion (TC) Diagram gB B sB sA gA A
Task-Completion (TC) Diagram • Axes represent segments of robot paths. gB B sB sA gA A
Task-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
Task-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
Task-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
Task-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
Greedy Scheduler Demo procedure Greedy Scheduler; begin i:=0; j:=0; whilei < m or j < n do begin ifRi,j is collision free then begin ifi < mthen begin Execute Ai; i:=i+1; end ifj < nthen begin Execute Bj; j:=j+1; end end else ifi < m and Ri,j-1 is collision free then begin Execute Ai; i:=i+1; end else ifj < n and Ri-1,j is collision free then begin Execute Bj; j:=j+1; end Wait for any completion signals; end end gB B sB sA gA A
Greedy Scheduler Demo procedure Greedy Scheduler; begin i:=0; j:=0; whilei < m or j < n do begin ifRi,j is collision free then begin ifi < mthen begin Execute Ai; i:=i+1; end ifj < nthen begin Execute Bj; j:=j+1; end end else ifi < m and Ri,j-1 is collision free then begin Execute Ai; i:=i+1; end else ifj < n and Ri-1,j is collision free then begin Execute Bj; j:=j+1; end Wait for any completion signals; end end gB B sB sA gA A
Greedy Scheduler Demo procedure Greedy Scheduler; begin i:=0; j:=0; whilei < m or j < n do begin ifRi,j is collision free then begin ifi < mthen begin Execute Ai; i:=i+1; end ifj < nthen begin Execute Bj; j:=j+1; end end else ifi < m and Ri,j-1 is collision free then begin Execute Ai; i:=i+1; end else ifj < n and Ri-1,j is collision free then begin Execute Bj; j:=j+1; end Wait for any completion signals; end end gB B sB sA gA A
Deadlock • Greedy Scheduler can become Deadlocked. gB B sB sA gA A
SW-closure • Can avoid deadlock by computing SW-closure of union of collision regions to fills in non-convexities. . gB B sB sA gA A
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 • TC Diagram may have collision regions near diagonal because of original choice of paths. B A
Increasing 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.
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.