87
Planning for Deformable Parts

Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Embed Size (px)

Citation preview

Page 1: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Planning for Deformable Parts

Page 2: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Holding Deformable Parts

How can we plan holding of deformable objects?

Page 3: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Deformable parts

• “Form closure” does not apply:

Can always avoid collisions by deforming the part.

Page 4: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

• Deformation Space: A Generalization of Configuration Space.

• Based on Finite Element Mesh.

D-Space

Page 5: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Deformable Polygonal parts: Mesh

• Planar Part represented as Planar Mesh.

• Mesh = nodes + edges + Triangular elements.

• N nodes• Polygonal boundary.

Page 6: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

D-Space• A Deformation:

Position of each mesh node.

• D-space: Space of all mesh deformations.

• Each node has 2 DOF.

• D-Space: 2N-dimensional Euclidean Space.

30-dimensional D-space

Page 7: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Nominal mesh configuration

Deformed mesh configuration

Deformations

• Deformations (mesh configurations) specified as list of translational DOFs of each mesh node.

• Mesh rotation also represented by node displacements.

• Nominal mesh configuration (undeformed mesh): q0.

• General mesh configuration: q.

q0

q

Page 8: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

D-Space: Example

• Simple example:

3-noded mesh, 2 fixed.

• D-Space: 2-dimensional Euclidean Space.

• D-Space shows moving node’s position.

x

y

Phy

sica

l spa

ceD

-Spa

ce

q0

Page 9: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Topological Constraints: DT

x

y

Phy

sica

l spa

ceD

-Spa

ce

• Mesh topology maintained.

• Non-degenerate triangles only.

DT

Page 10: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Topology violating

deformation

Undeformed part

Allowed deformation

Self Collisions and DT

TDq

TDq

Page 11: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

D-Obstacles

x

y

Phy

sica

l spa

ceD

-Spa

ce

• Collision of any mesh triangle with an object.

• Physical obstacle Ai has an image DAi in D-Space.

A1

DA1

Page 12: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

D-Space: Example

Phy

sica

l spa

ce

x

y

D-S

pace

Page 13: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Potential Energy Needed to Escape from a Stable Equilibrium• Consider:

Stable equilibrium qA, Equilibrium qB.

• Capture Region:

K(qA) Dfree, such that any configuration in K(qA) returns to qA.

qA

qB

q

U(q)

K( qA )

Page 14: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

• UA (qA) = Increase in Potential Energy needed to escape from qA.

= minimum external work needed to escape from qA.

• UA: Measure of “Deform Closure Grasp

Quality”

qA

qB

q

U(q)

UA

Potential Energy Needed to Escape from a Stable Equilibrium

K( qA )

Page 15: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Deform Closure

qA

qB

q

U(q)

Page 16: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

MOTION PLANNING FOR DEFORMABLE OBJECTS

From slides by Ilknur Kaynar-Kabul

Page 17: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Introduction Algorithms so far

the world was assumed to be made of rigid objects

Why deformable objects? Deformable moving objects

(wires, metal sheets) Deformable obstacles

(e.g., human-body tissue structures)

Need for physical model

Page 18: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

First Paper: Planning paths for elastic objects under manipulation constraints (Lamiraux and

Kavraki)

Energy model

Page 19: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Second Paper: Probabilistic Roadmap Motion Planning for Deformable Objects

(O. Burchan Bayazit, Jyh-Ming Lien, Nancy M.Amato)

Page 20: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Planning Paths for Elastic Objects Under

Manipulation Constraints

Florent Lamiraux

Lydia E. Kavraki

Rice University

Int. J. Robotics Research, 2001.

Page 21: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Introduction• Goal: Plan paths for elastically

deformable objects in a static environment

• What is hard?• Representing the shape of an object

with a possibly infinitely dimensional configuration space

• Computing object shapes under actuator loading conditions

• Collision checking for a shape-changing object

