Nonprehensile Manipulation
When a robot cannot grasp an object, the plan is the sequence of contacts.
Pushing, toppling, pivoting, and re-acquiring an object are all cases in which the robot never closes a rigid grasp. The object moves because contacts are made and broken in the right order, and the hard part of the problem is deciding that order. A trajectory optimizer cannot recover from a contact sequence that was wrong to begin with.
Our work asks a specific question: what should the discrete object be, if the planner is expected to invent contacts that do not exist yet?
Planning through contact
Planar build
Planar Build → — the current construction on the planar step scene, by topic: contact states, edits, the hold gate and its certificates, the local solver and the search, with figures, an interactive viewer, and the open issues.
Results
Results →: the planner lifts the box onto the step from rest, held at every instant, at each disk friction of the declared band, given the lift’s formation sequence; with videos.
The construction has five pieces:
- Formations. Every body carries a finite, named inventory of features (edges and convex vertices). A candidate contact (a template) is a pair of features on two bodies with a signed gap, defined whether or not the pair touches. A formation is the set of templates in principal contact, in the sense of Xiao and Ji, recognized from a pose with small tolerances; it is the discrete state, carried alongside the continuous pose.
- Edits. Neighbouring formations differ by making, breaking or transferring one contact; several change at once only when no single change is possible (the pivot). A transport moves the object without changing contacts.
- The hold gate. Before an edit is tried, a linear program checks that the contacts that persist through it can hold the object against gravity, within the manipulator’s actuator limits, at a pose where the change can happen. In its idealized form it never discards a realizable edit, and an interval version certifies the hold over whole regions of poses.
- Realization. A local solver, a quasi-static realizer that plans on the edit’s known contacts and tracks the plan in simulation, either realizes the edit or reports why it failed.
- Search. A search over edits, ordered by a ranker and a value estimate, counts the expensive solver calls, with the number of calls bounded by the ranker’s probabilities.
The hold gate is what forbids a manipulator from letting go mid-topple, and admits the same release once the object rests on other contacts.
Why unmade contacts matter
Complementarity-based planners enumerate velocity modes over the contacts that collision detection has already found, and graphs of convex sets place modes on vertices that must be enumerated in advance. Both are effective for reasoning about contacts a robot already has. Neither can express go and establish contact with that edge, because the contact is not in the state until it exists.
Here every contact the geometry allows is a named template with a gap defined before it touches, so make that contact is an edge of the graph from the start. That is the one structural difference, and everything else in the construction follows from it.
Status
On a proof-of-concept task, lifting a box onto a step with a disk too weak to carry it, the lift in which the box is held at every instant, the indirect lift, has its last four edits and closing transport certified for every disk friction in a declared band. Given only that lift’s formation sequence, the planner realizes it in simulation from rest at the band’s frictions (Results). Finding the sequence from the scene alone is open and is the next work. The planar build pages give the details, and Issues the open work.