robomotic's picture
Upload go1_rough_velocity/2026-04-29_08-00-37/env.yaml with huggingface_hub
e89400d verified
Raw
History Blame Contribute Delete
46.4 kB
decimation: 4
scene:
num_envs: 4096
env_spacing: 2.0
terrain:
init_state:
pos: !!python/tuple
- 0.0
- 0.0
- 0.0
rot: !!python/tuple
- 1.0
- 0.0
- 0.0
- 0.0
lin_vel: !!python/tuple
- 0.0
- 0.0
- 0.0
ang_vel: !!python/tuple
- 0.0
- 0.0
- 0.0
joint_pos:
.*: 0.0
joint_vel:
.*: 0.0
spec_fn: !!python/name:mjlab.entity.entity.%3Clambda%3E ''
articulation: null
sort_actuators: false
lights: !!python/tuple
- name: sun
body: world
mode: fixed
target: null
type: directional
castshadow: true
pos: !!python/tuple
- 0.0
- 0.0
- 1.5
dir: !!python/tuple
- 0.0
- 0.0
- -1.0
cutoff: 45.0
exponent: 10.0
cameras: !!python/tuple []
textures: !!python/tuple
- name: groundplane
type: 2d
builtin: checker
rgb1: !!python/tuple
- 0.2
- 0.3
- 0.4
rgb2: !!python/tuple
- 0.1
- 0.2
- 0.3
width: 300
height: 300
mark: edge
markrgb: !!python/tuple
- 0.8
- 0.8
- 0.8
materials: !!python/tuple
- name: groundplane
rgba: !!python/tuple
- 1.0
- 1.0
- 1.0
- 1.0
texuniform: true
texrepeat: !!python/tuple
- 4.0
- 4.0
reflectance: 0.2
texture: groundplane
geom_names_expr: !!python/tuple
- terrain$
collisions: !!python/tuple []
terrain_type: generator
terrain_generator:
seed: null
curriculum: true
size: !!python/tuple
- 8.0
- 8.0
border_width: 20.0
border_height: 1.0
num_rows: 10
num_cols: 20
color_scheme: height
sub_terrains:
flat:
proportion: 0.2
size: !!python/tuple
- 8.0
- 8.0
flat_patch_sampling: null
pyramid_stairs:
proportion: 0.2
size: !!python/tuple
- 8.0
- 8.0
flat_patch_sampling: null
border_width: 1.0
step_height_range: !!python/tuple
- 0.0
- 0.1
step_width: 0.3
platform_width: 3.0
holes: false
pyramid_stairs_inv:
proportion: 0.2
size: !!python/tuple
- 8.0
- 8.0
flat_patch_sampling: null
border_width: 1.0
step_height_range: !!python/tuple
- 0.0
- 0.1
step_width: 0.3
platform_width: 3.0
holes: false
hf_pyramid_slope:
proportion: 0.1
size: !!python/tuple
- 8.0
- 8.0
flat_patch_sampling: null
slope_range: !!python/tuple
- 0.0
- 1.0
platform_width: 2.0
inverted: false
border_width: 0.25
horizontal_scale: 0.1
vertical_scale: 0.005
base_thickness_ratio: 1.0
hf_pyramid_slope_inv:
proportion: 0.1
size: !!python/tuple
- 8.0
- 8.0
flat_patch_sampling: null
slope_range: !!python/tuple
- 0.0
- 1.0
platform_width: 2.0
inverted: true
border_width: 0.25
horizontal_scale: 0.1
vertical_scale: 0.005
base_thickness_ratio: 1.0
random_rough:
proportion: 0.1
size: !!python/tuple
- 8.0
- 8.0
flat_patch_sampling: null
noise_range: !!python/tuple
- 0.02
- 0.1
noise_step: 0.02
downsampled_scale: null
horizontal_scale: 0.1
vertical_scale: 0.005
base_thickness_ratio: 1.0
border_width: 0.25
wave_terrain:
proportion: 0.1
size: !!python/tuple
- 8.0
- 8.0
flat_patch_sampling: null
amplitude_range: !!python/tuple
- 0.0
- 0.2
num_waves: 4
horizontal_scale: 0.1
vertical_scale: 0.005
base_thickness_ratio: 0.25
border_width: 0.25
difficulty_range: !!python/tuple
- 0.0
- 1.0
add_lights: true
env_spacing: 2.0
max_init_terrain_level: 5
num_envs: 4096
entities:
robot:
init_state:
pos: !!python/tuple
- 0.0
- 0.0
- 0.278
rot: !!python/tuple
- 1.0
- 0.0
- 0.0
- 0.0
lin_vel: !!python/tuple
- 0.0
- 0.0
- 0.0
ang_vel: !!python/tuple
- 0.0
- 0.0
- 0.0
joint_pos:
.*thigh_joint: 0.9
.*calf_joint: -1.8
.*R_hip_joint: 0.1
.*L_hip_joint: -0.1
joint_vel:
.*: 0.0
spec_fn: !!python/name:mjlab.asset_zoo.robots.unitree_go1.go1_constants.get_spec ''
articulation:
actuators: !!python/tuple
- target_names_expr: !!python/tuple
- .*_hip_joint
- .*_thigh_joint
transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType
- joint
armature: 0.004026312
frictionloss: null
viscous_damping: null
delay_min_lag: 0
delay_max_lag: 0
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
stiffness: 15.89524265323492
damping: 1.0119225759919113
effort_limit: 23.7
- target_names_expr: !!python/tuple
- .*_calf_joint
transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType
- joint
armature: 0.009059202
frictionloss: null
viscous_damping: null
delay_min_lag: 0
delay_max_lag: 0
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
stiffness: 35.76429596977857
damping: 2.2768257959818006
effort_limit: 35.55
soft_joint_pos_limit_factor: 0.9
sort_actuators: false
lights: !!python/tuple []
cameras: !!python/tuple []
textures: !!python/tuple []
materials: !!python/tuple []
collisions: !!python/tuple
- geom_names_expr: !!python/tuple
- .*_collision
contype: 1
conaffinity: 1
condim:
^[FR][LR]_foot_collision$: 6
.*_collision: 1
priority:
^[FR][LR]_foot_collision$: 1
friction:
^[FR][LR]_foot_collision$: !!python/tuple
- 1
- 0.005
- 0.0005
solref: !!python/tuple
- 0.01
- 1
solimp: null
margin: null
gap: null
solmix: null
disable_other_geoms: true
sensors: !!python/tuple
- name: terrain_scan
frame:
type: body
name: trunk
entity: robot
pattern:
size: !!python/tuple
- 1.6
- 1.0
resolution: 0.1
direction: !!python/tuple
- 0.0
- 0.0
- -1.0
ray_alignment: yaw
max_distance: 5.0
exclude_parent_body: true
include_geom_groups: !!python/tuple
- 0
debug_vis: true
viz:
hit_color: !!python/tuple
- 0.0
- 1.0
- 0.0
- 0.8
miss_color: !!python/tuple
- 1.0
- 0.0
- 0.0
- 0.4
hit_sphere_color: !!python/tuple
- 0.0
- 1.0
- 1.0
- 1.0
hit_sphere_radius: 0.5
show_rays: false
show_normals: false
normal_color: !!python/tuple
- 1.0
- 1.0
- 0.0
- 1.0
normal_length: 5.0
- name: foot_height_scan
frame: !!python/tuple
- type: site
name: FR
entity: robot
- type: site
name: FL
entity: robot
- type: site
name: RR
entity: robot
- type: site
name: RL
entity: robot
pattern:
rings: !!python/tuple
- radius: 0.04
num_samples: 4
include_center: true
direction: !!python/tuple
- 0.0
- 0.0
- -1.0
ray_alignment: yaw
max_distance: 1.0
exclude_parent_body: true
include_geom_groups: !!python/tuple
- 0
debug_vis: true
viz:
hit_color: !!python/tuple
- 1.0
- 0.0
- 1.0
- 0.8
miss_color: !!python/tuple
- 1.0
- 0.0
- 0.0
- 0.4
hit_sphere_color: !!python/tuple
- 1.0
- 0.0
- 1.0
- 1.0
hit_sphere_radius: 0.5
show_rays: true
show_normals: false
normal_color: !!python/tuple
- 1.0
- 1.0
- 0.0
- 1.0
normal_length: 5.0
reduction: min
- name: feet_ground_contact
primary:
mode: geom
pattern: !!python/tuple
- FR_foot_collision
- FL_foot_collision
- RR_foot_collision
- RL_foot_collision
entity: robot
exclude: !!python/tuple []
secondary:
mode: body
pattern: terrain
entity: null
exclude: !!python/tuple []
fields: !!python/tuple
- found
- force
reduce: netforce
num_slots: 1
secondary_policy: first
track_air_time: true
global_frame: false
history_length: 0
debug: false
- name: self_collision
primary:
mode: subtree
pattern: trunk
entity: robot
exclude: !!python/tuple []
secondary:
mode: subtree
pattern: trunk
entity: robot
exclude: !!python/tuple []
fields: !!python/tuple
- found
- force
reduce: none
num_slots: 1
secondary_policy: first
track_air_time: false
global_frame: false
history_length: 4
debug: false
- name: thigh_ground_touch
primary:
mode: geom
pattern: !!python/tuple
- FR_thigh_collision1
- FR_thigh_collision2
- FR_thigh_collision3
- FL_thigh_collision1
- FL_thigh_collision2
- FL_thigh_collision3
- RR_thigh_collision1
- RR_thigh_collision2
- RR_thigh_collision3
- RL_thigh_collision1
- RL_thigh_collision2
- RL_thigh_collision3
entity: robot
exclude: !!python/tuple []
secondary:
mode: body
pattern: terrain
entity: null
exclude: !!python/tuple []
fields: !!python/tuple
- found
- force
reduce: none
num_slots: 1
secondary_policy: first
track_air_time: false
global_frame: false
history_length: 4
debug: false
- name: shank_ground_touch
primary:
mode: geom
pattern: !!python/tuple
- FR_calf_collision1
- FR_calf_collision2
- FL_calf_collision1
- FL_calf_collision2
- RR_calf_collision1
- RR_calf_collision2
- RL_calf_collision1
- RL_calf_collision2
entity: robot
exclude: !!python/tuple []
secondary:
mode: body
pattern: terrain
entity: null
exclude: !!python/tuple []
fields: !!python/tuple
- found
- force
reduce: none
num_slots: 1
secondary_policy: first
track_air_time: false
global_frame: false
history_length: 4
debug: false
- name: trunk_ground_touch
primary:
mode: geom
pattern: !!python/tuple
- trunk_collision
- head_collision
entity: robot
exclude: !!python/tuple []
secondary:
mode: body
pattern: terrain
entity: null
exclude: !!python/tuple []
fields: !!python/tuple
- found
- force
reduce: none
num_slots: 1
secondary_policy: first
track_air_time: false
global_frame: false
history_length: 4
debug: false
extent: 2.0
spec_fn: null
observations:
actor:
terms:
base_lin_vel:
func: &id001 !!python/name:mjlab.envs.mdp.observations.builtin_sensor ''
params:
sensor_name: robot/imu_lin_vel
noise:
operation: add
_tensor_cache: {}
n_min: -0.5
n_max: 0.5
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
base_ang_vel:
func: *id001
params:
sensor_name: robot/imu_ang_vel
noise:
operation: add
_tensor_cache: {}
n_min: -0.2
n_max: 0.2
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
projected_gravity:
func: &id002 !!python/name:mjlab.envs.mdp.observations.projected_gravity ''
params: {}
noise:
operation: add
_tensor_cache: {}
n_min: -0.05
n_max: 0.05
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
joint_pos:
func: &id003 !!python/name:mjlab.envs.mdp.observations.joint_pos_rel ''
params: {}
noise:
operation: add
_tensor_cache: {}
n_min: -0.01
n_max: 0.01
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
joint_vel:
func: &id004 !!python/name:mjlab.envs.mdp.observations.joint_vel_rel ''
params: {}
noise:
operation: add
_tensor_cache: {}
n_min: -1.5
n_max: 1.5
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
actions:
func: &id005 !!python/name:mjlab.envs.mdp.observations.last_action ''
params: {}
noise: null
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
command:
func: &id006 !!python/name:mjlab.envs.mdp.observations.generated_commands ''
params:
command_name: twist
noise: null
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
height_scan:
func: &id007 !!python/name:mjlab.envs.mdp.observations.height_scan ''
params:
sensor_name: terrain_scan
noise:
operation: add
_tensor_cache: {}
n_min: -0.1
n_max: 0.1
clip: null
scale: 0.2
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
concatenate_terms: true
concatenate_dim: -1
enable_corruption: true
history_length: null
flatten_history_dim: true
nan_policy: disabled
nan_check_per_term: true
critic:
terms:
base_lin_vel:
func: *id001
params:
sensor_name: robot/imu_lin_vel
noise:
operation: add
_tensor_cache: {}
n_min: -0.5
n_max: 0.5
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
base_ang_vel:
func: *id001
params:
sensor_name: robot/imu_ang_vel
noise:
operation: add
_tensor_cache: {}
n_min: -0.2
n_max: 0.2
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
projected_gravity:
func: *id002
params: {}
noise:
operation: add
_tensor_cache: {}
n_min: -0.05
n_max: 0.05
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
joint_pos:
func: *id003
params: {}
noise:
operation: add
_tensor_cache: {}
n_min: -0.01
n_max: 0.01
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
joint_vel:
func: *id004
params: {}
noise:
operation: add
_tensor_cache: {}
n_min: -1.5
n_max: 1.5
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
actions:
func: *id005
params: {}
noise: null
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
command:
func: *id006
params:
command_name: twist
noise: null
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
height_scan:
func: *id007
params:
sensor_name: terrain_scan
noise: null
clip: null
scale: 0.2
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
foot_height:
func: !!python/name:mjlab.tasks.velocity.mdp.observations.foot_height ''
params:
sensor_name: foot_height_scan
noise: null
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
foot_air_time:
func: !!python/name:mjlab.tasks.velocity.mdp.observations.foot_air_time ''
params:
sensor_name: feet_ground_contact
noise: null
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
foot_contact:
func: !!python/name:mjlab.tasks.velocity.mdp.observations.foot_contact ''
params:
sensor_name: feet_ground_contact
noise: null
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
foot_contact_forces:
func: !!python/name:mjlab.tasks.velocity.mdp.observations.foot_contact_forces ''
params:
sensor_name: feet_ground_contact
noise: null
clip: null
scale: null
delay_min_lag: 0
delay_max_lag: 0
delay_per_env: true
delay_hold_prob: 0.0
delay_update_period: 0
delay_per_env_phase: true
history_length: 0
flatten_history_dim: true
concatenate_terms: true
concatenate_dim: -1
enable_corruption: false
history_length: null
flatten_history_dim: true
nan_policy: disabled
nan_check_per_term: true
actions:
joint_pos:
entity_name: robot
clip: null
transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType
- joint
actuator_names: !!python/tuple
- .*
scale:
.*_hip_joint: 0.3727530387083568
.*_thigh_joint: 0.3727530387083568
.*_calf_joint: 0.24850202580557115
offset: 0.0
preserve_order: false
use_default_offset: true
events:
reset_base:
func: !!python/name:mjlab.envs.mdp.events.reset_root_state_uniform ''
params:
pose_range:
x: !!python/tuple
- -0.5
- 0.5
y: !!python/tuple
- -0.5
- 0.5
z: !!python/tuple
- 0.01
- 0.05
yaw: !!python/tuple
- -3.14
- 3.14
velocity_range: {}
mode: reset
interval_range_s: null
is_global_time: false
min_step_count_between_reset: 0
reset_robot_joints:
func: !!python/name:mjlab.envs.mdp.events.reset_joints_by_offset ''
params:
position_range: !!python/tuple
- 0.0
- 0.0
velocity_range: !!python/tuple
- 0.0
- 0.0
asset_cfg:
name: robot
joint_names: !!python/tuple
- .*
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: null
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: null
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: null
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
mode: reset
interval_range_s: null
is_global_time: false
min_step_count_between_reset: 0
push_robot:
func: !!python/name:mjlab.envs.mdp.events.push_by_setting_velocity ''
params:
velocity_range:
x: !!python/tuple
- -0.5
- 0.5
y: !!python/tuple
- -0.5
- 0.5
z: !!python/tuple
- -0.4
- 0.4
roll: !!python/tuple
- -0.52
- 0.52
pitch: !!python/tuple
- -0.52
- 0.52
yaw: !!python/tuple
- -0.78
- 0.78
mode: interval
interval_range_s: !!python/tuple
- 1.0
- 3.0
is_global_time: false
min_step_count_between_reset: 0
encoder_bias:
func: !!python/name:mjlab.envs.mdp.dr.joint.encoder_bias ''
params:
asset_cfg:
name: robot
joint_names: null
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: null
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: null
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: null
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
bias_range: !!python/tuple
- -0.015
- 0.015
mode: startup
interval_range_s: null
is_global_time: false
min_step_count_between_reset: 0
base_com:
func: !!python/name:mjlab.envs.mdp.dr.body.body_com_offset ''
params:
asset_cfg:
name: robot
joint_names: null
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: !!python/tuple
- trunk
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: null
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: null
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
operation: add
ranges:
0: !!python/tuple
- -0.025
- 0.025
1: !!python/tuple
- -0.025
- 0.025
2: !!python/tuple
- -0.03
- 0.03
mode: startup
interval_range_s: null
is_global_time: false
min_step_count_between_reset: 0
foot_friction_slide:
func: &id008 !!python/name:mjlab.envs.mdp.dr.geom.geom_friction ''
params:
asset_cfg:
name: robot
joint_names: null
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: null
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: !!python/tuple
- FR_foot_collision
- FL_foot_collision
- RR_foot_collision
- RL_foot_collision
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: null
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
operation: abs
axes:
- 0
ranges: !!python/tuple
- 0.3
- 1.5
shared_random: true
mode: startup
interval_range_s: null
is_global_time: false
min_step_count_between_reset: 0
foot_friction_spin:
func: *id008
params:
asset_cfg:
name: robot
joint_names: null
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: null
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: !!python/tuple
- FR_foot_collision
- FL_foot_collision
- RR_foot_collision
- RL_foot_collision
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: null
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
operation: abs
distribution: log_uniform
axes:
- 1
ranges: !!python/tuple
- 0.0001
- 0.02
shared_random: true
mode: startup
interval_range_s: null
is_global_time: false
min_step_count_between_reset: 0
foot_friction_roll:
func: *id008
params:
asset_cfg:
name: robot
joint_names: null
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: null
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: !!python/tuple
- FR_foot_collision
- FL_foot_collision
- RR_foot_collision
- RL_foot_collision
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: null
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
operation: abs
distribution: log_uniform
axes:
- 2
ranges: !!python/tuple
- 1.0e-05
- 0.005
shared_random: true
mode: startup
interval_range_s: null
is_global_time: false
min_step_count_between_reset: 0
seed: 42
sim:
nconmax: 35
njmax: 1500
ls_parallel: true
contact_sensor_maxmatch: 500
mujoco:
timestep: 0.005
integrator: implicitfast
impratio: 10
cone: elliptic
jacobian: auto
solver: newton
iterations: 10
tolerance: 1.0e-08
ls_iterations: 20
ls_tolerance: 0.01
ccd_iterations: 500
gravity: !!python/tuple
- 0.0
- 0.0
- -9.81
disableflags: !!python/tuple []
enableflags: !!python/tuple []
nan_guard:
enabled: false
buffer_size: 100
output_dir: /tmp/mjlab/nan_dumps
max_envs_to_dump: 5
viewer:
lookat: !!python/tuple
- 0.0
- 0.0
- 0.0
distance: 1.5
fovy: null
elevation: -10.0
azimuth: 90.0
origin_type: !!python/object/apply:mjlab.viewer.viewer_config.OriginType
- 4
entity_name: robot
body_name: trunk
env_idx: 0
max_extra_envs: 2
enable_reflections: true
enable_shadows: true
height: 240
width: 320
episode_length_s: 20.0
rewards:
track_linear_velocity:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.track_linear_velocity ''
params:
command_name: twist
std: 0.5
weight: 2.0
track_angular_velocity:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.track_angular_velocity ''
params:
command_name: twist
std: 0.7071067811865476
weight: 2.0
upright:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.upright ''
params:
std: 0.4472135954999579
asset_cfg:
name: robot
joint_names: null
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: !!python/tuple
- trunk
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: null
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: null
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
terrain_sensor_names: !!python/tuple
- terrain_scan
weight: 1.0
pose:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.variable_posture ''
params:
asset_cfg:
name: robot
joint_names: !!python/tuple
- .*
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: null
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: null
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: null
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
command_name: twist
std_standing:
.*(FR|FL|RR|RL)_(hip|thigh)_joint.*: 0.05
.*(FR|FL|RR|RL)_calf_joint.*: 0.1
std_walking:
.*(FR|FL|RR|RL)_(hip|thigh)_joint.*: 0.3
.*(FR|FL|RR|RL)_calf_joint.*: 0.6
std_running:
.*(FR|FL|RR|RL)_(hip|thigh)_joint.*: 0.3
.*(FR|FL|RR|RL)_calf_joint.*: 0.6
walking_threshold: 0.05
running_threshold: 1.5
weight: 1.0
body_ang_vel:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.body_angular_velocity_penalty ''
params:
asset_cfg:
name: robot
joint_names: null
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: !!python/tuple
- trunk
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: null
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: null
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
weight: 0.0
angular_momentum:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.angular_momentum_penalty ''
params:
sensor_name: robot/root_angmom
weight: 0.0
dof_pos_limits:
func: !!python/name:mjlab.envs.mdp.rewards.joint_pos_limits ''
params: {}
weight: -1.0
action_rate_l2:
func: !!python/name:mjlab.envs.mdp.rewards.action_rate_l2 ''
params: {}
weight: -0.1
air_time:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.feet_air_time ''
params:
sensor_name: feet_ground_contact
threshold_min: 0.05
threshold_max: 0.5
command_name: twist
command_threshold: 0.5
weight: 0.0
foot_clearance:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.feet_clearance ''
params:
target_height: 0.1
height_sensor_name: foot_height_scan
command_name: twist
command_threshold: 0.05
asset_cfg:
name: robot
joint_names: null
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: null
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: null
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: !!python/tuple
- FR
- FL
- RR
- RL
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
weight: -2.0
foot_swing_height:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.feet_swing_height ''
params:
sensor_name: feet_ground_contact
height_sensor_name: foot_height_scan
target_height: 0.1
command_name: twist
command_threshold: 0.05
weight: -0.25
foot_slip:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.feet_slip ''
params:
sensor_name: feet_ground_contact
command_name: twist
command_threshold: 0.05
asset_cfg:
name: robot
joint_names: null
joint_ids: !!python/object/apply:builtins.slice
- null
- null
- null
body_names: null
body_ids: !!python/object/apply:builtins.slice
- null
- null
- null
geom_names: null
geom_ids: !!python/object/apply:builtins.slice
- null
- null
- null
site_names: !!python/tuple
- FR
- FL
- RR
- RL
site_ids: !!python/object/apply:builtins.slice
- null
- null
- null
actuator_names: null
actuator_ids: !!python/object/apply:builtins.slice
- null
- null
- null
tendon_names: null
tendon_ids: !!python/object/apply:builtins.slice
- null
- null
- null
camera_names: null
camera_ids: !!python/object/apply:builtins.slice
- null
- null
- null
light_names: null
light_ids: !!python/object/apply:builtins.slice
- null
- null
- null
material_names: null
material_ids: !!python/object/apply:builtins.slice
- null
- null
- null
pair_names: null
pair_ids: !!python/object/apply:builtins.slice
- null
- null
- null
preserve_order: false
weight: -0.1
soft_landing:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.soft_landing ''
params:
sensor_name: feet_ground_contact
command_name: twist
command_threshold: 0.05
weight: -1.0e-05
self_collisions:
func: &id009 !!python/name:mjlab.tasks.velocity.mdp.rewards.self_collision_cost ''
params:
sensor_name: self_collision
weight: -0.1
shank_collision:
func: *id009
params:
sensor_name: shank_ground_touch
weight: -0.1
trunk_head_collision:
func: *id009
params:
sensor_name: trunk_ground_touch
weight: -0.1
terminations:
time_out:
func: !!python/name:mjlab.envs.mdp.terminations.time_out ''
params: {}
time_out: true
out_of_terrain_bounds:
func: !!python/name:mjlab.tasks.velocity.mdp.terminations.out_of_terrain_bounds ''
params: {}
time_out: true
illegal_contact:
func: !!python/name:mjlab.tasks.velocity.mdp.terminations.illegal_contact ''
params:
sensor_name: thigh_ground_touch
time_out: false
commands:
twist:
resampling_time_range: !!python/tuple
- 3.0
- 8.0
debug_vis: true
entity_name: robot
heading_command: true
heading_control_stiffness: 0.5
rel_standing_envs: 0.1
rel_heading_envs: 0.3
rel_world_envs: 0.0
rel_forward_envs: 0.2
init_velocity_prob: 0.0
ranges:
lin_vel_x: !!python/tuple
- -1.0
- 1.0
lin_vel_y: !!python/tuple
- -1.0
- 1.0
ang_vel_z: !!python/tuple
- -0.5
- 0.5
heading: !!python/tuple
- -3.141592653589793
- 3.141592653589793
viz:
z_offset: 0.2
scale: 0.5
curriculum:
terrain_levels:
func: !!python/name:mjlab.tasks.velocity.mdp.curriculums.terrain_levels_vel ''
params:
command_name: twist
command_vel:
func: !!python/name:mjlab.tasks.velocity.mdp.curriculums.commands_vel ''
params:
command_name: twist
velocity_stages:
- step: 0
lin_vel_x: !!python/tuple
- -1.0
- 1.0
ang_vel_z: !!python/tuple
- -0.5
- 0.5
- step: 120000
lin_vel_x: !!python/tuple
- -1.5
- 2.0
ang_vel_z: !!python/tuple
- -0.7
- 0.7
- step: 240000
lin_vel_x: !!python/tuple
- -2.0
- 3.0
metrics:
mean_action_acc:
func: !!python/name:mjlab.envs.mdp.metrics.mean_action_acc ''
params: {}
per_substep: false
reduce: mean
recorders: {}
is_finite_horizon: false
auto_reset: true
scale_rewards_by_dt: true