FluidLab: A Differentiable Environment for Benchmarking Complex Fluid Manipulation

ICLR 2023 (Spotlight)

1Carnegie Mellon University, 2Dartmouth College, 3Columbia University, 4Massachusetts Institute of Technology, 5MIT-IBM Watson AI Lab, 6UMass Amherst


FluidLab is a differentiable environment with a set of complex fluid manipulation tasks.



FluidLab is powered by FluidEngine, a fully differentiable and multi-material physics engine, supporting rigid, elastic, plastic materials, inviscid and viscous liquid, and gaseous phenomena such as smoke.


Abstract

Humans manipulate various kinds of fluids in their everyday life: creating latte art, scooping floating objects from water, rolling an ice cream cone, etc. Using robots to augment or replace human labors in these daily settings remain as a challenging task due to the multifaceted complexities of fluids.

Previous research in robotic fluid manipulation mostly consider fluids governed by an ideal, Newtonian model in simple task settings (e.g., pouring water into a container). However, the vast majority of real-world fluid systems manifest their complexities in terms of the fluid’s complex material behaviors (e.g., elastoplastic deformation) and multi-component interactions (e.g. coffee and frothed milk when making latte art), both of which were well beyond the scope of the current literature. To evaluate robot learning algorithms on understanding and interacting with such complex fluid systems, a comprehensive virtual platform with versatile simulation capabilities and well-established tasks is needed.

In this work, we introduce FluidLab, a simulation environment with a diverse set of manipulation tasks involving complex fluid dynamics. These tasks address interactions between solid and fluid as well as among multiple fluids. At the heart of our platform is a fully differentiable physics simulator, FluidEngine, providing GPU-accelerated simulations and gradient calculations for various material types and their couplings, extending the scope of the existing differentiable simulation engines. We identify several challenges for fluid manipulation learning by evaluating a set of reinforcement learning and trajectory optimization methods on our platform. To address these challenges, we propose several domain-specific optimization schemes coupled with differentiable physics, which are empirically shown to be effective in tackling optimization problems featured by fluid system’s non-convex and non-smooth properties.


Real World Executions


Ice Cream

Gathering

Latte Art

Mixing


Qualitative Results

We evaluate trajectory optimization with differentiable physics (DP), sampling-based optimization methods (CMA-ES) as well as model-free RL algorithms including SAC and PPO, and show we can solve some quite challenging tasks reasonably well, using the gradient information provided by our simulation environment and the optimization scheme we proposed.

Latte Art (via Pouring)

Goal

DP

DP-H

CMA-ES

SAC

PPO

Latte Art (via Stirring)

Goal

DP

DP-H

CMA-ES

SAC

PPO

Ice Cream (Static)

Goal

DP

DP-H

CMA-ES

SAC

PPO

Ice Cream (Dynamic)

Goal

DP

DP-H

CMA-ES

SAC

PPO

Transporting

Goal

DP

DP-H

CMA-ES

SAC

PPO

Mixing

Goal

DP

DP-H

CMA-ES

SAC

PPO

Pouring

Goal

DP

DP-H

CMA-ES

SAC

PPO

Gathering (Easy)

Goal

DP

DP-H

CMA-ES

SAC

PPO

Gathering (Hard)

Goal

DP

DP-H

CMA-ES

SAC

PPO

Air Circulation

Goal

DP

DP-H

CMA-ES

SAC

PPO


Validation Experiments for FluidEngine

One useful way of validating simulation engines is to run simulation experiments and verify if the produced simulation results match known physical phenomena. Here we testify FluidEngine by running simulations and inspect if it can successfully reproduce a number of physical phenomena shown below.

Kármán Vortex Street

When a flow of fluid is separated by blunt bodies, a repeating pattern of swirling vortices would appear due to vortex shedding. We simulate a flow of fluid flowing by a rigid cylinder and visualize the top-down view. We colorized the fluid around the cylinder, and it can be seen that our simulator can faithfully produce a street of vortices, typically known as the Kármán vortex street phenomenon.

Dam Break

This is a classical engineering test case, where a fluid volume falls due to gravity and splashes within the domain. We successfully reproduced this phenomenon with our simulation engine.

Elastic

Elasto-plastic

Magnus Effect

This is an observable phenomenon commonly associated with a spinning object moving through a fluid. The path of the spinning object is deflected in a manner not present when the object is not spinning. One example of such phenomenon seen in daily life is the screw shot in football playing. Here we simulate a spinning ball in a fluid body. It can be observed that the spinning motion produces a deflection in the motion trajectory of the ball, and the magnitude of the deflection has a correlation with the spinning velocity.

Translation only

Translation + slow CCW spinning

Translational + fast CCW spining

Translational + fast CW spining

Buoyancy

We verify here if objects with different density in a liquid body would incur different magnitude of buoyancy. Here the red ball has a density of half of the water, where the blue ball shares the same density value of the water. It can be observed that the red ball would float on the water surface due to buoyancy.

Incompressibility and Volume Stability

Liquids are generally considered incompressible. Our MPM-based engine simulates weakly-compressible liquids, where the momentum and mass are updated every step via consecutive grid-particle-grid information transfer. We verify here that the simulated fluid bodies can maintain consistent pressure and volume through long-horizon simulations.

Conservation of Momentum

When objects are in collision, their motions obey conservation of momentum. Here we test the collision of two objects with exactly the same mass on a frictionless floor, where it can be observed that they exchanged their momentum after the collision as expected.

Rayleigh–Taylor Instability

This phenomenon describes the instability of an interface between two fluids with different densities, which occurs when the heavy component is above and pushing the light one. Here we simulate the behavior of two layers of fluids with different densities, where it can be observed that a plume of heavy fluid with small vortices emerges and evolves due to the interfacial instabilities.

Varying Plasticity

Here we show different behaviors of the object bouncing on the floor when we vary the plasticity of the object. From left to right, we increase the plasticity of the object. Our simulator can simulate bouncing behavior with varying plasticity, where it can be observed energy dissipates faster with a greater plasticity.

Elastic

Elasto-plastic

Plastic


BibTeX

@inproceedings{xian2023fluidlab,
  title={FluidLab: A Differentiable Environment for Benchmarking Complex Fluid Manipulation},
  author={Xian, Zhou and Zhu, Bo and Xu, Zhenjia and Tung, Hsiao-Yu and Torralba, Antonio and Fragkiadaki, Katerina and Gan, Chuang},
  booktitle={International Conference on Learning Representations},
  year={2023}
}