Skip to content

Explore the world of expressive robotics with this collection of mini-applications for the Reachy Mini. Get inspired and start building your own interactive experiences!

License

Notifications You must be signed in to change notification settings

jjmartres/reachy-mini-apps

Reachy Mini Apps

Reachy Mini dancing

Explore the world of expressive robotics with this collection of mini-applications for the Reachy Mini. Get inspired and start building your own interactive experiences!

Python Version Codecov uv
GitHub Issues GitHub Pull Requests


What is Reachy Mini?

Reachy Mini is an open-source, expressive robot created by Pollen Robotics. It's designed for developers, researchers, and AI enthusiasts to explore robotics and human-robot interaction.

About This Repository

This repository provides a collection of mini-applications that showcase the capabilities of the Reachy Mini robot. These demos are designed to be simple, easy to run, and fun to watch.

Prerequisites

Before you begin, ensure you have the following installed:

  • Git LFS: Required for handling large files in the repository.

Getting Started

To set up the development environment, follow these steps:

  1. Set up the environment:

    make setup

    This command will create a virtual environment, install all the required dependencies, and set up Git LFS.

  2. Install in editable mode:

    make install-dev

    This command will install the project in editable mode, which is useful for development.

Available Demos

To run the demos, use the uv run <demo-name> command. You can add -- --help to any command to see its specific options.


Minimal Demo

A simple demo that makes the robot's head and antennas oscillate. This is a great way to check if your robot is properly connected and responding to commands.

Usage:

uv run minimal-demo

Motion Sequence

A more complex demo that showcases a sequence of different motions, including yaw, pitch, roll, and antenna movements.

Usage:

uv run motion-sequence

Move Head

A simple demo that makes the robot's head draw a circle.

Usage:

uv run move-head

All Recorded Moves

Plays all available moves from a dataset in a continuous loop.

Usage:

uv run recorded-moves [FLAGS]

Flags:

  • --library {dance,emotions}: Choose a built-in Hugging Face library (default: dance).
  • --dataset PATH: Specify a path to a local or Hugging Face dataset to override the library choice.

Play a Set of Moves

Plays a specific, ordered set of moves from a local dataset once and then exits.

Usage:

uv run play-move-set --moves <MOVE_NAME_1> <MOVE_NAME_2> ... [FLAGS]

Example:

uv run play-move-set --moves simple_nod yeah_nod --library dance

Flags:

  • --moves [NAME ...]: (Required) A space-separated list of move names to play in sequence.
  • --library {dance,emotions}: Choose a built-in local library (default: dance).
  • --dataset PATH: Specify a path to a custom local or Hugging Face dataset.

Development

This project uses black for code formatting, ruff for linting, and pytest for testing.

  • Check formatting: black --check .
  • Apply formatting: black .
  • Run linter: ruff check .
  • Run all tests: pytest

For more detailed information on the development workflow and code style guidelines, please refer to the AGENTS.md file.

Contributing

Contributions are welcome! If you have an idea for a new demo or want to improve an existing one, please open an issue or submit a pull request. For more detailed information on how to contribute, please refer to the CONTRIBUTING.md file.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

Explore the world of expressive robotics with this collection of mini-applications for the Reachy Mini. Get inspired and start building your own interactive experiences!

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors