viewer:
  eye: !!python/tuple
  - -2.0
  - 2.0
  - 2.0
  lookat: !!python/tuple
  - 0.8
  - 0.0
  - 0.5
  cam_prim_path: /OmniverseKit_Persp
  resolution: !!python/tuple
  - 1280
  - 720
  origin_type: world
  env_index: 0
  asset_name: null
  body_name: null
sim:
  physics_prim_path: /physicsScene
  device: cuda:0
  dt: 0.016666666666666666
  render_interval: 1
  gravity: !!python/tuple
  - 0.0
  - 0.0
  - -9.81
  enable_scene_query_support: true
  use_fabric: true
  disable_contact_processing: false
  physx:
    solver_type: 1
    min_position_iteration_count: 1
    max_position_iteration_count: 255
    min_velocity_iteration_count: 0
    max_velocity_iteration_count: 255
    enable_ccd: false
    enable_stabilization: true
    enable_enhanced_determinism: false
    bounce_threshold_velocity: 0.01
    friction_offset_threshold: 0.04
    friction_correlation_distance: 0.00625
    gpu_max_rigid_contact_count: 8388608
    gpu_max_rigid_patch_count: 163840
    gpu_found_lost_pairs_capacity: 2097152
    gpu_found_lost_aggregate_pairs_capacity: 33554432
    gpu_total_aggregate_pairs_capacity: 2097152
    gpu_collision_stack_size: 67108864
    gpu_heap_capacity: 67108864
    gpu_temp_buffer_capacity: 16777216
    gpu_max_num_partitions: 8
    gpu_max_soft_body_contacts: 1048576
    gpu_max_particle_contacts: 1048576
  physics_material:
    func: isaaclab.sim.spawners.materials.physics_materials:spawn_rigid_body_material
    static_friction: 0.5
    dynamic_friction: 0.5
    restitution: 0.0
    improve_patch_friction: true
    friction_combine_mode: average
    restitution_combine_mode: average
    compliant_contact_stiffness: 0.0
    compliant_contact_damping: 0.0
  render:
    enable_translucency: false
    enable_reflections: false
    enable_global_illumination: false
    antialiasing_mode: DLSS
    enable_dlssg: false
    enable_dl_denoiser: false
    dlss_mode: 0
    enable_direct_lighting: true
    samples_per_pixel: 1
    enable_shadows: true
    enable_ambient_occlusion: false
ui_window_class_type: isaaclab.envs.ui.manager_based_rl_env_window:ManagerBasedRLEnvWindow
seed: 42
decimation: 1
scene:
  num_envs: 4096
  env_spacing: 2.0
  lazy_sensor_update: true
  replicate_physics: true
  filter_collisions: true
  robot:
    class_type: isaaclab.assets.articulation.articulation:Articulation
    prim_path: /World/envs/env_.*/Robot
    spawn:
      func: isaaclab.sim.spawners.from_files.from_files:spawn_from_usd
      visible: true
      semantic_tags: null
      copy_from_source: true
      mass_props: null
      deformable_props: null
      rigid_props:
        rigid_body_enabled: null
        kinematic_enabled: null
        disable_gravity: false
        linear_damping: null
        angular_damping: null
        max_linear_velocity: null
        max_angular_velocity: null
        max_depenetration_velocity: 5.0
        max_contact_impulse: null
        enable_gyroscopic_forces: null
        retain_accelerations: null
        solver_position_iteration_count: null
        solver_velocity_iteration_count: null
        sleep_threshold: null
        stabilization_threshold: null
      collision_props: null
      activate_contact_sensors: false
      scale: null
      articulation_props:
        articulation_enabled: null
        enabled_self_collisions: true
        solver_position_iteration_count: 8
        solver_velocity_iteration_count: 0
        sleep_threshold: null
        stabilization_threshold: null
        fix_root_link: null
      fixed_tendons_props: null
      joint_drive_props: null
      visual_material_path: material
      visual_material: null
      usd_path: http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5/Isaac/IsaacLab/Robots/FrankaEmika/panda_instanceable.usd
      variants: null
    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:
        panda_joint1: 0.0
        panda_joint2: -0.569
        panda_joint3: 0.0
        panda_joint4: -2.81
        panda_joint5: 0.0
        panda_joint6: 3.037
        panda_joint7: 0.741
        panda_finger_joint.*: 0.04
      joint_vel:
        .*: 0.0
    collision_group: 0
    debug_vis: false
    soft_joint_pos_limit_factor: 1.0
    actuators:
      panda_shoulder:
        class_type: isaaclab.actuators.actuator_pd:ImplicitActuator
        joint_names_expr:
        - panda_joint[1-4]
        effort_limit: 87.0
        velocity_limit: 2.175
        effort_limit_sim: null
        velocity_limit_sim: null
        stiffness: 80.0
        damping: 4.0
        armature: null
        friction: null
      panda_forearm:
        class_type: isaaclab.actuators.actuator_pd:ImplicitActuator
        joint_names_expr:
        - panda_joint[5-7]
        effort_limit: 12.0
        velocity_limit: 2.61
        effort_limit_sim: null
        velocity_limit_sim: null
        stiffness: 80.0
        damping: 4.0
        armature: null
        friction: null
      panda_hand:
        class_type: isaaclab.actuators.actuator_pd:ImplicitActuator
        joint_names_expr:
        - panda_finger_joint.*
        effort_limit: 200.0
        velocity_limit: 0.2
        effort_limit_sim: null
        velocity_limit_sim: null
        stiffness: 2000.0
        damping: 100.0
        armature: null
        friction: null
  ee_frame:
    class_type: isaaclab.sensors.frame_transformer.frame_transformer:FrameTransformer
    prim_path: /World/envs/env_.*/Robot/panda_link0
    update_period: 0.0
    history_length: 0
    debug_vis: false
    source_frame_offset:
      pos: !!python/tuple
      - 0.0
      - 0.0
      - 0.0
      rot: !!python/tuple
      - 1.0
      - 0.0
      - 0.0
      - 0.0
    target_frames:
    - prim_path: /World/envs/env_.*/Robot/panda_hand
      name: ee_tcp
      offset:
        pos: !!python/tuple
        - 0.0
        - 0.0
        - 0.1034
        rot: !!python/tuple
        - 1.0
        - 0.0
        - 0.0
        - 0.0
    - prim_path: /World/envs/env_.*/Robot/panda_leftfinger
      name: tool_leftfinger
      offset:
        pos: !!python/tuple
        - 0.0
        - 0.0
        - 0.046
        rot: !!python/tuple
        - 1.0
        - 0.0
        - 0.0
        - 0.0
    - prim_path: /World/envs/env_.*/Robot/panda_rightfinger
      name: tool_rightfinger
      offset:
        pos: !!python/tuple
        - 0.0
        - 0.0
        - 0.046
        rot: !!python/tuple
        - 1.0
        - 0.0
        - 0.0
        - 0.0
    visualizer_cfg:
      prim_path: /Visuals/EndEffectorFrameTransformer
      markers:
        frame:
          func: isaaclab.sim.spawners.from_files.from_files:spawn_from_usd
          visible: true
          semantic_tags: null
          copy_from_source: true
          mass_props: null
          deformable_props: null
          rigid_props: null
          collision_props: null
          activate_contact_sensors: false
          scale: !!python/tuple
          - 0.1
          - 0.1
          - 0.1
          articulation_props: null
          fixed_tendons_props: null
          joint_drive_props: null
          visual_material_path: material
          visual_material: null
          usd_path: http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5/Isaac/Props/UIElements/frame_prim.usd
          variants: null
  cabinet:
    class_type: isaaclab.assets.articulation.articulation:Articulation
    prim_path: /World/envs/env_.*/Cabinet
    spawn:
      func: isaaclab.sim.spawners.from_files.from_files:spawn_from_usd
      visible: true
      semantic_tags: null
      copy_from_source: true
      mass_props: null
      deformable_props: null
      rigid_props: null
      collision_props: null
      activate_contact_sensors: false
      scale: null
      articulation_props: null
      fixed_tendons_props: null
      joint_drive_props: null
      visual_material_path: material
      visual_material: null
      usd_path: http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5/Isaac/Props/Sektion_Cabinet/sektion_cabinet_instanceable.usd
      variants: null
    init_state:
      pos: !!python/tuple
      - 0.8
      - 0
      - 0.4
      rot: !!python/tuple
      - 0.0
      - 0.0
      - 0.0
      - 1.0
      lin_vel: !!python/tuple
      - 0.0
      - 0.0
      - 0.0
      ang_vel: !!python/tuple
      - 0.0
      - 0.0
      - 0.0
      joint_pos:
        door_left_joint: 0.0
        door_right_joint: 0.0
        drawer_bottom_joint: 0.0
        drawer_top_joint: 0.0
      joint_vel:
        .*: 0.0
    collision_group: 0
    debug_vis: false
    soft_joint_pos_limit_factor: 1.0
    actuators:
      drawers:
        class_type: isaaclab.actuators.actuator_pd:ImplicitActuator
        joint_names_expr:
        - drawer_top_joint
        - drawer_bottom_joint
        effort_limit: 87.0
        velocity_limit: 100.0
        effort_limit_sim: null
        velocity_limit_sim: null
        stiffness: 10.0
        damping: 1.0
        armature: null
        friction: null
      doors:
        class_type: isaaclab.actuators.actuator_pd:ImplicitActuator
        joint_names_expr:
        - door_left_joint
        - door_right_joint
        effort_limit: 87.0
        velocity_limit: 100.0
        effort_limit_sim: null
        velocity_limit_sim: null
        stiffness: 10.0
        damping: 2.5
        armature: null
        friction: null
  cabinet_frame:
    class_type: isaaclab.sensors.frame_transformer.frame_transformer:FrameTransformer
    prim_path: /World/envs/env_.*/Cabinet/sektion
    update_period: 0.0
    history_length: 0
    debug_vis: true
    source_frame_offset:
      pos: !!python/tuple
      - 0.0
      - 0.0
      - 0.0
      rot: !!python/tuple
      - 1.0
      - 0.0
      - 0.0
      - 0.0
    target_frames:
    - prim_path: /World/envs/env_.*/Cabinet/drawer_handle_top
      name: drawer_handle_top
      offset:
        pos: !!python/tuple
        - 0.305
        - 0.0
        - 0.01
        rot: !!python/tuple
        - 0.5
        - 0.5
        - -0.5
        - -0.5
    visualizer_cfg:
      prim_path: /Visuals/CabinetFrameTransformer
      markers:
        frame:
          func: isaaclab.sim.spawners.from_files.from_files:spawn_from_usd
          visible: true
          semantic_tags: null
          copy_from_source: true
          mass_props: null
          deformable_props: null
          rigid_props: null
          collision_props: null
          activate_contact_sensors: false
          scale: !!python/tuple
          - 0.1
          - 0.1
          - 0.1
          articulation_props: null
          fixed_tendons_props: null
          joint_drive_props: null
          visual_material_path: material
          visual_material: null
          usd_path: http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5/Isaac/Props/UIElements/frame_prim.usd
          variants: null
  plane:
    class_type: null
    prim_path: /World/GroundPlane
    spawn:
      func: isaaclab.sim.spawners.from_files.from_files:spawn_ground_plane
      visible: true
      semantic_tags: null
      copy_from_source: true
      usd_path: http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5/Isaac/Environments/Grid/default_environment.usd
      color: !!python/tuple
      - 0.0
      - 0.0
      - 0.0
      size: !!python/tuple
      - 100.0
      - 100.0
      physics_material:
        func: isaaclab.sim.spawners.materials.physics_materials:spawn_rigid_body_material
        static_friction: 0.5
        dynamic_friction: 0.5
        restitution: 0.0
        improve_patch_friction: true
        friction_combine_mode: average
        restitution_combine_mode: average
        compliant_contact_stiffness: 0.0
        compliant_contact_damping: 0.0
    init_state:
      pos: !!python/tuple
      - 0.0
      - 0.0
      - 0.0
      rot: !!python/tuple
      - 1.0
      - 0.0
      - 0.0
      - 0.0
    collision_group: -1
    debug_vis: false
  light:
    class_type: null
    prim_path: /World/light
    spawn:
      func: isaaclab.sim.spawners.lights.lights:spawn_light
      visible: true
      semantic_tags: null
      copy_from_source: true
      prim_type: DomeLight
      color: !!python/tuple
      - 0.75
      - 0.75
      - 0.75
      enable_color_temperature: false
      color_temperature: 6500.0
      normalize: false
      exposure: 0.0
      intensity: 3000.0
      texture_file: null
      texture_format: automatic
      visible_in_primary_ray: true
    init_state:
      pos: !!python/tuple
      - 0.0
      - 0.0
      - 0.0
      rot: !!python/tuple
      - 1.0
      - 0.0
      - 0.0
      - 0.0
    collision_group: 0
    debug_vis: false
