Point the head
duck_lookSet the head and neck orientation of a simulated duck robot in radians; the balance policy adjusts the body to compensate. Head position persists until you change it.
Instructions
Point the head (radians; caps ~±1.4 yaw, ±1.1 pitch, ±0.31 roll). This is a command to the balance policy, not a servo write — the body compensates. All zeros returns the head to neutral. The gaze intent is sticky — it holds between tool calls until changed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| head_yaw | No | ||
| head_roll | No | ||
| head_pitch | No | ||
| neck_pitch | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | ||
| rpy_deg | Yes | Trunk orientation [roll, pitch, yaw], degrees | |
| sitting | Yes | ||
| upright | Yes | False once tilted past ~45 deg. There is no self-recovery policy: if the duck falls, use duck_reset. | |
| vel_cmd | Yes | Current sticky velocity intent [vx, vy, wz] | |
| behavior | Yes | Episodic trick currently running, else null | |
| position_m | Yes | Trunk world position [x, y, z], meters | |
| sim_time_s | Yes | Sim clock, seconds. The sim runs in real time; this snapshot is stale on arrival. | |
| ground_pick | Yes | ||
| vel_body_mps | Yes | ||
| yaw_rate_rps | Yes | Yaw rate, rad/s, counterclockwise positive | |
| active_policy | Yes | Which ONNX policy is driving: standing, walking, sit, ground_pick, kick_left/right, roulade | |
| ball_position_m | No | Ball world position [x, y, z], meters (ball scene only) | |
| trunk_height_mm | Yes | Trunk height above floor, mm (~116 standing) |