This is an issue to track Drake::MBP vs alternatives (currently Pinocchio). This example is on a Cassie URDF. Some comments on the plant:
- Does not include loop closure
- Does not include contact
- Fixed base model (pelvis)
Test code is https://github.com/DAIRLab/dairlib/blob/pinocchio/examples/Cassie/test/benchmark_dynamics.cc
To replicate:
bazel run --define WITH_SNOPT=OFF examples/Cassie:benchmark_dynamics
Status, July 18, 2020
As run on Michael's laptop
(multibody_plant) 100x inertia autodiff calculations took 182 miliseconds. 1820 microseconds per.
(multibody_plant) 10000x inverse dynamics calculations took 125 miliseconds. 12 microseconds per.
(multibody_plant) 100xautodiff inverse dynamics calculations took 240 miliseconds. 2400 microseconds per.
(multibody_plant) 10000x forward dynamics calculations took 304 miliseconds. 30 microseconds per.
(multibody_plant) 100xautodiff forward dynamics calculations took 348 miliseconds. 3480 microseconds per.
(pinocchio) 10000x rnea inverse dynamics calculations took 20 miliseconds. 2 microseconds per.
(pinocchio) 10000x rnea inverse dynamics derivatives calculations took 61 miliseconds. 6 microseconds per.
(pinocchio) 10000x aba forward dynamics calculations took 32 miliseconds. 3 microseconds per.
(pinocchio) 10000x aba forward dynamics derivative calculations took 120 miliseconds. 12 microseconds per.
vdot_mbp, vdot_pin, diff
Summary (Drake, Pinocchio)
For numerical derivatives, approximating by double x 42 (counting fixed-base coordinates nq=nv=16 and nu=10 )
- Forward dynamics: (30, 3)
- Inverse dynamics: (12, 2)
- Forward dynamics derivatives , Drake-Autodiff: (3480, 12)
- Forward dynamics derivatives , Drake-Numerical: (1260, 12)
- Inverse dynamics derivatives , Drake-Autodiff: (2400, 6)
- Inverse dynamics derivatives , Drake-Numerical: (504, 6)
This is an issue to track Drake::MBP vs alternatives (currently Pinocchio). This example is on a Cassie URDF. Some comments on the plant:
Test code is https://github.com/DAIRLab/dairlib/blob/pinocchio/examples/Cassie/test/benchmark_dynamics.cc
To replicate:
pinocchiobranch of dairlibexamples/Cassie:benchmark_dynamics. For non-Penn users, recommendStatus, July 18, 2020
As run on Michael's laptop
Summary (Drake, Pinocchio)
For numerical derivatives, approximating by double x 42 (counting fixed-base coordinates
nq=nv=16andnu=10)