Motion Planning for Fluid Manipulation using Simplified Dynamics
We present an optimization-based motion planning algorithm to compute a smooth, collision-free trajectory for a manipulator used to transfer a liquid from a source to a target container. We take into account fluid dynamics constraints as part of trajectory computation. In order to avoid the high complexity of exact fluid simulation, we introduce a simplified dynamics model based on physically inspired approximations and system identification. Our optimization approach can incorporate various other constraints such as collision avoidance with the obstacles, kinematic and dynamics constraints of the manipulator, and fluid dynamics characteristics. We demonstrate the performance of our planner on different benchmarks corresponding to various obstacles and container shapes. Furthermore, we also evaluate its accuracy by validating the motion plan using an accurate but computationally costly Navier-Stokes fluid simulation.
Motion planning is a core problem in robotics and has been studied for many decades. It is typically used to compute a collision-free path for moving an object from an initial position to a goal position or for assembly tasks. Some of the earlier applications of motion planning were restricted to the handling of rigid or articulated models. Recently, there has been interest in manipulating highly deformable objects such as cloth , ropes , or human tissues , which can have higher physical-simulation complexity. In this paper, we deal with planning for fluid manipulation tasks performed using a robot, including liquid transfer where the main goal is to transfer a liquid from one container to the other. This problem is important in industrial applications, where the robots are used to transfer dangerous fluids or chemicals, as part of handling materials, cleaning tasks, or using lubricants. Other applications arise in domestic and service tasks, where robots may be used to refill a cup of coffee or to pour liquids from a bottle to a glass. Humans tend to be quite good at learning fluid manipulation tasks quickly and can easily exploit the physical properties of the fluid. However, it is non-trivial for the robot to perform such tasks due to the intrinsic challenges of modeling the fluid dynamics.
There are many issues that arise in designing such motion planning algorithms. The first issue arises due to the flexibility of fluid body. Fluid body can undergo complex topology changes and large deformations as shown in Figure 2. As a result, we need to use appropriate data structures that can provide flexibility, e.g., using a large set of particles. Unfortunately, these representations, usually parametrize the fluid body using tens of thousands of variables. It is difficult for any existing motion planning algorithm to take into account deforming obstacles specified using so many degrees of freedom. Moreover, fluid body dynamics is governed by the Navier-Stokes equation, which is a nonlinear PDE. In order to model accurate fluid manipulation for planning, this PDE has to be used to specify appropriate constraints, and solved during each step of the planning to compute a valid configuration. However, exact solvers for the Navier-Stokes equation can be expansive .
Main Results: In this paper, we introduce a simplified fluid dynamics model, which can be specified by relatively few parameters that involve only global descriptors: the total volume of the fluid in the container, and the outflowing velocity magnitude. In this parameter space, we use physically inspired approximations and system identification techniques to derive the governing equations for the global descriptors. As illustrated in Figure 2, this approximation is based on the observation that, due to the smoothness requirements placed on the trajectories, the liquid outflow from the container has strong regularity and it approximately follows a quadratic curve. This quadratic curve can be parametrized only by the velocity magnitude and direction, in the container’s local coordinates.
We combine this simplified dynamics model with an optimization-based planner that can compute collision-free and smooth trajectories, and also satisfy the fluid dynamics constraints. Our planner based on the simplified dynamics model can achieve more than two orders of magnitude speedup compared with one that uses an accurate solver. It can also be easily integrated into current optimization-based planning approaches [26, 13, 28]. In Figure 1, we demonstrate the performance of our method based on using different benchmarks with different shape of obstacles between the source and target containers. Our simplified model can reduced the planning time from hours to minutes.
The rest of the paper is organized as follows. After reviewing some related works in Section II, we give an overview of our planning algorithm in Section III. We then present the simplified dynamics model in Section IV. Finally, we evaluate the accuracy of our simplified model and validate our motion plan by comparing with results from accurate Navier-Stoke’s-based simulation in Section V.
Ii Related Works
In this section, we give a brief overview of prior works on motion planning, fluid dynamics, and planning with fluid constraints.
Ii-a General Motion Planning
Robotic motion planning can always be formulated as a trajectory search problem under various constraints. Early works of motion planning  focus solely on feasibility under simple collision-free constraints. Many extensions have been proposed in [32, 29, 5] to handle other types of constraints. Some of the widely used algorithms for motion planning are sampling-based algorithms, but it is hard to integrate some kinds of constraint forms into those methods. Recent works focus more on computing locally optimal motion plans, see e.g. [26, 13, 25]. Based on general-purpose numerical optimization methods, these planners have the advantage in that they can naturally account for various additional requirements, such as smoothness, collision-avoidance, etc. This property makes them especially attractive for object manipulation tasks, including fluid manipulation. Specifically, our planning framework uses the optimization approach described in , which is an optimization algorithm that can exactly satisfy the collision constraints.
Ii-B Fluid Dynamics and Planning
In order for a robot to interact with dynamics environmental objects such as fluids, it is important to estimate and predict their dynamics states. A well-established way for such estimation is based on computational fluid dynamics (CFD) . CFD simulators can be categorized by the different ways used to represent the fluid body: meshless methods [34, 3] represent fluids using a set of particles; grid based methods [11, 23] represent it as material flowing through static spatial cells; FEM methods  instead use spatial cells that move with fluid bodies. To represent a small block of water, e.g. a cup of coffee in a mug, all these methods tend to use tens of thousands of parameters, taking hours for even one pass of forward simulation on a desktop PC. This makes it almost impractical to perform a numerical search for a solution in such high dimensional spaces. Indeed, earlier works like  take days to control a short fluid simulation corresponding to an animation sequence.
Ii-C Planning With Fluid Constraints
There are some prior works on motion planning for fluid manipulation. We classify these works into three categories: methods using demonstration and machine learning [16, 18, 1, 33], methods based on full-featured dynamics model, (i.e. CFD simulator) [15, 24], and methods using simplified dynamics model [14, 31]. Machine learning based methods work around the problem of high dimensionality by generalizing from a set of already optimized, learned, or captured “example” trajectories. However, obtaining such example trajectories for fluid manipulation is usually non-trivial. Moreover, these methods have difficulties generalizing to new scenarios, as new datasets are needed. In order to handle new scenarios automatically, some methods use an accurate full-featured CFD simulator.  uses evolutionary optimization and  uses an EM-like optimization algorithm, first assuming fixed fluid particle streamlines within each iteration and then correcting those streamlines using an additional forward CFD simulation. Both these methods have low performance since they require multiple passes of costly fluid simulations. In view of this high complexity, [14, 31] use a reduced or simplified dynamics fluid model to achieve higher planning performance.
In this section, we formulate our problem, introduce the notation, and give an overview of our approach.
Iii-a Problem Definition
In order to deal with a coupled planning problem that handles the constraints of the robot and the fluid body, we use the notion of an augmented parameter space: . Here is the robot’s kinematic configuration space: Each point consists of all the joint variables characterizing the position of each rigid link. is the set of parameters representing a fluid’s dynamics state: each point consists of all the variables characterizing the position as well as the velocity of the fluid body. We formulate the motion planning problem as an optimization over the space of valid trajectories . Here are robot and fluid trajectories respectively, functions mapping to ( is the duration of the trajectory). Both these trajectory functions are discretized using finite difference with timestep size .
are the set of discrete trajectory samples where . In order to model the dynamics of environmental objects, consecutive trajectory samples are related by additional governing PDEs and spatial/temporal boundary conditions, e.g. the Navier-Stokes equation is used in . We can encode this relationship as a function:
where takes the dynamics state at last timestep and the boundary condition at current timestep and integrates the governing PDE over time to compute the dynamics state at the current timestep as illustrated in Figure 3. Other planning problems with dynamics environmental objects can also fit in such a framework, but we use a different function to represent the physics constraints. A common assumption taken by previous works [9, 18] is that the magnitude of end-effector velocity is much smaller than the characteristic rate of energy dissipation due to friction or damping, so that dependencies between consecutive timesteps can be ignored. And we can use a simplified relationship . Since most fluid materials have a low energy dissipation rate (i.e. small viscosity), we can’t use this assumption in our formulation.
Iii-B Complexity of Fluid Manipulation
is usually of a much higher dimension than . If we use a particle based representation as illustrated in Figure 2, each particle introduces an additional dimensions (3 for position and 3 for velocity) to . As a result, time integration of the governing PDE over a small timestep can take minutes, and updating the whole will therefore take hours on a desktop computer. Furthermore, an optimization algorithm needs to perform multiple updates of . In order to overcome this complexity, we use a simplified dynamics model for fluid manipulation.
Iii-C Optimization Pipeline
Given the specification of the parameters and the (discrete) trajectory space,  plans the motion of the robot using numerical spacetime optimization over the vector space under various non-linear constraints. It can be posed as:
We briefly review the terms used in our planning algorithm. requires each to lie in (the subspace of where no collision occurs between the robot and obstacles). To satisfy this requirement, we perform discrete collision checking between all pairs of objects and robot links at each timestep to find a set of invalid penetrations , where are a pair of points in contact, is the contact normal and is the penetration depth. These constraints are imposed by setting . In order to reduce the problem size, we only retain the deepest pair of penetrations for each pair of colliding objects. is the set of inherent constraints in the robot, like the kinematic and dynamics constraints. In this work, we only consider the joint limits and the maximum velocity constraints. Finally, corresponds to the constraints that the relationship in Equation 1 is satisfied exactly. corresponds to the smoothness characteristics of the trajectory space. We use the formulation in [13, 25] and use a Laplacian penalty term in the joint space:
Finally, encodes the high level goals of transferring liquid from a source to a target container. We give its definition in the next section. With a smooth and differentiable , this optimization can be performed using local linearization. However, this may not be the case with fluids, where and are usually non-smooth even for our simplified model. Therefore, we follow the approach in  and decouple the planning problem: first fixing and updating by solving the subproblem:
We then update by applying Equation 1 repeatedly.
In order to solve this sub-problem numerically, we use the sequential quadratic programming (SQP) with a trust region algorithm in the outer loop. The trust region is adjusted using the Levenberg-Marquardt algorithm according to . Special care is needed in the inner loop. Since conflicting constraints may be returned by collision checking, directly linearizing each collision constraint will sometimes result in an infeasible QP problem. Therefore, we impose as a soft penalty:
where the first formulation is the L1-penalty used in  and the second formulation is the Augmented Lagrangian-penalty. Either formulation requires additional parameters or to be adjusted according to . The final optimization pipeline is summarized in Algorithm 1. Contrasted to  where is updated in the outer loop (before Line 7), we can update more frequently in the inner loop (Line 9), due to the lower computational overhead of the simplified dynamics model.
Iv Simplified Dynamics Model
The goal of liquid transfer is to move liquid material from a source container to a target container . In this work, we make several assumptions: the source container is assumed to be an axial symmetric rigid body, the target container is fixed and the source container is attached to the end-effector of a robot arm. In this section, we derive the formulation of our simplified governing PDE and the objective function . Plugging these definitions into Algorithm 1 corresponds to the overall planning algorithm.
A spectrum of governing PDEs have been developed to model the motion of a fluid body, working under various assumptions and data-structures, see e.g. . The choice of appropriate governing PDE is critical to the success of a liquid transfer planner. The most general governing PDE for the fluid body is the Navier-Stokes equation. Although a direct discretization of this equation is also possible, it introduces a large number of parameters to represent the dynamics state of fluid body. In view of this, previous work  assumes the streamline of each fluid particle doesn’t change within the inner loop of Algorithm 1. As a result, a forward simulation in the outer loop is needed to correct the streamline. This method simplifies the optimization problem but the repeated costly forward simulations in the outer loop considerably slow down the overall performance. With these limitations, most planning algorithms instead use a simplified or reduced fluid models, e.g., the pendulum model . Although this is easy to implement, cheap to compute and accurate when is undergoing only a slight perturbation, this method cannot account for significant container movements, e.g. when pouring the liquid from to .
In this paper, we present a simplified dynamics model designed exclusively for the liquid transfer tasks. Our design guideline is to reduce the number of parameters as much as possible, while at the same time to retain the ability of predicting the locus of fluid particles that leave the container . In addition, we want to account for variations in the environment, such as different container shapes and different liquid materials.
As illustrated in Figure 2, we first simplify the problem by dividing the streamline of each fluid particle into three stages: during the source stage a fluid particle lies within the bounding volume of ; it then leaves and follows a quadratic curve , which is the free flying stage; finally the target stage begins when it falls into the bounding volume of . In this work, we ignore the dynamics of the third stage, assuming no spilling after the particle falls into . As a result, the objective of our planner is to ensure that the quadratic curves passes through the center of opening of . Since is a quadratic curve, it is characterized by the outflowing velocity of the fluid and global orientation of at each timestep .
Iv-a The Dynamics Model
We first formulate our parameter set. The dimension of is reduced drastically to only two in our model. The components of are:
where is the remaining volume of liquid left in the container’s bounding volume and is the magnitude of the velocity that represents the mean outflow. In order to formulate the timestepping equation of , we use forward Euler integration , where is the outflow cross-section area. For a given source container , we assume is a function of the leaning angle and volume , as illustrated in Figure 9. This function is precomputed for each given source container and stored as a lookup table. To populate the table, we sample at an interval of , then run a watershed algorithm  at each , while adding an table entry at each water level. Partial derivatives of this function are approximated using finite differences. An example is given in Figure 4. Note that the leaning angle is a function of , which is not a part of .
Finally in order to determine the magnitude of the mean outflowing velocity , we combine two physically inspired approximations. The first approximation is based on the Bernoulli equation . This equation states that if the fluid body is steady, inviscid and incompressible, then over each particle streamline, we have:
where is the pressure, is the gravity and is the position of the point on the streamline along gravity’s direction. Although the assumptions made by the Bernoulli equation are not satisfied exactly, we can still apply it to the two endpoints of the dashed streamline shown in Figure 5. The result implies that is related to . Here is a function of and computed in the same way as , using lookup table. For a 3D source container , is computed for its axial symmetric cross section. The second approximation is based on simple rigid body dynamics. According to Figure 5, when , a single particle moving along the wall of the source container will gain velocity with magnitude proportional to , where is the length of the wall. This approximation tells us that should be related to . Unfortunately, we don’t know exactly what the best relationship model between and these two terms is. So that we use system identification to combine their contributions, by making the assumption that:
where the coefficients are found by solving the linear regression:
using a set of training data acquired from CFD simulation. One issue with this setting of coefficients is that can be negative, although this never happens in our experiments. In summary, our governing PDE is posed as:
This simplified model works well if the source container is moving slowly and smoothly, which is consistent with the goal of the smoothness objective . See Section V for more discussion.
Iv-B Liquid Transfer Objective Function
Given the governing PDE from Section IV-A, we can now formulate our objective function . In principle, requires the free-flying stage curve to pass through the center of the opening of the target container, denoted as . We assume that the mean flow follows a quadratic curve, parametrized by:
and we penaltize the distance between and when they are at the same altitude. Therefore, our objective function can be defined as:
where is computed by solving , which is the time when the curve reaches the same altitude as ; maps in local frame of to the global frame and is the centroid of cross section area . More details of their derivation are given in Appendix VII. Note that this term is weighted by the cross section area, so that it only takes effect when the outflow flux is nonzero. However, this objective alone is not sufficient because in our initial trajectory is zero in every timestep. As a result, we add a guiding term: to enforce a fixed final leaning angle. We use in all the experiments.
V Experiments and Results
In this section, we give details of our implementation and highlight the performance of our planner. We also evaluate the accuracy and efficacy of our simplified model.
In order to find the unknown coefficients involved in our simplified model, we need to solve the linear regression Equation 4 from a set of training data. The dataset is acquired from full-featured exact fluid simulations. Our simulator is implemented as a low order discretization of the Naiver-Stokes equation proposed in [34, 4]. The fluid body in the simulator is represented by a set of particles as shown in Figure 2. For each mesh of container and each fluid material setting, we need to solve for a separate set of coefficients . In order to compute the training data, we ran 127 3D fluid simulations of pouring liquid out of a container by leaning it from to using a random . This results in approximately 20000 training samples, each of which is a tuple . To extract these samples, for the set of particles in every timestep of the simulation, We extract their 2D axial symmetric cross-section. In this cross section, we compute by averaging the magnitude of velocity of all particles that leave the container at current timestep. These particles should be inside the bounding volume of in the previous timestep, but outside it in the current timestep. We also compute the characteristic height , which is found by fitting a cubic curve to the free surface and evaluate it at the step boundary. A snapshot of the training data is illustrated in Figure 6.
After solving for the coefficients, we want to evaluate the accuracy of our simplified model. We plot the change of several related variables with respect to physical time in Figure 7. We note from the Figure 7 (c,d) that, for the oval-shaped container, the Bernoulli approximation can already achieve acceptable accuracy. However, for the cylindrical container, Bernoulli approximation leads to large error when . In these cases, is a better approximation to . By combining the six terms in Equation 3, we can achieve much better agreement with the groundtruth . And by plugging the function into Equation 5, we can even predicate the entire liquid trajectory, i.e. predicating given . Two of such predicted trajectories are illustrated in Figure 8. Our model is flexible enough to account for different container shapes. Note that Bernoulli approximation can result in some false predictions when (and thus ), e.g. the yellow dots in the early timesteps of Figure 7, this will not cause any problems since our objective function in Equation 7 does not take into effect such degenerate cases.
|BENCHMARK||VISCOSITY||TIME PLANNING||TIME VALIDATION||QUALITY|
|Figure 1 (a)||5min||2.1h||95.7%|
|Figure 1 (a)||5min||2.5h||89.5%|
|Figure 1 (c)||7min||1.9h||93.2%|
|Figure 1 (c)||7min||2.2h||87.1%|
To evaluate the motion planning pipeline, we plug the functions and into Algorithm 1. This algorithm is implemented on ROS  platform. In order to implement the trust region SQP optimizer, we use the OOQP lib  to solve each QP subproblem. For collision constraints, although  used , we use in all our experiments because introduces half the number of constraints in the QP problem. These constraints correspond to the box constraints that the OOQP algorithm can handle efficiently. Our simulated robot is a 9-DOF low cost ClamArm. All the experiments are setup on a single desktop computer with i7-4790 8-core CPU 3.6GHz and 8GB of memory. We evaluated the system on two liquid transfer tasks with different sets of obstacles in the environment. For each benchmark, we use two sets of fluid materials that differ only in their viscosity (), so that two trained models are needed for each material and each source container . We sample each trajectory with 100 nodes ().
Several timesteps are illustrated in Figure 1, to validate the quality of these trajectories. We replace the simplified dynamics model with a full-featured CFD simulator and our quality measure is the fraction of fluid particles that fall inside the target container . These quality measures and time cost of planning are summarized in Table I. Each execution of Line 9 in Algorithm 1 takes less than 5 seconds, while a full-featured CFD simulation in  takes more than 2 hours. Thus we achieve at least two orders of magnitude speedup using our simplified dynamics model, as opposed to an exact fluid simulator and achieve comparable accuracy.
Vi Conclusion, Limitations, Future Work
In this paper, we present an optimization based motion planning algorithm for liquid transfer. Our formulation uses an optimization-based planner and uses a simplified dynamics model to for the fluid constraint. The iterative procedure allows us to handle the non-smooth governing equation , while the simplified dynamics model can be used to replace full-featured CFD simulation. This avoids introducing a large set of parameters to represent the fluid model, and thereby leading to a large speedup. We have evaluated the accuracy of our simplified model as well as the planning algorithm by comparing them with fluid simulation groundtruth data. The result shows that our model is able to predict the mainflow location when moving and leaning source container at mild speed.
The limitations of current work are due to various assumptions, such as the symmetry of the source container and the fixed position of target container. More importantly, our simplified parameter set and the dynamics model is restricted to the particular task of liquid transfer at mild speed. For example, when the end-effector is moving too fast, the predicated curve can be far from the groundtruth and the planned trajectory may not be physically correct.
In terms of future works, we would like to introduce additional constraints on the spacetime optimization formulation, such that our simplified model’s prediction error is below some threshold. Another possible extension is to use more accurate, but still reduced parameter set and dynamics model, e.g. using convolutional neural network.
Vii Appendix: The Container Geometry
To characterize the quadratic curve , we need the centroid of cross section area . Also, we need the relationship between and . Since we assume the source container to be axial symmetric, its orientation can be characterized by two parameters as illustrated in Figure 9. Given these parameters we have:
where is the centroid of in the local coordinates of , which is again assumed to be a function precomputed in the same way as . The operator in is critical to the accuracy of our dynamics model. When the leaning angle is less then , we assume the outflow direction to be horizontal, see bottom Figure 9.
-  S. Alatartsev, A. Belov, M. Nykolaichuk, and F. Ortmeier, “Robot Trajectory Optimization for the Relaxed End-Effector Path,” in Proceedings of the 11th International Conference on Informatics in Control, Automation and Robotics (ICINCO), 2014.
-  J. D. Anderson and J. Wendt, Computational fluid dynamics. Springer, 1995, vol. 206.
-  A. Barreiro, A. Crespo, J. Domínguez, and M. Gómez-Gesteira, “Smoothed particle hydrodynamics for coastal engineering problems,” Computers & Structures, vol. 120, pp. 96–106, 2013.
-  C. Batty, F. Bertails, and R. Bridson, “A fast variational framework for accurate solid-fluid coupling,” in ACM SIGGRAPH, vol. 26, no. 3. ACM, 2007, p. 100.
-  D. Berenson, S. S. Srinivasa, D. Ferguson, A. Collet, and J. J. Kuffner, “Manipulation planning with workspace goal regions,” in Proceedings of IEEE International Conference on Robotics and Automation, 2009, pp. 618–624.
-  D. Bernoulli, “1738 hydrodynamica,” Argentorati (Strassburg), Germany: Johann Reinhold Dulsecker.
-  N. Chentanez, R. Alterovitz, D. Ritchie, L. Cho, K. K. Hauser, K. Goldberg, J. R. Shewchuk, and J. F. Oâbrien, “Interactive simulation of surgical needle insertion and steering,” in ACM SIGGRAPH, 2009.
-  P. Clausen, M. Wicke, J. R. Shewchuk, and J. F. O’Brien, “Simulating liquids and solid-liquid interactions with lagrangian meshes,” ACM Transactions on Graphics, vol. 32, no. 2, pp. 17:1–15, Apr. 2013, presented at SIGGRAPH 2013. [Online]. Available: http://graphics.berkeley.edu/papers/Clausen-SLS-2013-04/
-  B. Frank, C. Stachniss, R. Schmedding, M. Teschner, and W. Burgard, “Learning object deformation models for robot motion planning,” Robotics and Autonomous Systems, vol. 62, no. 8, pp. 1153–1174, 2014.
-  E. M. Gertz and S. J. Wright, “Object-oriented software for quadratic programming,” ACM Transactions on Mathematical Software (TOMS), vol. 29, no. 1, pp. 58–81, 2003.
-  F. H. Harlow, J. E. Welch, et al., “Numerical calculation of time-dependent viscous incompressible flow of fluid with free surface,” Physics of fluids, vol. 8, no. 12, p. 2182, 1965.
-  S. H. Huang, J. Pan, G. Mulcaire, and P. Abbeel, “Leveraging appearance priors in non-rigid registration, with application to manipulation of deformable objects,” in Intelligent Robots and Systems (IROS), 2015 IEEE/RSJ International Conference on. IEEE, 2015, pp. 878–885.
-  M. Kalakrishnan, S. Chitta, E. Theodorou, P. Pastor, and S. Schaal, “STOMP: Stochastic trajectory optimization for motion planning,” in Proceedings of IEEE International Conference on Robotics and Automation, 2011, pp. 4569–4574.
-  L. Kunze, M. E. Dolha, E. Guzman, and M. Beetz, “Simulation-based temporal projection of everyday robot object manipulation,” in The 10th International Conference on Autonomous Agents and Multiagent Systems-Volume 1. International Foundation for Autonomous Agents and Multiagent Systems, 2011, pp. 107–114.
-  Y. Kuriyama, K. Yano, and M. Hamaguchi, “Trajectory planning for meal assist robot considering spilling avoidance,” in Control Applications, 2008. CCA 2008. IEEE International Conference on. IEEE, 2008, pp. 1220–1225.
-  J. D. Langsfeld, K. N. Kaipa, R. J. Gentili, J. A. Reggia, and S. K. Gupta, “Incorporating failure-to-success transitions in imitation learning for a dynamic pouring task,” 2014.
-  S. M. Lavalle, “Rapidly-exploring random trees: A new tool for path planning,” 1998.
-  A. X. Lee, S. H. Huang, D. Hadfield-Menell, E. Tzeng, and P. Abbeel, “Unifying scene registration and trajectory optimization for learning from demonstrations with application to manipulation of deformable objects,” in Intelligent Robots and Systems (IROS 2014), 2014 IEEE/RSJ International Conference on. IEEE, 2014, pp. 4402–4407.
-  Y. Li, D. Xu, Y. Yue, Y. Wang, S.-F. Chang, E. Grinspun, and P. K. Allen, “Regrasping and unfolding of garments using predictive thin shell modeling,” in Robotics and Automation (ICRA), 2015 IEEE International Conference on. IEEE, 2015, pp. 1382–1388.
-  A. McNamara, A. Treuille, Z. Popović, and J. Stam, “Fluid control using the adjoint method,” in ACM Transactions On Graphics (TOG), vol. 23, no. 3. ACM, 2004, pp. 449–456.
-  H. B. Nielsen, “Damping parameter in marquardt’s method,” Informatics and Mathematical Modelling, Technical University of Denmark, DTU, Tech. Rep., 1999.
-  J. Nocedal and S. Wright, Numerical optimization. Springer Science & Business Media, 2006.
-  S. Osher and R. Fedkiw, Level set methods and dynamic implicit surfaces. Springer Science & Business Media, 2006, vol. 153.
-  Z. Pan, C. Park, and D. Manocha, “Robot motion planning for pouring liquids,” in Proceedings of International Conference on Automated Planning and Scheduling, 2016.
-  C. Park, J. Pan, and D. Manocha, “ITOMP: Incremental trajectory optimization for real-time replanning in dynamic environments,” in Proceedings of International Conference on Automated Planning and Scheduling, 2012.
-  N. Ratliff, M. Zucker, J. A. D. Bagnell, and S. Srinivasa, “CHOMP: Gradient optimization techniques for efficient motion planning,” in Proceedings of International Conference on Robotics and Automation, 2009, pp. 489–494.
-  J. B. Roerdink and A. Meijster, “The watershed transform: Definitions, algorithms and parallelization strategies,” 2000.
-  J. Schulman, Y. Duan, J. Ho, A. Lee, I. Awwal, H. Bradlow, J. Pan, S. Patil, K. Goldberg, and P. Abbeel, “Motion planning with sequential convex optimization and convex collision checking,” The International Journal of Robotics Research, vol. 33, no. 9, pp. 1251–1270, 2014.
-  M. Stilman, “Task constrained motion planning in robot joint space,” in IEEE/RSJ International Conference on Intelligent Robots and Systems, 2007, pp. 3074–3081.
-  I. A. Sucan and S. Chitta, “Moveit!” Online Available: http://moveit.ros.org, 2013.
-  M. Tzamtzi and F. Koumboulis, “Robustness of a robot control scheme for liquid transfer,” in Novel Algorithms and Techniques In Telecommunications, Automation and Industrial Electronics. Springer, 2008, pp. 156–161.
-  D. Wilkie, J. P. van den Berg, and D. Manocha, “Generalized velocity obstacles,” in Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, 2009, pp. 5573–5578.
-  A. Yamaguchi, C. G. Atkeson, and T. Ogasawara, “Pouring skills with planning and learning modeled from human demonstrations,” International Journal of Humanoid Robotics, vol. 12, no. 03, p. 1550030, 2015.
-  Y. Zhu and R. Bridson, “Animating sand as a fluid,” ACM Transactions on Graphics (TOG), vol. 24, no. 3, pp. 965–972, 2005.