A Global Quasi-Dynamic Model for Contact-Trajectory Optimization in Manipulation

Bernardo Aceituno-Cabezas , Alberto Rodriguez


Given a desired object trajectory, how should a robot make contact to achieve it? This paper proposes a global optimization model for this problem with alternated-sticking contact, referred to as Contact-Trajectory Optimization. We achieve this by reasoning on simplified geometric environments with a quasi-dynamic relaxation of the physics. These relaxations are the result of approximating bilinear torque effects and deprecating high-order forces and impacts. Moreover, we apply convex approximations that retain the fundamental properties of rigid multi-contact interaction. As result, we derive a mixed-integer convex model that provides global optimality, infeasibility detection and convergence guarantees. This approach does not require seeding and accounts for the shapes of the object and environment. We validate this approach with extensive simulated and real-robot experiments, demonstrating its ability to quickly and reliably optimize multi-contact manipulation behaviors.

Live Paper Discussion Information

Start Time End Time
07/15 15:00 UTC 07/15 17:00 UTC

Virtual Conference Presentation

Supplementary Video

Paper Reviews

Review 2

Planning through contacts for manipulation has been considered difficult because solvers often find bad local minima and takes huge computation load. This work provides global optimality and fast computation speed without sacrificing too much modeling accuracy. Although it doesn't fully solve the planning problem (object motion is given), the contribution is still important. Overall the paper is well written and easy to follow. The problem formulation and key idea are clear. Results are well presented. A few things to think about: * MIQP doesn't scale well with the number of contacts and time steps, such as in [16]. Why is this formulation fast? Is it because the problems are not big enough, or is there something in this work that greatly influences the computation? * The approximation produces necessary conditions. Before testing in experiments, is there a way to check if a solution is actually feasible? * Is the Non-penetration constraint necessary? Is CT7 (non-penetration) redundant since you already have finger position constraint in CT3 (contact constraints)? * How do you pick the initial solution for the optimization? Is it random? Although the algorithm can find the optimal solution, does the computation time depend much on the quality of initial solution? * The experiment is done by robots "guided through position commands". How is the force related command executed? A list of small issues: ---------------------- In Abstract: "approximating bilinear torque effects and deprecating inertial effects and impacts." Not clear what that means "Since we provide the object motion as an input and we assume an uniform pressure distribution on the object facets, the contact schedule between the object and the environment is also known. " Why do you need uniform pressure assumption? You can use point approximation to edge contacts even when the pressure is not uniform. typo in VI.A: "the model chooses to place a second finger to push on the ground a generate additional reaction force" "one finger results sufficient." -> " one finger is sufficient." All the double quotes: ”end” -> “end” More typos "However, two fingers are required rotate the block around int geometric center." "Our model is accounts for the environment and object shape"

Review 3

The paper addresses an important and timely topic: optimization for contact-based manipulation. The method generates contact trajectories for a wide variety of manipulation primitives, which is impressive. I appreciate the clarity with which the paper is written; it was a pleasure to read. Contact-based optimization is definitely still an open problem and we need more work in this area. In that sense, this paper is a valuable contribution, as it proposes new and potentially useful techniques. But the paper can be more clear on how/why the proposed method is better than other recently proposed trajectory optimization methods (many of these methods are referenced in the paper and for example include methods from Todorov's and Tedrake's groups). I understand that the problem is a bit different, i.e. the current work assumes the motion of the object is given, but this should in general make the problem easier to solve, not more difficult, and existing methods can be used with the object motion variables fixed. It is not clear why fixing the object motion variables is an advantage. The results are impressive in terms of the variety of primitives the method can solve for, but in terms of the two key problems most contact optimization methods suffer from - computational expense and difficulty of execution in real world - the results do not suggest much better performance. A few other points to clarify are: Can finger contact points jump between timesteps? Is continuity enforced? This would be important for realistic solutions when there is gravity. I can see there is a smoothness cost on the finger motion, but that is not a hard continuity constraint. In Figure 6a, why does the optimizer choose to push down from the top, instead of pushing from the side? The optimization cost penalizes high contact forces and pushing from the side should require less force. It would be good to describe in a bit more detail how the real world execution is performed. Is it pure position control? Are the force outputs of the optimization used at all? A possibly relevant piece of work is from Lee, Lozano-Perez, and Kalebling, "Hierarchical planning for multi-contact non-prehensile manipulation". It is not exactly an optimization approach but it attacks a similar problem, and it solves the problems of generating object motion and contact forces separately in a hierarchical manner, which may be relevant to the particular approach this paper is taking.