unilab.envs.motion_tracking.g1.flip_tracking_sac¶
SAC variants of the G1 flip / wall-flip tracking tasks.
These pair the flip-specialized configs (scene / motion / zeroed reset
randomization, from flip_tracking) with the asymmetric actor-critic
observation layout of G1MotionTrackingSACEnv (base_lin_vel
appended to the critic obs).
The flip behavior lives entirely in the cfg dataclasses and the SAC obs
augmentation lives entirely in the env class, so the two compose by simple
inheritance — no obs override is duplicated here. Registered under separate
names so the PPO flip pipeline (G1FlipTracking / G1WallFlipTracking)
is untouched, and sit at the same level as G1WBTObs.
Classes
Flip tracking cfg for SAC (identical fields, separate registry entry). |
|
Flip tracking env with the SAC asymmetric actor-critic obs layout. |
|
Wall-flip tracking cfg for SAC (identical fields, separate registry entry). |
|
Wall-flip tracking env with the SAC asymmetric actor-critic obs layout. |
- class unilab.envs.motion_tracking.g1.flip_tracking_sac.G1FlipTrackingSACCfg[source]¶
Bases:
G1FlipTrackingCfgFlip tracking cfg for SAC (identical fields, separate registry entry).
- Parameters:
scene (SceneCfg)
sim_dt (float)
max_episode_seconds (float)
ctrl_dt (float)
render_spacing (
float)render_offset_mode (
str)post_step_forward_sensor (
bool)control_config (ControlConfig)
noise_config (NoiseConfig)
sensor (Sensor)
asset (Asset)
motion_file (str | list[str])
anchor_body_name (str)
body_names (tuple[str, …])
sampling_mode (Literal[‘start’, ‘clip_start’, ‘uniform’, ‘adaptive’, ‘mixed’])
sampling_start_ratio (float)
truncate_on_clip_end (bool)
reward_config (RewardConfig)
pose_randomization (PoseRandomization)
velocity_randomization (VelocityRandomization)
domain_rand (Domain_Rand)
joint_position_range (tuple[float, float])
anchor_pos_z_threshold (float)
anchor_ori_threshold (float)
ee_body_pos_z_threshold (float)
ee_body_names (tuple[str, …])
undesired_contact_z_threshold (float)
terminate_on_undesired_contacts (bool)
- __init__(scene=<factory>, sim_dt=0.006666666666666667, max_episode_seconds=10.0, 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>, motion_file='/home/admin1/ws/Eric/UniLab/src/unilab/assets/motions/g1/flip_360_001__A304.npz', anchor_body_name='torso_link', body_names=('pelvis', 'left_hip_roll_link', 'left_knee_link', 'left_ankle_roll_link', 'right_hip_roll_link', 'right_knee_link', 'right_ankle_roll_link', 'torso_link', 'left_shoulder_roll_link', 'left_elbow_link', 'left_wrist_yaw_link', 'right_shoulder_roll_link', 'right_elbow_link', 'right_wrist_yaw_link'), sampling_mode='start', sampling_start_ratio=0.0, truncate_on_clip_end=False, reward_config=<factory>, pose_randomization=<factory>, velocity_randomization=<factory>, domain_rand=<factory>, joint_position_range=(0.0, 0.0), anchor_pos_z_threshold=0.25, anchor_ori_threshold=1000000000.0, ee_body_pos_z_threshold=0.25, ee_body_names=('left_ankle_roll_link', 'right_ankle_roll_link', 'left_wrist_yaw_link', 'right_wrist_yaw_link'), undesired_contact_z_threshold=0.05, terminate_on_undesired_contacts=True)¶
- Parameters:
scene (SceneCfg)
sim_dt (float)
max_episode_seconds (float)
ctrl_dt (float)
render_spacing (
float)render_offset_mode (
str)post_step_forward_sensor (
bool)control_config (ControlConfig)
noise_config (NoiseConfig)
sensor (Sensor)
asset (Asset)
motion_file (str | list[str])
anchor_body_name (str)
body_names (tuple[str, …])
sampling_mode (Literal[‘start’, ‘clip_start’, ‘uniform’, ‘adaptive’, ‘mixed’])
sampling_start_ratio (float)
truncate_on_clip_end (bool)
reward_config (RewardConfig)
pose_randomization (PoseRandomization)
velocity_randomization (VelocityRandomization)
domain_rand (Domain_Rand)
joint_position_range (tuple[float, float])
anchor_pos_z_threshold (float)
anchor_ori_threshold (float)
ee_body_pos_z_threshold (float)
ee_body_names (tuple[str, …])
undesired_contact_z_threshold (float)
terminate_on_undesired_contacts (bool)
- class unilab.envs.motion_tracking.g1.flip_tracking_sac.G1FlipTrackingSACEnv[source]¶
Bases:
G1MotionTrackingSACEnvFlip tracking env with the SAC asymmetric actor-critic obs layout.
The motrix backend is registered for sim2sim eval/playback only.
- Parameters:
cfg (
G1MotionTrackingCfg)
- class unilab.envs.motion_tracking.g1.flip_tracking_sac.G1WallFlipTrackingSACCfg[source]¶
Bases:
G1WallFlipTrackingCfgWall-flip tracking cfg for SAC (identical fields, separate registry entry).
- Parameters:
scene (SceneCfg)
sim_dt (float)
max_episode_seconds (float)
ctrl_dt (float)
render_spacing (
float)render_offset_mode (
str)post_step_forward_sensor (
bool)control_config (ControlConfig)
noise_config (NoiseConfig)
sensor (Sensor)
asset (Asset)
motion_file (str | list[str])
anchor_body_name (str)
body_names (tuple[str, …])
sampling_mode (Literal[‘start’, ‘clip_start’, ‘uniform’, ‘adaptive’, ‘mixed’])
sampling_start_ratio (float)
truncate_on_clip_end (bool)
reward_config (RewardConfig)
pose_randomization (PoseRandomization)
velocity_randomization (VelocityRandomization)
domain_rand (Domain_Rand)
joint_position_range (tuple[float, float])
anchor_pos_z_threshold (float)
anchor_ori_threshold (float)
ee_body_pos_z_threshold (float)
ee_body_names (tuple[str, …])
undesired_contact_z_threshold (float)
terminate_on_undesired_contacts (bool)
- __init__(scene=<factory>, sim_dt=0.006666666666666667, max_episode_seconds=10.0, 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>, motion_file='/home/admin1/ws/Eric/UniLab/src/unilab/assets/motions/g1/flip_from_wall_104__A304.npz', anchor_body_name='torso_link', body_names=('pelvis', 'left_hip_roll_link', 'left_knee_link', 'left_ankle_roll_link', 'right_hip_roll_link', 'right_knee_link', 'right_ankle_roll_link', 'torso_link', 'left_shoulder_roll_link', 'left_elbow_link', 'left_wrist_yaw_link', 'right_shoulder_roll_link', 'right_elbow_link', 'right_wrist_yaw_link'), sampling_mode='adaptive', sampling_start_ratio=0.0, truncate_on_clip_end=False, reward_config=<factory>, pose_randomization=<factory>, velocity_randomization=<factory>, domain_rand=<factory>, joint_position_range=(0.0, 0.0), anchor_pos_z_threshold=0.5, anchor_ori_threshold=1000000000.0, ee_body_pos_z_threshold=0.5, ee_body_names=('left_ankle_roll_link', 'right_ankle_roll_link', 'left_wrist_yaw_link', 'right_wrist_yaw_link'), undesired_contact_z_threshold=0.05, terminate_on_undesired_contacts=True)¶
- Parameters:
scene (SceneCfg)
sim_dt (float)
max_episode_seconds (float)
ctrl_dt (float)
render_spacing (
float)render_offset_mode (
str)post_step_forward_sensor (
bool)control_config (ControlConfig)
noise_config (NoiseConfig)
sensor (Sensor)
asset (Asset)
motion_file (str | list[str])
anchor_body_name (str)
body_names (tuple[str, …])
sampling_mode (Literal[‘start’, ‘clip_start’, ‘uniform’, ‘adaptive’, ‘mixed’])
sampling_start_ratio (float)
truncate_on_clip_end (bool)
reward_config (RewardConfig)
pose_randomization (PoseRandomization)
velocity_randomization (VelocityRandomization)
domain_rand (Domain_Rand)
joint_position_range (tuple[float, float])
anchor_pos_z_threshold (float)
anchor_ori_threshold (float)
ee_body_pos_z_threshold (float)
ee_body_names (tuple[str, …])
undesired_contact_z_threshold (float)
terminate_on_undesired_contacts (bool)
- class unilab.envs.motion_tracking.g1.flip_tracking_sac.G1WallFlipTrackingSACEnv[source]¶
Bases:
G1MotionTrackingSACEnvWall-flip tracking env with the SAC asymmetric actor-critic obs layout.
The motrix backend is registered for sim2sim eval/playback only.
- Parameters:
cfg (
G1MotionTrackingCfg)