Repository navigation
Add robot world models through the model extension and SL - #859
Merged
Merged
Conversation
7 tasks done
6 tasks done
6 tasks done
4 of 6 tasks
5 tasks done
7 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add robot world-model fitting, graph-connected prediction and bounded transition replay as the installable
embodichain_models.dynamics.rwmfamily. Synchronize withmain@c5b1fdfc2, including the merged #855 foundation and use its shared SL trainer and durable recovery contracts.The model predicts frame-local robot-state increments from state, action and optional physical context, then integrates the next state in FP32. Its state math, model, objective, predictor, replay and installable
sl_recipenow live together in the model extension. Controlled corpus generation and fitting move toexamples/learning/rwm; core SL and the generic data pipeline do not import the model family. No simulator dependency, compatibility shim, separate registry or parallel trainer is introduced.RWM belongs to the
dynamicsdomain because its output is future robot state. There is no parallelworld_modelsnamespace. The migration preserves action/timestep/joint identity, frozen normalization, checkpoint state keys and physical arithmetic.Refs #848.
Entry points and ownership
The example writes a resolved recipe for
embodichain train-sl --config FILE. Its factory isembodichain_models.dynamics.rwm.sl_recipe:build_rwm_trainer, also exported from the family root. See the showcase.Replay owns detached pre-reset transitions and returns independent episode-safe windows. The predictor preserves state/action graphs while allowing model parameters/statistics to be frozen. Invalid padded actions/context are sanitized before unrolling; invalid targets are selected out before error arithmetic and backward. Collection, task rewards, APG orchestration and physical reset remain caller-owned.
Main synchronization
Main synchronization at
e6a8ce525: all 12 model/example execution files remain byte/AST-identical; shared SL, vendor/CI and release code match main. Current focused validation passes 126 production/metadata/context checks plus four staged-factory/CLI checks. The real historical 300-update checkpoint reproduces its metrics and gradients under the canonical namespace. An unrelated four-case simulation-help selection still hits this environment's existing missingopen3d.cpu; its failed log is preserved and is not called green.Validation
Current branch source:
e6a8ce5251bd5826629f67048509cbb89ba72d43; prior qualified source:dcb76691103b168d741db1202378d169e796f543; implementation:07c51a24a; normal base merge:c38cd89b6.4a5643875loads under the new namespace. Predictions, state/action gradients and state tensors match exactly; resuming to update 151 reproduces the recorded update metrics.run-example learning/rwmalso completes the controlled fit.open3d.cpudependency, whose failed log is preserved.Runtime results remain bound to their recorded source hashes. No long policy/APG training, native learned-solver rollout, ODS integration or new convergence claim is included.
CI integration repairs
Current review head:
2f5e450dcd491fc16ddce0427ac7623be48b55dd. The unchanged main CI exposed two tests left behind by the vendor migration: narrow-terminal label wrapping and a retired UR mock import. The exact two-file maintenance commitb1d8ab415is reviewed separately in #878 and included here; semantic assertions, CI selection/gates and production behavior are unchanged. Its original two failures reproduce and the corrected related modules pass 42 tests.This branch also renames the new replay test to a unique module basename for default pytest collection and adds the actual RWM architecture node, source evidence, API link and SL connections. The complete architecture snapshot is refreshed under the existing maintenance contract; 94 focused Python checks, five frontend data checks and the frontend build pass. Model code and numerical qualification are unchanged.
Dependencies and review
main, synchronized atc5b1fdfc28ea47376933d95207b7894b7e6d54f1. Add NeRD model extension and an SL training showcase #855, Add shared SL updates, offline training and recovery #857 and Route NeRD training through the shared SL learner #860 are merged.embodichainwheel/version. No new mandatory dependency is added.Type of change
Checklist
black .with Black 26.10.1.