embodichain.lab.sim.motion

embodichain.lab.sim.motion#

Robot motion solving, planning, workspace analysis, and trajectory augmentation.

Motion capabilities load on access so importing solvers during Robot initialization does not also import planners or workspace analyzers. Importing this package still follows the normal embodichain.lab.sim initialization lifecycle.

The motion package groups the robot motion capabilities used by simulation objects, atomic actions, and environment integrations. Import the required capability from its owning subpackage:

from embodichain.lab.sim.motion.solvers import SolverCfg
from embodichain.lab.sim.motion.motion_generator import MotionGenerator, MotionGenCfg
from embodichain.lab.sim.motion.workspace import RobotWorkspaceCfg
from embodichain.lab.sim.motion.expansion import TrajectoryTemplate

The parent package exposes its subpackages and motion_generator module through lazy attributes; it does not eagerly import them or re-export their classes and functions. This keeps their initialization boundaries separate: robot configuration can use solver and workspace contracts without motion also initializing the planner layer. Normal lab and sim package initialization still applies.

Solvers own FK, IK, and differential kinematics; planners turn targets into paths and timed trajectories; workspace provides offline reachability analysis and runtime cache queries; trajectory augmentation owns candidate variation, coverage, and generation accounting. Physical rollout, reset, task validation, and dataset persistence belong to explicit host integrations.

motion_generator

solvers

Inverse-kinematics solvers sharing the BaseSolver interface.

planners

Motion planning stack.

workspace

Robot workspace analysis and runtime sampling.

expansion

Host-independent grasp/qpos augmentation, coverage, and generation bookkeeping.