robomotic's picture
Upload g1_velocity/2026-04-26_20-11-37/env.yaml with huggingface_hub
cfcca6f verified
Raw
History Blame Contribute Delete
39.7 kB
decimation: 2
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: plane
terrain_generator: null
env_spacing: 2.0
max_init_terrain_level: 5
num_envs: 4096
entities:
robot:
init_state:
pos: !!python/tuple
- 0
- 0
- 0.76
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:
.*_hip_pitch_joint: -0.312
.*_knee_joint: 0.669
.*_ankle_pitch_joint: -0.363
.*_elbow_joint: 0.6
left_shoulder_roll_joint: 0.2
left_shoulder_pitch_joint: 0.2
right_shoulder_roll_joint: -0.2
right_shoulder_pitch_joint: 0.2
joint_vel:
.*: 0.0
spec_fn: !!python/name:mjlab.asset_zoo.robots.unitree_g1.g1_constants.get_spec ''
articulation:
actuators: !!python/tuple
- target_names_expr: !!python/tuple
- .*_elbow_joint
- .*_shoulder_pitch_joint
- .*_shoulder_roll_joint
- .*_shoulder_yaw_joint
- .*_wrist_roll_joint
transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType
- joint
armature: 0.003609725
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: 14.25062309787429
damping: 0.907222843292423
effort_limit: 25.0
- target_names_expr: !!python/tuple
- .*_hip_pitch_joint
- .*_hip_yaw_joint
- waist_yaw_joint
transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType
- joint
armature: 0.01017752004132231
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: 40.17923863450712
damping: 2.557889775413375
effort_limit: 88.0
- target_names_expr: !!python/tuple
- .*_hip_roll_joint
- .*_knee_joint
transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType
- joint
armature: 0.025101924999999997
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: 99.09842777666111
damping: 6.308801853496639
effort_limit: 139.0
- target_names_expr: !!python/tuple
- .*_wrist_pitch_joint
- .*_wrist_yaw_joint
transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType
- joint
armature: 0.00425
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: 16.77832748089279
damping: 1.06814150219
effort_limit: 5.0
- target_names_expr: !!python/tuple
- waist_pitch_joint
- waist_roll_joint
transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType
- joint
armature: 0.00721945
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: 28.50124619574858
damping: 1.814445686584846
effort_limit: 50.0
- target_names_expr: !!python/tuple
- .*_ankle_pitch_joint
- .*_ankle_roll_joint
transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType
- joint
armature: 0.00721945
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: 28.50124619574858
damping: 1.814445686584846
effort_limit: 50.0
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:
^(left|right)_foot[1-7]_collision$: 3
.*_collision: 1
priority:
^(left|right)_foot[1-7]_collision$: 1
friction:
^(left|right)_foot[1-7]_collision$: !!python/tuple
- 0.6
solref: null
solimp: null
margin: null
gap: null
solmix: null
disable_other_geoms: true
sensors: !!python/tuple
- name: foot_height_scan
frame: !!python/tuple
- type: site
name: left_foot
entity: robot
- type: site
name: right_foot
entity: robot
pattern:
rings: !!python/tuple
- radius: 0.03
num_samples: 6
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: subtree
pattern: ^(left_ankle_roll_link|right_ankle_roll_link)$
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: pelvis
entity: robot
exclude: !!python/tuple []
secondary:
mode: subtree
pattern: pelvis
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
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
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
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:
.*_elbow_joint: 0.43857731392336724
.*_shoulder_pitch_joint: 0.43857731392336724
.*_shoulder_roll_joint: 0.43857731392336724
.*_shoulder_yaw_joint: 0.43857731392336724
.*_wrist_roll_joint: 0.43857731392336724
.*_hip_pitch_joint: 0.5475464629911068
.*_hip_yaw_joint: 0.5475464629911068
waist_yaw_joint: 0.5475464629911068
.*_hip_roll_joint: 0.35066146637882434
.*_knee_joint: 0.35066146637882434
.*_wrist_pitch_joint: 0.07450087032950714
.*_wrist_yaw_joint: 0.07450087032950714
waist_pitch_joint: 0.43857731392336724
waist_roll_joint: 0.43857731392336724
.*_ankle_pitch_joint: 0.43857731392336724
.*_ankle_roll_joint: 0.43857731392336724
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
foot_friction:
func: !!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
- left_foot1_collision
- left_foot2_collision
- left_foot3_collision
- left_foot4_collision
- left_foot5_collision
- left_foot6_collision
- left_foot7_collision
- right_foot1_collision
- right_foot2_collision
- right_foot3_collision
- right_foot4_collision
- right_foot5_collision
- right_foot6_collision
- right_foot7_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
ranges: !!python/tuple
- 0.3
- 1.2
shared_random: true
mode: startup
interval_range_s: null
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
- torso_link
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
seed: 42
sim:
nconmax: null
njmax: 300
ls_parallel: true
contact_sensor_maxmatch: 64
mujoco:
timestep: 0.005
integrator: implicitfast
impratio: 1.0
cone: pyramidal
jacobian: auto
solver: newton
iterations: 10
tolerance: 1.0e-08
ls_iterations: 20
ls_tolerance: 0.01
ccd_iterations: 50
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: 3.0
fovy: null
elevation: -5.0
azimuth: 90.0
origin_type: !!python/object/apply:mjlab.viewer.viewer_config.OriginType
- 4
entity_name: robot
body_name: torso_link
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
- torso_link
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: 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:
.*: 0.05
std_walking:
.*hip_pitch.*: 0.3
.*hip_roll.*: 0.15
.*hip_yaw.*: 0.15
.*knee.*: 0.35
.*ankle_pitch.*: 0.25
.*ankle_roll.*: 0.1
.*waist_yaw.*: 0.2
.*waist_roll.*: 0.08
.*waist_pitch.*: 0.1
.*shoulder_pitch.*: 0.15
.*shoulder_roll.*: 0.15
.*shoulder_yaw.*: 0.1
.*elbow.*: 0.15
.*wrist.*: 0.3
std_running:
.*hip_pitch.*: 0.5
.*hip_roll.*: 0.2
.*hip_yaw.*: 0.2
.*knee.*: 0.6
.*ankle_pitch.*: 0.35
.*ankle_roll.*: 0.15
.*waist_yaw.*: 0.3
.*waist_roll.*: 0.08
.*waist_pitch.*: 0.2
.*shoulder_pitch.*: 0.5
.*shoulder_roll.*: 0.2
.*shoulder_yaw.*: 0.15
.*elbow.*: 0.35
.*wrist.*: 0.3
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
- torso_link
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.05
angular_momentum:
func: !!python/name:mjlab.tasks.velocity.mdp.rewards.angular_momentum_penalty ''
params:
sensor_name: robot/root_angmom
weight: -0.02
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
- left_foot
- right_foot
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
- left_foot
- right_foot
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: !!python/name:mjlab.tasks.velocity.mdp.rewards.self_collision_cost ''
params:
sensor_name: self_collision
force_threshold: 10.0
weight: -1.0
terminations:
time_out:
func: !!python/name:mjlab.envs.mdp.terminations.time_out ''
params: {}
time_out: true
fell_over:
func: !!python/name:mjlab.envs.mdp.terminations.bad_orientation ''
params:
limit_angle: 1.2217304763960306
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: 1.15
scale: 0.5
curriculum:
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