Skip to content

feat(sim): switch replay state to dynamic joints#301

Closed
juelg wants to merge 3 commits into
feat/sim-state-record-replayfrom
feat/dynamic-joint-replay
Closed

feat(sim): switch replay state to dynamic joints#301
juelg wants to merge 3 commits into
feat/sim-state-record-replayfrom
feat/dynamic-joint-replay

Conversation

@juelg
Copy link
Copy Markdown
Contributor

@juelg juelg commented May 3, 2026

Summary

  • replace the replayed sim state payload behind the existing sim_state flow with dynamic joint state
  • keep the original replay wrapper, replay script, and replay tests, but adapt them to the new schema-aware mechanism
  • warn when replay only partially matches the current scene instead of failing silently
  • keep replay working across added or removed fixed scene elements and on fr3_dual_arm

Notes

This PR is stacked on top of feat/sim-state-record-replay and is meant to review only the follow-up that swaps the underlying replay state mechanism.

The replay path still uses the original:

  • SimStateObservationWrapper
  • scripts/replay_sim_trajectory.py
  • python/rcs/sim_state_replay.py
  • python/tests/test_sim_state_record_replay.py

But the Sim state implementation underneath now uses named dynamic-joint schema plus flat values, so scene-only changes do not break replay.

Validation

  • make stubgen
  • make pyformat
  • make cppformat
  • python -m pip install -e .
  • pytest -q python/tests/test_sim_state_record_replay.py
  • pytest -q python/tests/test_multi_sim.py python/tests/test_sim_state_record_replay.py

@juelg
Copy link
Copy Markdown
Contributor Author

juelg commented May 3, 2026

Closing this stacked PR per request. I’m moving the work back to the original master-based PR instead.

@juelg juelg closed this May 3, 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