decimation: 4 scene: num_envs: 4096 env_spacing: 1.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: 1.0 max_init_terrain_level: null num_envs: 4096 entities: robot: init_state: pos: !!python/tuple - 0.0 - 0.0 - 0.01 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: joint2: 1.047 joint3: 1.05 joint4: -0.9 left_finger: 0.01875 right_finger: -0.01875 joint_vel: .*: 0.0 spec_fn: !!python/name:mjlab.asset_zoo.robots.i2rt_yam.yam_constants.get_spec '' articulation: actuators: !!python/tuple - target_names_expr: !!python/tuple - joint1 transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType - joint armature: 0.032 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: 19.447542251806023 damping: 6.190344960903768 effort_limit: 28.0 - target_names_expr: !!python/tuple - joint2 transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType - joint armature: 0.032 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: 43.80698922166542 damping: 13.944197753601417 effort_limit: 28.0 - target_names_expr: !!python/tuple - joint3 transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType - joint armature: 0.032 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: 36.756459665271045 damping: 11.699944492905928 effort_limit: 28.0 - target_names_expr: !!python/tuple - joint4 transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType - joint armature: 0.0018 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: 4.761728817494976 damping: 1.515705357978224 effort_limit: 10.0 - target_names_expr: !!python/tuple - joint5 transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType - joint armature: 0.0018 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: 1.4411201561470834 damping: 0.458722792893456 effort_limit: 10.0 - target_names_expr: !!python/tuple - joint6 transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType - joint armature: 0.0018 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: 0.45289640673129905 damping: 0.144161403683808 effort_limit: 10.0 - target_names_expr: !!python/tuple - left_finger transmission_type: !!python/object/apply:mjlab.actuator.actuator.TransmissionType - joint armature: 2.603054949414799 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: 109.81411388402572 damping: 69.90983618559427 effort_limit: 38.02816901408451 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: (link6|[lr]f)_.*_collision: 1 .*_collision: 0 conaffinity: (link6|[lr]f)_.*_collision: 1 .*_collision: 0 condim: '[lr]f_down(6|7|8|9|10|11)_collision': 6 .*_collision: 3 priority: '[lr]f_down(6|7|8|9|10|11)_collision': 1 friction: '[lr]f_down(6|7|8|9|10|11)_collision': !!python/tuple - 1 - 0.005 - 0.0005 .*_collision: !!python/tuple - 0.6 solref: '[lr]f_down(6|7|8|9|10|11)_collision': !!python/tuple - 0.01 - 1 solimp: null margin: null gap: null solmix: null disable_other_geoms: true cube: 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.tasks.manipulation.config.yam.env_cfgs.get_cube_spec '' articulation: null sort_actuators: false lights: !!python/tuple [] cameras: !!python/tuple [] textures: !!python/tuple [] materials: !!python/tuple [] collisions: !!python/tuple [] sensors: !!python/tuple - name: ee_ground_collision primary: mode: subtree pattern: link_6 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: null spec_fn: null observations: actor: terms: joint_pos: func: &id001 !!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: &id002 !!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 ee_to_cube: func: &id003 !!python/name:mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance '' params: object_name: cube 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 - grasp_site 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 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 cube_to_goal: func: &id004 !!python/name:mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance '' params: object_name: cube command_name: lift_height 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 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 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: joint_pos: func: *id001 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: *id002 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 ee_to_cube: func: *id003 params: object_name: cube 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 - grasp_site 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 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 cube_to_goal: func: *id004 params: object_name: cube command_name: lift_height 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 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 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: joint1: 0.3599426554453139 joint2: 0.1597918534090456 joint3: 0.1904427157497401 joint4: 0.5250193985879242 joint5: 1.7347616639294616 joint6: 5.520026131457555 left_finger: 0.08657395590844981 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: {} 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 fingertip_friction_slide: func: &id006 !!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: '[lr]f_down(6|7|8|9|10|11)_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: uniform axes: - 0 ranges: !!python/tuple - 0.3 - 1.5 mode: startup interval_range_s: null is_global_time: false min_step_count_between_reset: 0 fingertip_friction_spin: func: *id006 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: '[lr]f_down(6|7|8|9|10|11)_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 mode: startup interval_range_s: null is_global_time: false min_step_count_between_reset: 0 fingertip_friction_roll: func: *id006 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: '[lr]f_down(6|7|8|9|10|11)_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 mode: startup interval_range_s: null is_global_time: false min_step_count_between_reset: 0 seed: 42 sim: nconmax: 55 njmax: 600 ls_parallel: true contact_sensor_maxmatch: 64 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: 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: 1.5 fovy: null elevation: -5.0 azimuth: 120.0 origin_type: !!python/object/apply:mjlab.viewer.viewer_config.OriginType - 4 entity_name: robot body_name: arm env_idx: 0 max_extra_envs: 2 enable_reflections: true enable_shadows: true height: 240 width: 320 episode_length_s: 20.0 rewards: lift: func: !!python/name:mjlab.tasks.manipulation.mdp.rewards.staged_position_reward '' params: command_name: lift_height object_name: cube reaching_std: 0.2 bringing_std: 0.3 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 - grasp_site 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 lift_precise: func: !!python/name:mjlab.tasks.manipulation.mdp.rewards.bring_object_reward '' params: command_name: lift_height object_name: cube std: 0.05 weight: 1.0 action_rate_l2: func: !!python/name:mjlab.envs.mdp.rewards.action_rate_l2 '' params: {} weight: -0.01 joint_pos_limits: func: !!python/name:mjlab.envs.mdp.rewards.joint_pos_limits '' 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 weight: -10.0 joint_vel_hinge: func: !!python/name:mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty '' params: max_vel: 0.5 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 weight: -0.01 terminations: time_out: func: !!python/name:mjlab.envs.mdp.terminations.time_out '' params: {} time_out: true ee_ground_collision: func: !!python/name:mjlab.tasks.manipulation.mdp.terminations.illegal_contact '' params: sensor_name: ee_ground_collision force_threshold: 10.0 time_out: false commands: lift_height: resampling_time_range: !!python/tuple - 8.0 - 12.0 debug_vis: true entity_name: cube success_threshold: 0.05 difficulty: dynamic target_position_range: x: !!python/tuple - 0.3 - 0.5 y: !!python/tuple - -0.2 - 0.2 z: !!python/tuple - 0.2 - 0.4 object_pose_range: x: !!python/tuple - 0.2 - 0.4 y: !!python/tuple - -0.2 - 0.2 z: !!python/tuple - 0.02 - 0.05 yaw: !!python/tuple - -3.14 - 3.14 viz: target_color: !!python/tuple - 1.0 - 0.5 - 0.0 - 0.3 curriculum: joint_vel_hinge_weight: func: !!python/name:mjlab.envs.mdp.curriculums.reward_curriculum '' params: reward_name: joint_vel_hinge stages: - step: 0 weight: -0.01 - step: 12000 weight: -0.1 - step: 24000 weight: -1.0 metrics: {} recorders: {} is_finite_horizon: false auto_reset: true scale_rewards_by_dt: true