200 likes | 212 Views
A method to coordinate robot trajectories to prevent collisions and deadlocks. Goals include independent robot motions, safe trajectories, and no precise time coordination. Approach as a scheduling problem using Task Completion Diagrams for safe schedules. Prevent deadlocks with SW closures and make new schedule based on T.C. Diagram. Consider parallelism and change task assignments dynamically. Compare with older approaches and suggest using Probabilistic Roadmaps for better coordination.
E N D
A presentation on Deadlock-Free and Collision-Free Coordination of Two Robot ManipulatorsPatrick A. O’Donnell and Tomás Lozano-Pérez by Guha Jayachandran April 22, 2002
What’s it all about? A method for coordinating the trajectories of two robots so that they don’t collide -- and don’t deadlock either.
What’s it all about? A method for coordinating the trajectories of two robots so that they don’t collide -- and don’t deadlock either.
What’s it all about? A method for coordinating the trajectories of two robots so that they don’t collide -- and don’t deadlock either. I’m waiting for you! I’m waiting for you!
Goals Goal is to do this in such a way that - Each robot’s motions can be planned nearly independently, - Outputted trajectories guarantee that the robots reach their goals, - Trajectories can be executed without precise time coordination between manipulators, and - Safety of the manipulators should not depend on accurate trajectory control of individual manipulators.
Assumptions The manipulators are loosely coupled, not tightly coupled. The path of each robot can be planned ahead of time in such a way that it avoids collisions with all obstacles (except the other robot). Note that this doesn’t mean trajectories are predictable.
Idea: Make into a Scheduling Problem We have pre-planned path for each manipulator. Each of these paths is composed of a sequence of path segments. We roughly estimate the time to execute each path segment. With this information, the trajectory coordination problem has become a scheduling problem with space as the shared resource! Attack the problem as such...
g A s s g Using a Task Completion Diagram On horizontal axis, segments of the path for robot B. On vertical axis, segments of the path for robot A. If volume swept out by robot B while travelling path segment i overlaps with volume swept out by robot A while travelling segment j, then shade in square (i, j). The union of shaded squares are the collision regions. B Diagram from Chris Clark’s 2001 presentation.
g A s s g B A Safe Schedule Schedule is any non-decreasing curve that connects lower left corner to top right corner. Safe schedule is a schedule that doesn’t penetrate the interior of the union of the collision rectangles.
g g s Greedy Algorithm to Fill in Diagram g A s s g B Clearly, gives collision free path...
Preventing Deadlocks …but need to do more to prevent deadlock. SW closure of collision regions fills in non convexities in connected components of the union of the collision regions. A A schedule exists iff neither the origin nor the goal is part of any collision or SW closure region. B
Making Schedule from T.C. Diagram Few approaches: - Local method. Assumes there is a central controller that initiates the motions for both manipulators. (Like Greedy shown previously) - Decentralized (also could be with Greedy). A shaded square is a lock that can be indivisibly tested and set. - Others.
Parallelism Parallelism => Smaller execution time Modify T.C. diagram so that axes correspond to expected execution time. Each path segment’s expected time determines dimension in diagram. New segment A A B B
A B A B More Parallelism Replan path for a particular segment which is problematic. Pick a collision square (or larger collision region formed from union of collision squares) such that: 1. Region is shaded because of a collision and not because of SW closure. 2. Initial and final positions of path segments giving rise to collision region are free of collisions. 3. Region is large enough that it causes a significant increase in total time of the best schedule to go around it.
Changing the Task What about when task assignments not fixed? Like if one robot gets delayed and want another to take over. Use expanded diagram containing all combinations of assignments to task steps to different robots. Start position for each task must be same. In simple case, end same as start. A 1 3 2 1 1 2 3 B
Even Older Approaches Two types: Global ones constructed complete trajectory for each robot one at a time. Depended on carefully controlled trajectories and coordination and was expensive. Local ones (like using collision avoidance and coordination) decide trajectory as go, based on measurements of position. Deadlock a real possibility and not well suited to where paths tightly constrained. Big difference: Decoupling of path specification from trajectory specification.
How Probabilistic Roadmaps Could be Used Not in the paper (1989), but P.R.M.’s could probably be used to improve approach. Two possible ways...
Use P.R.M. with All D.O.F. Using probabilistic roadmap, we could just consider the two manipulators as one. That is, construct roadmap that incorporates all degrees of freedom of both robots plus time. Since probabilistic roadmaps handle high dimensionality well, this should work fine.
Make P.R.M. Instead of Using Grid Instead of using greedy algorithm to find path along grid segments, ignore the grid lines and construct a P.R.M. in 2D space to find a path from start to goal in the diagram. Avoid drawbacks of discretization. g A s B s g
Final Thoughts A simple useful algorithm. Key pluses: paths can be planned independently, does not need lock step coordination, not computationally expensive, avoids deadlock. Scalability, importance of good path segmentation are issues to consider. Can be improved by techniques developed over the past 13 years.