360 likes | 538 Views
Manipulation Planning. In 1995 Alami, Laumond and T. Simeon proposed to solve the problem by building and searching a ‘manipulation graph’. The problem :. The problem : Constraints : The movable objects cannot move by itself.
E N D
In 1995 Alami, Laumond and T. Simeon proposed to solve the problem by building and searching a ‘manipulation graph’.
The problem: • Constraints: • The movable objects cannot move by itself. • The movable objects cannot be left alone in unstable positions.
The problem: • We consider the composite configuration space of the robot and all movable objects: CS = CSR x (CSA x CSB x…) • Where CSR is the configuration space of the robot and CSA, CSB,… are the configuration spaces of the movable objects.
We obtain a ‘manipulation-path’ (solid blue line) between two configurations in the composite C-space. • Not any path (like the dotted ones) in the free space is a manipulation path.
A manipulation path: • Satisfies the physical constraints of the problem • Consists of alternation of: • Transit Path • Transfer Path
Transit Path: The robot moves from its current configuration, to any configuration that enables the part to grasping an object. • Transfer Path: The robot carries the grasped object to its desired goal configuration.
A manipulation path: • Satisfies the physical constraints of the problem • Consists of alternation of: • Transit Path • Transfer Path
Few more definitions… • PLACEMENT: the subspace of free CS containing all valid placements for all objects, i.e. placements which respect the physical constraints. In PLACEMENT: Not in PLACEMENT:
Few more definitions… • G-connectivity: 2 configurations of free(CS) are g-connected if they are connected by a transfer path.
Few more definitions… • GRASP: the subspace of free(CS) containing the configurations which are g-connected with a configuration of PLACEMENT.
The case of discrete PLACEMENTS and GRASPS for several movable objects:
The case of discrete PLACEMENTS and GRASPS for several movable objects: • Consider a robot R and two moveable objects A and B. • Let p1A , p2A ,… є CSA and p1B , p2B ,… є CSB the valid placements for A and B respectively.
The case of discrete PLACEMENTS and GRASPS for several movable objects: • Consider a robot R and two moveable objects A and B. • Let p1A , p2A ,… є CSA and p1B , p2B ,… є CSB the valid placements for A and B respectively. • Let GA1 , GA2,…andGB1 , GB2,… be finite number of possible grasps for A and B.
The case of discrete PLACEMENTS and GRASPS for several movable objects: • For a given start and goal position in the composite C-space CS = CR x CA x CB, obtain a manipulation path by building and searching a manipulation graph.
Building the manipulation graph: • Building the nodes • Nodes of the graph is the set GRASP ∩ PLACEMENT
GRASP: • PLACEMENT: • GRASP ∩ PLACEMENT:
Building the manipulation graph: • Building the nodes • Nodes of the graph is the set GRASP ∩ PLACEMENT
Building the manipulation graph: • Building the nodes • Nodes of the graph is the set GRASP ∩ PLACEMENT • Building the edges • Nodes are linked by transit edges or transfer edges.
Building the manipulation graph: • Building the nodes • Nodes of the graph is the set GRASP ∩ PLACEMENT • Building the edges • Nodes are linked by transit edges or transfer edges. • A transit edge exists between two nodes if they belong to the same transit state C(_, pAi, pBj).
Building the manipulation graph: • Building the nodes • Nodes of the graph is the set GRASP ∩ PLACEMENT • Building the edges • Nodes are linked by transit edges or transfer edges. • A transit edge exists between two nodes if they belong to the same transit state C(_, pAi, pBj).
Building the manipulation graph: • Building the nodes • Nodes of the graph is the set GRASP ∩ PLACEMENT • Building the edges • Nodes are linked by transit edges or transfer edges. • A transit edge exists between two nodes if they belong to the same transit state C(_, pAi, pBj). • A transfer edge can be build between two nodes if they belong to the same transfer state C(GAi , _, pBj) or C(GBi , pAj ,_).
Building the manipulation graph: • Building the nodes • Nodes of the graph is the set GRASP ∩ PLACEMENT • Building the edges • Nodes are linked by transit edges or transfer edges. • A transit edge exists between two nodes if they belong to the same transit state C(_, pAi, pBj). • A transfer edge can be build between two nodes if they belong to the same transfer state C(GAi , _, pBj) or C(GBi , pAj ,_).
The manipulation graph looks like : Finally graph search is done to find a manipulation path.
Implementation: • Manipulation Task Planner • Builds the manipulation graph and searches a manipulation path using A* Algorithm. • Motion Planner • Computes the edges of the graph.
Extension from discrete to infinite set of grasps: • Now the discrete configurations of the set GRASP ∩ PLACEMENT is replaced by connected components of GRASP ∩ PLACEMENTobtained by its cell decomposition.