Skip to content

V0.3.2

Latest

Choose a tag to compare

@yuecideng yuecideng released this 25 Oct 05:51
19c2545

EmbodiChain v0.3.2 Release Notes

EmbodiChain v0.3.2 expands scene and asset generalization, differentiable motion planning and learning, robot support, and reusable online data workflows. It also standardizes task and example execution, adds installable motion benchmarks, and improves material rendering and versioned documentation deployment.

Highlights

  • Added differentiable Warp TOPPRA planning on CPU and CUDA by @yuecideng in #804
  • Added GPU-batched differentiable IK layers and shared neural network components by @yuecideng in #806
  • Added batched rigid scene expansion and shared episode recording eligibility by @MuziWong in #791
  • Added bundled robot catalogs with list-robot and preview-robot commands by @yuecideng in #754
  • Added reusable online/offline datasets and a self-contained Franka behavior-cloning example by @yuecideng in #809
  • Added parameter-driven visual materials, 24 presets, and preview-material by @yuecideng in #841

Material rendering previews (DexSim 0.5.1rc1, OfflineRT)

Material rendering previews: polished metals, clear and frosted glass, skin, and soap bubbles

View all 24 material presets

All 24 default material presets rendered with OfflineRT

Breaking Changes

  • Moved concrete robot imports to embodichain_robots and removed legacy robot aliases and unregistered Cfg-suffixed selectors by @yuecideng in #754

  • Moved mounted camera declarations to RobotCfg.sensors; custom CobotMagic configurations must remove duplicate wrist-camera declarations or clear the preset sensor list by @yuecideng in #757

  • Replaced run-env and embodichain.lab.scripts.run_env with run-task and embodichain.lab.scripts.run_task by @yuecideng in #793

  • Migrated stacking/ranking experts from env.json to configured Task Program deployments and retired ScoopIce-v1, StayStillSave-v1, StayStillSave3Cam-v1, and SimpleTask-v1 by @yuecideng in #792

  • Removed embodichain.lab.sim.scene_expansion; imports now use embodichain.lab.sim.scene.expansion by @yuecideng in #805

  • Changed robot-backed planner timing to use effective joint-speed limits and required control_part for ambiguous partial-joint calls by @yuecideng in #786

  • Removed backend, max_workers, and mp_context from ToppraPlannerCfg; migrated execution to Warp with updated trajectory timing by @yuecideng in #804

  • Removed learning.rl.models; generic components now use learning.models and RL policy classes use learning.rl.policies by @yuecideng in #806

  • Replaced RandomizeSceneLayout with ExpandSceneLayout and moved event provenance to episode_context.sources["events/<configured_name>"].metadata by @MuziWong in #791

  • Required every rank to participate in distributed checkpoint save/load; remove rank-zero guards around Trainer.save_checkpoint() by @acrlw in #765

  • Changed Atomic Skill example --variants to count all executions including the reference, required matching explicit --num-envs, and removed --recipe-indices by @yuecideng in #827

  • Moved motion benchmark APIs to the bundled embodichain_benchmarks.motion_generation extension and introduced schema-3 reports with separate planning and Atomic Skill rankings by @yangchen73 in #826

  • Removed VisualMaterialCfg.material_type and legacy scattering selectors; stored configurations must use optical parameters such as transmission, IOR, and roughness by @yuecideng in #841

  • Moved standalone Atomic Skill tutorial paths to examples/sim/atomic_action/; teaching entry points now use single_arm.py and dual_arm.py by @yuecideng in #856

New Features

  • Added shared scene composition, layout, physical-state, and validation services with batched geometry kernels by @yuecideng in #761
  • Added provider-neutral prepared-asset and task-role contracts by @yuecideng in #811
  • Added local-directory and explicit-list asset catalogs with validated content-addressed snapshots by @yuecideng in #812
  • Added bounded matching of task roles to compatible asset combinations by @yuecideng in #813
  • Added asset-bound Task Program deployment materialization by @yuecideng in #814
  • Added reusable semantic asset replacement and pouring workflows by @yuecideng in #815
  • Added dual-UR5 and Tianji Marvin deployments across nine manipulation tasks by @yuecideng in #800
  • Added the standard W1 v030 bare body and calibrated FEP IK configuration by @yuecideng in #820
  • Added reusable Franka Panda with DH PGI gripper configuration by @Yuan-Xinyi in #767
  • Added the PikaGripper end-effector asset by @yuecideng in #821
  • Added a learned grasp-yaw example using differentiable IK by @yuecideng in #808
  • Added PPO, GRPO, and APG checkpoint resume through the Trainer API and train-rl CLI by @acrlw in #765
  • Added installable motion-generation benchmark APIs and embodichain benchmark motion-generation by @yangchen73 in #826
  • Added visual-only objects with explicit USD source selection by @yuecideng in #819

