Skip to content

Add dynamics calibration and qualification toolkit - #585

Draft
yuecideng wants to merge 1 commit into
mainfrom
codex/dynamics-calibration
Draft

Add dynamics calibration and qualification toolkit#585
yuecideng wants to merge 1 commit into
mainfrom
codex/dynamics-calibration

Conversation

@yuecideng

Copy link
Copy Markdown
Contributor

Description

This PR adds an application-level dynamics calibration and qualification toolkit for robot drive parameters.

The new embodichain calibrate-dynamics workflow:

  • delegates generic URDF physical-consistency checks to dexsim.simready;
  • searches bounded stiffness, damping, armature, friction, effort, and velocity-limit candidates in isolated subprocesses;
  • uses deterministic candidate generation and content-addressed result caching;
  • evaluates aggregate, per-joint, per-control-group, worst-joint, CVaR, overshoot, settling, effort/velocity saturation, joint-limit, stability, control-frequency, and qvel-write evidence;
  • applies hard qualification gates on held-out application trajectories;
  • writes a non-destructive drive_overlay.yaml plus complete JSON and Markdown provenance reports;
  • includes a real qpos-only multisine evaluator and public target-qvel write instrumentation.

The V1 claim is deliberately limited to effective drive tuning. It does not expose fit-physical or claim mass, center-of-mass, inertia, or friction identification without suitable real-system evidence.

Motivation: robot assets often contain incomplete or application-inappropriate dynamics and drive parameters. This workflow makes application tuning reproducible and reviewable while keeping engine-owned SimReady facts in DexSim and never rewriting vendor assets.

Dependencies:

  • Depends on DexSim Draft MR !1370, which introduces dexsim.simready.
  • The current dexsim_engine==0.4.3 pin is intentionally unchanged because the dependent DexSim release does not exist yet. The pin must be updated after that release before this PR becomes ready to merge.

Related issue: none.

Type of change

  • New feature (non-breaking change which adds functionality)

Screenshots

N/A — the feature is an offline CLI/Python workflow producing YAML, JSON, and Markdown artifacts.

Checklist

  • I have run the black . command to format the code base.
  • I have made corresponding changes to the documentation
  • Public API changes are reflected in the API docs (python docs/scripts/check_api_docs.py), if applicable
  • I have added tests that prove my fix is effective or that my feature works
  • Dependencies have been updated, if applicable.

Validation

  • Full-repository Black gate: 846 files unchanged.
  • Public API documentation gate: 1735/1735 exports documented.
  • Calibration, unified CLI, and Articulation regression selection: 57 passed, 20 skipped, 1 slow test deselected.
  • Real isolated simulator evaluator: 1 passed.
  • Documentation checker tests: 20 passed.
  • Structural pre-commit checks for Apache headers, future annotations, __all__, Google-style public API docstrings, type annotations, and @configclass configuration contracts: passed.
  • Cross-repository smoke test: URDF audit, candidate search, overlay generation, held-out qualification, and JSON/Markdown reporting completed with final status pass.

The full pytest suite was not run because the PR skill calls for proportional validation; the affected toolkit, shared CLI registration, Articulation instrumentation, documentation checks, and real simulator path were exercised directly. The repository-wide Sphinx -W build remains non-green with 721 existing warnings; a focused filter found no warnings associated with the changed dynamics-calibration pages.

@yuecideng yuecideng added enhancement New feature or request physics Things related to physics dexsim Things related to dexsim robot Module related to robot toolkit Stand along tools collection. labels Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dexsim Things related to dexsim enhancement New feature or request physics Things related to physics robot Module related to robot toolkit Stand along tools collection.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant