World interfaces and training environment implementations for AugMPC.
World interfaces are one of the three main AugMPC components (world interface, MPC cluster, training environment) and expose a common interface to query robot/MPCs/perception data. They coordinate with the training environment and the MPC cluster via shared memory (see EigenIPC).
Available interfaces:
IsaacSimEnv: main training and evaluation vectorized interface built on top of the Isaac Sim simulator (v4.2).Isaac5xSimEnv: WIP -- port ofIsaacSimEnvfor Isaac Sim 5.2.XMjSimEnv: non-vectorized MuJoCo interface on CPU via xbot2_mujoco for sim-to-sim validation before hardware deployment.RtDeploymentEnv: real-time deployment through xbot2 and adarl_ros.
Training environment definitions live in aug_mpc_envs/training_envs/. Training environments essentially define the MDP for the task at hand (actions, observations, rewards, terminations, truncations) and use shared memory to communicate with the world interface. All environments inherit from AugMPC's AugMPCTrainingEnvBase class.
Available environments:
TwistTrackingEnv: main task for tracking commanded base twists. The agent chooses contact schedules and twist commands for the underlying MPC controllers. A new flight phase is injected, for each leg, when the corresponding actions instantaneously exceed a given thresholds. Interestingly, this parametrization requires no clock in the observations.FakePosTrackingEnv: built on top ofTwistTrackingEnv, it samples planar position targets and converts them into twist references for goal seeking. The agent it's still tracking twist references (that's why it's a "fake" position), but compared toTwistTrackingEnvprovides more informative experience for training:
FlightPhaseControl: extendsTwistTrackingEnvexposing additional agent actions allowing it to also specify flight phases properties (length, apex, end). More control over flights becomes necessary when moving from flat terrain to more complex ones.PhaseParametrizationEnv: built on top ofTwistTrackingEnv, overrides the instantaneous contact actions in favour of a phase parametrization, allowing the agent to control per-leg gait frequency/phase offsets (and optionally flight properties).FakePosTrackEnvPhaseControl: built on top ofFlightPhaseControl, adds waypoint tracking (as inFakePosTrackingEnv) on top of flight-parameter control.FakePosEnvPhaseParam: built on top ofPhaseParametrizationEnv, additionally implements waypoint tracking (as inFakePosTrackingEnv).
The preferred way to install AugMPCEnvs is through IBRIDO's container, which ships with all necessary dependencies. To setup the container, follow the instructions at ibrido-containers.