recorders:
  dataset_file_handler_class_type: isaaclab.utils.datasets.hdf5_dataset_file_handler:HDF5DatasetFileHandler
  dataset_export_dir_path: /tmp/isaaclab/logs
  dataset_filename: dataset
  dataset_export_mode:
    _value_: 1
    _name_: EXPORT_ALL
  export_in_record_pre_reset: true
observations:
  policy:
    concatenate_terms: true
    enable_corruption: true
    history_length: null
    flatten_history_dim: true
    joint_pos:
      func: isaaclab.envs.mdp.observations:joint_pos_rel
      params: {}
      modifiers: null
      noise: null
      clip: null
      scale: null
      history_length: 0
      flatten_history_dim: true
    joint_vel:
      func: isaaclab.envs.mdp.observations:joint_vel_rel
      params: {}
      modifiers: null
      noise: null
      clip: null
      scale: null
      history_length: 0
      flatten_history_dim: true
    cabinet_joint_pos:
      func: isaaclab.envs.mdp.observations:joint_pos_rel
      params:
        asset_cfg:
          name: cabinet
          joint_names:
          - drawer_top_joint
          joint_ids: !!python/object/apply:builtins.slice
          - null
          - null
          - null
          fixed_tendon_names: null
          fixed_tendon_ids: !!python/object/apply:builtins.slice
          - null
          - null
          - null
          body_names: null
          body_ids: !!python/object/apply:builtins.slice
          - null
          - null
          - null
          object_collection_names: null
          object_collection_ids: !!python/object/apply:builtins.slice
          - null
          - null
          - null
          preserve_order: false
      modifiers: null
      noise: null
      clip: null
      scale: null
      history_length: 0
      flatten_history_dim: true
    cabinet_joint_vel:
      func: isaaclab.envs.mdp.observations:joint_vel_rel
      params:
        asset_cfg:
          name: cabinet
          joint_names:
          - drawer_top_joint
          joint_ids: !!python/object/apply:builtins.slice
          - null
          - null
          - null
          fixed_tendon_names: null
          fixed_tendon_ids: !!python/object/apply:builtins.slice
          - null
          - null
          - null
          body_names: null
          body_ids: !!python/object/apply:builtins.slice
          - null
          - null
          - null
          object_collection_names: null
          object_collection_ids: !!python/object/apply:builtins.slice
          - null
          - null
          - null
          preserve_order: false
      modifiers: null
      noise: null
      clip: null
      scale: null
      history_length: 0
      flatten_history_dim: true
    rel_ee_drawer_distance:
      func: isaaclab_tasks.manager_based.manipulation.cabinet.mdp.observations:rel_ee_drawer_distance
      params: {}
      modifiers: null
      noise: null
      clip: null
      scale: null
      history_length: 0
      flatten_history_dim: true
    actions:
      func: isaaclab.envs.mdp.observations:last_action
      params: {}
      modifiers: null
      noise: null
      clip: null
      scale: null
      history_length: 0
      flatten_history_dim: true
