unilab.envs.locomotion.go2w.base

Functions

compute_go2w_motor_ctrl(policy_ctrl, ...)

Convert Go2W owner-level controls into motor actuator torques.

stack_joint_sensors(backend, suffix, *, dtype)

Classes

Asset

Asset()

ControlConfig

ControlConfig(action_scale: 'float' = 0.25, simulate_action_latency: 'bool' = False, Kp: 'float' = 35.0, Kd: 'float' = 0.5, hip_action_scale: 'float | None' = None, wheel_action_scale: 'float' = 10.0, wheel_Kd: 'float' = 0.5, clip_actions: 'float' = 1.0)

Go2WBaseCfg

Go2WBaseCfg(scene: unilab.base.scene.SceneCfg | None = None, sim_dt: 'float' = 0.005, max_episode_seconds: Optional[float] = None, ctrl_dt: 'float' = 0.02, render_spacing: float = 1.0, render_offset_mode: str = 'grid', motrix_max_iterations: Optional[int] = None, post_step_forward_sensor: bool = False, control_config: 'ControlConfig' = <factory>, noise_config: 'NoiseConfig' = <factory>, sensor: 'Sensor' = <factory>, asset: 'Asset' = <factory>)

Go2WBaseEnv

NoiseConfig

NoiseConfig(level: 'float' = 0.0, scale_joint_angle: 'float' = 0.03, scale_joint_vel: 'float' = 0.5, scale_gyro: 'float' = 0.2, scale_gravity: 'float' = 0.05, scale_linvel: 'float' = 0.1, scale_wheel_vel: 'float' = 0.5)

class unilab.envs.locomotion.go2w.base.NoiseConfig[source]

Bases: BaseNoiseConfig

NoiseConfig(level: ‘float’ = 0.0, scale_joint_angle: ‘float’ = 0.03, scale_joint_vel: ‘float’ = 0.5, scale_gyro: ‘float’ = 0.2, scale_gravity: ‘float’ = 0.05, scale_linvel: ‘float’ = 0.1, scale_wheel_vel: ‘float’ = 0.5)

Parameters:
scale_wheel_vel: float = 0.5
__init__(level=0.0, scale_joint_angle=0.03, scale_joint_vel=0.5, scale_gyro=0.2, scale_gravity=0.05, scale_linvel=0.1, scale_wheel_vel=0.5)
Parameters:
class unilab.envs.locomotion.go2w.base.ControlConfig[source]

Bases: PdControlConfig

ControlConfig(action_scale: ‘float’ = 0.25, simulate_action_latency: ‘bool’ = False, Kp: ‘float’ = 35.0, Kd: ‘float’ = 0.5, hip_action_scale: ‘float | None’ = None, wheel_action_scale: ‘float’ = 10.0, wheel_Kd: ‘float’ = 0.5, clip_actions: ‘float’ = 1.0)

Parameters:
action_scale: float = 0.25
hip_action_scale: float | None = None
wheel_action_scale: float = 10.0
wheel_Kd: float = 0.5
clip_actions: float = 1.0
__init__(action_scale=0.25, simulate_action_latency=False, Kp=35.0, Kd=0.5, hip_action_scale=None, wheel_action_scale=10.0, wheel_Kd=0.5, clip_actions=1.0)
Parameters:
class unilab.envs.locomotion.go2w.base.Asset[source]

Bases: object

Asset()

base_name = 'base_link'
ground = 'floor'
__init__()
class unilab.envs.locomotion.go2w.base.Go2WBaseCfg[source]

Bases: LocomotionBaseCfg

Go2WBaseCfg(scene: unilab.base.scene.SceneCfg | None = None, sim_dt: ‘float’ = 0.005, max_episode_seconds: Optional[float] = None, ctrl_dt: ‘float’ = 0.02, render_spacing: float = 1.0, render_offset_mode: str = ‘grid’, motrix_max_iterations: Optional[int] = None, post_step_forward_sensor: bool = False, control_config: ‘ControlConfig’ = <factory>, noise_config: ‘NoiseConfig’ = <factory>, sensor: ‘Sensor’ = <factory>, asset: ‘Asset’ = <factory>)

Parameters:
  • scene (SceneCfg | None)

  • sim_dt (float)

  • max_episode_seconds (Optional[float])

  • ctrl_dt (float)

  • render_spacing (float)

  • render_offset_mode (str)

  • motrix_max_iterations (Optional[int])

  • post_step_forward_sensor (bool)

  • control_config (ControlConfig)

  • noise_config (NoiseConfig)

  • sensor (Sensor)

  • asset (Asset)

noise_config: NoiseConfig
control_config: ControlConfig
asset: Asset
sim_dt: float = 0.005
ctrl_dt: float = 0.02
__init__(scene=None, sim_dt=0.005, max_episode_seconds=None, ctrl_dt=0.02, render_spacing=1.0, render_offset_mode='grid', motrix_max_iterations=None, post_step_forward_sensor=False, control_config=<factory>, noise_config=<factory>, sensor=<factory>, asset=<factory>)
Parameters:
  • scene (SceneCfg | None)

  • sim_dt (float)

  • max_episode_seconds (Optional[float])

  • ctrl_dt (float)

  • render_spacing (float)

  • render_offset_mode (str)

  • motrix_max_iterations (Optional[int])

  • post_step_forward_sensor (bool)

  • control_config (ControlConfig)

  • noise_config (NoiseConfig)

  • sensor (Sensor)

  • asset (Asset)

unilab.envs.locomotion.go2w.base.stack_joint_sensors(backend, suffix, *, dtype)[source]
Parameters:
Return type:

ndarray

unilab.envs.locomotion.go2w.base.compute_go2w_motor_ctrl(policy_ctrl, joint_pos, joint_vel, leg_kp, leg_kd, wheel_kd, ctrl_lower, ctrl_upper, out)[source]

Convert Go2W owner-level controls into motor actuator torques.

Hot path: shapes/dtypes are validated by the owning env at init/reset.

Parameters:
Return type:

ndarray

class unilab.envs.locomotion.go2w.base.Go2WBaseEnv[source]

Bases: LocomotionBaseEnv

Parameters:
get_dof_pos()[source]
Return type:

ndarray

get_dof_vel()[source]
Return type:

ndarray