Humans manipulate 2D deformable structures such as fabric on a daily basis,
from putting on clothes to making beds. Can robots learn to perform similar
tasks? Successful approaches can advance applications such as dressing
assistance for senior care, folding of laundry, fabric upholstery, bed-making,
manufacturing, and other tasks. Fabric manipulation is challenging, however,
because of the difficulty in modeling system states and dynamics, meaning that
when a robot manipulates fabric, it is hard to predict the fabric’s resulting
state or visual appearance.
In this blog post, we review four recent papers from two research labs (Pieter
Abbeel’s and Ken Goldberg’s) at Berkeley AI Research (BAIR) that
investigate the following hypothesis: is it possible to employ learning-based
approaches to the problem of fabric manipulation?
We demonstrate promising results in support of this hypothesis by using a
variety of learning-based methods with fabric simulators to train smoothing
(and even folding) policies in simulation. We then perform sim-to-real transfer
to deploy the policies on physical robots. Examples of the learned policies in
action are shown in the GIFs above.
We show that deep model-free methods trained from exploration or from
demonstrations work reasonably well for specific tasks like smoothing, but it
is unclear how well they generalize to related tasks such as folding. On the
other hand, we show that deep model-based methods have more potential for
generalization to a variety of tasks, provided that the learned models are
sufficiently accurate. In the rest of this post, we summarize the papers,
emphasizing the techniques and tradeoffs in each approach.
Model-Free Learning without Demonstrations
- Yilin Wu*, Wilson Yan*, Thanard Kurutach, Lerrel Pinto, Pieter Abbeel.
Learning to Manipulate Deformable Objects Without Demonstrations
Robotics: Science and Systems, 2020. Project Website with Code.
In this paper we present a model-free deep reinforcement learning approach
for smoothing cloth. We use a DM Control environment with MuJoCo.
We emphasize two key innovations that help us accelerate training: a factorized
pick-and-place policy, along with learning the place policy conditioned on
random pick points, and then choosing pick point by maximum value. The figure
below shows a visualization.
As opposed to directly learning both the pick and place policy (a), our method
learns each component of a factorized pick-and-place model independently by
first training with a place policy with random pick locations, and then
learning the pick policy.
Jointly training the pick and place policies may result in inefficient
learning. Consider the degenerate scenario when the pick policy collapses into
a suboptimal restrictive set of points. This would inhibit exploration of the
place policy since rewards come only after the pick and place actions are
executed. In order to solve this problem, our method proposes to first use
Soft Actor Critic (SAC), a state-of-the-art model-free deep reinforcement
learning algorithm, to learn a place policy conditioned on pick points sampled
uniformly from valid pick points on the cloth. Then, we characterize the pick
policy by selecting the point with the highest value from the approximated
value estimator learned when training the place policy, thus Maximal Value
under Placing (MVP). We note that our approach is not tied to SAC, and can work
with any off-policy learning algorithm.
An example of real robot cloth smoothing experiments with varying starting
states and cloth colors. Each row shows a different episode from a start state
to the achieved cloth smoothness. We observe that the robot can reach the goal
state from complex start states, and generalizes outside the training data
The figure above shows different episodes on a real robot using a
pick-and-place policy learned with our method. The policy is trained in
simulation, and then transferred to a real robot using domain randomization on
cloth physics, color, and lighting. We can see that the learned policy is able
to successfully smooth cloth starting from many different complexities of
state, and for different cloth colors.
The advantages of this paper’s model-free reinforcement learning approach is
that all training can be done in simulation without any demonstrations, and
that training can readily be applied using off-the-shelf algorithms and is
faster due to the pick-and-place structure we present which (as discussed
earlier) can avoid mode collapse. The tradeoff is that it trains a policy that
can only do smoothing, and must be re-trained for other tasks. In addition, the
actions may take relatively short pulls and might be inefficient when it comes
to more difficult cloth tasks such as folding.
Model-Free Learning with Simulated Demonstrations
- Daniel Seita, Aditya Ganapathi, Ryan Hoque, Minho Hwang, Edward Cen, Ajay Kumar Tanwani, Ashwin Balakrishna, Brijen Thananjeyan, Jeffrey Ichnowski, Nawid Jamali, Katsu Yamane, Soshi Iba, John Canny, Ken Goldberg.
Deep Imitation Learning of Sequential Fabric Smoothing From an Algorithmic Supervisor
arXiv 2019. Project Website with Code.
We now present an alternative approach for smoothing fabrics. Like the
prior paper, we use a model-free method and we create an environment for fabric
manipulation using a simulator. Instead of MuJoCo, we use a custom-built
simulator that represents fabric as a $25 times 25$ grid of points. We’ve
open sourced this simulator for other researchers to use.
In this project, we consider a fabric plane as a white background square of
the same size as a fully smooth fabric. The performance metric is coverage,
or how much of the background plane gets covered by the fabric, which
encourages the robot to cover a specific location. We terminate an episode if
the robot attains at least 92% coverage.
One way to smooth fabric is to pull at fabric corners. Since this policy is
easy to define, we code an algorithmic supervisor in simulation and perform
imitation learning using Dataset Aggregation (DAgger). As briefly covered
in a prior BAIR Blog post, DAgger is an algorithm to correct for
covariate shift. It continually queries a supervisor agent to get corrective
actions for states. This is normally a downside for DAgger, but is not a
problem in this case, as we have a simulator with full access to state
information (i.e., the grid of $25times 25$ points) and can determine the
optimal pull action efficiently.
In addition to using color images, we use depth images, which provide a
“height scale.” In a prior BAIR Blog post, we discussed how depth was
useful for various robotics tasks. To obtain images, we use Blender, an
open-source computer graphics toolkit.
An example episode of our simulated corner-pulling supervisor policy. Each
column of images shows one action, represented by the overlaid white arrows.
While we domain-randomize these images for training, for visualization purposes
in this figure, we leave images at their “default” settings. The starting
state, represented to the left, is highly wrinkled and only covers 38.4% of the
fabric plane. Through a sequence of five pick-and-pull actions, the policy
eventually gets 95.5% coverage.
The figure above visualizes the supervisor’s policy. The supervisor chooses the
fabric corner to pull based on its distance from a known target on the
background plane. Even though fabric corners are sometimes hidden by a top
layer, as in the second time step, the pick-and-pull actions are eventually
able to get sufficient coverage.
After training using DAgger on domain randomized data, we transfer the policy
to a da Vinci Surgical Robot without any further training. The figure
below represents an example episode of the da Vinci pulling and smoothing
An example seven-action episode taken by a policy trained only on simulated
RGB-D images. The top row has screenshots of the video of the physical robot,
with overlaid black arrows to visualize the action. The second and third rows
show the color and depth images that are processed as input to be passed
through the learned policy. Despite the highly wrinkled starting fabric, along
with hidden fabric corners, the da Vinci is able to adjust the fabric from
40.1% to 92.2% coverage.
To summarize, we learn fabric smoothing policies using imitation learning with
a supervisor that has access to true state information of the fabrics. We
domain randomize the colors, brightness, and camera orientation on simulated
images to transfer policies to a physical da Vinci surgical robot. The
advantage of the approach is that the robot can efficiently smooth fabric in
relatively few actions and does not require a large workspace, as the training
data consists of long pulls constrained in the workspace. In addition,
implementing and debugging DAgger is relatively easy compared to model-free
reinforcement learning methods as DAgger is similar to supervised learning and
one can inspect the output of the teacher. The primary limitations are that we
need to know how to implement the supervisor’s policy, which can be difficult
for tasks beyond smoothing, and that the learned policy is a smoothing
“specialist” that must be re-trained for other tasks.
Planning Over Image States
- Ryan Hoque*, Daniel Seita*, Ashwin Balakrishna, Aditya Ganapathi, Ajay Kumar
Tanwani, Nawid Jamali, Katsu Yamane, Soshi Iba, Ken Goldberg.
VisuoSpatial Foresight for Multi-Step, Multi-Task Fabric Manipulation.
Robotics: Science and Systems, 2020. Project Website with Code.
While the previous two approaches give us solid performance on the smoothing
task on real robotic systems, the learned policies are “smoothing specialists”
and must be re-trained from scratch for a new task, such as fabric folding. In
this paper, we consider the more general problem of goal-conditioned
fabric manipulation: given a single goal image observation of a desired
fabric state, we want a policy that can perform a sequence of pick-and-place
actions to get from an arbitrary initial configuration to that state.
To do so, we decouple the problem into first learning a model of fabric
dynamics directly from image observations and then re-using that dynamics model
for different fabric manipulation tasks. For the former, we apply the Visual
Foresight framework proposed by our BAIR colleagues, a model-based
reinforcement learning technique that trains a video prediction model to
predict a sequence of images from the image observation of the current state as
well as an action sequence. With such a model, we can predict the results of
taking various action sequences, and can then use planning techniques such as
the cross-entropy method and model-predictive control to plan actions that
minimize some cost function. We use Euclidean distance to the goal image for
the cost function in our experiments.
We generate roughly 100,000 images from an entirely random policy, executed
entirely in simulation. Using the same fabric simulator as in (Seita et al.,
2019), we use Stochastic Variational Video Prediction (SV2P) as the
video prediction model. We leverage both RGB and depth modalities, which we
find in our experiments to outperform either modality alone, and thus call the
algorithm VisuoSpatial Foresight (VSF).
While prior work on Visual Foresight includes some fabric manipulation
results, the tasks considered are typically short horizon and have a wide range
of goal states, such as covering a spoon with a pant leg. In contrast, we focus
on longer horizon tasks that require a sequence of precise pick points. See
the image below for typical test-time predictions from the visual dynamics
model. The data is domain-randomized in color, camera angle, brightness, and
noise, to facilitate transfer to a da Vinci Surgical Robot.
We show the ground truth images as a result of fabric manipulation, each paired
with predictions from the trained video prediction model. Given only a starting
image (not shown), along with the next four actions, the video prediction model
must predict the next four images, shown above.
The predictions are accurate enough for us to plan toward a variety of goal
images. Indeed, our resulting policy rivals the performance of the smoothing
specialists, despite only seeing random images at training time.
We execute a sequence of pick-and-place actions to manipulate fabric toward
some goal image. The top row has three different goal images: smooth, folded,
and doubly folded, which has three layers of fabric stacked in the center in a
particular order. In the bottom row, we show simulated rollouts (shown here as
time-lapses of image observations) of our VSF policy manipulating fabric toward
each of the goal images. The bottom side of the fabric is a darker shade
(slightly darker in the second and much darker in the third column), and the
light patches within the dark are due to self-collisions in the simulator that
are difficult to model.
The main advantage of this approach is that we can train a single neural
network policy to be used for a variety of tasks, each of which are set by
providing a goal image of the target fabric configuration. For example, we can
do folding tasks, for which it may be challenging to hand-code an algorithmic
supervisor, unlike the case of smoothing. The main downsides are that
training a video prediction model is difficult due to the high dimensional
nature of images, and that we typically require more actions than the imitation
learning agent to complete smoothing tasks as the data consists of
Planning Over Latent States
- Wilson Yan, Ashwin Vangipuram, Pieter Abbeel, Lerrel Pinto.
Learning Predictive Representations for Deformable Objects Using Contrastive Estimation.
arXiv 2020. Project Website with Code.
In this paper, we similarly consider a model-based method, but instead of
training a video prediction model to plan in pixel space, we instead plan in a
learned lower-dimensional latent space since learning a video prediction model
can be challenging, as the learned model must capture every detail of the
environment. In addition, it is also difficult to learn proper pixel dynamics
in the cases when we use frame-by-frame domain randomization to transfer to the
A visual depiction of the contrastive learning framework. Given positive
current-next state pairs and randomly sampled negative observations, we learn
an encoder and forward model such that the estimated next states lie closer
than the negative observations in the latent space.
We jointly learn an encoder and a latent forward model using contrastive
estimation methods. The encoder maps raw images into a lower dimensional latent
space. The latent forward model will take this latent variable, along with the
action, and produce an estimate of the next state.
We train our models by minimizing a variant of the InfoNCE contrastive
loss, which encourages learning latents that maximize mutual information
between encoded latents and their respective future observations. In practice,
this training method will bring current and subsequent latent encodings closer
(in $L_2$ distance), while making other sampled non-next latent encodings to be
further apart. As a result, we are able to use the learned encoder and learned
forward model to effectively predict the future, similar to the image-based
approach presented in the prior paper (Hoque et al., 2020), except we are
not predicting images but latent variables, which are potentially easier to
In our cloth experiments, we apply random actions to collect 400,000 samples in
a DM Control simulator with added domain randomization on cloth physics,
lighting, and cloth color. We use the learned encoder and forward model to
perform model predictive control (MPC) with one-step prediction to plan towards
a desired goal state image. The figure below shows examples of smoothing out
different colored cloths on a real PR2 robot. Note that the same blue cloth is
used as the goal image regardless of the actual cloth being manipulated. This
indicates that the learned latents have learned to ignore unnecessary
properties of cloth such as color when performing manipulation tasks.
Several episodes of both manipulating rope and cloth using our method, with
different start and goal states. Note that the same blue cloth is used as the
goal state irrespective of the color of the cloth being manipulated
Similar to (Hoque et al., 2020), this method is able to solve multi-task goal
states, as shown in the example episodes above run on a real robot. Using
contrastive methods to learn a latent space, we also achieve better sample
complexity in model learning compared to direct video prediction models,
because the latter require more samples to predict high dimensional images. In
addition, planning directly in latent spaces is easier compared to planning
with a visual model. In our paper, we show that using a simple one-step
model-predictive control to plan in latent spaces works substantially better
than one-step planning with a learned visual forward model, perhaps because the
latents learn to ignore irrelevant aspects of the images. Although planning
allows for cloth spreading and rope orientation manipulation, our models fail
to perform long horizon manipulation since the models are trained on offline
To recap, we presented four related papers which present different approaches
for robot manipulation of fabrics. Two use model-free approaches (one with
reinforcement learning and one with imitation learning) and two use model-based
reinforcement learning approaches (with either images or latent variables).
Based on what we’ve covered in this blog post, let’s consider possibilities for
One option is to combine these methods, as done in recent or concurrent work.
For example, (Matas et al., 2018) used model-free reinforcement learning
with imitation learning (through demonstrations) for cloth manipulation tasks.
It is also possible to add other tools from the robotics and computer vision
literature, such as state estimation strategies to enable better
planning. Another potential tool might be dense object descriptors
which indicate correspondence among pixels in two different images. For
example, we have shown the utility of descriptors for a variety of rope
and fabric manipulation tasks.
Techniques such as imitation learning, reinforcement learning,
self-supervision, visual foresight, depth sensing, dense object descriptors,
and particularly the use of simulators, have been useful tools. We believe they
will continue to play an increasing role in robot manipulation of fabrics, and
could be used for more complex tasks such as wrapping items or fitting fabric
to 3D objects.
Reflecting back on our work, another direction to explore could be using these
methods to train six degree-of-freedom grasping. We restricted our setting to
planar pick-and-place policies, and noticed that the robots often had
difficulty with top-down grasps when fabric corners were not clearly exposed.
In these cases, more flexible grasps may be better for smoothing or folding.
Finally, another direction for future work is to address the mismatches we
observed between simulated and physical policy performance. This may be due to
imperfections in the fabric simulators, and it might be possible to use data
from the physical robot to fine-tune the parameters of the fabric simulators to
We thank Ajay Kumar Tanwani, Lerrel Pinto, Ken Goldberg, and Pieter Abbeel for
providing extensive feedback on this blog post.
This research was performed in affiliation with the Berkeley AI Research (BAIR)
Lab, Berkeley Deep Drive (BDD), and the CITRIS “People and Robots” (CPAR)
Initiative. The authors were supported in part by Honda, and by equipment
grants from Intuitive Surgical and Willow Garage.