Skip to content

[codex] Add dynamics C++ backend and benchmarks - #1

Merged
yyyyyt123 merged 3 commits into
v2.5.0from
codex/dynamics-v2.6-benchmark
May 25, 2026
Merged

[codex] Add dynamics C++ backend and benchmarks#1
yyyyyt123 merged 3 commits into
v2.5.0from
codex/dynamics-v2.6-benchmark

Conversation

@yyyyyt123

Copy link
Copy Markdown
Contributor

Summary

  • Add a C++/Eigen fixed-base dynamics backend for RNEA, CRBA, gravity, nonlinear effects, and forward dynamics via mass-matrix solve.
  • Add reproducible benchmark CLI commands for kinematics and dynamics, including JSON/Markdown outputs and CI smoke coverage.
  • Record a v2.6.0 dynamics CPU benchmark baseline against RoboCore NumPy and Pinocchio.
  • Update README/docs/examples/tests around backend selection, dynamics limits, and benchmark policy.

Notes

  • Forward dynamics is documented as M(q) ddq = tau - nle(q, v), not true O(n) ABA yet.
  • Pinocchio is used as an optional external comparison and validation dependency.

Validation

  • python -m compileall -q robocore examples test
  • pytest test/unit/test_dynamics.py test/integration/test_benchmark_cli.py test/integration/test_dynamics_pinocchio.py -q -> 13 passed
  • pytest test/unit test/integration -q -> 242 passed, 27 skipped
  • python -m robocore.benchmark dynamics --backends cpp,numpy,pinocchio --samples 200 --repeats 5 --inner-single 1000 --inner-batch 200 --output-dir benchmark-results/v2.6.0-dynamics-cpu
  • python -m build
  • python -m twine check dist/*

@yyyyyt123
yyyyyt123 marked this pull request as ready for review May 25, 2026 14:54
@yyyyyt123
yyyyyt123 merged commit 41e5dd5 into v2.5.0 May 25, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant