Advanced Metal Research
GitHub Contact AMR
RosieOS documentation Open source   advanced-metal-research/RosieOS
Robot control software

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.

CLIENTS Teach pendantSteam Deck, v5 OLP browser UIOffline programming Motion serversCartesian and dense Your codeGo, C++, TypeScript Weld plannerVerifies every program OLP serverPrograms, sim, machine PUBLIC CONTROL API rt-control One controller at a time, under a lease. Local socket or mutual TLS. REAL-TIME CORE rosie-rt-core1 kHz · or rosie-rt-core-sim in simulation private IPC Drives and cell I/OEtherCAT on live hosts NATS publisherStatus and telemetry, read only Hardware E-stopRemoves drive power. Not software.
How a RosieOS cell is wired: every client drives the robot through one public control API, and the hardware E-stop sits outside all of it.
01 Sections51 pages

Find your way in.

01  5 pages

Get started

Install the toolchain, bring up a simulated cell and make your first motion. Read the safety model before you move hardware.

02  8 pages

Concepts

How RosieOS fits together: architecture, control authority, the real-time core, motion paths, weld planning and cells.

3 more in Concepts
03  11 pages

Guides

Task-oriented how-tos: run in simulation, program a weld from CAD, use the pendant, connect and install a cell.

6 more in Guides
04  10 pages

APIs

The rt-control HTTP API, events and telemetry, remote access, the Go, C++ and TypeScript clients, and the service APIs.

5 more in APIs
05  11 pages

Reference

rtctl, configuration and robot description files, trajectory and program formats, error codes, subjects and ports.

6 more in Reference
06  5 pages

Contributing

Repository layout, building and testing, code style, releasing and licensing.

02 OverviewView as MarkdownEdit on GitHub

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#

PartWhat 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 serversA Cartesian jog and position server, and a daemon that plays dense precomputed trajectories.
Weld plannerGPU 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 programmingGo server and browser app to import STEP parts, define welds, plan, simulate, and run on a cell.
Teach pendantNative Steam Deck app, v5, plus a browser copy of the earlier pendant for simulation.
Robot descriptionsURDF, 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#