ArticlePDF Available

Manipulation of Flexible Objects by Geodesic Control

Authors:

Abstract and Figures

We propose an effective and intuitive method for controlling flexible models such as ropes and cloth. Automating manipulation of such flexible objects is not an easy task due to the high dimensionality of the objects and the low dimensionality of the control. In order to cope with this problem, we introduce a method called Geodesic Control, which greatly helps to manipulate flexible objects. The core idea is to decrease the degrees of freedom of the flexible object by moving it along the geodesic line of the object that it is interacting with. By repeatedly applying this control, users can easily synthesize animations of twisting and knotting a piece of rope or wrapping a cloth around an object. We show examples of “furoshiki wrapping”, in which an object is wrapped by a cloth by a series of maneuvers based on Geodesic Control. As our representation can abstract such maneuvers well, the procedure designed by a user can be re-applied for different combinations of cloth and an object. The method is applicable not only for computer animation but also for 3D computer games and virtual reality systems.
Content may be subject to copyright.
EUROGRAPHICS 2012 / P. Cignoni, T. Ertl
(Guest Editors) Volume 31 (2012), Number 2
Manipulation of Flexible Objects by Geodesic Control
He Wang and Taku Komura
School of Informatics
The University of Edinburgh
Figure 1: Snapshots of conducting a basket wrapping using Geodesic Control
Abstract
We propose an effective and intuitive method for controlling flexible models such as ropes and cloth. Automating
manipulation of such flexible objects is not an easy task due to the high dimensionality of the objects and the low
dimensionality of the control. In order to cope with this problem, we introduce a method called Geodesic Control,
which greatly helps to manipulate flexible objects. The core idea is to decrease the degrees of freedom of the
flexible object by moving it along the geodesic line of the object that it is interacting with. By repeatedly applying
this control, users can easily synthesize animations of twisting and knotting a piece of rope or wrapping a cloth
around an object. We show examples of “furoshiki wrapping”, in which an object is wrapped by a cloth by a series
of maneuvers based on Geodesic Control. As our representation can abstract such maneuvers well, the procedure
designed by a user can be re-applied for different combinations of cloth and an object. The method is applicable
not only for computer animation but also for 3D computer games and virtual reality systems.
Categories and Subject Descriptors (according to ACM CCS): I.3.7 [Computer Graphics]: Three-Dimensional
Graphics and Realism—Animation
1. Introduction
Simulation of flexible objects such as ropes and cloth is a
rapidly growing area with many applications in computer
games, movies and design. However, there have not been
many solutions proposed for controlling these objects dur-
ing maneuvers such as winding, knotting and wrapping. For
example, a wrapping task called basket wrapping involves
many steps as shown in Fig. 1: putting the object at the cen-
ter of the cloth, bringing its two corners and knotting it under
the handle of the basket, then winding the other two corners
around the handle and knotting them at the top. Although hu-
mans can easily demonstrate and explain such processes to
one another, automating such maneuvers and robustly con-
trolling the cloth to reach the target configuration is not an
easy task.
The main source of the problem is the high dimensional-
ity of the flexible object. Traditionally, rope and cloth ma-
nipulations are guided through the 3D trajectories of the end
points or the corners. The rest of the object is only passively
affected by the movement of the controlled area. However,
the number of degrees of freedom of a piece of cloth is very
large. Controlling an object with a high dimensional state
space using low dimensional control signals is difficult. In
addition, the trajectories of the end-points must be planned
by global path-planning approaches to make sure that the
flexible object does not get hooked with obstacles or with
itself.
c
°2012 The Author(s)
Computer Graphics Forum c
°2012 The Eurographics Association and Blackwell Publish-
ing Ltd. Published by Blackwell Publishing, 9600 Garsington Road, Oxford OX4 2DQ,
UK and 350 Main Street, Malden, MA 02148, USA.
H. Wang and T. Komura / Manipulation of Flexible Objects by Geodesic Control
In order to cope with this problem, we propose a method
to abstract the control of the flexible object. More specifi-
cially, it is a control method called Geodesic Control that
can significantly decrease the degrees of freedom of the flex-
ible object while also ensuring the resultant movement is al-
ways predictable. This approach is based on the observation
of the method that humans use to control flexible objects.
For example, when winding one rope around another, gener-
ally people first cross them, and then gradually increase the
contact area between the two ropes along the tangent surface
of the ropes. This strategy is robust from the control point of
view, as there is little redundancy at the region where the
knot is produced. A similar idea can be used when wrap-
ping a cloth around an object; the surface contact area can
be gradually increased until the cloth covers the whole ob-
ject. Using Geodesic Control, a significant reduction in the
complexity of the control can be achieved. At the level of
winding and wrapping, global path planning is not needed
as the flexible object simply moves either along the geodecis
line defined on the surface of the object or that of its convex
hull.
Using Geodesic Control, the process of making “furoshiki
wraps”, a style of wrapping and knotting cloths to carry ob-
jects, can be abstracted to a simple Finite State Machine
(FSM). The same FSM can be used to wrap objects of differ-
ent shapes. The wrapping maneuvers can be synthesized in
interactive time, which means the method is not only appli-
cable for offline animation for films but also for interactive
applications such as computer games and virtual reality sys-
tems.
Contributions
1. We propose a control approach called Geodesic Control,
which significantly reduces the complexity and increases
the robustness of winding and wrapping maneuvers.
2. We propose to abstract complex wrapping styles by a
FSM composed of a series of Geodesic Control maneu-
vers. Using this FSM, we can automatically wrap objects
of different geometries.
2. Related Work
Although intensive research has been conducted in the area
of cloth and rope simulation for accelerating the simula-
tion [BW98], synthesizing local deformation effects such
as buckling effects [CK02], collision detection [THM03,
CTM08,HVS09], collision handling [BFA02] and learn-
ing the physical behaviour to synthesize animation in real-
time [dASTH10,WHRO10], few of them have an emphasis
on cloth manipulation. Demo animations in cloth simulation
are usually limited to movements of clothes worn by human
characters, stretching and bending of a piece of cloth, and
the movements of a flag or curtains in the wind. In such ex-
periments, the state of the cloth is constant or only passively
changing. Our focus is on maneuvers that actively change
the state of a cloth with respect to other objects or with it-
self.
In the rest of this section, we first review computer anima-
tion papers that focus on the manipulation of flexible objects.
Next, we review papers that deal with folding paper / cloth
and knotting ropes in the wider field.
Animation of flexible models
A simple approach for manipulating cloth is to use
keyframe animation. Wojtan et al. [WMT06] propose a
method to let particles move through the keyframe config-
urations while keeping the movements plausible. This ap-
proach requires a large number of keyframes for creating any
animation that involves a lot of close contacts to avoid pene-
trations, which can be time consuming. Another problem is
that there is no abstraction that makes the keyframes applica-
ble for arbitrary pairs of cloth types and objects. Therefore,
if the cloth or an object is changed, it will be necessary to
edit the keyframes or even insert new keyframes to produce
a valid animation.
Igarashi and Hughes [IH02] propose a user interface to
put clothes onto characters. The user draws marks on the
clothes and on the body. The system then puts the clothes on
the body so that the corresponding marks are matched. Al-
though this approach can significantly reduce the effort re-
quired for creating static configurations, it does not provide a
description about the dynamic manipulation processes such
as wrapping or knotting.
Brown et al. [BLM04] propose a method to stably simu-
late the manipulation process of knotting a rope. The tip par-
ticle, called the leader, is controlled to produce knots. The
manipulation process is manually created and the maneuver
is encoded only by the 3D trajectory of the leader.
Igarashi and Mitani [IM10] provide a 2D interface to
specify the layer order and simulate a knotting process. The
layered representation is defined in 2D space. It is not conve-
nient for operations such as wrapping, which require direct
control in 3D. Ho and Komura [HK09] represent the tangles
made between characters by using Gauss Linking numbers.
Their method is also limited as they can only represent the
relationship of 1D strands.
To summarize, previous researches on manipulation of
flexible objects are either limited to direct control and
recording of the raw geometry, or have limits on the dimen-
sions they can handle.
Folding cloth / paper and knotting ropes
In the field of Robotics, work has been done on the topic
of folding paper [BM08] and cloth [SIT09,MSCTLA10].
Much of the folding research is built on top of the theories
established in the field of computational geometry such as
judging whether the crease patterns are foldable [ABD01]
and designing crease patterns to fold a target object [Lan96].
c
°2012 The Author(s)
c
°2012 The Eurographics Association and Blackwell Publishing Ltd.
H. Wang and T. Komura / Manipulation of Flexible Objects by Geodesic Control
knotting
(section 4) wrappiing
knotting
wrapping
(section 5)
Finite state machine
Figure 2: Workflow of our system. The arrows in the finite
state machine represent the transitions betwen the abstract
states.
The folding operations are defined by crease patterns, which
are specific to the individual geometry of the paper and cloth.
In such representations, there is no room for abstraction that
would make them applicable to arbitrary papers or cloths.
Research with abstraction of complex behaviours can be
found in robotics research which makes use of knot theory.
Several robotics researchers have developed knotting robots
that abstract the status of the strands and plan the maneu-
vers by probabilistic roadmaps [SI07,TMO06,MTAF06,
WAH06]. The roadmap approach is convenient for breaking
down the control problem into smaller subproblems. The key
points in such an approach are the state representation of the
flexible object and the algorithm to convert the abstract state
transitions into geometric movements. Previous methods of
rope manipulation represent the state based on how the ropes
are overlapped with each other when viewing it from a spe-
cific direction [DT83], and the state transition is realized
by moving the end points. Such a representation requires
observing the rope from a specific viewpoint and the con-
trol strategy requires imposing multiple constraints [SI07],
which can be impractical from the control point of view.
In summary, the roadmap approach can greatly ease the
complexity of manipulating cloth. We also apply such an ap-
proach in this paper. However, more research is needed for
abstraction and bridging the gap between the abstract repre-
sentation and the geometric instantiation.
Table 1: The maneuvers for knotting two ropes
name attributes
Crossing sign, crossing position, control points
Winding sign, orientation angle
Tightening winding/knots
3. Overview
The general design of the system is shown in Fig. 2. Our
system produces animation where ropes and cloths are ma-
nipulated by following a Finite State Machine (FSM) whose
states are connected by discrete maneuvers listed in Table 1
and Table 2.
Among the discrete maneuvers, knotting and wrapping
are both guided by Geodesic Control. The Geodesic Control
requires defining the control line and the target line, which
are both geodesic lines. defined either over a strand, cloth or
an object. The basic idea of Geodesic Control is to gradually
increase the contact area of the control line and the target
line. The target lines are geodesic lines defined over the sur-
face of the target rope for winding, and the surface of the
target object for wrapping.
In 2D manifolds, geodesic lines are known as the locally
shortest paths between points and are parameterized with
constant velocity. They can be computed by extending a
straight line on the flattened shape. They may not necessar-
ily be the shortest curve connecting two points, as a curve
connecting two points on a sphere by the greater arc is also
a geodesic line.
For knotting ropes, the user specifies the part of the rope
or cloth that should be used to make the knot, and selects
what kind of knots should be made (green transitions in
Fig. 2). Knotting is done by conducting a series of wind-
ing processes on the specified region of the cloth, which is
guided by Geodesic Control. Although arbitrary knots can
be synthesized by combining simple winding operations, we
have prepared a number of template knots to ease the knot-
ting process. The basics of knotting and how it can be guided
by Geodesic Control is explained in Section 4.
Geodesic control can also be applied for manipulating
cloth. For wrapping, the user specifies the area of the cloth
and the object that is to wrap / be wrapped through our user
interface (blue transitions in Fig. 2). Wrapping is guided by
gradually increasing the contact area of the control line of
the cloth and the target geodesic line defined over the object
or its convex hull. We can also knot two ends of cloth as we
do with ropes. This process is explained in Section 5.
Using these techniques, examples of controlling ropes and
producing wrappings using Geodesic Control are presented
in Section 6.
Table 2: The maneuvers for manipulating cloth
name attributes
Anchoring position of cloth and object
Wrapping control line, geodesic line (target object)
Crossing control lines, location
Winding control lines (active/target), direction
Tightening winding, direction
c
°2012 The Author(s)
c
°2012 The Eurographics Association and Blackwell Publishing Ltd.
H. Wang and T. Komura / Manipulation of Flexible Objects by Geodesic Control
Figure 3: (top) The process of producing a self-knot by
crossing the strand and winding around it. (bottom) The pro-
cess of producing a granny knot by repeating the crossing
and winding.
4. Knotting Ropes by Geodesic Control
Most knots in daily life such as self-knots and granny knots
can be produced by repeating the process of crossing and
winding the ropes. A self-knot can be produced by crossing
the strand with itself and conducting a winding (see Fig. 3,
top). For a granny knot, after one winding is done, the two
ends are raised again, crossed at the middle point, and an-
other winding is conducted (see Fig. 3, bottom).
We automate the knotting process by dividing it into the
steps listed below. Let us assume that we wind an active rope
denoted by Caround a target rope denoted by T. Both ropes
are composed of particles connected with rigid rods of con-
stant length.
1. Cand Tare moved towards each other until a cross is
produced at point X.
2. A geodesic line Gis computed over Ts bounding tube.
Starting from X,Cis wound around Tby gradually in-
creasing the contact area of Cand G.
3. The configurations of Gand Tare updated by optimiza-
tion, taking into account the physical properties of the
ropes, collisions and external forces.
4. Pull the two end of the rope to tighten the winding / knot.
Step 3 is repeated until Cand Tare wound as desired. Knots
are produced by repeating 1-4 for different windings. The
individual processes are described below.
4.1. Crossing two ropes
The initial process of winding two ropes is to cross the two
ends. Although there can be many ways to produce a cross,
our strategy is to lift the two ropes Cand T, set a target point
Xin the middle and bring the ropes towards it. We take this
approach because of the following reasons: (1) we want to
make a symmetric knot in the middle of the space between
the two ends for aesthetic reasons, and (2) more open space
will be available to manipulate the rope after lifting because
gravity will pull down the rest of the rope.
Let us explain the procedure of crossing the two ropes.
A coordinate system is produced as shown in Fig. 4(a)), by
(a) (b) (c)
Figure 4: (a) The state of the two ropes when they are
crossed. (b) Positive and (c) negative crosses.
Figure 5: Snapshots of a blue rope wound around a red
rope using Geodesic Control. An bounding tube is produced
around the red tube, and a geodesic line is defined on its
surface.
using the constrained bottom points of the two ropes and
the vertical direction. The two ropes are crossed at a point
X, whose x,zcoordinates are at the middle of the two bot-
toms while the height (ycoordinate) is set higher than the
two bottoms. The two ropes are moved towards X: their z
coordinates are slightly adjusted such that they do not col-
lide with each other. A positive cross is produced in the case
where a positive wind is to be made, and vice versa for a
negative cross (see Fig. 4(b), (c)).
4.2. Winding the two ropes
Here we explain the process of winding the rope Caround
the rope T. In order to ease the winding process and make the
wind / knot appear horizontal and symmetric, Tis straight-
ened for a short distance along the xaxis before the winding
is started.
The winding starts by first computing the bounding tube
of T, which is denoted by B, and then gradually attaching
Conto the geodesic line Gdefined on B. (see Fig. 5). The
radius of Bis set to rC+rT+ε, where rC,rTare the radius
of Cand T, respectively, and εis a small value that is set
to 0.1×(rC+rT), such that the two ropes are tightly wound
with each other when the particles of Tare located on B.
The geodesic line Gstarts from XG, the point where the
crossing point Xis projected onto the bounding tube B. Let
us also define the point that is closest to Xon curve Tas XT.
At XG,Gproceeds in the direction of nC
X, which is computed
by orienting the direction of the rope Tat XTaround
XTXG
for θ(0<θ<π
2)(see Fig. 6, left). θis decided according to
how much the user wants to spread the winding across T: a
smaller value will make it wider and a larger value will make
it tighter (see Fig. 6, right).
Gis extended along Tuntil the winding integral [BP06]
c
°2012 The Author(s)
c
°2012 The Eurographics Association and Blackwell Publishing Ltd.
H. Wang and T. Komura / Manipulation of Flexible Objects by Geodesic Control
Figure 6: The orientation of the normal of G with respect to
the negative normal of T at XC(here denoted by θ) deter-
mines how much the winding spreads over T (left). A tighter
winding produced by a larger θ(right).
reaches the target value w0. The winding integral can be
computed by
Zx1
x0
ˆ
x·rGT (x)×r
GT (x)
|rGT (x)|2dx (1)
where xis the direction of winding which is set to the di-
rection of Tat XT,ˆ
xis the normal vector in the xdirection,
[x0,x1]is the range of computing the winding integral along
the xaxis, and rGT (x)is the vector connecting Gand Tin
the yzplane at each xvalue (see Fig. 7, left). w0is the num-
ber of times we want Cto wind around T, which is mostly
1 for knots that we make in daily life, such as self-knots
and granny knots. The winding integral is equivalent to the
Gauss Linking Integral used by Ho and Komura [HK09] but
requires only a single integration. It is only applicable when
the axis of winding does not turn more than 90 degrees: if
that is the case, we need to use the Gauss Linking Integral.
The winding proceeds by iteratively moving each particle
pC
iofCto its target location tisampled over G. Starting from
XC,tiis sampled at every distance r, where ris the distance
between every adjacent particle in C. Every time pC
ireaches
its target location ti, the control switches to the next parti-
cle pC
i+1(see Fig. 7, right). We use a constant distance for
r, although it is also possible to adaptively subsample more
particles in the middle according to the existence of obsta-
cles, and curvature of the other rope, as done in [ST08].
This control strategy for winding is simple and stable. It
requires no global path planning as each particle is already in
the vicinity of the target location after the previous particle
is in contact with G. It also works under a condition that Tis
dynamically moving. In that case, Gis dynamically updated
according to the movement of T, and the target locations
r (x )
GT 1
T
XT
XG
Gx
r (x )
GT 0
p2
CT
XT
G
p1
C
p0
C
t
1
t
0
t
2
Figure 7: (left) The winding is computed by integration
along the normal vector of T at XT. (right) C winded around
T by gradually attaching particles pC
ifrom XT.
of the particles are updated. Using the geodesic line as the
target line stabilizes the control and the state of the rope as
it is the locally shortest path. We will only need to constrain
the last particle of pC
ito preserve the contact of Cand T. This
is an important feature especially when controlling robots to
wind ropes.
4.3. Computing the movements of the control lines
For computing the movements of the ropes, we use an op-
timization framework that takes into account external force,
inextensibility and bending stiffness of the ropes, kinematic
constraints and collisions. Technically, we employ an idea
similar to the Fast Projection [GHF07]: we first simulate
the movements of the particles composing the rope by only
taking into account the gravity, and then, project the updated
position of the particles to a manifold that satisfies the con-
straints by solving an optimization problem. The individual
constraints and the optimization process is explained below.
Inextensibility constraints: A control line or a rope is mod-
elled by particles whose positions are piwhere i[0 : n1]
and links between them whose length are r. The inextensi-
bility constraints can be formed as:
Ce=kpi+1pik2r2=0.(2)
Bending stiffness: For bending stiffness, we reformulate the
idea used in [Jak01] as below:
Cb=kpi+1pi1k −2r=0.(3)
Kinematic constraints: The active rope is controlled by
moving one of its particles pctowards its target location pt.
As ptcan be too far away from pcto be reached by one step,
a series of intermediate target points pk=k
nckpc+1
ncpt(k
[1 : nc1]are defined, where ncis a constant integer defined
by the initial distance between pcand pt. At every iteration,
the following kinematic constraint is imposed:
Ck=kpcpkk=0.(4)
Collision constraints: We model ropes by linked capsules.
The collisions between two capsules siand sjcan be re-
solved by imposing the following constraint:
Csi,sj
c=D(Capsulesi,Capsulesj)(rsi+rsj)>=0 (5)
where D() returns the shortest distance between the two cap-
sules, and rsi,rsjare the radii of the two capsules, whose val-
ues are same as rCand rT. We do not apply this constraint
to adjacent capsules in each rope as their ends are already
overlapping to compose the rope.
Projection to the manifold of constraints: After adjust-
ing the particle locations of the control ropes based on the
gravity, their positions are mapped on to the manifold of
the constraints defined above. This is done by computing
the minimum particle displacement p= (p
1, ..., p
n)
c
°2012 The Author(s)
c
°2012 The Eurographics Association and Blackwell Publishing Ltd.
H. Wang and T. Komura / Manipulation of Flexible Objects by Geodesic Control
needed for satisfying all the constraints. As the inextensibil-
ity constraints, bending stiffness and collision constraints are
nonlinear, we linearize them by the finite difference method.
The collision constraints are handled as hard constraints as
they are essential for preventing penetrations, which are vi-
sually influential. The rest are handled as soft constraints to
increase the adaptiveness of the ropes. pis computed by
solving the following optmization problem:
min
p
1
2pp+1
2akJepαk2(6)
+1
2bkJbpβk2+1
2ckJkpγk2
subject to
Jcp+σ=0only imposed if σ<0 (7)
where (α,β,γ,σ)and (Je,Jb,Jk,Jc)are the values and Jaco-
bians of (Ce,Cb,Ck,Cc), respectively. and a,band care co-
efficients where a=exp(abs(α)×10),b=2000,c=3000.
A solution can be obtained by solving the following sparse
linear equation:
µI+J
eJe+J
bJb+J
kJkJ
c
Jc0µ p
λ=
µaJ
eα+bJ
bβ+cJ
kγ
σ(8)
After pis computed, the particle locations are updated by
adding the corresponding elements to pi. This procedure can
be iterated until all the constraints are satified, although we
find the first iteration usually produces satisfactory results.
5. Controlling Cloth by Geodesic Control
The idea of Geodesic Control explained in the previous sec-
tion can be applied for controlling cloth to wrap it around an
object or knotting two ends of cloth. We explain about these
processes in this section. Knotting is done in the same way
as ropes, but with an additional procedure based on medial
axes to reduce the self-penetrations between the cloth.
5.1. Wrapping by Geodesic Control
Each wrapping maneuver is achieved by gradually increas-
ing the contact area of the control line of the cloth with the
target curve defined over the object or its convex hull. The
procedure to compute these lines and control the cloth us-
ing them is first explained. The movement of the rest of the
cloth is computed passively using a generic simulator based
on particle physics. This process is explained next.
Guiding wrapping by control lines: We now define a con-
trol line and a target line on the cloth and object, respectively
to guide the cloth to wrap around the object by Geodesic
Control. The control lines are straight lines over the cloth
defined by the user. In most cases, they are lines connecting
control line
target line
control line
target line
(a) (b)
Figure 8: (a) The control line on the cloth and the target line
on the object. (b) The cloth wrapped around the target object
by overlapping the control line on the target line.
the center and the corners of the cloth. The target lines are
geodesic lines defined either over the wrapped object or its
convex hull, depending on the wrapping style. In the initial
configuration, the control line must be in contact with the
target line (see Fig. 8, left). Either the object must be shifted
over the cloth or the target curve needs to be redefined if this
condition is not met.
As the degrees of freedom of a cloth is much greater than
that of a rope, it is necessary to further constrain it to make it
robustly wrap around the object. This is achieved by strain-
ing the cloth in the direction of the control line, which eases
the process of overlapping the control and the target line.
After the cloth is strained, the control line is overlapped
with the target line by bending it at the edge of the object
that the control line is in contact with (see Fig. 8, right). The
control line is rotated until it fully contacts the target curve
on the polygon that includes the last contact point. This pro-
cess is repeated until the control line fully overlaps with the
target line. In practice, the cloth is manipulated by the series
of particles defined over the control line. Their movements
are updated by solving the optimization problem described
in Section 4.3.
Cloth movements by particle physics: Once the movement
of the control lines are computed, we constrain the position
of the particles that compose the control lines and compute
the movements of the rest of the cloth particles by a generic
simulator based on particle physics. Regarding the physi-
cal properties, we take into account the stretchiness and the
bending stiffness between the particles, whose values are set
to 0.9 and 0.011. The distance between the particles in the
grid are set to 0.2 and the thickness of the cloth is set to 0.3,
which produces a bounding sphere whose radius is 0.15 for
collision detection. We use PhysX 2.84 [NVi] for the physi-
cal simulator.
5.2. Knotting Cloth
For knotting cloth, we apply the Geodesic Control to the
control lines that are defined on the surface of the cloth. Sim-
ilar to the process of winding ropes, we define the active line
and the target line. A bounding tube of a constant radius is
c
°2012 The Author(s)
c
°2012 The Eurographics Association and Blackwell Publishing Ltd.
H. Wang and T. Komura / Manipulation of Flexible Objects by Geodesic Control
Figure 9: Self-penetrations happening during knotting two
ends of a cloth by a generic simulator (left). They can be
greatly eliminated by separating the ends by the medial axis
(right).
defined around the target curve, and a geodesic line is com-
puted on the surface of the tube. Finally, the active curve is
wound around the target curve by gradually locating the par-
ticles of the active curve around the bounding tube. The tube
is defined only for a short distance around the area where
the winding is going to be made. This is to avoid a large area
of the cloth to be squeezed. The radius of the tube is com-
puted based on the amount of cloth involved in the knotting.
We also add an extra post-processing stage to minimize the
amount of cloth-cloth penetration. These processes are ex-
plained below.
Reducing self-penetration using the medial axis: Self-
collision is a serious issue for particle-based cloth simula-
tors. The artifacts are evident when simulating complex in-
teractions such as knotting using generic simulators that use
naive collison detection approaches (see Fig. 9, left). Al-
though its effect can be reduced using asynchronous step-
ping as done in [HVS09], this requires a huge amount of
computation, which may not be acceptable for real-time ap-
plications. Here we eliminate such artifacts by inserting an
additional medial axis layer (medial sheet) between the two
control lines (see Fig. 10,(a)) and forcing the associated par-
ticles to stay on the same side of the medial sheet.
Each free particle fis associated to a region of the control
line composed of Mline segments, which is denoted here by
Lf.Lfis the closest set of line segments from falong the
surface of the cloth that is composed of Mline segments (M
is set to 3 in our examples). Fig. 10,(b) shows an example of
free particles and their associated line segments.
After computing pf, which is the position of particle f,
using the physical simulator while constraining the control
lines, we examine the distance between fand all the line
segments; if the closest particle is not included in Lf, it is
moved towards the closest point on Lf. More specifically,
let us denote by di
fthe distance between fand all the line
segments li(i[1 : m]). If argminidi
f(1im)<Lf, we
move pftowards its projection point on Lf, which is defined
here by pp
f. Namely, pfis updated by pfpf+app
fpf
kpp
fpfk
where a = 0.01. This process is applied for all the free par-
ticles. Then, we run the simulation again while constraining
all the pf’s that have been updated. This process is repeated
Lfy
pfy
Lfg
pfg
(a) (b)
Figure 10: (a) A visualization of the medial sheet computed
from the configuration of the two control lines. It is to be
noted that we do not explicitly compute the medial sheet in
our approach. (b) The enlarged top-left corner of the cloth :
The free particles in the yellow (p fy) and green (pf g) region
are associated to the line segments specified by the yellow
(Lfy) and green arrows (Lfg).
until either each free particle is closest to its associated line
segment, i.e., located within the Voronoi regions of its asso-
ciated line segment, or the maximum number of iterations is
reached, which is set to 3 in our experiments.
Our method can significantly reduce the penetrations be-
tween the two cloth-piece during the knotting procedure (see
Fig. 9, right). The twisted medial surface also helps to pro-
duce a natural effect of a cloth being squeezed.
6. Experimental Results
In this section, we first show an example of rope winding.
Next, we show examples where various furoshiki wraps are
generated by sequentially applying the winding and knotting
techniques. The readers are referred to the supplementary
video for further details of the folding process. Finally, we
explain about the computational costs.
6.1. Rope winding
We first show an example of winding one rope around an-
other moving rope in an environment with multiple obsta-
cles. Snapshots of the scene are shown in Fig. 11. This is
an example that is difficult even using manual control as it
is necessary to avoid the obstacles and unnecessary wind-
ing while following and winding around the moving rope.
Geodesic control can successfully achieve the task without
global path planning.
6.2. Furoshiki wrapping
We wrap objects shown in Fig. 12(a) by a two granny-knot
box wrapping, a wine-bottle wrapping and a basket wrap-
ping.
Two granny-knot box wrapping: A two granny-knot box
wrapping is produced by repeating the process of wrapping
and making a granny-knot at the top of the object using the
c
°2012 The Author(s)
c
°2012 The Eurographics Association and Blackwell Publishing Ltd.
H. Wang and T. Komura / Manipulation of Flexible Objects by Geodesic Control
Figure 11: Winding one rope around another dynamically
moving rope using Geodesic Control in an environment with
obstacles.
opposite corners of the cloth. The procedure of the wrapping
can be found in Fig. 12(b), left and Table 4. We show results
of wrapping a jeep model, a sphinx sculpture and a cupid
sculpture, which all have different structures. Despite such
variations, the objects are successfully wrapped as shown in
Fig. 12(b), right.
Wine bottle wrapping: The wine bottle wrapping is suit-
able for wrapping cylindrical objects, such as a wine bottle.
The procedure of the wrapping can be found in Fig. 12(c),
left and Table 5. This wrapping involves winding the cloth
around the bottle using Geodesic Control. We show exam-
ples of wrapping a wine bottle and the cupid structure in
Fig. 12(c), right.
Basket Wrapping Finally, a basket wrapping was done to
a basket. The procedure of the wrapping can be found in
Fig. 12(d), left and Table 6. In this example, the cloth winds
around the handle, which is also guided by Geodesic Con-
trol. The result is shown in Fig. 12(d), right.
6.3. Computational Costs
Regarding the complexity of our method, the set-up and
solving of Eq.6is O(m), computation of the medial axis and
updating the particle positions is O(m×n), and the particle
simulation of the cloth based on a generic simulator is O(n),
where mis the number of rods on the control line and nis
the number of particles composing the cloth.
The breakdown of the computation of each step in the de-
scending order is collision resolving by the medial axis, (0.2
second per frame), the set-up and solving of Eq.6(0.016spf)
and particle simulation (0.001spf). Note that we only apply
a naive approach that computes the distance of every pair of
particles and line segments for the collision resolving. An
acceleration can be achieved by applying methods such as
oct-trees.
The cloth used in the system is composed of 26569
(163×163) particles, and we can generate an animation of
1 second physical simulation in roughly 3 seconds, using a
system with a Intel Core i7 2.93GHz CPU, 6GB RAM and
NVidia GeForce GTS 240. The computation for one frame is
completed in around 0.22 seconds. We used UMFPACK for
solving the optimization problem and PhysX for the cloth
simulation.
(a)
(b)
(c)
(d)
Figure 12: (a) The objects that are wrapped in the furoshiki
wrapping experiment. (b) The FSM of box wrapping (left)
and the jeep, cupid and sphinx wrapped by this style (right).
(c) The FSM of wine bottle wrapping (left) and a bottle and
cupid wrapped by this style(right). (d) The FSM of basket
wrapping (left) and a basket wrapped by this style(right).
7. Discussions
One of the advantages of our method is that the complex
maneuvers of wrapping and knotting are highly abstracted.
Therefore, the description of the maneuvers are applicable
to different combinations of objects and pieces of cloth, as
far as the size of the cloth affords it.
Successful winding can be easily achieved by Geodesic
Control, even under conditions where there are multiple
obstacles or the target is dynamically moving, which can
be difficult for other methods such as Topology Coordi-
nates [HK09] or “follow the leader” [BLM04]. The Topol-
ogy Coordinates is another local control method that can be
applied for winding motion. If there are obstacles that the
rope should not wind around, the user needs to specify that
as additional constraints. When there are multiple obstacles,
c
°2012 The Author(s)
c
°2012 The Eurographics Association and Blackwell Publishing Ltd.
H. Wang and T. Komura / Manipulation of Flexible Objects by Geodesic Control
such extra constraints can cause local minima. The follow
the leader approach requires global path planning of the rope
tips and there is a chance that the loose area gets hooked
with obstacles in the environment. Geodesic Control, how-
ever, can robustly wind around another rope or object with-
out any costly computation. The initial crossing is the only
condition for starting the control, but that is not difficult, es-
pecially for tasks in which the ropes are open ended.
Geodesic Control is a local control solution for winding
and wrapping procedures, and it is not a solution that can re-
place global path planning. In our examples, the FSM takes
on the role of global path planning. For maneuvers such as
passing the rope between a series of ropes or a narrow area,
a global path planner that provides the target geodesic lines
to follow is needed. One possible extension is to set up a
FSM that is based on homotopy groups [BLK11]. The ho-
motopy groups categorize paths based on the topology of
the paths. Once a homotopy group is given, we can compute
the geodesic path within that homotopy group.
There are several ad-hoc steps in our system. Some pa-
rameters of the each manuever are manually specified or set
by simple ad-hoc rules. For example, the geodesic lines on
the objects (the target lines) are manually defined by the user.
The user specifies the position of the end point and then a
geodesic line is computed by finding the shortest route con-
necting the two end points. One problem of this approach is
that there are cases where the geodesic line takes a different
route from that which is desired (such as taking the shorter
arc on a sphere instead of the desired longer arc). One way to
solve this problem is to let the user also specify the tangent
vector at one of the end points, compute the geodesic curve
based on this, and finally let the system adjust it such that it
passes through the other end point. Automatically deciding
parameter values such as the position of the knot based on
the geometry of the target object, the length of the control
line and the style of the wrap is a challenging but interesting
topic to work on.
Our approach can also be applied to overlap control lines
to non-geodesic lines defined on objects. As mentioned ear-
lier, the advantage of overlapping the control curve with
geodesic lines of the object or its convex hull is in its phys-
ical stability; only the last control point needs to be con-
strained to keep the same configuration. For animation pur-
poses, this condition can be dropped; an interface to letting
users draw curves on surfaces and allowing flexible objects
follow them for modeling objects and creating animation
would be an interesting extension.
8. Conclusion and Future Work
In this paper, we have proposed a method to synthesize an-
imations of wrapping and knotting cloths by introducing
discrete representations and control methods to interpolate
such representations. Currently, the movement of the flex-
ible object is guided by the control curves. For animation
and control purposes, it is necessary to realize such move-
ments through the interaction of the robot / character with
the flexible object. This is an interesting future direction for
research.
Acknowledgement
The authors thank the anonymous reviewers for their con-
structive comments, Hubert P.H. Shum, Edmond S.L. Ho,
Adam Barnett and Chiew-Lan Tai for their valuable feed-
back and Rami Ali Al-ashqar for helping to produce the
video. This work was partly funded by EU IST-FP7-IP
TOMSY (Ref:270436), EPSRC (EP/H012338/1) and the
China Scholarship Council.
References
[ABD01] ARKIN E. M., BENDER M. A., DEMAINE E. D., DE-
MAINE M. L., MITCHELL J. S. B., SETHIA S., SKIENA S. S.:
When can you fold a map? Proc of WADS 2001 2125 (2001),
401–413.
[BFA02] BRIDSON R., FEDKIW R., ANDERSON J.: Robust treat-
ment of collisions, contact and friction for cloth animation. ACM
Trans Graph 21, 3 (2002), 594–603.
[BLK11] BHATTACHARYA S., LIKHACHEV M., KUMAR V.:
Identification and representation of homotopy classes of trajec-
tories for search-based path planning in 3d. Proc of Robotics:
Science and Systems (2011).
[BLM04] BROWN J., LATOMBE J.-C., MONTGOMERY K.:
Real-time knot tying simulation,. The Visual Computer 20, 2-3
(2004), 165–179.
[BM08] BALKCOM D., MASON M.: Robotic origami folding.
International Journal of Robotics Research (2008), 613–627.
[BP06] BERGER M. A., PRIOR C.: The writhe of open and
closed curves. Journal of Physics A: Mathematical and General
39, 26 (2006).
[BW98] BARAFF D., WITKIN A.: Large steps in cloth simula-
tion. Computer Graphics (Proc of SIGGRAPH) (1998), 43–54.
[CK02] CHOI K.-J., KOH.- S.: Stable but responsive cloth. ACM
Trans Graph 21, 3 (2002), 604–611.
[CTM08] CURTIS S., TAMSTORF R., MANOCHA D.: Fast
collision detection for deformable models using representative-
triangles. In Proc. of Symp on Interactive 3D graphics and games
(2008), pp. 61–69.
[dASTH10] DE AGUIAR E., SIGAL L., TREUILLE A., HODGINS
J. K.: Stable spaces for real-time clothing. ACM Trans Graph 29
(2010), 106:1–106:9.
[DT83] DOWKER C. H., THISTLETHWAITE M. B.: Classifica-
tion of knot projections. Topology and its Applications 16, 1
(1983), 19–31.
[GHF07] GOLDENTHAL R., HARMON D., FATTAL R.,
BERCOVIER M., GRINSPUN E.: Efficient simulation of
inextensible cloth. ACM Trans on Graph 26, 3 (2007), 49.
[HK09] HOE. S. L., KOMURA T.: Character motion synthesis
by topology coordinates. Computer Graphics Forum (Proc of
Eurographics 2009) 28, 2 (2009).
[HVS09] HARMON D., VOUGA E., SMITH B., TAMSTORF R.,
GRINSPUN E.: Asynchronous Contact Mechanics. ACM Trans
on Graph 28, 3 (Aug 2009).
c
°2012 The Author(s)
c
°2012 The Eurographics Association and Blackwell Publishing Ltd.
H. Wang and T. Komura / Manipulation of Flexible Objects by Geodesic Control
[IH02] IGARASHI T., HUGHES J. F.: Clothing manipulation. In
UIST ’02: Proc of ACM Symp on User Interface Software and
Technology (2002), pp. 91–100.
[IM10] IGARASHI T., MITANI J.: Apparent layer operations for
the manipulation of deformable objects. ACM Trans Graph 29, 4
(2010).
[Jak01] JAKOBSEN T.: Advanced character physics. In Game
Developers Conference Proc (2001), 383–401.
[Lan96] LANG R. J.: A computational algorithm for origami
design. In Proc of Symp on Computational Geometry (1996),
pp. 98–105.
[MSCTLA10] MAITIN-SHEPARD J., CUSUMANO-TOWNER
M., LEI J., ABBEEL P.: Cloth grasp point detection based on
multiple-view geometric cues with application to robotic towel
folding. Proc of IEEE Int Conf on Robotics and Automation
(2010).
[MTAF06] MATSUNO T., TAMAKI D., ARAI F., FUKUDA T.:
Manipulation of deformable linear objects using knot invariants
to classify the object condition based on image sensor informa-
tion. IEEE/ASME Trans on Mechatronics 11, 4 (2006).
[NVi] NVIDIA: Physx. http://www.nvidia.com/object/physx_new.html.
[SI07] SAHA M., ISTO P.: Manipulation planning for deformable
linear objects. IEEE Trans on Robotics 23 (2007), 1141–1150.
[SIT09] SUGIURA Y., IGARASHI T., TAKAHASHI H., GOWON
T. A., FERNANDO C. L., SUGIMOTO M., INAMI M.: Graph-
ical instruction for a garment folding robot. ACM SIGGRAPH
Emerging Technologies (2009).
[ST08] SPILLMANN J., TESCHNER M.: An adaptive contact
model for the robust simulation of knots. Computer Graphics
Forum (Proc of Eurographics 2008) 27, 2 (2008), 497–506.
[THM03] TESCHNER M., HEIDELBERGER B., MUELLER M.,
POMERANETS D., GROSS M.: Optimized spatial hashing for
collision detection of deformable objects. pp. 47–54.
[TMO06] TAKAMATSU J., MORITA T., OGAWARA K.,
KIMURA H., IKEUCHI K.: Representation for knot-tying tasks,.
IEEE Trans on Robotics 22, 1 (2006), 65–78.
[WAH06] WAKAMATSU H., ARAI E., HIRAI S.: Knot-
ting/unknotting manipulation of deformable linear objects. Int.
J. Rob. Res. 25, 4 (2006), 371–395.
[WHRO10] WANG H., HECHT F., RAMAMOORTHI R.,
O’BRIEN J.: Example-based wrinkle synthesis for clothing
animation. ACM Trans on Graph 29, 4 (2010), 107:1–107:8.
[WMT06] WOJTAN C., MUCHA P. J., TURK G.: Keyframe con-
trol of complex particle systems using the adjoint method. In
Proc of ACM SIGGRAPH/Eurographics Symp on Computer Ani-
mation (2006), pp. 15–23.
Appendix
Here we show the sequence of maneuvers of the FSMs for
the two granny-knot box wrapping (Table 4), wine bottle
wrapping (Table 5) and and basket wrapping (Table 6). The
identities of corners, area and control lines are defined as
shown in Fig. 13. For the sake of simplicity, we first define
the granny-knot maneuver which we used for all our demos.
The maneuver takes two control lines and the knotting posi-
tion as input, and produce a granny knot.
A B
CD
1 2
34
a b
cd
Figure 13: The identities of the corners, area and control
lines defined for our experimental results.
Table 3: The maneuvers and attributes of GrannyKnot
maneuver attributes
1 Crossing control line Cand T, top of object center
2 Winding control line Caround T, top of object center, negative
3 Tightening winding made at step 2, towards center
4 Crossing control line Tand C, top of winding made at step 3
5 Winding control line Taround C, top of winding made at step 3,
negative
6 Tightening winding made at step 4, towards winding made at step 5
Table 4: The maneuvers and attributes of two granny-knot
box wrapping
maneuver attributes
1 Anchoring center
2 Wrapping corner A and C, area a and c
3 GrannyKnot control line 1 and 3,top of object center
4 Wrapping corner B and D, area b and d.
5 GrannyKnot control line 2 and 4, top of knot made at step 3
Table 5: The maneuvers and attributes of wine bottle wrap-
ping box wrapping
maneuver attributes
1 Anchoring center
2 Wrapping corner A,C and area a,c
3 GrannyKnot control line 1 and 3, top of object center
4 Wrapping corner B and area b
5 Wrapping corner D, and area d
6 GrannyKnot control line 2 and 4, front of object
Table 6: The maneuvers and attributes of a basket wrapping.
maneuver attributes
1 Anchoring corner A
2 Wrapping corner A,C and area a,c
3 GrannyKnot control line 1,3, top of bottom half of basket
4 Winding control line 2, basket handle, negative
5 Winding control line 4, basket handle, negative
6 GrannyKnot control line 2,4, top of basket handle
c
°2012 The Author(s)
c
°2012 The Eurographics Association and Blackwell Publishing Ltd.
... In general, the flexible objects have complex and non-uniform properties which could make it hard to use the systematic-modeling approaches [133,134,135]. In addition, the numerical or analytical modeling approaches such as finite elements are suitable for numerical simulations but difficult to incorporate into the robot controller in practical tests. ...
Thesis
The modern industry leans on the automation of its factories since human-machine groups are prone to be more efficient than groups wholly comprised of one or the other. Among the latest offering technologies, a new generation of industrial robots that don't need to be walled off from human and they are relied to work side by side in one shared environment. Therefore, largest manufacturers of industrial robots offer optimally designed manipulators which are mechanically flexible. Program the robot what to do is the way for having better improvements on the robotic task and adapt it to any evolution in working conditions. Research advancements have enabled the robot to handle tasks that till now only human could handle in the factory such as in robotic manipulation context. This later is highly concerned with several industrial process such as assembly operations for loading and unloading parts from an assembly line. When handling flexible load with the robot, the accuracy of previous robotics tasks and sometimes even their feasibility may be significantly limited by undesired motion-induced vibrations and deformations of the manipulated object. These deformations have detrimental effects on the settling time, the accuracy and the integrity of the operational process in a constrained environment. The problem of avoiding the degradation of the flexible loads when they are handled by an industrial robot is addressed in this thesis. The flexural motion of the robot and the flexible load are the main errors sources in the task positioning and load's shape degradation. The dynamic precision improvement for robotic manipulation tasks may achieved by using control design. On the other hand, the kinematic redundancy is assisted in the control of robots to enhance their performances and maneuverability. However, in the case of the redundant manipulators, we demonstrate that the redundancy resolution can be exploit to compensate for the motion-induced deformations. A feedback control approach based on torque optimization is proposed for accuracy improvement of flexible redundant manipulators in which the self-motion inherent in redundancy feature is exploited to damp out the vibration while maintaining the end-effector posture. In the second part of the present work, the robot's task redundancy is used to handle the undesired deflection of the end-effector and load deformations via a smoothing trajectory approach along with a deformations compensation action which are integrated together in the design of the proposed feedforward control.
... Rigidity is one of the desired properties for the motion of objects consisting of rigid parts and several as-rigid-as-possible (ARAP) approaches have been developed to preserve this property [5,6]. Different from the rigid motion, an isometric motion allows for non-rigid deformation that keeps the geodesic distance of any two points on the surface of a deforming object [7]. Kilian et al. [8] cast the modeling of isometric motions to finding a shortest geodesic path in a high-dimensional shape space. ...
Article
Shape interpolation, as a bridge communicating static geometries and dynamic shape sequences, is a fundamental operation in digital geometry processing and computer animation. We propose a fast as-isometric-as-possible (AIAP) 3D mesh interpolation approach which casts the shape interpolation problem to finding an AIAP motion trajectory from the start shape to the end shape. This leads to a nonlinear optimization problem with all intermediate shapes as unknowns. The block-coordinate descent method is then employed to iteratively solve the optimization. In each iteration, we need to solve two linear equations whose dimensionality can further be reduced based on a decoupling strategy. Connection maps between orthogonal frames of adjacent edges are further introduced for producing an initial shape sequence in order to address the large-scale deformation problem. A propagation-optimization strategy is then presented to quickly reconstruct the orthogonal frames of all edges from connection maps as well as the orthogonal frame of a specified edge. Refinement of edge quality is available in our method due to the AIAP iterative procedure. In the end, a shape manipulation framework is established for shape sequence transfer and shape sequence editing.
... Their method assumes that some body parts can always be de-correlated, which is not always the case in motions such as Yoga and Contortion. Wang et al. [10], [11] suggest control methods to interact with deformable objects. They deal with a high number of degrees of freedom but the character control is too simple to handle impending penetrations. ...
Article
Full-text available
In this paper, we present a local motion planning algorithm for character animation. We focus on motion planning between two distant postures where linear interpolation leads to penetrations. Our framework has two stages. The motion planning problem is first solved as a Boundary Value Problem (BVP) on an energy graph which encodes penetrations, motion smoothness and user control. Having established a mapping from the configuration space to the energy graph, a fast and robust local motion planning algorithm is introduced to solve the BVP to generate motions that could only previously be computed by global planning methods. In the second stage, a projection of the solution motion onto a constraint manifold is proposed for more user control. Our method can be integrated into current keyframing techniques. It also has potential applications in motion planning problems in robotics.
... The flux can be used as a reference to direct movements of deformable objects in Electric Coordinates to cover or uncover the surface of a charged object. Control of wrapping maneuvers is a challenging problem in computer animation and robotics [Igarashi et al. 2009; Wang and Komura 2012] when the deformable object has very many degrees of freedom (such as a cloth composed of many particles). By Stokes' theorem [Spivak 1965], simply moving the boundary of the deformable surface in the direction of the fastest increase of the flux through the surface will result in the most efficient movements to cover the reference object. ...
Article
Full-text available
In this article, we introduce a method to apply ideas from electrostatics to parameterize the open space around an object. By simulating the object as a virtually charged conductor, we can define an object-centric coordinate system which we call Electric Coordinates. It parameterizes the outer space of a reference object in a way analogous to polar coordinates. We also introduce a measure that quantifies the extent to which an object is wrapped by a surface. This measure can be computed as the electric flux through the wrapping surface due to the electric field around the charged conductor. The electrostatic parameters, which comprise the Electric Coordinates and flux, have several applications in computer graphics, including: texturing, morphing, meshing, path planning relative to a target object, mesh parameterization, designing deformable objects, and computing coverage. Our method works for objects of arbitrary geometry and topology, and thus is applicable in a wide variety of scenarios.
Conference Paper
We propose a novel method for representing the interaction of a robot and an object. We create a virtual surface by taking a chain of linear segments attached to the robot links, we spatially extrude them in time, and we then compute the coverage of this surface around the object. Our approach uses a technique based on computation of electric flux, borrowed from electro dynamics. The advantage of using this method is that it is invariant to the relative transformations of the virtual surface, which makes it suitable as a complementary term in a cost function when constructing a multi-objective problem. We demonstrate the different types of interactions this method can represent, and how it can be integrated into trajectory optimisation based motion planners. We also demonstrate a practical application of such representation on a real robot.
Article
A purpose of this study is to achieve wrapping operation by robots. As a teaching method of wrapping operation, this study uses an intuitive instruction based on a movement of a hand, and generates robot commands from the instruction. This study represents wrapping operation based on a three-layered model as intermediate representation, which is originally proposed in our previous study. In this paper, as a key elements of this study, we describe the teaching method which is a part of inputting to the model. This method can understand an intention of the rough instruction and generate appropriate intermediate representation which represents the intention. In the intermediate representation, a part of hand path generation method is extended to loosen limitations about shapes of objects and fabric that can be handled. Finally, we integrate them into a total wrapping robot system, and confirm that the proposed method is effective to achieve wrapping operation by a robot.
Article
This paper introduces a new technique to synthesize dexterous manipulation of cloth. Given a simple description of the desired cloth motion, our algorithm computes appropriate joint torques for physically simulated hands, such that, via contact forces, the result of cloth simulation follows the desired motion. Instead of optimizing the hand control forces directly, we formulate an optimization problem that solves for the commanding forces from the hands to the cloth, which have more direct impact on the dynamic state of the hands and that of the cloth. The solution of the optimization provides commanding forces that achieve the desired cloth motion described by the user, while respecting the kinematic constraints of the hands. These commanding forces are then used to guide the joint torques of the hands. To balance between the effectiveness of control and computational costs, we formulate a model-predictive-control problem as a quadratic program at each time step. We demonstrate our technique on a set of cloth manipulation tasks in daily activities, including folding laundry, wringing a towel, and putting on a scarf.
Article
Dressing is one of the most common activities in human society. Perfecting the skill of dressing can take an average child three to four years of daily practice. The challenge is primarily due to the combined difficulty of coordinating different body parts and manipulating soft and deformable objects (clothes). We present a technique to synthesize human dressing by controlling a human character to put on an article of simulated clothing. We identify a set of primitive actions which account for the vast majority of motions observed in human dressing. These primitive actions can be assembled into a variety of motion sequences for dressing different garments with different styles. Exploiting both feed-forward and feedback control mechanisms, we develop a dressing controller to handle each of the primitive actions. The controller plans a path to achieve the action goal while making constant adjustments locally based on the current state of the simulated cloth when necessary. We demonstrate that our framework is versatile and able to animate dressing with different clothing types including a jacket, a pair of shorts, a robe, and a vest. Our controller is also robust to different cloth mesh resolutions which can cause the cloth simulator to generate significantly different cloth motions. In addition, we show that the same controller can be extended to assistive dressing.
Article
This paper proposes a fabric wrapping method for robots, provides a description method that uses such target lines to describe the wrapping state between a piece of fabric and an object, and describes an offhand path generation method based on that description. This target-line based description method can be used to generate wrapping instructions for curved and planar objects more easily than can be produced using conventional methods based on bend lines and hand paths. In our experiments, we show how a dual-arm robot can perform wrapping operations on cylinders using our target-line based methodology.
Article
Full-text available
Origami, the art of paper sculpture, is a fresh challenge for the field of robotic manipulation, and provides a concrete example of the many difficulties and general manipulation problems faced in robotics. This paper describes our initial exploration, and highlights key problems in the manipulation, modeling, and design of foldable structures. Results include the design of the first origami-folding robot, a complete fold-sequence planner for a simple class of origami, and analysis of the kinematics of more complicated folds, including the common paper shopping bag.
Conference Paper
Full-text available
This article explains the basic elements of an approach to physically-based modeling which is well suited for interactive use. It is simple, fast, and quite stable, and in its basic version the method does not require knowledge of advanced mathematical subjects (although it is based on a solid mathematical foundation). It allows for simulation of both cloth; soft and rigid bodies; and even articulated or constrained bodies using both forward and inverse kinematics. The algorithms were developed for IO Interactive’s game Hitman: Codename 47. There, among other things, the physics system was responsible for the movement of cloth, plants, rigid bodies, and for making dead human bodies fall in unique ways depending on where they were hit, fully interacting with the environment (resulting in the press oxymoron “lifelike death animations”).The article also deals with subtleties like penetration test optimization and friction handling. The use of physically-based modeling to produce nice-looking animation has been considered for some time and many of the existing techniques are fairly sophisticated. Different approaches have been proposed in the literature [Baraff, Mirtich, Witkin, and others] and much effort has been put into the construction of algorithms that are accurate and reliable. Actually, precise simulation methods for physics and dynamics have been known for quite some time from engineering. However, for games and interactive use, accuracy is really not the primary concern (although it’s certainly nice to have) – rather, here the important goals are believability (the programmer can cheat as much as he wants if the player still feels immersed) and speed of execution (only a certain time per frame will be allocated to the physics engine). In the case of physics simulation, the word believability also covers stability; a method is no good if objects seem to drift through obstacles or vibrate when they should be lying still, or if cloth particles tend to “blow up”. The methods demonstrated in this paper were created in an attempt to reach these goals. The algorithms were developed and implemented by the author for use in IO
Article
Full-text available
Twist and writhe measure basic geometric properties of a ribbon or tube. While these measures have applications in molecular biology, materials science, fluid mechanics and astrophysics, they are under-utilized because they are often considered difficult to compute. In addition, many applications involve curves with endpoints (open curves); but for these curves the definition of writhe can be ambiguous. This paper provides simple expressions for the writhe of closed curves, and provides a new definition of writhe for open curves. The open curve definition is especially appropriate when the curve is anchored at endpoints on a plane or stretches between two parallel planes. This definition can be especially useful for magnetic flux tubes in the solar atmosphere, and for isotropic rods with ends fixed to a plane.
Article
Full-text available
This paper explains the basic elements of an approach to physically-based modeling which is well suited for interactive use. It is simple, fast, and quite stable, and in its basic version the method does not require knowledge of advanced mathematical subjects (although it is based on a solid mathematical foundation). It allows for simulation of both cloth; soft and rigid bodies; and even articulated or constrained bodies using both forward and inverse kinematics. The algorithms were developed for IO Interactive's game Hitman: Codename 47. There, among other things, the physics system was responsible for the movement of cloth, plants, rigid bodies, and for making dead human bodies fall in unique ways depending on where they were hit, fully interacting with the environment (resulting in the press oxymoron "lifelike death animations"). The article also deals with subtleties like penetration test optimization and friction handling. 1 Introduction The use of physically-based modeling to produce nice-looking animation has been considered for some time and many of the existing techniques are fairly sophisticated. Different approaches have been proposed in the literature [Baraff, Mirtich, Witkin, and others] and much effort has been put into the construction of algorithms that are accurate and reliable. Actually, precise simulation methods for physics and dynamics have been known for quite some time from engineering. However, for games and interactive use, accuracy is really not the primary concern (although it's certainly nice to have) – rather, here the important goals are believability (the programmer can cheat as much as he wants if the player still feels immersed) and speed of execution (only a certain time per frame will be allocated to the physics engine). In the case of physics simulation, the word believability also covers stability; a method is no good if objects seem to drift through obstacles or vibrate when they should be lying still, or if cloth particles tend to "blow up".
Conference Paper
We present a semi-implicit cloth simulation technique that is very stable yet also responsive. The stability of the technique allows the use of a large fix ed time step when simulating all types of fabrics and character motions. The animations generated using this technique are strikingly realistic. Wrinkles form and disappear in a quite natural way, which is the feature that most distinguishes textile fabrics from other sheet materials. Significant improvements in both the stability and realism were made possible by overcoming the post-buckling instability as well as the numerical instability. The instability caused by buckling arises from a structural instability and therefore cannot be avoided by simply employing a semi-implicit method. Addition of a damping force may help to avoid instabilities; however, it can significantly degrade the realism of the cloth motion. The method presented here uses a particle-based physical model to handle the instability in the post-buckling response without introducing any fictitious damping.
Article
Here, we propose a planning method for knotting/unknotting of deformable linear objects. First, we propose a topological description of the state of a linear object. Second, transitions between these states are defined by introducing four basic operations. Then, possible sequences of crossing state transitions, i.e. possible manipulation processes, can be generated once the initial and the objective states are given. Third, a method for determining grasping points and their directions of movement is proposed to realize derived manipulation processes. Our proposed method indicated that it is theoretically possible for any knotting manipulation of a linear object placed on a table to be realized by a one-handed robot with three translational DOF and one rotational DOF. Furthermore, criteria for evaluation of generated plans are introduced to reduce the candidates of manipulation plans. Fourth, a planning method for tying knots tightly is established because they fulfill their fixing function by tightening them. Finally, we report knotting/unknotting manipulation performed by a vision-guided system to demonstrate the usefulness of our approach.
Article
We explore the following problem: given a collection of creases on a piece of paper, each assigned a folding direction of mountain or valley, is there a flat folding by a sequence of simple folds? There are several models of simple folds; the simplest one-layer simple fold rotates a portion of paper about a crease in the paper by ±180°. We first consider the analogous questions in one dimension lower—bending a segment into a flat object—which lead to interesting problems on strings. We develop efficient algorithms for the recognition of simply foldable 1D crease patterns, and reconstruction of a sequence of simple folds. Indeed, we prove that a 1D crease pattern is flat-foldable by any means precisely if it is by a sequence of one-layer simple folds.Next we explore simple foldability in two dimensions, and find a surprising contrast: “map” folding and variants are polynomial, but slight generalizations are NP-complete. Specifically, we develop a linear-time algorithm for deciding foldability of an orthogonal crease pattern on a rectangular piece of paper, and prove that it is (weakly) NP-complete to decide foldability of (1) an orthogonal crease pattern on a orthogonal piece of paper, (2) a crease pattern of axis-parallel and diagonal (45-degree) creases on a square piece of paper, and (3) crease patterns without a mountain/valley assignment.
Article
The first step in tabulating the non-composite knots with n crossings is the tabulation of the non-singular plane projections of such knots, where two (piecewise linear) projections are regarded as equivalent, or in the same class, if they agree up to homeomorphism of the extended plane, i.e. two-sphere. This first step is here reduced to a simple algorithm suitable for computer use.
Article
This project proposes to use interactive graphical editing interface for an end user to give instructions to intelligent robots to complete a real world object manipulation task. Natural language is often considered as an ideal communication method for robots, but it not intuitive at specifying tasks that require visual (geometry) information. Learning from demonstration can be useful, but it is not easy to generalize a provided example into a working program. Our approach is to provide a specialized graphical editor that abstracts the target task and to have the user specify how to complete the task by performing simple editing operations (clicking and dragging). We show the effectiveness of our approach by building and testing an example application based on this concept, which is a graphical editor for teaching garment folding to a robot. This example shows that our approach is particularly effective for an end user to configure the robot behavior to satisfy their own needs, which cannot be covered by a single, pre-programmed solution for general audience.