Robot¶
Robot (core/robot.py) is a configuration container, not a controller. It
holds the asset paths and kinematics description that the simulators and the
whole-body controllers consume.
Field |
Purpose |
|---|---|
|
MuJoCo physics model |
|
Isaac Sim rendering model |
|
CuRobo kinematics / planning config |
|
Joint description and default pose |
|
End-effector frames |
|
Controller selection (e.g. |
fk(), ik() and reset() are provided; low-level actuation is left to the
simulator backend and the whole-body controller.
Implementations¶
Concrete robots in simple/robots/ compose Robot with mixins and protocols —
CuRoboMixin (batch planning, grasping, kinematics), Humanoid, DualArm,
HasDexterousHand, HeadCamMountable, WristCamMountable:
Class |
Notes |
|---|---|
|
Unitree G1, whole-body loco-manipulation |
|
G1 driven by the external SONIC controller |
|
G1 variants with Inspire dexterous hands |
|
Humanoid with dexterous hands, head and wrist cameras |
|
Bimanual tabletop arms |
|
Single-arm tabletop (Franka FR3) |
Whole-body control¶
High-level policies emit upper-body kinematic targets plus base navigation
commands; a lower-body tracking controller runs at higher frequency to keep
balance. SIMPLE ships three, behind a common
setup_controller() / apply_action() interface: AMO, SONIC, and
decoupled SONIC — see GR00T Decoupled Wholebody
and SONIC Wholebody.