Manipulation in Clutter

Part 1:                                                   

Contact Simulation

MIT 6.421

Robotic Manipulation

Fall 2023, Lecture 8

Follow live at https://slides.com/d/q6akoZo/live

(or later at https://slides.com/russtedrake/fall23-lec08)

Course Roadmap

  1. Hardware basics (iiwa + WSG)
  2. Basic pick and place
    • Kinematics / Jacobian-based control
    • Moved a single known object assuming known pose
  3. Geometric perception
    • Pose estimation from depth for a single known object

This week:

  • More complex scenes (many objects / diverse objects)
  • Still relatively simple manipulation (pick and place)

"Clutter clearing" (an early project at TRI)

YCB Benchmarks – Object and Model Set

Probability distributions over environments.  Work by Greg Izatt

How do you generate random kitchens?

  • Spatial forces add when they are applied to the same body in the same frame, e.g.: $$F^{B_p}_{\text{total},C} = \sum_i F^{B_p}_{i,C}.$$
     
  • Shifting a spatial force from one application point, \(B_p\), to another point, \(B_q\), uses the cross product: $$f^{B_q}_C = f^{B_p}_C, \qquad \tau^{B_q}_C = \tau^{B_p}_C + {}^{B_q}p^{B_p}_C \times f^{B_p}_C.$$
     
  • As with all spatial vectors, rotations can be used to change between the "expressed-in" frames: $$f^{B_p}_D = {}^DR^C f^{B_p}_C, \qquad \tau^{B_p}_D = {}^DR^C \tau^{B_p}_C.$$

Rich collision geometries

Green arrow is the force on the red box due to the overlap with the blue box.

"Point contact" as implemented in Drake

"Point contact" as implemented in Drake

Multi-point contact

Many heuristics for using multiple points...

 

you can get more robust simulations with curated collision geometry

"Hydroelastic contact" as implemented in Drake

major contributions from Damrong Guoy, Sean Curtis, Rick Cory, Alejandro Castro, ...

"Hydroelastic contact" as implemented in Drake

Both boxes are soft.

Point contact vs hydroelastic

Point contact (discontinuous)

Hydroelastic

(continuous)

vs

Hydroelastic is

  • more expensive than point contact
  • (much) less expensive than finite-element models

 

State-space (for simulation, planning, control) is the original rigid-body state.

"Hydroelastic contact" as implemented in Drake

Example: Simulating LEGO® block mating

Manually-curated point contacts

Hydroelastic contact surfaces

Stable and symmetrical hydroelastic forces

Before

Now

The corner cases

Point contact

Hydroelastic contact

the frictionless case

The corner cases

Point contact (no friction)

Hydroelastic

(no friction)

Lecture 8: Contact Dynamics / Simulation

By russtedrake

Lecture 8: Contact Dynamics / Simulation

MIT Robotic Manipulation Fall 2023 http://manipulation.csail.mit.edu

  • 417