Page 22: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Problem Definition

• What objects are considered?• Elastically deformable objects constrained

by two actuators• Shape is determined by the lowest energy

state for a given configuration of the actuators

• Only the actuators

are responsible for deformations (object cannot touch obstacles)

ACTUATORS constrain the position of a subset of the points

of the object

Page 23: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Problem Definition• In general, the configuration of an elastic

object can be infinite-dimensional and cannot be represented by a vector

• Configuration• Rest configuration q0

• Configuration q corresponds to mapping object through deformation

VoVq

Configuration q0 Configuration q

Page 24: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Problem Definition• Manipulation Constraints

• Actuators constrain a subset of points V0p in V0

• Denote M as set of possible actuator positions and m is one of these positions in M

• For all x in V0p there is a mapping Xm from V0 to

Vq

For a given position m of the actuators, points V0p are moved to Xm(V0

p)The position of the other points of the objects should be such that the elastic energy of the object is minimized.

Page 25: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Problem Definition• Stable Equilibrium Configurations

• Motion is slow enough to consider quasi-static paths – only stable equilibrium configurations

• Stable equilibrium configurations are shapes at which the elastic energy is minimized

Minimum Energy Cannot form this with two actuators

Page 26: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Problem Definition• Elastically Admissible

Configurations• Elastic materials have a range of elastic

deformation, large deformations may exceed this range and permanently deform

• A range of elastic e(x) is defined for each point x

• Admissible configurations are those in which e(x) is within the elastic range for all x in V0

Page 27: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Problem Definition• In path planning, “collision-free

paths” are not enough – other conditions must be met• Manipulability: every point along the

path must meet the actuator constraints• Quasi-static equilibrium: every point

along the path must be in stable equilibrium (a minimum energy shape)

• Elastic admissibility: no points along the path exceed the elastic limits of the material

Page 28: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Algorithm

• PRM approach is used, similar to conventional planners• Initial/Final configurations are chosen • Random free stable equilibrium

configurations are chosen as nodes in roadmap

• Nodes are connected by a local planner to form edges

• Decompose deformation and position of object to save computing time

Page 29: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Algorithm

• The following steps are repeated until qinit and qgoal are in the same connected component of the roadmap:• Node generation• Node connection• Enhancement

Page 30: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Node Generation

• A random manipulator position is chosen and minimum energy shape calculated and admissibility is checked

Page 31: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Node Generation

• Random rigid-body motions are evaluated for collision-free configurations

Rigid body motion is applied

Page 32: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Node Generation

• Random rigid-body motions are evaluated for collision-free configurations

collision

Page 33: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Node Generation

• N collision-free configurations are found for the same deformation

Page 34: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Node Connection

• Each newly generated node is tested for connection with its K closest neighbors

Distance function is evaluated

Page 35: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Node Connection

• Distance function should account for rigid body transformation and deformation

Distance total = distance transformation + distance deformation

Page 36: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Node Connection

• Connections are performed by a deterministic local planner that generates quasi-static paths between pairs of configurations.

Edges

Page 37: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Node Connection

• Local planner checks for collisions and admissibility

Not a valid edgeViolates elasticity limits

Not a valid edgeThere exist collision

Page 38: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Enhancement

• Under the assumption that unconnected nodes are in difficult parts of the configuration space, add more nodes in these difficult areas

Page 39: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Enhancement

• Randomly walk away from unconnected nodes in the same configuration for a certain distance, reflecting off obstacles

• A total of M enhancement nodes are added

Page 40: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Path finding for a given qinit and qgoal

• A graph search can yield a sequence of edges leading from qinit and qgoal

• Concatenation of local paths results in a global path

• We look for a path that minimizes the number of distinct deformations of the nodes of V belonging to the path

-> reduce unnecessary deformations

Page 41: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Distance Metric

• Distance d(p,q) = dd(p,q) + dr(p,q)

