Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
tessel-la/robo-boy: A web application for controlling ROS 2 robots, tailored for mobile usage.

tessel-la/robo-boy: A web application for controlling ROS 2 robots, tailored for mobile usage.

4 hours ago

Robo-Boy

Tests</a> Docker Build</a> Coverage</a> Version</a> License</a>

Robo-Boy Logo

Robo-Boy is a web, desktop, iPhone, and Android interface for controlling and visualizing ROS 2 robots. It includes camera streaming, configurable control pads, 3D visualization, behavior-tree editing, and custom themes. All interfaces run the same React codebase; the native packages are lightweight Tauri shells and connect to a separately installed ROS stack.

Start With The App

The shortest route. The app needs only the ROS services, so there is no certificate to create and no proxy to run.

  1. Install a package for the current release:
.deb · .rpm · .dmg · .exe · .ipa

The iPhone package is unsigned, because signing an iOS app needs an Apple account. Sign it with your own and sideload it: iOS application.

  1. Start the ROS services on the computer that runs ROS:
git clone [email protected]:tessel-la/robo-boy.git
   cd robo-boy
   docker compose up -d --build ros-stack
  1. Open the app. It asks for the address of the computer running ROS — localhost when that is the same
computer — and remembers it, so later launches offer Quick Connect straight to it.

See Application for desktop setup, or Android application to run the same controller from Android Studio on a phone.

Start With Docker

Use this when Robo-Boy has to be opened in a browser, including from a phone or another computer. A browser needs HTTPS before it grants a page a camera, and the app and the robot services have to share one origin; Caddy and a locally trusted certificate supply both.

Prerequisites

  • Docker with Docker Compose
  • mkcert

Run

git clone [email protected]:tessel-la/robo-boy.git
cd robo-boy
mkcert -install
mkdir -p infra/caddy/certs
mkcert -key-file infra/caddy/certs/local-key.pem -cert-file infra/caddy/certs/local-cert.pem localhost 127.0.0.1 ::1 YOUR_HOST_IP
docker compose up -d --build

Replace YOUR_HOST_IP with the computer's local network IP if Robo-Boy will be opened from another device.

Open https://localhost, or https://YOUR_HOST_IP from a device on the same network.

Stop

docker compose down

Documentation

See the documentation index for application usage, desktop packaging, development commands, ROS workspace overlays, custom gamepads, and architecture.

License

See LICENSE.

Chat with me