# Legacy arena stair policy with the 99-input G1 adapter contract.
contract: g1-walker-99-v1
robot: unitree-g1-29dof
normalization: embedded
control_seconds: 0.02
physics_seconds: 0.002

model:
  file: walker.onnx
  external_data: walker.onnx.data
  input: { name: from-graph, shape: [1, 99], dtype: float32 }
  output: { name: from-graph, shape: [1, 29], dtype: float32 }

command: [vx, vy, yaw_rate]
action: position_target
decode: default_position + raw_output * action_scale
desired_velocity: 0
feedforward_torque: 0

observation:
  - { slice: [0, 3], name: base_linear_velocity_body, unit: m/s }
  - { slice: [3, 6], name: base_angular_velocity_body, unit: rad/s }
  - { slice: [6, 9], name: projected_gravity_body }
  - { slice: [9, 38], name: joint_position_offset, unit: rad }
  - { slice: [38, 67], name: joint_velocity, unit: rad/s }
  - { slice: [67, 96], name: previous_raw_action }
  - { slice: [96, 99], name: command }

joints:
  - {
      name: left_hip_pitch_joint,
      default_position: -0.312,
      action_scale: 0.547546,
      kp: 40.179,
      kd: 2.558,
    }
  - {
      name: left_hip_roll_joint,
      default_position: 0.0,
      action_scale: 0.350661,
      kp: 99.098,
      kd: 6.309,
    }
  - {
      name: left_hip_yaw_joint,
      default_position: 0.0,
      action_scale: 0.547546,
      kp: 40.179,
      kd: 2.558,
    }
  - {
      name: left_knee_joint,
      default_position: 0.669,
      action_scale: 0.350661,
      kp: 99.098,
      kd: 6.309,
    }
  - {
      name: left_ankle_pitch_joint,
      default_position: -0.363,
      action_scale: 0.438577,
      kp: 28.501,
      kd: 1.814,
    }
  - {
      name: left_ankle_roll_joint,
      default_position: 0.0,
      action_scale: 0.438577,
      kp: 28.501,
      kd: 1.814,
    }
  - {
      name: right_hip_pitch_joint,
      default_position: -0.312,
      action_scale: 0.547546,
      kp: 40.179,
      kd: 2.558,
    }
  - {
      name: right_hip_roll_joint,
      default_position: 0.0,
      action_scale: 0.350661,
      kp: 99.098,
      kd: 6.309,
    }
  - {
      name: right_hip_yaw_joint,
      default_position: 0.0,
      action_scale: 0.547546,
      kp: 40.179,
      kd: 2.558,
    }
  - {
      name: right_knee_joint,
      default_position: 0.669,
      action_scale: 0.350661,
      kp: 99.098,
      kd: 6.309,
    }
  - {
      name: right_ankle_pitch_joint,
      default_position: -0.363,
      action_scale: 0.438577,
      kp: 28.501,
      kd: 1.814,
    }
  - {
      name: right_ankle_roll_joint,
      default_position: 0.0,
      action_scale: 0.438577,
      kp: 28.501,
      kd: 1.814,
    }
  - {
      name: waist_yaw_joint,
      default_position: 0.0,
      action_scale: 0.547546,
      kp: 40.179,
      kd: 2.558,
    }
  - {
      name: waist_roll_joint,
      default_position: 0.0,
      action_scale: 0.438577,
      kp: 28.501,
      kd: 1.814,
    }
  - {
      name: waist_pitch_joint,
      default_position: 0.0,
      action_scale: 0.438577,
      kp: 28.501,
      kd: 1.814,
    }
  - {
      name: left_shoulder_pitch_joint,
      default_position: 0.2,
      action_scale: 0.438577,
      kp: 14.251,
      kd: 0.907,
    }
  - {
      name: left_shoulder_roll_joint,
      default_position: 0.2,
      action_scale: 0.438577,
      kp: 14.251,
      kd: 0.907,
    }
  - {
      name: left_shoulder_yaw_joint,
      default_position: 0.0,
      action_scale: 0.438577,
      kp: 14.251,
      kd: 0.907,
    }
  - {
      name: left_elbow_joint,
      default_position: 0.6,
      action_scale: 0.438577,
      kp: 14.251,
      kd: 0.907,
    }
  - {
      name: left_wrist_roll_joint,
      default_position: 0.0,
      action_scale: 0.438577,
      kp: 14.251,
      kd: 0.907,
    }
  - {
      name: left_wrist_pitch_joint,
      default_position: 0.0,
      action_scale: 0.074501,
      kp: 16.778,
      kd: 1.068,
    }
  - {
      name: left_wrist_yaw_joint,
      default_position: 0.0,
      action_scale: 0.074501,
      kp: 16.778,
      kd: 1.068,
    }
  - {
      name: right_shoulder_pitch_joint,
      default_position: 0.2,
      action_scale: 0.438577,
      kp: 14.251,
      kd: 0.907,
    }
  - {
      name: right_shoulder_roll_joint,
      default_position: -0.2,
      action_scale: 0.438577,
      kp: 14.251,
      kd: 0.907,
    }
  - {
      name: right_shoulder_yaw_joint,
      default_position: 0.0,
      action_scale: 0.438577,
      kp: 14.251,
      kd: 0.907,
    }
  - {
      name: right_elbow_joint,
      default_position: 0.6,
      action_scale: 0.438577,
      kp: 14.251,
      kd: 0.907,
    }
  - {
      name: right_wrist_roll_joint,
      default_position: 0.0,
      action_scale: 0.438577,
      kp: 14.251,
      kd: 0.907,
    }
  - {
      name: right_wrist_pitch_joint,
      default_position: 0.0,
      action_scale: 0.074501,
      kp: 16.778,
      kd: 1.068,
    }
  - {
      name: right_wrist_yaw_joint,
      default_position: 0.0,
      action_scale: 0.074501,
      kp: 16.778,
      kd: 1.068,
    }
