-
Notifications
You must be signed in to change notification settings - Fork 34
Open
Description
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:
- Clone dairlib
- Checkout
pinocchiobranch of dairlib - Install Pinocchio (https://github.com/stack-of-tasks/pinocchio). Install directions at https://stack-of-tasks.github.io/pinocchio/download.html. You will not need to configure environment variables
- Build and run
examples/Cassie:benchmark_dynamics. For non-Penn users, recommend
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)
Metadata
Metadata
Assignees
Labels
No labels