Multi-Arm Manipulation Planning (1994) Yoshihito Koga Jean-Claude Latombe
Motivation For Multi-Arm Planning Improved efficiency through simultaneous motion Cooperate to move heavy/bulky objects Increased workspace of the moving objects by passing the object from one arm to the other
Problem Overview 3D Workspace Movable object M, with 6 degrees of freedom Multiple robot arms working together to move M from initial to goal configuration
Grasping A grasp is a rigid attachment of the last link in an arm to M Predefined finite grasp set set associated with M 2 Types of movable objects considered: Those that can be moved by a single grasping robot Those that can be moved by 2 grasping robots
Algorithm Overview Particularly designed for problems of a complexity found in manufacturing (assembling, welding, etc.) Problems of this type are so complicated with so many degrees of freedom that it is not feasible to search the whole configuration space Sacrifice completeness in nasty cases by making reasonable assumptions for these types of problems Decompose path planning process into smaller pieces
Space Types Stable space: set of all legal configurations where movable object M is statically stable Grasp space: set of all legal configurations where at least one robot is grasping M with sufficient torque to move it
Path Types Transit path: arm motions that do not change position of M Transfer path: arm motions that changes position of M Manipulation Path: alteration of transit and transfer paths from initial configuration to goal configuration
Algorithm Intuition Stage 1: Plan all transfer tasks in sequence, defining exactly when and where grasp transfers of M are made Stage 2: Fill in each transit path (start and goal configurations were exactly defined by transfer tasks)
Algorithm Intuition This decomposition greatly reduces search time Makes assumption that some valid transit path must exist between the 2 valid endpoint configurations defined in the transfer path phase; not unreasonable for arms in 3D space
Stage 1: Transfer Path Generation Generation of a path obj that defines a path of M from start to goal such that the necessary number of arms are grasping M at all times Might involve several changes changes of grasping arms Uses a modified version of the RPP algorithm
Modified RPP Iteratively moves M toward the goal in small steps determined by a potential field At each step M cannot intersect with an obstacle, and there must be some legal grasping of M
Modified RPP Maintain a set of possible grasp assignments first computed at the initial state At each step of RPP, if any grasp in this set is no longer possible, remove it from the grasp set If the grasp set becomes empty recompute all possible grasp assignments for that position of M; this represents a grasp change and a transit path will have to be planned
Modified RPP Assume that each arm has some predefined non- obstructive position that it can move while other arms are involved in a transfer path
Stage 2: Transit Path Generation Transfer path planning phase defines several transit path problems; assume each is solvable First and last transit paths are easy and can be solved with a normal planning algorithm such as regular RPP Middle transit paths (between 2 transfer paths) are harder because we must change grasps while maintaining M in a stable configuration
Stage 2: Transit Path Generation Transit task might require several regrasps to solve Generate all grasping assignments achievable from initial configuration Generate successors of these grasping assignments until goal grasp is achieved
Simple Example
Conclusion Fast but not necessarily complete Planned paths are good in terms of distance traveled by M and number of regrasps done in that path Parallel processing possible
Limitations/Extensions Take advantage of stable configurations on the floor or some obstacle Multiple movable objects More realistic models of dynamics and torques