Observation Types
June 11, 2025 ยท View on GitHub
State-based
The default observation (obs_buf) is state-based, which includes the following:
- goal specification
- scaled joint position (
q, |A|-dim) - scaled joint velocity (
dq, |A|-dim) - last actions (
self.actions, |A|-dim) - scaled root angular velocity (
self.base_ang_vel * self.obs_scales.ang_vel, 3-dim) - scaled root euler angle (
self.base_euler_xyz * self.obs_scales.quat, 3-dim)
If you want to change the observation structure (and obs/noise scales), make sure to override the corresponding functions in the subclass.
Vision-based (for high-level tasks)
We also support vision-based observation. To use ego-centric color and depth for policy learning, set the following in config:
enable_sensor = Trueto enable vision observations in the environment and enable vision input in the PPO training. You can also edit camera resolution, camera pose, etc.policy_class_name = 'ActorCriticVision'or'ActorCriticHierarchicalVision'for vision-based policies.num_envs = 4or other small numbers for training efficiency.