actions:
  arm_action:
    class_type: isaaclab.envs.mdp.actions.joint_actions:JointPositionAction
    asset_name: robot
    debug_vis: false
    clip: null
    joint_names:
    - panda_joint.*
    scale: 1.0
    offset: 0.0
    preserve_order: false
    use_default_offset: true
  gripper_action:
    class_type: isaaclab.envs.mdp.actions.binary_joint_actions:BinaryJointPositionAction
    asset_name: robot
    debug_vis: false
    clip: null
    joint_names:
    - panda_finger.*
    open_command_expr:
      panda_finger_.*: 0.04
    close_command_expr:
      panda_finger_.*: 0.0
events:
  robot_physics_material:
    func: isaaclab.envs.mdp.events:randomize_rigid_body_material
    params:
      asset_cfg:
        name: robot
        joint_names: null
        joint_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        fixed_tendon_names: null
        fixed_tendon_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        body_names: .*
        body_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        object_collection_names: null
        object_collection_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        preserve_order: false
      static_friction_range: !!python/tuple
      - 0.8
      - 1.25
      dynamic_friction_range: !!python/tuple
      - 0.8
      - 1.25
      restitution_range: !!python/tuple
      - 0.0
      - 0.0
      num_buckets: 16
    mode: startup
    interval_range_s: null
    is_global_time: false
    min_step_count_between_reset: 0
  cabinet_physics_material:
    func: isaaclab.envs.mdp.events:randomize_rigid_body_material
    params:
      asset_cfg:
        name: cabinet
        joint_names: null
        joint_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        fixed_tendon_names: null
        fixed_tendon_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        body_names: drawer_handle_top
        body_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        object_collection_names: null
        object_collection_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        preserve_order: false
      static_friction_range: !!python/tuple
      - 1.0
      - 1.25
      dynamic_friction_range: !!python/tuple
      - 1.25
      - 1.5
      restitution_range: !!python/tuple
      - 0.0
      - 0.0
      num_buckets: 16
    mode: startup
    interval_range_s: null
    is_global_time: false
    min_step_count_between_reset: 0
  reset_all:
    func: isaaclab.envs.mdp.events:reset_scene_to_default
    params: {}
    mode: reset
    interval_range_s: null
    is_global_time: false
    min_step_count_between_reset: 0
  reset_robot_joints:
    func: isaaclab.envs.mdp.events:reset_joints_by_offset
    params:
      position_range: !!python/tuple
      - -0.1
      - 0.1
      velocity_range: !!python/tuple
      - 0.0
      - 0.0
    mode: reset
    interval_range_s: null
    is_global_time: false
    min_step_count_between_reset: 0