Improvements

  • Added generic run-example execution for packaged examples and kept run-atomic-action as an alias by @yuecideng in #827
  • Added owner-side ODS flow control, bounded waits, protected delivery, and hardened sampling synchronization by @yuecideng in #850
  • Moved bundled task and robot sources under extensions/ while preserving their Python package names and discovery entry points by @yuecideng in #780
  • Added configurable ground visibility for task environments by @yuecideng in #776
  • Selected FastRT for native run-task auto rendering by @yuecideng in #782
  • Tuned default environment lighting and clarified light ownership by @yuecideng in #785
  • Consolidated shared production code, examples, and tests by @yuecideng in #825
  • Added Tianji Marvin ready poses and wrist RGB-D demonstrations by @yuecideng in #787
  • Integrated scene workspace checks with a UR5 showcase by @yuecideng in #750
  • Cancelled unfinished PR checks after merge by @yuecideng in #798
  • Skipped draft PR CI jobs and enabled them when ready for review by @yuecideng in #831

Bug Fixes

  • Fixed cross-camera interference and degenerate up-vector handling in batched look-at poses by @yuecideng in #842

  • Preserved previously published documentation versions during queued Pages deployments by @yuecideng in #797

  • Fixed UR3 material assignments and refreshed robot renders by @yuecideng in #845

  • Corrected W1 v030 visual assets in place by @yuecideng in #849

  • Aligned W1 v030 rendering materials with v021 by @yuecideng in #853

  • Fixed vulnerable Vite dependencies by upgrading Architecture Explorer to Vite 8.3.3 by @yuecideng in #830

  • Fixed dependency security alerts with Black 26.10.1, Vitest 5.0.3, and refreshed transitive dependencies by @yuecideng in #852

  • Fixed sparse Cartesian motion timing and horizontal-stick HandOver calibration by @yuecideng in #856

  • Fixed tag release checks rejecting bundled benchmark and example files by @yuecideng in #862

Documentation

  • Added a Task Program quickstart with measured example results by @yuecideng in #802

  • Restored Task Program API navigation and symbol links by @yuecideng in #803

  • Clarified environment and learning documentation navigation by @yuecideng in #801

  • Consolidated task environment documentation under Supported Tasks by @yuecideng in #854

  • Refreshed W1 documentation and versioned robot renders by @yuecideng in #843

  • Brightened material previews and refreshed their documentation by @yuecideng in #851

  • Added RoboSynChallenge and APG publications and integration links by @yuecideng in #796

  • Grouped technical-report benchmarks under tech_reports by @yuecideng in #832

  • Added explained single-arm and dual-arm Atomic Skill walkthroughs by @yuecideng in #856

Compatibility Notes

Runtime remains pinned to dexsim_engine==0.5.1rc1, with Python >=3.10 and the existing TorchCodec 0.5.x compatibility constraint.

  • Added the direct shapely>=2.0 dependency for scene placement by @yuecideng in #761
  • Added SciPy as a core dependency and removed the external toppra==0.6.3 runtime dependency by @yuecideng in #804
  • Limited differentiable TOPPRA to first-order gradients within fixed filtering, sampling topology, and active constraints by @yuecideng in #804
  • Preserved the distinction between OfflineRT-only advanced materials and presets supported by Hybrid/FastRT/OfflineRT by @yuecideng in #841
  • Required refreshing existing editable installations with pip install -e . --no-deps after the extension source move by @yuecideng in #780
  • Restored training state on resume while starting new episodes; distributed resume requires the same process count by @acrlw in #765

