You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/cross-platform/build-a-reachy-robot-app-on-pi/extend.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,14 +25,14 @@ motion, or packaging.
25
25
26
26
## Change the classifier
27
27
28
-
Trying adding new gesture controls. Start in `gesture.py`, where the app maps MediaPipe labels such as `Thumb_Up` and `Thumb_Down` to app labels. Then add matching robot behavior in `moves.py` and branch on the new label in `main.py`.
28
+
Try adding new gesture controls. Start in `gesture.py`, where the app maps MediaPipe labels such as `Thumb_Up` and `Thumb_Down` to app labels. Then add matching robot behavior in `moves.py` and branch on the new label in `main.py`.
29
29
30
30
Some game-themed ideas:
31
31
32
32
- Map `Closed_Fist` to `challenge`, and make Reachy repeat the current move
33
33
- Map `Pointing_Up` to `reroll`, and make Reachy reject the current move and
34
34
choose another one.
35
-
- Map `Number of fingers`to choosing a specific move.
35
+
- Map the number of fingers shown to choose a specific move.
36
36
37
37
## Add audio output
38
38
@@ -50,7 +50,7 @@ robot motion and sound effects easy to change independently.
50
50
## Replace thumbs with audio input
51
51
52
52
The vision-based verdict is one edge AI input modality. You can replace
53
-
or complement it with audio - many webcams include microphones or you can use a USB microphone.
53
+
or complement it with audio. Many webcams include microphones, or you can use a USB microphone.
54
54
55
55
- say "yes" for victory and "no" for defeat,
56
56
- clap once for victory and twice for defeat,
@@ -62,10 +62,10 @@ A lightweight keyword-spotting model can map spoken commands to the same game st
62
62
If you have a physical Reachy Mini, the quickest way to try the finished
63
63
experience is to install the packaged [Reachy Gladiator app](https://huggingface.co/spaces/cossinsmatthew/reachy_gladiator) through the [Reachy Mini Control app](https://github.com/pollen-robotics/reachy-mini-desktop-app).
64
64
65
-
Simply install Reachy Mini Control on a supported machine, connected to your Reachy, and search for the reachy gladiator app.
65
+
Install Reachy Mini Control on a supported machine, connect it to your Reachy, and search for the Reachy Gladiator app.
66
66
67
67
{{% notice Warning %}}
68
-
If using a physical Reachy Mini, use caution and ensure the robot is used in an area with appropriate space. The robot has moving parts and could be a health & safety risk. You are responsible for your safety and the safety of others around you when using physical robotic devices
68
+
If using a physical Reachy Mini, use caution and ensure the robot is used in an area with appropriate space. The robot has moving parts and could be a health & safety risk. You are responsible for your safety and the safety of others around you when using physical robotic devices.
69
69
{{% /notice %}}
70
70
71
71
## Adapt this source project for physical Reachy
@@ -129,4 +129,4 @@ Pollen Robotics `AGENTS.md` instructions, provided by the [Reachy Mini project](
129
129
130
130
## What you learned
131
131
132
-
You explored options for extending from simulation to a physical Reachy, as well ideas for changing the project to include audio, new vision gestures, or different behaviours.
132
+
You explored options for extending from simulation to a physical Reachy, as well as ideas for changing the project to include audio, new vision gestures, or different behaviors.
Copy file name to clipboardExpand all lines: content/learning-paths/cross-platform/build-a-reachy-robot-app-on-pi/reachy-app.md
+6-8Lines changed: 6 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,22 +6,20 @@ weight: 2
6
6
layout: learningpathall
7
7
---
8
8
9
-
## Reachy Gladiator - Decide Reachy's Fate
9
+
## Reachy Gladiator - Decide Reachy's fate
10
10
11
-
In this Learning Path, Reachy is stepping out onto the sands of the Arena. Reachy has practiced their gladiator moves, but are they good enough?
12
-
13
-
You will decide Reachy's fate in the classic Roman way - a 👍 for **Victory**, or a 👎 for **Defeat**.
11
+
In this Learning Path, you build a distributed edge AI application where a Raspberry Pi runs local gesture inference and sends robot motion commands to a simulated Reachy Mini. The app follows a gladiator arena theme: Reachy performs a move, and you give a thumbs-up 👍 for **Victory** or thumbs-down 👎 for **Defeat** to trigger a victory or defeat reaction.
14
12
15
13

16
14
17
15
## What is Reachy Mini?
18
16
19
-
Reachy Mini is a small open robotics platform from Pollen Robotics. It is designed for expressive head, antenna, and body motion, and it can be controlled from Python with the Reachy Mini SDK. The Reachy Mini Wireless version includes an onboard Arm-powered Raspberry Pi 4 Compute Module, and the Lite version is operated with external compute (e.g., Raspberry Pi, DGX Spark, Mac/PC).
17
+
Reachy Mini is a small open robotics platform from Pollen Robotics. It is designed for expressive head, antenna, and body motion, and it can be controlled from Python with the Reachy Mini SDK. The Reachy Mini Wireless version includes an onboard Arm-powered Raspberry Pi 4 Compute Module, and the Lite version is operated with external compute such as a Raspberry Pi, DGX Spark, or Mac/PC.
20
18
21
19
Reachy can also be simulated using MuJoCo software. Most developers do not have a physical Reachy Mini robot on their desk, and it is often useful to develop software before hardware is available. Extrapolating from Reachy to more industrial robotics, it is also important to test applications in simulation in advance for safety.
22
20
23
21
{{% notice Warning %}}
24
-
If using a physical Reachy Mini, use caution and ensure the robot is used in an area with appropriate space. The robot has moving parts and could be a health & safety risk. You are responsible for your safety and the safety of others around you when using physical robotic devices
22
+
If using a physical Reachy Mini, use caution and ensure the robot is used in an area with appropriate space. The robot has moving parts and could be a health & safety risk. You are responsible for your safety and the safety of others around you when using physical robotic devices.
25
23
{{% /notice %}}
26
24
27
25
## What will you build?
@@ -54,7 +52,7 @@ Keeping perception, robot control, and observability as separate pieces makes it
54
52
55
53
The app is called Reachy Gladiator. Reachy (in simulation or otherwise) performs a randomly-chosen scripted gladiator move. You provide a 👍 for **Victory**, or a 👎 for **Defeat**. **Victory** makes Reachy celebrate, **Defeat** makes Reachy react sadly.
56
54
57
-
This learning path starts from the complete `reachy_gladiator_lp` project instead of asking you to create every file from scratch. The simulation host only needs a launcher script, but the Raspberry Pi will clone and run the full project. You will inspect the different parts of the system so you can recreate your own apps running on Reachy or in simulation.
55
+
This Learning Path starts from the complete [`reachy_gladiator_lp`](https://github.com/matt-cossins/reachy_gladiator_lp) project instead of asking you to create every file from scratch. The simulation host only needs a launcher script, but the Raspberry Pi will clone and run the full project. You will inspect the different parts of the system so you can recreate your own apps running on Reachy or in simulation.
58
56
59
57
The Reachy Gladiator app runs a repeated loop:
60
58
@@ -96,7 +94,7 @@ The rest of this learning path shows the common Bash commands and calls out the
96
94
The simulation host does not need the full project checkout. In the next
97
95
section, you will download only the simulation launcher script on that machine.
98
96
99
-
You will clone the full `reachy_gladiator_lp` project on the Raspberry Pi later on.
97
+
You will clone the full `reachy_gladiator_lp` project on the Raspberry Pi later.
Copy file name to clipboardExpand all lines: content/learning-paths/cross-platform/build-a-reachy-robot-app-on-pi/run-pi-app.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Setup Pi and run Edge AI app
2
+
title: Set up the Pi and run the Edge AI app
3
3
weight: 4
4
4
5
5
### FIXED, DO NOT MODIFY
@@ -8,9 +8,9 @@ layout: learningpathall
8
8
9
9
## Prepare the Raspberry Pi
10
10
11
-
The Raspberry Pi should be installed with Raspberry Pi OS Trixie, and be accessible over SSH.
11
+
The Raspberry Pi should be installed with Raspberry Pi OS Trixie (Debian 13-based), and be accessible over SSH.
12
12
13
-
Connect to your Raspberry Pi over SSH using [VSCode Remote - SSH](https://code.visualstudio.com/docs/remote/ssh), or via terminal e.g.,
13
+
Connect to your Raspberry Pi over SSH. If you use VS Code, you can use the [Remote - SSH](https://code.visualstudio.com/docs/remote/ssh) extension. From a terminal:
14
14
15
15
```bash
16
16
ssh <user>@<pi-ip-address>
@@ -33,7 +33,7 @@ sudo apt install git-lfs
33
33
git lfs install
34
34
```
35
35
36
-
Clone the `reachy_gladiator_lp` project into this directory:
36
+
Clone the [`reachy_gladiator_lp`](https://github.com/matt-cossins/reachy_gladiator_lp) project into this directory:
Run the Pi setup script. This can take several minutes because it installs `pyenv`, builds Python 3.12, and installs all Python dependencies:
56
56
57
57
```bash
58
58
./scripts/setup_pi.sh
@@ -78,7 +78,7 @@ source .venv/bin/activate
78
78
79
79
The setup script runs an import smoke test. It also runs `pip check`; a MediaPipe NumPy metadata warning is expected for this Pi setup.
80
80
81
-
Test the MediaPipe gesture worker from a real Python file:
81
+
Test the MediaPipe gesture worker by writing a small test script and running it. The `cat` command below creates the file at `/tmp/test_gesture_worker.py` using a heredoc — the text between `<<'PY'` and the closing `PY` becomes the file contents:
Copy file name to clipboardExpand all lines: content/learning-paths/cross-platform/build-a-reachy-robot-app-on-pi/start-simulation.md
+20-4Lines changed: 20 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,13 +22,19 @@ The simulation host does not need the full `reachy_gladiator_lp` project. It
22
22
only needs the Reachy Mini SDK with MuJoCo support and the `start_sim.sh`
23
23
launcher script.
24
24
25
+
### macOS prerequisites
26
+
27
+
{{% notice Note %}}
28
+
Python 3.12 is required for the simulation environment. Python 3.13 can cause dependency resolution failures because pre-built wheels for some SDK dependencies are not yet available for that version. Check your version with `python3 --version`. On macOS, install Python 3.12 with [Homebrew](https://brew.sh): `brew install python@3.12`. On Ubuntu or WSL2, install it with `sudo apt install python3.12 python3.12-venv`.
29
+
{{% /notice %}}
30
+
25
31
On the machine that will run the simulation, create a small workspace and a
26
32
Python virtual environment:
27
33
28
34
```bash
29
35
mkdir -p ~/reachy_projects/reachy_sim/scripts
30
36
cd~/reachy_projects/reachy_sim
31
-
python3 -m venv .venv
37
+
python3.12 -m venv .venv
32
38
source .venv/bin/activate
33
39
python -m pip install --upgrade pip
34
40
```
@@ -43,7 +49,7 @@ The `mujoco` extra is required for `--sim`. If you install only `reachy-mini`, t
43
49
44
50
If you already have a working Reachy Mini simulation environment, you can activate that environment instead.
45
51
46
-
Download the simulation launcher script from the project repository:
52
+
Download the simulation launcher script from the [reachy_gladiator_lp repository](https://github.com/matt-cossins/reachy_gladiator_lp):

70
86
71
87
72
88
The script starts the Reachy Mini daemon with simulation enabled, binds FastAPI to `0.0.0.0`, and disables localhost-only mode so the Raspberry Pi can connect. This Learning Path uses port `18000`.
Take some time to look through the files and try to understand the different parts. Feel free to ask a coding agent or LLM to help explain any areas you are unsure about.
418
+
Take some time to read through the files and understand the different parts before moving on to extend the project.
Copy file name to clipboardExpand all lines: content/learning-paths/cross-platform/build-a-reachy-robot-app-on-pi/use-the-app.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ http://<pi-ip-address>:8042
31
31
This works even when the Pi is headless. The browser only needs network access
32
32
to the Pi and port `8042`.
33
33
34
-
The app will countdown from 10, and then Reachy will start performing moves. Reachy will perform the same move three times, and then await your verdict. After a verdict is given, Reachy will perform the **Victory** or **Defeat** moves. Reachy will then randomly select another movethe cycle will repeat.
34
+
The app will count down from 10, and then Reachy will start performing moves. Reachy will perform the same move three times, and then await your verdict. After a verdict is given, Reachy will perform the **Victory** or **Defeat** moves. Reachy will then randomly select another move, and the cycle repeats.
35
35
36
36

0 commit comments