rerender_on_reset: false
wait_for_textures: true
is_finite_horizon: false
episode_length_s: 8.0
rewards:
  approach_ee_handle:
    func: isaaclab_tasks.manager_based.manipulation.cabinet.mdp.rewards:approach_ee_handle
    params:
      threshold: 0.2
    weight: 2.0
  align_ee_handle:
    func: isaaclab_tasks.manager_based.manipulation.cabinet.mdp.rewards:align_ee_handle
    params: {}
    weight: 0.5
  approach_gripper_handle:
    func: isaaclab_tasks.manager_based.manipulation.cabinet.mdp.rewards:approach_gripper_handle
    params:
      offset: 0.04
    weight: 5.0
  align_grasp_around_handle:
    func: isaaclab_tasks.manager_based.manipulation.cabinet.mdp.rewards:align_grasp_around_handle
    params: {}
    weight: 0.125
  grasp_handle:
    func: isaaclab_tasks.manager_based.manipulation.cabinet.mdp.rewards:grasp_handle
    params:
      threshold: 0.03
      open_joint_pos: 0.04
      asset_cfg:
        name: robot
        joint_names:
        - panda_finger_.*
        joint_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        fixed_tendon_names: null
        fixed_tendon_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        body_names: null
        body_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        object_collection_names: null
        object_collection_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        preserve_order: false
    weight: 0.5
  open_drawer_bonus:
    func: isaaclab_tasks.manager_based.manipulation.cabinet.mdp.rewards:open_drawer_bonus
    params:
      asset_cfg:
        name: cabinet
        joint_names:
        - drawer_top_joint
        joint_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        fixed_tendon_names: null
        fixed_tendon_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        body_names: null
        body_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        object_collection_names: null
        object_collection_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        preserve_order: false
    weight: 7.5
  multi_stage_open_drawer:
    func: isaaclab_tasks.manager_based.manipulation.cabinet.mdp.rewards:multi_stage_open_drawer
    params:
      asset_cfg:
        name: cabinet
        joint_names:
        - drawer_top_joint
        joint_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        fixed_tendon_names: null
        fixed_tendon_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        body_names: null
        body_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        object_collection_names: null
        object_collection_ids: !!python/object/apply:builtins.slice
        - null
        - null
        - null
        preserve_order: false
    weight: 1.0
  action_rate_l2:
    func: isaaclab.envs.mdp.rewards:action_rate_l2
    params: {}
    weight: -0.01
  joint_vel:
    func: isaaclab.envs.mdp.rewards:joint_vel_l2
    params: {}
    weight: -0.0001
terminations:
  time_out:
    func: isaaclab.envs.mdp.terminations:time_out
    params: {}
    time_out: true
curriculum: null
commands: null