All Commits Since v0.3.1

  • Added a reusable Franka + PGI robot configuration by @Yuan-Xinyi in #767

  • Added shared scene services and batched geometry kernels by @yuecideng in #761

  • Extracted robot presets and added catalog and preview CLIs by @yuecideng in #754

  • Added a unified run-atomic-action CLI for ten atomic skills by @matafela in #768

  • Added configurable ground visibility for task environments by @yuecideng in #776

  • Moved mounted camera definitions into robot configs by @yuecideng in #757

  • Defaulted run-task native auto rendering to fast-rt by @yuecideng in #782

  • Moved official task and robot modules under extensions/ by @yuecideng in #780

  • Tuned default environment fill and clarified light ownership by @yuecideng in #785

  • Added Tianji Marvin demos with ready pose and wrist RGB-D by @yuecideng in #787

  • Migrated manipulation experts to Task Program and retired legacy demos by @yuecideng in #792

  • Used robot joint limits in motion planning by @yuecideng in #786

  • Added RoboSynChallenge and APG publications and integration links by @yuecideng in #796

  • Cancelled unfinished PR checks after merging to main by @yuecideng in #798

  • Clarified environment and learning documentation navigation by @yuecideng in #801

  • Made run-task the sole task execution entry point by @yuecideng in #793

  • Added a Task Program quickstart with measured example results by @yuecideng in #802

  • Fixed queued docs deployments deleting published releases by @yuecideng in #797

  • Restored Task Program API navigation and symbol links by @yuecideng in #803

  • Removed legacy scene expansion import package by @yuecideng in #805

  • Added systems and HPC implementation guidance for coding agents by @yuecideng in #807

  • Added differentiable Warp TOPPRA planning on CPU and CUDA by @yuecideng in #804

  • Integrated scene workspace checks and added a UR5 showcase by @yuecideng in #750

  • Added GPU differentiable IK layers and shared neural networks by @yuecideng in #806

  • Added a learned grasp-yaw demo with differentiable IK by @yuecideng in #808

  • Added provider-neutral asset and task role contracts by @yuecideng in #811

  • Prepared local and explicit asset catalogs by @yuecideng in #812

  • Matched task roles to compatible asset combinations by @yuecideng in #813

  • Added PikaGripper end-effector asset by @yuecideng in #821

  • Materialized asset-bound Task Program deployments by @yuecideng in #814

  • Added Atomic Skill benchmark domain aggregation foundation by @yuecideng in #712

  • Reused environments for semantic asset replacement and pouring by @yuecideng in #815

  • Added VisualObject support with explicit USD sources by @yuecideng in #819

  • Added batched scene expansion and shared episode recording eligibility by @MuziWong in #791

  • Added reusable ODS datasets and a self-contained Franka BC demo by @yuecideng in #809

  • Consolidated agent context ownership and corrected lifecycle guidance by @yuecideng in #824

  • Added dual-arm UR5 and Tianji task deployments by @yuecideng in #800

  • Fixed Dependabot alerts by upgrading Vite to 8.3.3 by @yuecideng in #830

  • Skipped draft PR CI jobs and ran checks when ready for review by @yuecideng in #831

  • Added RL checkpoint resume to trainers and train-rl CLI by @acrlw in #765

  • Consolidated shared code, examples, and tests and reduced runtime by @yuecideng in #825

  • Grouped technical report benchmarks under tech_reports by @yuecideng in #832

  • Added standard W1 v030 assets and calibrated FEP IK by @yuecideng in #820

  • Added CLI execution for existing examples and Atomic Skills by @yuecideng in #827

  • Reviewed test necessity across coding, PR, and review workflows by @yuecideng in #840

  • Refreshed W1 documentation and versioned robot renders by @yuecideng in #843

  • Fixed UR3 materials and refreshed robot documentation renders by @yuecideng in #845

  • Fixed cross-camera interference in batched look-at poses by @yuecideng in #842

  • Exposed installable motion generation benchmark API by @yangchen73 in #826

  • Updated W1 v030 visuals in place and refreshed documentation by @yuecideng in #849

  • Unified parameter-driven visual materials on DexSim 0.5.1rc1 by @yuecideng in #841

  • Brightened default material previews and refreshed documentation by @yuecideng in #851

  • Fixed dependency security alerts in Black and architecture tooling by @yuecideng in #852

  • Added ODS owner-side flow control and hardened sampling by @yuecideng in #850

  • Aligned W1 V030 rendering materials with V021 by @yuecideng in #853

  • Consolidated task environment docs under Supported Tasks by @yuecideng in #854

  • Consolidated Atomic Skill demonstrations and repaired timing and handover by @yuecideng in #856

  • Bumped the package version to 0.3.2 and fixed release wheel validation by @yuecideng in #862

Contributors

Thanks to @acrlw, @matafela, @MuziWong, @yangchen73, @Yuan-Xinyi, @yuecideng for the 58 merged pull requests included in this release.

Full Changelog: v0.3.1...v0.3.2

Release Verification

Released from main commit 19c2545772ad7b9821aebe2bbe71ed2ffefd2dbd after the v0.3.2 tag build passed version consistency, distribution metadata, and bundled wheel-content validation. The validated wheel and source distribution are reused by the PyPI publish workflow.