Architecture Explorer#
Explore EmbodiChain through a system overview and five specialist views: Task Program, Simulation, Data & Learning, Generation & Toolkits, and Toolkits. Select a module to inspect its responsibility, follow direct relationships, and read the source evidence behind each connection. Source links identify the exact commit being documented; documentation links stay within this documentation version.
The graph describes selected static relationships. It is not a runtime trace, an execution sequence, or a complete dependency inventory. Reviewed semantic relationships and extracted import declarations are labeled separately.
Each registered project-context topic and top-level production package has a module entry. This is an entry-point coverage measure: internal implementations and relationships are still selected, and an unconnected module may be consumed through an external host or a configuration-driven integration.
The module reference below is searchable and remains available without JavaScript. The explorer follows the documentation theme. Open full-screen to keep your current selection, or use Share view inside the explorer to copy a full-screen link with the current selection and filters.
Module reference#
Source revision: 7ae9a5012091adce9d9e3e1acfad4e5dbf8bc318 · package 0.2.4
Curated static relationships; not a complete dependency graph or runtime trace.
Module |
Responsibility |
Evidence and documentation |
|---|---|---|
CLI |
Dispatches commands and lazily loads task discovery, environment, and training entry points. |
|
Environment launcher |
Runs task discovery, configuration loading, and Gym environment creation. |
|
Task discovery |
Imports installed task packages through entry points to populate the environment registry. |
|
Official tasks |
Registers official task entry points and organises reusable robot tasks. |
|
Config loader |
Loads deployment files, resolves components, and assembles the typed environment configuration. |
|
Component composition |
Resolves environment and embodiment components into runnable Gym configurations. |
|
EmbodiedEnv |
Assembles scenes, managers, and demonstrations with optional Task Program integration. |
|
BaseEnv |
Owns the Gym loop, simulation initialisation, and environment step lifecycle. |
|
Managers |
Organises observations, actions, rewards, events, and data recording within the environment lifecycle. |
|
Configuration utilities |
Defines typed configuration copying, serialization, and required-field validation. |
|
Domain randomization |
Event functors randomize physical, visual, spatial, and geometric properties. |
|
DifferentiableEnv |
Preserves the Gym lifecycle while bridging task-defined kinematics to autograd. |
|
EventManager |
Dispatches configured event functors with lifecycle scheduling and scoped seeds. |
|
TaskProgramCompiler |
Compiles task configuration into an analysable program using a static scene manifest. |
Source · Task Program guide · TaskProgramCompiler documentation |
SemanticCallCompiler |
Analyses and lowers Semantic Calls against the bound scene and skill integration. |
Source · Task Program guide · SemanticCallCompiler documentation |
SemanticCallExecutor |
Lowers and executes semantic calls, creating an execution session for each call. |
Source · Task Program guide · SemanticCallExecutor documentation |
TaskProgramEnvironmentAdapter |
Validates integration choices and assembles the semantic runtime and Gym bridge. |
Source · Task Program guide · TaskProgramEnvironmentAdapter documentation |
TaskProgramDemoBridge |
Converts program segments into lazy Gym demonstrations with a shared runtime, buffer, and clock. |
Source · Task Program guide · TaskProgramDemoBridge documentation |
MLLM frontend |
Decodes untrusted model JSON and compiles it through the existing Task Program adapter. |
|
AtomicActionEngine |
Manages planning resources and atomic skills to create executable action sessions. |
Source · Atomic Skills guide · AtomicActionEngine documentation |
MotionGenerator |
Composes planning backends behind a unified robot motion generation interface. |
Source · Motion generation guide · MotionGenerator documentation |
Planners |
Provides motion planning backends that generate constrained robot trajectories. |
|
Solvers |
Provides inverse kinematics backends and stateful robot solving capabilities. |
|
Robot workspace |
Loads reachability caches and samples robot joint configurations and poses. |
|
Trajectory augmentation |
Tracks trajectory candidates, generation budgets, coverage, and commit receipts. |
|
SimulationManager |
Manages the world, robots, sensors, physics, and visualisation lifecycle. |
|
Robot |
Represents a simulated robot with control parts, joint state, and kinematics. |
|
Sensors |
Provides camera, stereo, and contact observations for the environment. |
|
Physics backends |
Constructs the configured physics backend and connects simulation state to physics solving. |
|
Browser visualization |
Publishes simulation snapshots and interactive controls through a browser runtime. |
|
Rigid objects |
Represents rigid scene objects and their physical state. |
|
Rigid object groups |
Groups multiple rigid bodies into a batched scene entity. |
|
Articulations |
Represents jointed scene entities and articulated state. |
|
Deformable objects |
Represents Newton-backed deformable particle-set entities. |
|
Lights |
Controls light color, intensity, falloff, and pose through a batched facade. |
|
Rigid constraints |
Wraps per-arena fixed constraints between two rigid objects. |
|
Gizmo |
Provides native robot IK and browser manipulation controls for simulation targets. |
|
Compute |
Shared numerical algorithms for kinematics, trajectories, geometry, and images. |
|
Trajectory computation |
Shared interpolation, resampling, timing, and trajectory warping algorithms. |
|
Kinematics computation |
Shared numerical kinematics and manipulability algorithms. |
|
DatasetManager |
Coordinates dataset functors for frame collection, saving, and finalization. |
|
LeRobot recording |
Persists demonstrations and metadata in LeRobot datasets with optional depth sidecars. |
|
Async recording |
Moves durable dataset writes to one background worker. |
|
Depth sidecar writer |
Coordinates depth-video files and metadata alongside recorded demonstrations. |
|
Depth sidecar reader |
Loads depth metadata and decodes episode/sensor depth video frames. |
|
Depth quantization |
Converts depth values to and from the sidecar video representation. |
|
OnlineDataEngine |
Online data engine managing workers and their lifecycle. |
|
OnlineDataset |
Exposes live engine samples as an infinite PyTorch IterableDataset. |
|
Chunk samplers |
Selects fixed-shape time windows using configurable chunk-length distributions. |
|
Data assets |
Resolves asset paths and coordinates registered dataset downloads and caches. |
|
Scene generation |
Generates scene state from input images for scene asset workflows. |
|
Scene understanding |
Interprets an image, segments objects, and initializes a validated support graph. |
|
Asset generation & refinement |
Generates geometry and articulated assets, then refines scene placement. |
|
Scene asset preparation |
Prepares generated Scene Engine geometry for layout and export. |
|
Scene editing |
Edits an existing portable scene using a typed edit plan. |
|
Scene edit layout |
Reconstructs scene placement against an edited goal graph. |
|
Scene import |
Reconstructs an editable scene and graph from a portable scene export. |
|
Scene export |
Writes portable scene metadata and assets for downstream simulation preparation. |
|
SimReady pipeline |
Ingests raw assets through parsing and conversion stages into SimReady outputs. |
|
Asset parser stages |
Dispatches inspector, geometry, physics, USD, and internal asset parsers. |
|
GenSim UI sessions |
Tracks one replaceable subprocess per Gradio session. |
|
Training assembly |
Builds environments, policies, algorithms, and the compatible trainer from configuration. |
|
RL algorithms |
Registers PPO, GRPO, and APG with their rollout contracts. |
|
PPO |
Optimizes an actor-critic policy from standard TensorDict rollouts. |
|
GRPO |
Optimizes policies with group-relative advantages from standard rollouts. |
|
APG |
Optimizes policy parameters through differentiable rollout rewards. |
|
Policy models |
Defines policy action inference and model interfaces. |
|
ActorCritic |
Provides Gaussian actions and value estimates with separate actor and critic inputs. |
|
ActorOnly |
Provides Gaussian actions without a learned value network. |
|
Learning environments |
Defines lightweight vector-environment protocols and factory registration. |
|
Standard trainer |
Coordinates standard rollout collection, algorithm updates, evaluation, and checkpoints. |
|
SyncCollector |
Collects standard vector-environment rollouts into the training buffer. |
|
Rollout buffer |
Stores standard rollout transitions and bootstrap state in TensorDict buffers. |
|
DifferentiableTrainer |
Coordinates graph-connected rollouts and analytic policy-gradient updates. |
|
Differentiable collector |
Collects differentiable trajectories while preserving their autograd graph. |
|
Running observation normalization |
Normalizes continuous observation fields with explicit running-statistic updates. |
|
Policy evaluation |
Runs trained policy evaluation in headless or viewer workflows. |
|
Devices |
Defines start, stop, and controller-state interfaces for robot input devices. |
|
Device controller |
Maps input-device state to robot joint commands with joint-limit handling. |
|
GraspKit |
Defines parallel-jaw gripper models and grasp-pose generation interfaces. |
|
URDF assembly |
Assembles URDF components, connections, sensors, and mesh resources. |
|
Convex decomposition |
Prepares convex collision meshes for URDF assets. |
Additional modules in specialist views#
Module |
Responsibility |
Evidence and documentation |
|---|---|---|
Antipodal grasp generator |
Generates candidate grasp poses through a reusable parallel-jaw interface. |
|
Newton autograd bridge |
Connects Warp tape derivatives to PyTorch action and functional-state gradients. |
|
BatchEntity |
Defines shared configuration and instance operations for batched simulation entities. |
|
URDF collision processor |
Replaces mesh collisions with convex pieces and optionally recomputes inertia. |
|
BufferedGymCommandSink |
Validates and buffers control commands for incremental Gym demonstration consumption. |
Source · Task Program guide · BufferedGymCommandSink documentation |
CompiledTaskProgram |
Immutable compilation result with materialized task segments and analysis views. |
Source · Task Program guide · CompiledTaskProgram documentation |
Effect evidence |
Collects typed evidence from registered providers for semantic effects. |
|
ExecutionRunner |
Advances atomic skill sessions through observation, command, and clock interfaces. |
Source · Atomic Skills execution guide · ExecutionRunner documentation |
Interactive grasp annotation |
Offers browser selection of a graspable mesh region. |
|
Mesh grasp backend |
Coordinates sampling, annotation, collision checks, and caches for one mesh. |
|
Gripper collision checks |
Checks gripper geometry against the target mesh. |
|
Antipodal sampling |
Samples opposing surface contacts using mesh ray casting. |
|
Parallel-jaw gripper model |
Defines physical gripper dimensions independently of the sampling algorithm. |
|
Integration catalog |
Describes one Task Program integration and validates compilation against its fingerprint. |
|
Object backend views |
Adapts rigid and articulated object state to backend-neutral Scene batches. |
|
Parallel execution |
Coordinates parallel semantic branches through command and safety interfaces. |
|
Program loading & validation |
Loads bounded JSON or YAML into the canonical Task Program configuration. |
|
SceneRegistry |
Binds semantic entity identifiers to scene metadata and runtime providers. |
|
SimulationTaskProgramFactory |
Binds simulated robots, planners, and services to construct the atomic skill engine. |
|
RobotSkillProfile |
Declares robot resources, skill bindings, and effect-assurance capabilities. |
|
EnvironmentStepClock |
Maintains execution time on the environment step grid. |
|
Surface deformables |
Specializes deformable objects for cloth particle sets. |
|
TaskProgramCfg |
Declarative task configuration describing intent and execution structure. |
|
Toolkit directory |
Standalone grasp sampling, collision-mesh preparation, and URDF assembly utilities. |
|
URDF components |
Processes component links, joints, naming, and mesh references. |
|
URDF connections |
Applies component connection rules and sensor attachment joints. |
|
URDF mesh resources |
Copies mesh resources and rewrites references for the assembled robot. |
|
URDF sensor attachments |
Processes sensor descriptions and attachment metadata for assembly. |
|
URDF file output |
Formats and persists the assembled URDF document. |
|
Volume deformables |
Specializes deformable objects for volumetric soft-body particle sets. |
|
Workspace analyzer |
Analyzes robot reachability and metrics for reusable workspace caches. |
Coverage and interpretation#
Snapshot: 113 nodes, 113 source-reviewed relationships, and 114 statically extracted relationships across all views.
Import declarations do not establish runtime calls or execution order. Missing edges do not imply architectural independence.
Topics without represented nodes: none. Topic representation does not imply complete coverage.
Overview nodes without mapped relationships: Trajectory augmentation, Kinematics computation, GenSim UI sessions, URDF assembly.
A curated source snapshot, not a complete import graph, runtime trace, or execution order.
All registered context topics and top-level production packages have an entry point. Internal classes, algorithms, runtime paths, and relationships remain selectively represented.
References through protocols and injected factories are scoped to the described production assembly.
Source-reviewed means checked against the pinned source revision; it is not a physical qualification result.
Static extraction scans the selected node source files only. Topic or package representation is not a completeness claim.