NUS CS5247 Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators By Patrick A. O’Donnell and Tomás Lozano-Pérez MIT Artificial Intelligence Laboratory 545 Technology Square Cambridge, MA., Presented by Zhang Jingbo
NUS CS52472 Outline Motivation, Background and Our goal The key problems and Some terminology Environment and Goals for our trajectory coordinator Related work and Previous approaches Our approach Further discussion Summary
NUS CS52473 Motivation Introduce a method for coordinating the trajectories of two robot manipulators so as to avoid collisions between them.
NUS CS52474 Background Whenever multiple robots must operate in close proximity to each other, the potential for collision must be taken into account in specifying the robot trajectories.
NUS CS52475 Our goal To allow the motions of each manipulator to be planned nearly independently and to allow the execution of the path segments to be asynchronous. That is, (1). Coordinating two robot manipulators so as to avoid collisions between them; (2). Guarantee the trajectories will reach their goals
NUS CS52476 The key problems To avoid 1. Collisions between the two robots. 2. Deadlock
NUS CS52477 Some terminology Path: the shape of the curve in the robot’s configuration space. Trajectory: the time history of positions along a path, that is, a curve through the robot’s state space. Path Vs Trajectory: a given path may have infinitely many possible trajectories.
NUS CS52478 Environment Robots’s paths are predictable: We can predict the paths of manipulators off-line to avoid all the other static objects in the environments. Robots’s trajectories are less predictable: Eg, arc welding, sensor-based operation, unavoidable error in the controller.
NUS CS52479 Goals for our trajectory coordinator It should be possible to plan the path for each manipulator essentially independently. The resulting trajectories should guarantee that the manipulators will reach their goals. It should be possible to execute the trajectories without precise time coordination between the manipulators. The safety of the manipulators should not depend on accurate trajectory control of individual manipulators.
NUS CS Related work and Previous approaches Global and local approaches to trajectory coordination of multiple manipulators. Global methods Local methods Drawbacks for these two methods Global methods: depend on carefully controlled trajectories; the methods are computationally intensive Local methods: based on actual measurements of the robots’s positions; cannot guarantee reaching goals; May reach a deadlock; Not suited when the paths are tightly constrained
NUS CS Our approach —— Scheduling Decouple the path specification step from the trajectory specification step. Avoid all collisions by using time. Assumption about the path: a. The path planned off-line and composed of a sequence of path segments. b. The path constrained within the bounding box of the initial and final joint values of the segment. c. Paths can be produced by typical linear joint interpolations. d. Executing time for each path segment can be estimate roughly.
NUS CS Task-Completion Diagram
NUS CS A Schedule for the task
NUS CS Simple scheduling algorithm
NUS CS A partial schedule that leads to a deadlock
NUS CS How to solve this problem?
NUS CS Compute the SW-closure of the collision regions
NUS CS Some modifications and moving on We make the segment length be proportional to estimated time. The safe areas including the goal and the origin must be connected. Two methods to construct a schedule. 1. local method: a. Greedy Schedule with central controller b. Greedy Schedule with decentralized version. 2. global method: marching down a list that issuing START/WAIT commands.
NUS CS Decentralized Greedy Scheduling A i : lock( R i,j ) A i unlock( R i,j ) B j : lock( R i,j ) B j unlock( R i,j ) Each shaded R i,j becomes a “lock”. When reaching the region of R i,j : — A’s controller must grab the locks of the shaded — A’s controller must grab the locks of the shaded R i,j, for all j before executing path segment A i. R i,j, for all j before executing path segment A i. — B’s controller must grab the locks of the shaded — B’s controller must grab the locks of the shaded R i,j, for all i before executing path segment B j. R i,j, for all i before executing path segment B j.
NUS CS How to find an optimal / best schedules ? Answer: To increase the parallelism of the schedule and change our selection of path.
NUS CS524721
NUS CS Principles about how to increase the potential parallelism We pick R i,j or a larger collision region formed from the union of several R i,j such that: 1. The region is shaded because of a collision and not because of the SW-closure operation. 2. The initial and final positions of the path segments giving rise to the collision region are free of collision. 3. The region is large enough that it causes a significant increase in the total time of the best schedule to go around it.
NUS CS The impact of variable segment time Earlier, we indicated that in many applications, the execution times for path segments cannot be predicted reliably, especially in situations involving sensing or variable-time processes. May change the choice of the best schedule. Strategy: simply redo the coordination.
NUS CS524724
NUS CS Further discussion Changing the Task Testing for Collisions
NUS CS Summary Background introduction 1. Motivation and Our goal 2. The key problem 3. Relative work and previous approaches Our approach——Scheduling 1. Approach statement 2. Avoid deadlock problem 3. Modification and moving deeper in discussion Further discussion
NUS CS Thank you