# Advanced Metal Research > Advanced Metal Research makes open-source, AI-native industrial robots, machined and assembled in the USA. Every function unlocked, programmable from the pendant, in code or with any AI, with skills on top, starting with welding. Advanced Metal Research (Gradient Industrial Robotics Corporation), Hawthorne, California. Contact: generalcontact@advancedmetalresearch.com. LinkedIn: https://www.linkedin.com/company/advanced-metal-research. 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. Documentation: https://advancedmetalresearch.com/docs/. Source code: https://github.com/advanced-metal-research/RosieOS. Every page is also available as Markdown: add `.md` to a page URL (`/docs/concepts/architecture` -> `/docs/concepts/architecture.md`, `/` -> `/index.md`, `/docs/` -> `/docs/index.md`). Links below point at the Markdown versions. ## Robot data and downloads for agents Robot descriptions and CAD for the Rosie 600, 1000 and 1400, free to use for simulation and integration. Plain HTTPS GET or HEAD: no login, no API key, no cookies, no JavaScript. Any User-Agent works, including the defaults of Python urllib, requests, httpx and aiohttp, Node fetch, Go, curl and wget. CORS is open (`Access-Control-Allow-Origin: *`) on every data file, so a web page or in-browser agent can `fetch()` the JSON, URDF, meshes and GLB directly. Step-by-step guide with curl, Python and JavaScript: https://advancedmetalresearch.com/agents.md. The same list as JSON: https://advancedmetalresearch.com/agents.json. If your environment cannot reach advancedmetalresearch.com, the same files are mirrored at GitHub (https://github.com/advanced-metal-research/rosie-sim-kits; direct file URLs start https://raw.githubusercontent.com/advanced-metal-research/rosie-sim-kits/main/): replace `https://advancedmetalresearch.com/assets/` with the mirror base (its `sim/index.json` already uses mirror URLs). Failing that, ask your user to download the kit ZIP and attach it. All crawlers and AI agents are welcome. Content signals: search=yes, ai-input=yes, ai-train=yes (search indexing, use in AI answers and AI training are all allowed). - [For AI agents: how to fetch and use the robot data](https://advancedmetalresearch.com/agents.md): access rules, copy-paste curl, Python and JavaScript, every file - [Agent index (JSON)](https://advancedmetalresearch.com/agents.json): every data file, API spec and guide with its URL - [Rosie sim kits index (JSON)](https://advancedmetalresearch.com/assets/sim/index.json): every kit, every file URL and the ZIP sizes; read it at run time instead of hard-coding paths - [Rosie 600 kit (ZIP, 683 KB)](https://advancedmetalresearch.com/assets/sim/rosie-600-sim-kit.zip): everything below in one file: URDF, MuJoCo, SRDF, STEP, meshes, robot.json, README, examples and a ROS 2 package - [Rosie 600 robot.json](https://advancedmetalresearch.com/assets/sim/600/robot.json): kinematics, joint limits, speeds, torques, payloads and mass properties (JSON; m, kg, rad) - [Rosie 600 URDF](https://advancedmetalresearch.com/assets/sim/600/urdf/rosie_600.urdf): joints J1 to J6 with limits and inertials; mesh paths are relative (../meshes/), so it loads from its URL or from the unzipped kit - [Rosie 600 MuJoCo MJCF](https://advancedmetalresearch.com/assets/sim/600/mjcf/rosie_600.xml): position actuators and torque limits - [Rosie 600 SRDF](https://advancedmetalresearch.com/assets/sim/600/srdf/rosie_600.srdf): planning groups and disabled collision pairs for MoveIt - [Rosie 600 STEP](https://advancedmetalresearch.com/assets/sim/600/step/rosie_600.step): assembly, one solid per link at the home pose, mm: the structural parts' own CAD faces, motors and gearboxes as plain envelopes - [Rosie 600 README](https://advancedmetalresearch.com/assets/sim/600/README.md): conventions, joint table and tested quickstart code - [Rosie 600 GLB](https://advancedmetalresearch.com/assets/sim/600/glb/rosie_600.glb): binary glTF 2.0, one node per link in the URDF hierarchy with joint axes and limits in the node extras; loads directly in three.js, model-viewer or Blender - [Rosie 600 IK test cases](https://advancedmetalresearch.com/assets/sim/600/ik_cases.json): inverse kinematics reference cases solved by RosieOS: seed pose, target tool0 pose and joint solution (JSON) - [Rosie 600 benchmark trajectory (CSV)](https://advancedmetalresearch.com/assets/sim/600/benchmark/rosie_600_cycle_1kg.csv): pick-and-place cycle: joint positions, velocities and accelerations every 1 ms, plus the TCP - [Rosie 600 benchmark trajectory (JSON)](https://advancedmetalresearch.com/assets/sim/600/benchmark/rosie_600_cycle_1kg.json): pick-and-place cycle: joint positions, velocities and accelerations every 1 ms, plus the TCP - Rosie 600 visual meshes (STL, metres, link frames): [base_link.stl](https://advancedmetalresearch.com/assets/sim/600/meshes/visual/base_link.stl), [link_1.stl](https://advancedmetalresearch.com/assets/sim/600/meshes/visual/link_1.stl), [link_2.stl](https://advancedmetalresearch.com/assets/sim/600/meshes/visual/link_2.stl), [link_3.stl](https://advancedmetalresearch.com/assets/sim/600/meshes/visual/link_3.stl), [link_4.stl](https://advancedmetalresearch.com/assets/sim/600/meshes/visual/link_4.stl), [link_5.stl](https://advancedmetalresearch.com/assets/sim/600/meshes/visual/link_5.stl), [link_6.stl](https://advancedmetalresearch.com/assets/sim/600/meshes/visual/link_6.stl) - Rosie 600 examples (Python): [fk_ik.py](https://advancedmetalresearch.com/assets/sim/600/examples/fk_ik.py), [mujoco_demo.py](https://advancedmetalresearch.com/assets/sim/600/examples/mujoco_demo.py), [pybullet_demo.py](https://advancedmetalresearch.com/assets/sim/600/examples/pybullet_demo.py) - Rosie 600 collision meshes: 61 convex STL hulls under https://advancedmetalresearch.com/assets/sim/600/meshes/collision/ (listed in the index) - [Rosie 1000 kit (ZIP, 725 KB)](https://advancedmetalresearch.com/assets/sim/rosie-1000-sim-kit.zip): everything below in one file: URDF, MuJoCo, SRDF, STEP, meshes, robot.json, README, examples and a ROS 2 package - [Rosie 1000 robot.json](https://advancedmetalresearch.com/assets/sim/1000/robot.json): kinematics, joint limits, speeds, torques, payloads and mass properties (JSON; m, kg, rad) - [Rosie 1000 URDF](https://advancedmetalresearch.com/assets/sim/1000/urdf/rosie_1000.urdf): joints J1 to J6 with limits and inertials; mesh paths are relative (../meshes/), so it loads from its URL or from the unzipped kit - [Rosie 1000 MuJoCo MJCF](https://advancedmetalresearch.com/assets/sim/1000/mjcf/rosie_1000.xml): position actuators and torque limits - [Rosie 1000 SRDF](https://advancedmetalresearch.com/assets/sim/1000/srdf/rosie_1000.srdf): planning groups and disabled collision pairs for MoveIt - [Rosie 1000 STEP](https://advancedmetalresearch.com/assets/sim/1000/step/rosie_1000.step): assembly, one solid per link at the home pose, mm: the structural parts' own CAD faces, motors and gearboxes as plain envelopes - [Rosie 1000 README](https://advancedmetalresearch.com/assets/sim/1000/README.md): conventions, joint table and tested quickstart code - [Rosie 1000 GLB](https://advancedmetalresearch.com/assets/sim/1000/glb/rosie_1000.glb): binary glTF 2.0, one node per link in the URDF hierarchy with joint axes and limits in the node extras; loads directly in three.js, model-viewer or Blender - [Rosie 1000 IK test cases](https://advancedmetalresearch.com/assets/sim/1000/ik_cases.json): inverse kinematics reference cases solved by RosieOS: seed pose, target tool0 pose and joint solution (JSON) - [Rosie 1000 benchmark trajectory (CSV)](https://advancedmetalresearch.com/assets/sim/1000/benchmark/rosie_1000_cycle_1kg.csv): pick-and-place cycle: joint positions, velocities and accelerations every 1 ms, plus the TCP - [Rosie 1000 benchmark trajectory (JSON)](https://advancedmetalresearch.com/assets/sim/1000/benchmark/rosie_1000_cycle_1kg.json): pick-and-place cycle: joint positions, velocities and accelerations every 1 ms, plus the TCP - Rosie 1000 visual meshes (STL, metres, link frames): [base_link.stl](https://advancedmetalresearch.com/assets/sim/1000/meshes/visual/base_link.stl), [link_1.stl](https://advancedmetalresearch.com/assets/sim/1000/meshes/visual/link_1.stl), [link_2.stl](https://advancedmetalresearch.com/assets/sim/1000/meshes/visual/link_2.stl), [link_3.stl](https://advancedmetalresearch.com/assets/sim/1000/meshes/visual/link_3.stl), [link_4.stl](https://advancedmetalresearch.com/assets/sim/1000/meshes/visual/link_4.stl), [link_5.stl](https://advancedmetalresearch.com/assets/sim/1000/meshes/visual/link_5.stl), [link_6.stl](https://advancedmetalresearch.com/assets/sim/1000/meshes/visual/link_6.stl) - Rosie 1000 examples (Python): [fk_ik.py](https://advancedmetalresearch.com/assets/sim/1000/examples/fk_ik.py), [mujoco_demo.py](https://advancedmetalresearch.com/assets/sim/1000/examples/mujoco_demo.py), [pybullet_demo.py](https://advancedmetalresearch.com/assets/sim/1000/examples/pybullet_demo.py) - Rosie 1000 collision meshes: 57 convex STL hulls under https://advancedmetalresearch.com/assets/sim/1000/meshes/collision/ (listed in the index) - [Rosie 1400 kit (ZIP, 3.6 MB)](https://advancedmetalresearch.com/assets/sim/rosie-1400-sim-kit.zip): everything below in one file: URDF, MuJoCo, SRDF, STEP, meshes, robot.json, README, examples and a ROS 2 package - [Rosie 1400 robot.json](https://advancedmetalresearch.com/assets/sim/1400/robot.json): kinematics, joint limits, speeds, torques, payloads and mass properties (JSON; m, kg, rad) - [Rosie 1400 URDF](https://advancedmetalresearch.com/assets/sim/1400/urdf/rosie_1400.urdf): joints J1 to J6 with limits and inertials; mesh paths are relative (../meshes/), so it loads from its URL or from the unzipped kit - [Rosie 1400 MuJoCo MJCF](https://advancedmetalresearch.com/assets/sim/1400/mjcf/rosie_1400.xml): position actuators and torque limits - [Rosie 1400 SRDF](https://advancedmetalresearch.com/assets/sim/1400/srdf/rosie_1400.srdf): planning groups and disabled collision pairs for MoveIt - [Rosie 1400 STEP](https://advancedmetalresearch.com/assets/sim/1400/step/rosie_1400.step): assembly, one solid per link at the home pose, mm: the structural parts' own CAD faces, motors and gearboxes as plain envelopes - [Rosie 1400 README](https://advancedmetalresearch.com/assets/sim/1400/README.md): conventions, joint table and tested quickstart code - [Rosie 1400 GLB](https://advancedmetalresearch.com/assets/sim/1400/glb/rosie_1400.glb): binary glTF 2.0, one node per link in the URDF hierarchy with joint axes and limits in the node extras; loads directly in three.js, model-viewer or Blender - [Rosie 1400 IK test cases](https://advancedmetalresearch.com/assets/sim/1400/ik_cases.json): inverse kinematics reference cases solved by RosieOS: seed pose, target tool0 pose and joint solution (JSON) - [Rosie 1400 benchmark trajectory (CSV)](https://advancedmetalresearch.com/assets/sim/1400/benchmark/rosie_1400_cycle_1kg.csv): pick-and-place cycle: joint positions, velocities and accelerations every 1 ms, plus the TCP - [Rosie 1400 benchmark trajectory (JSON)](https://advancedmetalresearch.com/assets/sim/1400/benchmark/rosie_1400_cycle_1kg.json): pick-and-place cycle: joint positions, velocities and accelerations every 1 ms, plus the TCP - Rosie 1400 visual meshes (STL, metres, link frames): [base_link.stl](https://advancedmetalresearch.com/assets/sim/1400/meshes/visual/base_link.stl), [link_1.stl](https://advancedmetalresearch.com/assets/sim/1400/meshes/visual/link_1.stl), [link_2.stl](https://advancedmetalresearch.com/assets/sim/1400/meshes/visual/link_2.stl), [link_3.stl](https://advancedmetalresearch.com/assets/sim/1400/meshes/visual/link_3.stl), [link_4.stl](https://advancedmetalresearch.com/assets/sim/1400/meshes/visual/link_4.stl), [link_5.stl](https://advancedmetalresearch.com/assets/sim/1400/meshes/visual/link_5.stl), [link_6.stl](https://advancedmetalresearch.com/assets/sim/1400/meshes/visual/link_6.stl) - Rosie 1400 examples (Python): [fk_ik.py](https://advancedmetalresearch.com/assets/sim/1400/examples/fk_ik.py), [mujoco_demo.py](https://advancedmetalresearch.com/assets/sim/1400/examples/mujoco_demo.py), [pybullet_demo.py](https://advancedmetalresearch.com/assets/sim/1400/examples/pybullet_demo.py) - Rosie 1400 collision meshes: 56 convex STL hulls under https://advancedmetalresearch.com/assets/sim/1400/meshes/collision/ (listed in the index) - [rosie-1400-tool-flange.step](https://advancedmetalresearch.com/assets/cad/rosie-1400-tool-flange.step): Rosie 1400 tool flange, STEP 3D model - [rosie-1400-base.step](https://advancedmetalresearch.com/assets/cad/rosie-1400-base.step): Rosie 1400 base mounting interface, STEP 3D model - [rosie-1400-tool-flange.pdf](https://advancedmetalresearch.com/assets/cad/rosie-1400-tool-flange.pdf): Rosie 1400 tool flange, dimensioned drawing (PDF) - [rosie-1400-base.pdf](https://advancedmetalresearch.com/assets/cad/rosie-1400-base.pdf): Rosie 1400 base mounting interface, dimensioned drawing (PDF) - [rosie-1400-interfaces.json](https://advancedmetalresearch.com/assets/cad/rosie-1400-interfaces.json): Rosie 1400 mechanical interface dimensions, machine-readable JSON ## Pages - [Home](https://advancedmetalresearch.com/index.md): Advanced Metal Research makes open-source, AI-native industrial robots, machined and assembled in the USA. Every function unlocked, programmable from the pendant, in code or with any AI, with skills on top, starting with welding. - [Rosie](https://advancedmetalresearch.com/rosie.md): Rosie is a family of six-axis industrial robots from Advanced Metal Research in three reaches: Rosie 600, Rosie 1000 and Rosie 1400. Open RosieOS controller with everything switched on, configured to order. - [Offline Programming](https://advancedmetalresearch.com/offline-programming.md): Open source offline programming for Rosie robots, part of RosieOS under Apache 2.0: teach waypoints and build any program from MoveJ, MoveL and MoveC moves, dwells, I/O and Home, plan and verify it against the cell, simulate the exact trajectory and run it on the robot. For welding, pick the welds from the part's STEP file. Runs in your browser. - [Welding Automation](https://advancedmetalresearch.com/welding-automation.md): Welding intelligence from AMR: seam tracking within 0.20 mm, weld-pool monitoring and analysis, arc-sound fault detection and adaptive control of path, torch and heat. A paid, optional skill on the open RosieOS controller, proven in the AMR metallurgical lab. - [War Machine](https://advancedmetalresearch.com/war-machine.md): War Machine is the AMR production cell for welding and other high-throughput robotic processes: the Rosie 1400 six-axis robot, an H-frame A/B positioner, an integrated sensor suite, and TIG, MIG, and laser welding in a 10 ft or 20 ft container format. - [Metallurgy](https://advancedmetalresearch.com/metallurgy.md): The AMR metallurgical lab in Hawthorne, California: sectioning, metallography, macro inspection to ISO 13919-1, dye-penetrant NDT to ASTM E165, and traceable weld records organized to ISO 15614-11, next to the cell that made the weld. - [Capabilities](https://advancedmetalresearch.com/capabilities.md): AMR capabilities in robotic welding, real-time weld sensing, metallurgical inspection, and technician training, each shown running in the Hawthorne R&D lab with its measured result or governing standard. ## RosieOS docs: Overview - [RosieOS](https://advancedmetalresearch.com/docs/index.md): Documentation for RosieOS, the open-source software that runs a Rosie welding cell, from the real-time controller to offline programming and the teach pendant. ## RosieOS docs: Get started - [Install the toolchain](https://advancedmetalresearch.com/docs/get-started/installation.md): The host, compilers and package managers RosieOS needs, which component needs which tool, and how to clone the repository. - [Quickstart: simulated cell](https://advancedmetalresearch.com/docs/get-started/quickstart.md): Build the real-time core, start a simulated Rosie cell with dev-stack.sh, and jog a joint from the offline programming app, with no hardware. - [Your first motion (simulation)](https://advancedmetalresearch.com/docs/get-started/first-motion.md): Start the simulated core directly, then acquire control, enable, arm, jog one joint, stop and release from a short Go program using the rt-core SDK. - [Safety model](https://advancedmetalresearch.com/docs/get-started/safety-model.md): What RosieOS software does and does not do to keep a cell safe, how the hardware E-stop, software stops, the motion start gate and program verification fit together, and the claims you may make about them. - [For AI agents](https://advancedmetalresearch.com/docs/get-started/for-ai-agents.md): A quick orientation for coding agents and language models building against RosieOS, covering where the machine-readable docs and specs are, the interfaces to use and the safety rules to respect. ## RosieOS docs: Concepts - [Architecture](https://advancedmetalresearch.com/docs/concepts/architecture.md): The RosieOS processes, the hosts they run on, the sockets and ports between them, and how jog, moves and weld programs travel from a client to the drives. - [Robot description and coordinate frames](https://advancedmetalresearch.com/docs/concepts/robot-description-and-frames.md): What a RosieOS robot description contains, how its hashed identity is pinned, served and checked at Load, how a cell's calibration narrows it, and the frames, joints and units of the Rosie 1400 and Rosie 1420. - [Control authority: leases, fences and the jog lane](https://advancedmetalresearch.com/docs/concepts/control-authority.md): How rt-control admits one controller at a time, using an expiring lease, a session and generation fence, idempotent retries and a separate jog lane with its own deadlines. - [The real-time core](https://advancedmetalresearch.com/docs/concepts/real-time-core.md): How rosie-rt-core runs the cyclic control loop, drives CiA402 servo drives over EtherCAT, gates every motion start, applies a final output permit each cycle, latches faults and records telemetry. - [Motion paths and planning](https://advancedmetalresearch.com/docs/concepts/motion-and-planning.md): The four ways a RosieOS client moves the robot, who holds authority on each path, which rt-control lane each one uses, and what is verified before and during the motion. - [Weld planning, verification and evidence](https://advancedmetalresearch.com/docs/concepts/weld-planning-and-verification.md): How a CAD part becomes a verified joint trajectory, what the weld planner's verifier and admission check prove and do not prove, and what the plan result records. - [Cells, machines and positioners](https://advancedmetalresearch.com/docs/concepts/cells-and-positioners.md): How drive, robot, machine and cell configuration layer and pin each other, how a cell's identity is checked, and how the Rosie 1400 H-frame positioner is modelled. - [Process I/O and sensing: current status](https://advancedmetalresearch.com/docs/concepts/process-io-and-sensing.md): What RosieOS does today with cell digital I/O, why torch outputs are refused everywhere, and the fact that no seam tracking or sensing is implemented. ## RosieOS docs: Guides - [Run everything in simulation](https://advancedmetalresearch.com/docs/guides/run-in-simulation.md): Use dev-stack.sh to run the simulated core, rt-control, the dense daemon, NATS, the virtual pendant, the weld planner and the offline programming app on one machine, and check it with the smoke test. - [Simulate a Rosie robot](https://advancedmetalresearch.com/docs/guides/simulate-a-rosie-robot.md): Download the URDF, MuJoCo model, STEP and robot.json of the Rosie 600, 1000 or 1400 and run it in PyBullet, MuJoCo or ROS 2, with the robot's own kinematics, joint limits, speeds, torques and mass properties. - [Program a weld from CAD](https://advancedmetalresearch.com/docs/guides/offline-programming.md): Create a program in offline programming, import and place a STEP part, define welds from its edges with the seam search, plan and verify them with the weld planner, replay the result in simulation, and read a refusal. - [Teach waypoints and moves](https://advancedmetalresearch.com/docs/guides/teach-waypoints.md): Record taught waypoints from a measured robot pose or the preview, make them joint, linear or circular moves, set their speeds, add dwell, I/O and Home events, and plan and verify them with the weld planner. - [Program from the Steam Deck pendant](https://advancedmetalresearch.com/docs/guides/program-from-the-pendant.md): Use the native v5 teach pendant on a Steam Deck to connect a cell, arm, jog with the hold-to-enable trigger, record waypoints, edit the program, plan it with the weld planner, preview it and run it. - [Connect to a cell and run a program](https://advancedmetalresearch.com/docs/guides/connect-a-cell.md): Commission a cell for offline programming, describe it in the cell catalogue, select it, and Home, Arm, Load, Play and Stop a planned weld program, with the checks OLP makes at each step and how to read its refusals. - [Install rt-core on a cell host](https://advancedmetalresearch.com/docs/guides/install-on-a-cell-host.md): Provision a Linux cell host for rt-core, build and install a runtime package with inactive systemd units, bind it to a compiled machine configuration, optionally set up mutual TLS, check the host, start the services and roll back. - [Build and install the pendant](https://advancedmetalresearch.com/docs/guides/install-the-pendant.md): Build the v5 Steam Deck teach pendant, test it, run it on a workstation, package and deploy it to a Deck with hash checks, add it as a Steam shortcut with its controller layout, and write the per-Deck site files. - [Run the weld planner](https://advancedmetalresearch.com/docs/guides/run-the-weld-planner.md): Install the weld planner's pixi environments, check the GPU, serve the motion planner on port 8796 bound safely, connect OLP to it, plan from the command line, and run its tests. - [Add a robot model](https://advancedmetalresearch.com/docs/guides/add-a-robot-model.md): Create a new RosieOS robot description, from URDF and meshes through config.json, rtcore_definition.json and collision spheres, register it with the manifest tool, and pin it from a machine config. - [Use the virtual pendant](https://advancedmetalresearch.com/docs/guides/virtual-pendant.md): Run the browser Steam Deck pendant against the simulated core, take control, arm, home and jog joints, and know what it cannot do. ## RosieOS docs: APIs - [rt-control HTTP API](https://advancedmetalresearch.com/docs/apis/rt-control-http.md): Reference for rt-control, the public control API of RosieOS. It covers all 33 operations, the request and response envelopes, every schema type and the reason codes each operation can return. - [Events and telemetry streams](https://advancedmetalresearch.com/docs/apis/rt-control-events-telemetry.md): How to follow rt-control's event log over polling or Server-Sent Events, and how to read the full-rate binary telemetry stream, with cursors, loss reporting and the exact record layout. - [Remote access (mTLS) and remote jog](https://advancedmetalresearch.com/docs/apis/remote-access-mtls.md): How to expose rt-control to other machines over mutual TLS 1.3, provision the component CA and client certificates, connect from Go, C++ or curl, and jog over the WebSocket lane. - [Go SDK (rosieos/rt-core/sdk/control)](https://advancedmetalresearch.com/docs/apis/go-sdk.md): The Go client for rt-control. Dial the local socket or mutual TLS, acquire and renew authority, jog, upload and start programs, follow events and telemetry, and handle typed refusals. - [C++ client](https://advancedmetalresearch.com/docs/apis/cpp-client.md): The header-only C++17 client for rt-control, used by the motion servers. Connect, acquire and renew, upload and start programs, jog locally or over WebSocket, and handle the exception types. - [TypeScript contracts](https://advancedmetalresearch.com/docs/apis/typescript-types.md): The generated TypeScript types, constants and telemetry decoders for rt-control. There is no HTTP client; use them with your own transport, and mind uint64 precision. - [Offline programming HTTP API](https://advancedmetalresearch.com/docs/apis/olp-http.md): Every route of the OLP server on port 8794, including the dense-execution machine-control API for Home, Arm, jog, moves, Load, Play and Stop, with request bodies, units, target fencing and error codes. - [Weld planner HTTP API](https://advancedmetalresearch.com/docs/apis/weld-planner-http.md): The weld planner's four routes on port 8796, for health, progress, planning a .weldplan and fetching the verified dense trajectory, with query parameters, units, the result document and error codes. - [Cartesian motion server](https://advancedmetalresearch.com/docs/apis/cartesian-motion-server.md): robot-v4-cartesiand, the Cartesian jog server, with its command-line bindings, the UDP intent packet, the NATS leader lease and robot commands, the status document and the resolve-only JSON protocol OLP uses. - [Dense trajectory daemon](https://advancedmetalresearch.com/docs/apis/dense-trajectory-daemon.md): The joint_trajectory_daemon store-and-play service for .rdt programs, with its config file, command-line flags, TCP ingest protocol, NATS leader lease and play commands, status document and refusal codes. ## RosieOS docs: Reference - [rtctl command reference](https://advancedmetalresearch.com/docs/reference/rtctl.md): Every rtctl subcommand and flag, with defaults and exit codes, for compiling and validating machine configurations, checking a cell host, inspecting a running cell through rt-control, and converting telemetry dumps. - [Configuration files (drive, machine, cell)](https://advancedmetalresearch.com/docs/reference/configuration.md): Field reference for rt-core machine, drive and cell configuration, with units, allowed ranges and defaults, plus what rtctl compile writes, the three identity digests, and the warnings and refusals the compiler returns. - [Robot description files](https://advancedmetalresearch.com/docs/reference/robot-description.md): Field reference for a RosieOS robot description: the manifest and its identity algorithm, config.json, rtcore_definition.json, spheres.json and a cell's machine_planning_calibration.json, with units, rules and the tools that check them. - [Mechanical interfaces (base and tool flange)](https://advancedmetalresearch.com/docs/reference/mechanical-interfaces.md): How to mount Rosie 1400 and attach tooling. Base-plate anchor pattern, tool-flange hole pattern, interface frames and dimensions measured from the CAD, with STEP, PDF and JSON downloads. - [Dense trajectory (.rdt) format](https://advancedmetalresearch.com/docs/reference/rdt-format.md): The robot.v4.dense-joint-trajectory.v1 binary format for immutable joint programs, with its header fields, sample records, content digest, validation rules and the extra checks rt-control applies at admission. - [Program format (robot.v4.program.v2)](https://advancedmetalresearch.com/docs/reference/program-format.md): The robot.v4.program.v2 document that OLP, the pendant and the weld planner share, with its top-level fields, node types, the single-line ordering rule, weld geometry, taught moves, units and digests. - [Weld program and .weldplan container](https://advancedmetalresearch.com/docs/reference/weld-program-format.md): The seam model that weld nodes use (curves, arc length, the seam frame, work and travel angles, bands and tolerances), the .weldplan plan request container and its checks, and the seam worker's stdin protocol. - [Error codes and fault states](https://advancedmetalresearch.com/docs/reference/error-codes.md): Every rt-control reason code (all 153), the numeric native command, jog and grant reasons, execution fault bits with their recovery classes, and axis readiness states. - [NATS subjects and streams](https://advancedmetalresearch.com/docs/reference/nats-subjects.md): Every NATS subject and JetStream stream RosieOS publishes or subscribes to, with payload schemas, the processes on each side, and which subjects carry command authority. - [Pendant controls](https://advancedmetalresearch.com/docs/reference/pendant-controls.md): Every control of the v5 Steam Deck teach pendant, including the hold-to-enable trigger, joint and Cartesian jog, teaching, arming, stop, navigation, touch and keyboard, and the Steam Input layout. - [Ports, sockets and environment variables](https://advancedmetalresearch.com/docs/reference/ports-and-environment.md): Every TCP port, Unix socket and environment variable used by the RosieOS services, the dev stack and the offline programming launcher, with defaults. ## RosieOS docs: Contributing - [Repository layout](https://advancedmetalresearch.com/docs/contributing/repo-layout.md): Where each RosieOS component lives in the repository, which versioned folders are current and which are legacy, and which files are generated from contracts rather than edited by hand. - [Building and testing](https://advancedmetalresearch.com/docs/contributing/building-and-testing.md): Build and test commands for each RosieOS component, the environment the rt-core tests expect, and what each CI workflow runs and gates. - [Code style and quality checks](https://advancedmetalresearch.com/docs/contributing/code-style.md): The quality runner's gate and report commands, what each one checks, and the conventions RosieOS code follows for constants, units, provenance, errors and tests. - [Releasing](https://advancedmetalresearch.com/docs/contributing/releasing.md): How rt-core runtime packages are built, identified and verified, how robot-stack bundles are assembled offline, and what a release does and does not claim. Provisional. - [Licence](https://advancedmetalresearch.com/docs/contributing/license.md): RosieOS is open source under the Apache License, Version 2.0. ## Machine-readable - [rt-control OpenAPI 3.1](https://advancedmetalresearch.com/docs/openapi/rt-control.json): the public robot control API, generated from the RosieOS contract rt-core/protocol/application-v1.schema.json - [rt-control contract (original)](https://advancedmetalresearch.com/docs/openapi/rt-control.contract.json): the contract file itself: capabilities, types, rules and the closed catalogue of reason codes - [Offline programming OpenAPI 3.1](https://advancedmetalresearch.com/docs/openapi/offline-programming.json): OLP server routes on port 8794, derived from the Go source - [Weld planner OpenAPI 3.1](https://advancedmetalresearch.com/docs/openapi/weld-planner.json): weld planner routes on port 8796, derived from the Python source - [Error codes (JSON)](https://advancedmetalresearch.com/docs/data/error-codes.json): every rt-control reason code with its meaning, group, HTTP status and the operations that return it - [NATS subjects (JSON)](https://advancedmetalresearch.com/docs/data/nats-subjects.json): every NATS subject and stream, with publishers, subscribers and payload schemas - [Docs search index (JSON)](https://advancedmetalresearch.com/assets/docs/search.json): title, section, URL, Markdown URL, description, headings and text of every docs page - [API catalog (RFC 9727)](https://advancedmetalresearch.com/.well-known/api-catalog): the RosieOS HTTP APIs and their OpenAPI files as a linkset - [Sitemap](https://advancedmetalresearch.com/sitemap.xml): every indexable page with its last-modified date ## Optional - [Full site text](https://advancedmetalresearch.com/llms-full.txt): every page above and every docs page as one Markdown file - [RosieOS docs index](https://advancedmetalresearch.com/docs/llms.txt): the docs section of this file on its own - [RosieOS docs full text](https://advancedmetalresearch.com/docs/llms-full.txt): every docs page as one Markdown file