gary149/reachy-mini-skill
Overview
This skill provides a complete SDK for controlling the Reachy Mini robot, covering head and antenna motion, camera and audio access, motion recording/playback, and deployment options. It documents the daemon/client architecture, connection and simulation modes, and high-level application patterns for building interactive robot apps with LLM and OpenAI realtime integrations.
How this skill works
The SDK exposes a ReachyMini client that connects to a daemon running locally, over the network, or in simulation. It provides high-level methods to create head poses, command smooth motions with configurable interpolation, control antenna positions, query kinematic state, stream camera frames and audio, and record or play back motion sequences. Advanced patterns include layered motion managers, audio-reactive behaviors, face tracking helpers, and tools to integrate LLMs and realtime APIs into robot behaviors.
When to use it
- Writing code to control Reachy Mini hardware or simulation
- Moving the robot head, antennas, or body yaw with smooth interpolation
- Accessing camera frames, intrinsic parameters, or changing resolution
- Recording and playing back motion sequences or using move libraries
- Playing/recording audio, streaming samples, or using DoA
- Building conversational or LLM-driven robot applications and deploying apps to the robot
Best practices
- Use create_head_pose utilities to build safe, repeatable head targets before commanding motion
- Prefer goto_target with MIN_JERK or EASE_IN_OUT for natural, smooth movements
- Test behaviors in simulation mode before deploying to a physical robot
- Record and reuse Motion libraries for complex behaviors to ensure reproducibility
- Enable and disable motors explicitly and use gravity compensation only when supported by the kinematics engine
Example use cases
- Face tracking: detect a face in camera image and call look_at_image to follow it smoothly
- Expressive animations: animate antennas and small head poses to convey emotion in a demo
- Conversational agent: stream audio and video, integrate an LLM via OpenAI realtime, and drive movements
- Motion choreography: record dances with start/stop recording, publish moves, and play them back with sound
- Robot development workflow: iterate locally with USB, validate over network, then deploy to on-Pi daemon
FAQ
Call robot.media.camera.set_resolution with a supported CameraResolution and use robot.media.get_frame() to retrieve BGR numpy frames.
Can I run code in simulation before using the real robot?
Yes. Initialize ReachyMini(use_sim=True) or launch the daemon in sim mode to safely test motions and behaviors.