Word cloud of my PhD thesis :D
Collision-free Motion Planning
Interact with the world
Smaller
\(\mathrm{u}\): un-actuated
control input: commanded ball position
\(\mathrm{a}\): actuated
No contact
Contact
Solve with gradient descent
No contact
Contact
No contact
Contact
Solve with gradient descent
No contact
Contact
No contact
Contact
Solve with gradient descent
No contact
Contact
Stuck in local minima!
x
Friction cone
y
Number of faces
x
x
y
z
Number of contact pairs.
Tao Pang*, H.J. Terry Suh*, Lujie Yang, Russ Tedrake, "Global Planning for Contact-Rich Manipulation via Local Smoothing of Quasi-dynamic Contact Models", under review, 2022.
Good Scalability (Smoothed dynamics)
Limited Scalability (Mode Transitions)
Local Planning
Global Planning
[1] Mordatch et al.
[3] Posa et al.
[6] Marcucci et al.
[4] Aydinoglu and Posa.
[2] Hogan and Rodriguez.
[5] Cheng et al.
H.J. Terry Suh*, Tao Pang*, Russ Tedrake, “Bundled Gradients through Contact via Randomized Smoothing”, RA-L, 2022.
Tao Pang*, H.J. Terry Suh*, Lujie Yang, Russ Tedrake, "Global Planning for Contact-Rich Manipulation via Local Smoothing of Quasi-dynamic Contact Models", under review, 2022.
[1] OpenAI, 2018
[2] Nvidia, 2022
In model-based planning, we can smooth contact dynamics, but without using samples (faster!).
Terry Suh
A contact-rich planner that can generate plans for complex systems involving dexterous hands / hardware with about 1 minute of online computation on a laptop.
In contrast, RL-based methods needs tens of hours of offline computation on a beefy workstation.
Our planner is enabled by
(KKT)
Tao Pang, Russ Tedrake, "A Convex Quasistatic Time-stepping Scheme for Rigid Multibody Systems with Contact and Friction", ICRA, 2021.
Force balance of the robot.
Force balance of the object.
Non-penetration.
"Contact forces cannot pull."
"Contact force needs contact."
Temporal benefit: Ignoring transients => looking into the future with fewer steps.
Many manipulation tasks are quasi-static.
Second-order Dynamics
Quasi-static Dynamics
Regularized least squares
Tangential displacements
Optimality Condition
KKT
Put constraints in a generalized log for \(\mathcal{\kappa}_i^\star\)
Notation:
Original dynamics
Smoothed dynamics
Finding this trajectory requires powering through local minima!
One iteration of RRT (simplified)
(1) Sample subgoal
(2) Find nearest node
(3) Grow towards
A node in the RRT tree: \(\bar{q} = [\bar{q}^\mathrm{a}, \bar{q}^\mathrm{u}]\)
Take the rows corresponding to the object:
Smoothed
Smoothed Input Linearization:
\(\varepsilon \) sub-level set
configuration space of the object.
un-actauted(objects)
\(\varepsilon \) sub-level set
One iteration of RRT through Contact
(1) Sample subgoal \(\blacktriangle\)
(2) Find nearest node
is only valid locally.
(3) Grow towards \(\blacktriangle\)
One iteration of RRT through contact, with contact sampling
(1) Sample a different grasp (\(q^\mathrm{a}\)) for one of the nodes, giving a new distance metric
(2) Find nearest node
(3) Grow towards
Three modifications to the vanilla RRT are made:
RRT tree for a simple system with contacts
Ablation study: what trees look like after growing a fixed number of nodes.
[Boston Dynamics]
Quasi-static contact dynamics?
Temporal benefit: Ignoring transients => looking into the future with fewer steps.
Many manipulation tasks are quasi-static.
Second-order Dynamics
Quasi-static Dynamics
One iteration of RRT through Contact
(3) Grow towards
But only take small actions.
Normalized ellipsoid volume
(1) Sample subgoal
(2) Find nearest node
One iteration of RRT through contact, with contact sampling
(1) Sample a different grasp (\(q^\mathrm{a}\)) for one of the nodes, giving a new distance metric
Normalized ellipsoid volume
(2) Find nearest node
(3) Grow towards
But only take small actions.
Planning wall-clock time (seconds)
No contact
Contact
No contact
Contact
No contact
Contact
Solve with gradient descent
No contact
Contact
No contact
Contact
No contact
Contact
Descend with gradients of smoothed dynamics
Reason explicitly about contact mode transitions
Contact
No Contact
No contact
Contact
Push Left
Do not Push Left
Push Right
Do not Push Right
x