Skip to content

feat(robot): add headless JSON contract export - #1

Closed
omnilink-tech wants to merge 1 commit into
NuclearVenom:mainfrom
omnilink-tech:codex/headless-robot-contract
Closed

omnilink-tech wants to merge 1 commit into
NuclearVenom:mainfrom
omnilink-tech:codex/headless-robot-contract

Conversation

@omnilink-tech

Copy link
Copy Markdown

Summary

  • Add robot_contract(robot), a JSON-serializable description built from BulletLab's named Robot/Joint/Link APIs.
  • Record the action joint order and state-vector layout alongside joint limits and link masses.
  • Add a DIRECT-mode example that prints the contract or writes it to a requested JSON file.
  • Cover the schema against the existing Kuka fixture and document the new example.

I left runtime-specific body IDs out of the exported contract so the result remains useful across separate headless runs.

Validation

  • pytest tests/test_robot_contract.py tests/test_robot.py tests/test_headless_smoke.py (32 passed)
  • Ran examples/10_headless_robot_contract.py against kuka_iiwa/model.urdf and parsed the generated JSON (7 actions, 27 state values).
  • python -m compileall -q bulletlab/robot/contract.py examples/10_headless_robot_contract.py tests/test_robot_contract.py
  • git diff --check

@omnilink-tech omnilink-tech closed this by deleting the head repository Aug 26, 2026
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