RosieOS
RosieOS is the software for one Rosie welding cell. It covers the real-time controller, the motion servers, the weld planner, offline programming and the teach pendant. These docs cover how to run it, program it and build on it.
Find your way in.
Get started
Install the toolchain, bring up a simulated cell and make your first motion. Read the safety model before you move hardware.
Concepts
How RosieOS fits together: architecture, control authority, the real-time core, motion paths, weld planning and cells.
3 more in ConceptsGuides
Task-oriented how-tos: run in simulation, program a weld from CAD, use the pendant, connect and install a cell.
- Run everything in simulation
- Simulate a Rosie robot
- Program a weld from CAD
- Teach waypoints and moves
- Program from the pendant
APIs
The rt-control HTTP API, events and telemetry, remote access, the Go, C++ and TypeScript clients, and the service APIs.
5 more in APIsReference
rtctl, configuration and robot description files, trajectory and program formats, error codes, subjects and ports.
6 more in ReferenceContributing
Repository layout, building and testing, code style, releasing and licensing.
RosieOS runs one Rosie welding cell. Every client drives the robot through one public control API, rt-control, which admits one controller at a time. That includes the teach pendant, the offline programming app, the motion servers and your own code. Behind it, a 1 kHz real-time core owns the EtherCAT drives. The same core also runs against a simulated bus, so you can run a whole cell on a laptop.
What is in RosieOS#
| Part | What it does |
|---|---|
Real-time core (rosie-rt-core) | 1 kHz C++ controller. It runs the CiA402 drives over EtherCAT, and decides every cycle whether motion is permitted. |
Control API (rt-control) | The only public interface: HTTP/JSON on a Unix socket, or mutual TLS for remote clients, with a lease, a fence and a dedicated jog lane. Go, C++ and TypeScript clients, plus the rtctl CLI. |
| Motion servers | A Cartesian jog and position server, and a daemon that plays dense precomputed trajectories. |
| Weld planner | GPU planner that turns CAD and a weld program into joint trajectories. It verifies each one against the cell model before it will emit it. |
| Offline programming | Go server and browser app to import STEP parts, define welds, plan, simulate, and run on a cell. |
| Teach pendant | Native Steam Deck app, v5, plus a browser copy of the earlier pendant for simulation. |
| Robot descriptions | URDF, meshes, planning limits and frames for the Rosie 1400 and Rosie 1420, each with a hashed identity. |
Production code covers the core, the control API and its clients, the motion servers, the weld planner, offline programming and the robot descriptions. The v5 pendant is current but not yet qualified on physical input or real motion. See Architecture.
Safety first#
RosieOS has no software E-stop. The cell's hardware E-stop is the only emergency stop, and every software stop, interlock and check sits on top of it.
Planned weld programs are verified against the cell model, collision and joint limits before they can be loaded, and you can replay them in simulation first. Jog, moves and Home are checked against joint limits only. The safety model sets out exactly what is enforced, and where.
For AI agents#
These docs are also published for machines. /docs/llms.txt indexes every page, and /docs/llms-full.txt holds them all in one file. Any page is available as Markdown at its URL plus .md. The APIs come as OpenAPI 3.1 documents, and the search index is at /assets/docs/search.json. For AI agents lists them all, with the rules an agent must follow.
Where to start#
- Try it. Install the toolchain, then run the Quickstart to bring up a simulated cell and jog it from your browser. It takes no hardware.
- Program a cell. Read the safety model before you move hardware. Then read Run everything in simulation and the Guides section.
- Integrate RosieOS. Start with Your first motion, which drives the simulated core from a short Go program. Then read Architecture and the APIs.
- Contribute. The Contributing section covers the repository layout, building and testing.