23
Deadlock-Free and Collision- Free Coordination of Two Robot Manipulators Presented by Huy Nguyen April 28, 2003

Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

  • Upload
    vanya

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: 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

Page 2: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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).

Page 3: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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.

Page 4: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

Task-Completion (TC) Diagram

B

AsB sA

gB

gAsB

gB

sA

gA

Path in C-Space Task-Completion Diagram

Page 5: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

Task-Completion (TC) Diagram

B

AsB sA

gB

gA

Page 6: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

Task-Completion (TC) Diagram

B

AsB sA

gB

gA

Axes represent segments of robot paths.

Page 7: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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.

Page 8: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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.

Page 9: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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.

Page 10: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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!

Page 11: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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

Page 12: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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

Page 13: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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

Page 14: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

Deadlock

B

AsB sA

gB

gA

Greedy Scheduler can become Deadlocked.

Page 15: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

SW-closure

.

B

AsB sA

gB

gA

Can avoid deadlock by computing SW-closure of union of collision regions to fills in non-convexities.

Page 16: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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

Page 17: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

Increasing Potential Parallelism

B

A

TC Diagram may have collision regions near diagonal because of original choice of paths.

Page 18: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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.

Page 19: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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

Page 20: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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?

Page 21: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

End

Special thanks to Chris Clark and Guha Jayachandran for the diagrams!

Page 22: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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.

Page 23: Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators

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.