russtedrake PRO
Roboticist at MIT and TRI
"It would be great to have at least a small set of benchmarking simulation environments where we've established sim2real transfer to curated hardware."
Lerrel: "We have lots of simulators that are fast, but inaccurate. What we really need is a simulator that runs closer to real-time but is much higher fidelity."
Jitendra: "I don't know how to write simulators, but I have friends in computer graphics that do. We should convince them to work on this problem."
Jim: "Should we be using learned models instead of physics engines?"
Refrain: "How accurate does the simulator need to be? Isn't domain randomization better?"
Parameters, initial conditions, and noise described as exact values or distributions
Switched to a motion planning scheme that’s less sensitive to rack initial position (#2304)
Initial positions of the unmanipulated racks are drawn from MC instead of 0 (#2362)
Improve
robustness /
fix bugs
Increase test
randomness /
scope
"Naive" Monte-Carlo can be effective
Most people would say that
My claim: Subtle interactions between the collision and physics engines can cause artificial discontinuities/inaccuracy/instability
(sometimes with dramatic results)
Understanding this requires a few steps
Green arrow is the force on the red box due to the overlap with the blue box.
Many heuristics for using multiple points...
Point contact (discontinuous)
Hydroelastic
(continuous)
vs
Hydroelastic is
State-space (for simulation, planning, control) is the original rigid-body state.
Manually-curated point contacts
Hydroelastic contact surfaces
Stable and symmetrical hydroelastic forces
Before
Now
Block tower fall in Bullet Physics
Simulation also requires (thoughtful) modeling of
Every source of randomness is declared explicitly (using elementary distributions)
Structured parameterization over scenes
(work by Greg Izatt)
(1) Explain raw data with the model
(2) Fit model parameters to observed worlds
Companies like Waymo have toolchains for going from a log file back to a simulation scenario.
Can we generalize / automate that?
Already built in production build system at Amazon Robotics (and many others).
pip install drake apt install drake
Jim: "Should we be using learned models instead of physics engines?"
Refrain: "How accurate does the simulator need to be? Isn't domain randomization better?"
System
State-space
Auto-regressive (eg. ARMAX)
input
output
state
noise/disturbances
parameters
Lagrangian mechanics,
Recurrent neural networks (e.g. LSTM), ...
Feed-forward networks, Transformers
System
State-space
Auto-regressive (eg. ARMAX)
input
output
"Deep models vs Physics-based models?" is about model class:
Should we prefer writing \(f\) and \(g\) using physics or deep networks?
Maybe not so different from
Galileo, Kepler, Newton, Hooke, Coulomb, ...
were data scientists.
They fit very simple models to very noisy data.
Gave us a rich class of parametric models that we could fit to new data.
What if Newton had deep learning...?
Galileo's notes on projectile motion
"All models are wrong, but some are useful" -- George Box
Of course, that depends on your use case...
What makes a model class useful?
By russtedrake