Skip to main content

Stand Pose

set_stand_pose()

Python
set_stand_pose(delta_z: float, delta_pitch: float, delta_yaw: float)

Adjusts the robot's stand pose offset. Only effective in PdStand state (2) and RL Locomotion state (3); calls in other states have no effect.

ParameterTypeDescription
delta_zfloatHeight offset (m), negative lowers the center of gravity
delta_pitchfloatPitch angle offset (rad), positive leans forward
delta_yawfloatYaw angle offset (rad), positive turns left

GR-3 pose range (PdStand): delta_z ∈ [-0.20, 0.01], delta_pitch ∈ [-0.3, 0.6], delta_yaw ∈ [-0.3, 0.3]

Example

Python
client.set_fsm_state(2)
time.sleep(1.0)

client.set_stand_pose(-0.1, 0.0, 0.0) # crouch 0.1 m
time.sleep(2.0)

client.set_stand_pose(0.0, 0.0, 0.0) # return to default

get_stand_pose()

Python
get_stand_pose() -> list[float]

Returns the current stand pose data as [delta_z, delta_pitch, delta_yaw, stable_level].

IndexDescription
[0]Current height offset delta_z (m)
[1]Current pitch offset delta_pitch (rad)
[2]Current yaw offset delta_yaw (rad)
[3]Stability level (see get_stable_level())

get_stable_level()

Python
get_stable_level() -> int

Reads the robot's current stability level. The PdStand controller uses this value to determine whether it is in the hanging phase or standing phase.

  • Stability level ≥ 100 (simulation ≥ 10): standing phase — pose control and upper-body joint control available
  • Stability level < 100 (simulation < 10): hanging phase — joints slowly return to default positions