• dd is deformation distance, defined as the maximum distance a point moves in the local frame during a deformation

• dr is rigid body translation and rotation distance, defined as the Euclidean distance in R6

Page 42: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Path Planning Algorithm• Collision Checking

• With the decoupled motions, a standard collision checking algorithm can be applied, the research in this paper used RAPID (OBB-trees)

• By keeping deformation separate from position, deformations can be stored and reused speeding up collision checking

Page 43: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Experimental Results• Bending Plate

• 7 Dimensional problem• 6 for placement• 1 for deformation

Page 44: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Experimental Results• Bending Plate

• The actuators are along the 2 opposite long edges

• They are always parallel• Actuators constrain the distance d <= L

between the opposite edges• Thus, deformation is one dimensional

Page 45: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Experimental Results• Bending Plate

N = 200 K = 40 M = 100

Avg run time – 22.7 min

Avg # nodes – 12,500

Page 46: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Experimental Results• Bending Plate

• 9 Dimensional problem• 6 for placement• 3 for deformation

Page 47: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Experimental Results• Bending Plate

• Manipulation constraints specify both the position and tangent direction of 2 opposite edges of the plate

• One end of the curve is fixed and the other can move freely (translation along x1 and x3, rotation about x2)

Page 48: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Experimental Results• Bending Plate

N = 200 K = 40 M = 100

Avg run time – 4 hrs 12 min

Avg # nodes – 33,600

Page 49: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Experimental Results• Bending Plate

Avg run time – 4 hrs 12 min• Space of deformation is of higher

dimension• Large number of minimizations involved

for computing deformation paths• The free space inside the box is

constrained

Page 50: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Experimental Results• Elastic Pipe – one end fixed

• 5 Dimensional problem• All 5 dimensions for deformation

Page 51: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Experimental Results• Elastic Pipe – one end fixed

• Manipulation constraints specify both the position and tangent direction of the ends of the pipe.

• No twisting of pipe

Page 52: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Experimental Results• Elastic Pipe – one end fixed

Nodes = 200 K = 40 M = 0

Avg run time – 14.2

Page 53: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

MOVIES

Page 54: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Conclusions• Very general algorithm, easily

tunable• Improved energy minimization would

be very helpful• Many representations from graphics

do not conserve surface area or volume

Page 55: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Disadvantages and Future Work• Planner is not suitable for real-time

use• expensive operations for solving

mechanical models• generating collision detection data

structures• Has so far only been applied to

simple objects, such as a sheet of metal or a pipe-like robot

Page 56: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Probabilistic Roadmap Motion Planning for Deformable

ObjectsO. Burchan Bayazit

Jyh-Ming LienNancy M. Amato

ICRA2002

Page 57: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Outline• Introduction• Problem Definition• Roadmap construction

• Shrink factor• Penetration depth

• Query processing• Bounding box deformation• Geometric deformation

• Experimental Results• Conclusions

Page 58: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Algorithm• Motion planning for deformable

objects• Framework is based on a PRM model• Difference from typical motion

planning• The robot is allowed to change its

shape (deform) to avoid collisions as it moves along the path

Page 59: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

2 Stage Algorithm• An approximate path is found for

the rigid version of the robot• Might contain collisions

• Collisions on this path are corrected by deforming the robot

Page 60: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Overview of algorithm

1. Build a feasible roadmap2. while (a valid path is not found)3. find a feasible path4. foreach path configuration5. if (there is collision)6. deform robot7. if (not deformable)8. remove path segment from roadmap 9. endwhile

Page 61: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Roadmap

Page 62: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

If there exist collision -> Deform Robot

Page 63: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

If robot cannot be deformed

Page 64: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

If robot cannot be deformed -> Delete edge

Page 65: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Roadmap Construction• Roadmap may include some colliding

configurations• Weight the edges to denote the

expected difficulty of deforming that edge

