No project description provided
Project description
Dreamo Robot Torso SDK 🤖
Reachy Mini is an open-source, expressive robot made for hackers and AI builders.
⚡️ Build and start your own robot
Prerequisites
- Ubuntu 24.04+
- Rust
- WebRTC Plugin
Raspberry Pi swap
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Ubuntu Dependencies
sudo sed -i 's|http://ports.ubuntu.com/ubuntu-ports|https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports|g' /etc/apt/sources.list.d/ubuntu.sources
sudo apt update
sudo apt install -y libgirepository-2.0-dev libcairo2-dev pkg-config python3-dev gcc
# Optional (Do not do this until new confirmation)
sudo apt install \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-ugly \
libgstreamer-plugins-bad1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-dev \
libglib2.0-dev \
libssl-dev \
libgirepository1.0-dev \
libcairo2-dev \
libportaudio2 \
libnice10 \
gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-alsa \
gstreamer1.0-plugins-bad \
gstreamer1.0-nice \
python3-gi \
python3-gi-cairo
sudo apt install -y libpulse0 alsa-utils
sudo apt install -y pipewire pipewire-pulse wireplumber pulseaudio-utils
# Used for audio device debug
sudo apt install gstreamer1.0-plugins-base-apps
#example: gst-device-monitor-1.0 Audio/Source 2>&1 | head -80
Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
Change Rust toolchain via USTC mirror
mkdir -p ~/.cargo
sudo nano ~/.cargo/config.toml
[source.crates-io]
replace-with = "ustc"
[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"
cargo install cargo-c
Cargo defaults to crates.io when no config.toml exists. If you want to revert to the official crates.io, just remove:
rm ~/.cargo/config.toml
UV
source .venv/bin/activate
pip install -e .
WebRTC Plugin
# Clone the GStreamer Rust plugins repository
git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git ~/gst-plugins-rs
cd ~/gst-plugins-rs
git checkout 0.14.4
cargo clean
# Install the cargo-c build tool
cargo install cargo-c
# Create installation directory
sudo mkdir -p /opt/gst-plugins-rs
sudo chown $USER /opt/gst-plugins-rs
# Build and install the WebRTC plugin (this may take several minutes)
cargo cinstall -p gst-plugin-webrtc --prefix=/opt/gst-plugins-rs --release
# or build with LTO off and a single parallel job (lower peak memory)
CARGO_PROFILE_RELEASE_LTO=false CARGO_BUILD_JOBS=1 \
cargo cinstall -p gst-plugin-webrtc \
--prefix=/opt/gst-plugins-rs --release
# Add plugin path to your environment
echo 'export GST_PLUGIN_PATH=/opt/gst-plugins-rs/lib/aarch64-linux-gnu/gstreamer-1.0:$GST_PLUGIN_PATH' >> ~/.bashrc
source ~/.bashrc
# Confirm the plugin loads
gst-inspect-1.0 rswebrtc
gst-inspect-1.0 webrtcsink | grep -E "run-signalling-server"
gst-inspect-1.0 webrtcsink | head -5 # return: gst-inspect-1.0 webrtcsink should now print Factory Details: and Rank: primary.
Note: For X86_64 systems (like Ubuntu PC), replace aarch64-linux-gnu with x86_64-linux-gnu in the export command.
Verify Installation
Finally, you can test your GStreamer installation as follows:
# install the optional tools
sudo apt install gstreamer1.0-tools
# Check version
gst-launch-1.0 --version
# Test basic functionalities
gst-launch-1.0 videotestsrc ! autovideosink
# Verify WebRTC plugin
gst-inspect-1.0 webrtcsrc
You should also be able to import GStreamer libraries in a Python environment:
python -c "import gi"
Audio
1. Install the full stack
sudo apt install -y pipewire pipewire-pulse wireplumber
2. Start the user services right now (no logout needed)
systemctl --user enable --now pipewire pipewire-pulse wireplumber
3. Verify everything is up
systemctl --user status pipewire pipewire-pulse wireplumber --no-pager | head -30
4. Confirm Pulse compat is alive — should say "Server Name: PulseAudio (on PipeWire ...)"
pactl info | head -5
5. Confirm GStreamer now sees the device with rich properties
gst-device-monitor-1.0 Audio/Source 2>&1 | grep -E 'name|node.name|alsa.card_name' | head -10
You should now see node.name = alsa_input.usb-Seeed_Studio_ReSpeaker_Lite... in step 5 — that's the property the original code path expected. The client-rt.conf warning should be gone too (its config file now ships with the pipewire package).
Audio Device Permission
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2886", MODE="0666"' | sudo tee /etc/udev/rules.d/60-respeaker.rules > /dev/null
sudo udevadm control --reload-rules
sudo udevadm trigger
Then unplug and replug the ReSpeaker Lite. Confirm
ls -la /dev/bus/usb/$(lsusb | grep 2886 | awk '{printf "%03d/%03d", $2, $4}' | tr -d ':')
# Expected: crw-rw-rw- (mode 0666) — readable/writable by everyone
Restart dreambo-torso-daemon
Mujuco Simulation
The MuJoCo mujoco==3.3.0 extra must be installed:
uv sync --extra mujoco # or: uv pip install 'mujoco==3.3.0'
# With the GUI viewer (recommended first time)
dreambo-torso-daemon --sim --scene empty
# Headless (no viewer, just physics + WS server)
dreambo-torso-daemon --sim --headless --scene empty
# Other built-in scene
dreambo-torso-daemon --sim --scene minimal
Launch Dreambo torsor Daemon
DREAMBO_DISABLE_AUDIO=1 dreambo-torso-daemon
#Or export it once for the session:
export DREAMBO_DISABLE_AUDIO=1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dreambo_torso-1.0.2.tar.gz.
File metadata
- Download URL: dreambo_torso-1.0.2.tar.gz
- Upload date:
- Size: 24.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59d3675a38bbbb4bf8b224aea00760c8183e20c3836d02879890c7b23a71d42f
|
|
| MD5 |
7bbd9e178d60d8905d97cc38ffaac4c3
|
|
| BLAKE2b-256 |
7ea325881048f790220b0f36afb34acf4e3ab72dad2a526fe6d52c126883fddd
|
Provenance
The following attestation bundles were made for dreambo_torso-1.0.2.tar.gz:
Publisher:
wheels.yml on createra-robotics/dreambo_torso_sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dreambo_torso-1.0.2.tar.gz -
Subject digest:
59d3675a38bbbb4bf8b224aea00760c8183e20c3836d02879890c7b23a71d42f - Sigstore transparency entry: 1523201978
- Sigstore integration time:
-
Permalink:
createra-robotics/dreambo_torso_sdk@1c5ddb2267dfb2c356dee2f546913ba2d51382f1 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/createra-robotics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@1c5ddb2267dfb2c356dee2f546913ba2d51382f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dreambo_torso-1.0.2-py3-none-any.whl.
File metadata
- Download URL: dreambo_torso-1.0.2-py3-none-any.whl
- Upload date:
- Size: 24.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b04ef2ae37bb0e51ab056ae3c6625eb01cd89c42db815c60e7bd32da43f562c
|
|
| MD5 |
c66c57985994be4c0aabe1c8526ace25
|
|
| BLAKE2b-256 |
45a267015192d6bd0a3309fdb5e2417e958b9f899d38f7c268baa8b080e290d7
|
Provenance
The following attestation bundles were made for dreambo_torso-1.0.2-py3-none-any.whl:
Publisher:
wheels.yml on createra-robotics/dreambo_torso_sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dreambo_torso-1.0.2-py3-none-any.whl -
Subject digest:
6b04ef2ae37bb0e51ab056ae3c6625eb01cd89c42db815c60e7bd32da43f562c - Sigstore transparency entry: 1523201988
- Sigstore integration time:
-
Permalink:
createra-robotics/dreambo_torso_sdk@1c5ddb2267dfb2c356dee2f546913ba2d51382f1 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/createra-robotics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@1c5ddb2267dfb2c356dee2f546913ba2d51382f1 -
Trigger Event:
push
-
Statement type: