Skip to content

Motion·

head pose, antennas, body yaw, home, wake/sleep — every angle clamped before it reaches the daemontools/reachy_motion.py, 5 tools.

From the module docstring

TINY motion tools — head (6-DOF Stewart platform), body yaw, antennas.

tool does
reachy_look Move TINY's head to a pose (smooth interpolation).
reachy_antennas Move just the two antennas (TINY's 'ears'), in DEGREES.
reachy_body_turn Rotate TINY's body around the vertical axis, in DEGREES ([-160,160]).
reachy_home Return TINY to the neutral/init pose (head centered, antennas rest).
reachy_wake Wake TINY up (init pose + wake emote + sound) or put it to sleep.

reachy_look·

reachy_look(
    x: float = 0.0,
    y: float = 0.0,
    z: float = 0.0,
    roll: float = 0.0,
    pitch: float = 0.0,
    yaw: float = 0.0,
    body_yaw: Optional[float] = 0.0,
    antennas: Optional[List[float]] = None,
    duration: float = 0.8,
    method: str = 'minjerk',
) -> dict

Move TINY's head to a pose (smooth interpolation). The primary gesture tool.

argument meaning
x, y, z head translation in millimetres (small, ~[-20,20]).
roll, pitch, yaw head orientation in DEGREES. pitch/roll clamped to [-40,40], yaw to [-180,180].
body_yaw body rotation in DEGREES (clamped [-160,160]). None = keep current.
antennas optional [right_deg, left_deg] antenna angles.
duration seconds for the move (>=0.5 recommended for smoothness).
method "minjerk" (default) | "linear" | "ease_in_out" | "cartoon".

Examples

reachy_look(pitch=15, yaw=20)              # look up-and-right
reachy_look(roll=15, antennas=[30,-30])    # curious head-tilt + ears
reachy_look(yaw=0, body_yaw=45)            # spin body, keep head level

source: tools/reachy_motion.py:35

reachy_antennas·

reachy_antennas(right: float = 0.0, left: float = 0.0, duration: float = 0.5) -> dict

Move just the two antennas (TINY's 'ears'), in DEGREES. Great for emotion.

right/left ~ [-90, 90] deg. Wiggle them for excitement, droop for sad.

Examples

reachy_antennas(45, 45)     # both up — alert / happy
reachy_antennas(-40, -40)   # both down — sad / sleepy
reachy_antennas(60, -60)    # asymmetric — quizzical

source: tools/reachy_motion.py:90

reachy_body_turn·

reachy_body_turn(yaw: float = 0.0, duration: float = 1.0) -> dict

Rotate TINY's body around the vertical axis, in DEGREES ([-160,160]).

The head stays level (automatic_body_yaw keeps IK consistent). Use this to turn toward a speaker or scan the room.

source: tools/reachy_motion.py:111

reachy_home·

reachy_home(duration: float = 1.0) -> dict

Return TINY to the neutral/init pose (head centered, antennas rest).

source: tools/reachy_motion.py:128

reachy_wake·

reachy_wake(sleep: bool = False) -> dict

Wake TINY up (init pose + wake emote + sound) or put it to sleep.

argument meaning
sleep if True, run goto_sleep() instead of wake_up().

source: tools/reachy_motion.py:142