• Weights are selected to denote the expected deformation energy required to deform the edge

• Computing deformation energy is difficult

Page 66: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Roadmap Construction• 2 strategies for constructing the

roadmap• Use reduced-scale version of the rigid

robot until it is collision-free• Use the amount of penetration by the

original robot and check it is less than some acceptable bound

• In both cases goal is to build a roadmap containing paths that are • Already valid OR• Can be made valid by deforming the robot

Page 67: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Shrinkable Robots• ‘shrink’ factor required to obtain a free

robot in a particular configuration is some indication of deformation energy

robot

Page 68: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Shrinkable Robots• Can be computed relatively inexpensively

• Pre-compute a set of scaled models• Construct by scaling all vertices and

maintaining the robot topologyrobot

Page 69: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Shrinkable Robotsrobot

Scaled models are used for

collision detection in

node generation and

connection

Page 70: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Node generation and construction• For each node

• Begin with the largest robot and progressively reduce its scale until a collision free robot size is found

• The roadmap is connected as with traditional PRM.

• An edge weight is set as the sum of the shrink factors of the two scaled models that are the edge’s endpoints.• A larger(smaller) robot model has a

smaller(larger) shrink factor

Page 71: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

• A roadmap generated with shrinkable robots

Roadmap configurations are shown in their

accepted shrink size with wired surfaces

Page 72: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Penetration• Another estimate of deformation

energy• The deeper the robot penetrates

inside an obstacle the harder it will be to deform the robot into a collision free shape

• Unfortunately, penetration depth computation is hard to compute

Page 73: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Penetration• C-space penetration depth is used

Allowable

Penetration depth

Page 74: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Penetration• If any of vectors is collision free,

then accept configuration

Allowable

Penetration depth

Page 75: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

Node generation and connection• Collision detection is replaced by a

test for allowable penetration• Advantage: we can use a standard

PRM, including all node generation and connection methods

Page 76: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

A roadmap generated with penetrating robots

Page 77: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

QUERY• Rigid body -> roadmap construction

Deformable body -> query processing

• The query process must check for collision

• If collisions are found, use a deformation method to try to deform the offending configurations into collision-free configurations

Page 78: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

PATH QUERY

• The swept volume of a path found• Although the shortest path is on the right

side of ball, the planner selected a longer path which had a smaller deformation energy

Page 79: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

DEFORMATION• Goal is to produce realistic looking

deformations fast• Not physically complete• Precise computation of energy is not

done

Page 80: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

DEFORMATION• 2 objects participate in deformation

• Deformable object• Deformer

• The deformer pushes (a portion of) the deformable object towards a collision-free state

• Deformable object changes shape according to these external forces

Page 81: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

BOUNDING BOX DEFORMATION• Deforms the given model

hierarchically• First, the bounding box of the model

is deformed, and then the model itself is deformed according to the deformation computed for the bounding box

Page 82: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

BOUNDING BOX DEFORMATION• Combination of Chainmail

deformation and Free-form deformation is used

• First, the bounding box of the model is deformed by Chainmail deformation

• Then, this model is deformed by FFD according to shape of its bounding box

Page 83: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?
Page 84: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

GEOMETRIC DEFORMATION• Continuously moves the colliding

polygons of the robot until they are outside the obstacle

• Which direction to move?• Sampling strategy to identify the

correct direction1. Normals of colliding polygons on the

robot

2. Normals of the colliding polygons on the obstacle

Page 85: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

GEOMETRIC DEFORMATION

Page 86: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

GEOMETRIC DEFORMATION• Problems

• If the robot does not fit in a narrow passage, then this method will fail to find a pushing direction unless we use a reduced scale version of the robot

• Can produce unrealistic deformations because the resulting polygons may be quite large• Apply constraints• Smooth the polygons

Page 87: Planning for Deformable Parts. Holding Deformable Parts How can we plan holding of deformable objects?

MOVIES