Getting started
Repose Studio
Studio is a browser workspace for planning and inspecting robot arm trajectories, and for executing them on a real igus ReBeL or in a MuJoCo simulation. One command builds and starts everything.
Private alpha
Studio is in alpha and its repository is not public yet. Access is granted on registration: write to us with your GitHub username and the robot you want to use, and we will add you to ReposeRobotics/studio.
What it does
- Plan. Set waypoints, pick a planner and a timing profile, and inspect the path, collision checks and joint plots. Planning runs in the page, on the Repose engine compiled to WebAssembly.
- Execute. Send the plan to an execution app built on Copper. It drives the ReBeL over the CRI bridge from repose-bridges, and Studio shows the arm's measured pose live.
- Simulate. The same execution app can drive a MuJoCo simulation instead of the real arm.
Requirements
- Rust 1.95 or newer, Node.js 20 or newer (22 LTS recommended), Python 3 and
just. - Alpha access to
ReposeRobotics/studio, and agitlogged in to GitHub. Repose and repose-bridges are public and are fetched during the build without credentials. - For the real robot: a machine on the controller's network, for example a static address in
192.168.3.xcabled to the ReBeL.
1. Check your setup
git clone https://github.com/ReposeRobotics/studio && cd studio
just doctor robot 192.168.3.11just doctor checks the tools, that the ports are free, the route to the robot and that the controller answers on port 3920. Every failure comes with a one-line fix.
2. Start Studio
just robot 192.168.3.11 # real igus ReBeL at that address
just sim # or the MuJoCo simulatorThe first run downloads crates and npm packages and compiles the execution app, which takes a few minutes. After that it starts in seconds. The command prints the addresses to open, including the Tailscale name when Tailscale is running, and the page opens already connected.
3. Move the robot
- Enable robot. Acquires control, clears faults and enables the drives. The arm does not move.
- Use robot pose as start, set a target and Build plan.
- Execute on robot, with the hardware emergency stop within reach.
- Disable robot when you are done.
Press Ctrl-C in the terminal to stop. Studio disables the drives and releases control before it exits.
Safety limits
The execution app checks every trajectory before and during motion:
- A plan is refused unless Studio holds control with the drives enabled, the first point is within 2° of the measured pose, and no joint exceeds 90% of the jog cap set in
exec_app/rebel.ron. - The arm is driven in velocity mode and holds its measured pose if tracking lags by more than about 14° or the joint feed is older than 0.5 s.
- The CRI bridge refuses targets outside the ReBeL's joint limits.
These limits do not replace the hardware emergency stop.
Ports and network
8790 | Studio page (STUDIO_PAGE_PORT) |
8771 | Execution app: control and joint feed (STUDIO_EXEC_PORT) |
8770 | Simulator joint feed, just sim only (STUDIO_SIM_PORT) |
These ports listen on all interfaces, so Studio works from the LAN and over Tailscale. The execution app has no authentication: anyone who can reach port 8771 can enable the robot and send trajectories. Run it only on networks you trust.
Current limits
- The igus ReBeL is the only arm Studio supports so far.
just simneeds the ReBeL URDF and its ROS description package, which Studio doesn't ship. The real-robot path doesn't need them;just doctor simreports what is missing.