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.
Inverse-kinematics solvers sharing the |
|
Motion planning stack. |
|
Robot workspace analysis and runtime sampling. |
|
|
Host-independent grasp/qpos augmentation, coverage, and generation bookkeeping. |