Enabling robots to fix themselves

How it works
Our self-healing loop
Diagnose
A robot breaks. It knows what broke and why.
Patch
It picks a fix that worked before and installs it.
Recover
A quick self-check. If something is off, the change is undone.
Continue
Every fix is remembered, so next time is even faster.
Try it yourself
One platform, same API for every machine
Fleet overview
Robots and PLCs, reporting through one API
0
Machines
0
Robots
0
PLCs
0
Active faults
| Machine | Protocol | Status |
|---|
Apache 2.0
An open core you can inspect and trust
ISO 17978-3
Built on the international SOVD standard
On the device
On-prem and air-gapped - no cloud required
Any stack
ROS 2 today, PLCs and ECUs through Pro bridges
Partner

Official ROS 2 distribution
ROSCon 2026
Main-track speaker
Approach
Observability says it broke.
Diagnostics gets it fixed.
You cannot stream terabytes from every robot. Diagnostics captures just the fault, the moment it happens, with full context.
See the math on a real robot360x
less data per day
Continuous recording
1.5 TB
Fault capture
4.1 GB
10 faults × 414 MB
Per robot, per day. Measured on ROS 2.
Products
One diagnostic layer for robots and PLCs
| One standard API for every robot | Included | Included | Included |
|---|---|---|---|
| Finds every ROS 2 node by itself | Included | Included | Included |
| Platform access | Basic | All featuresAI soon | Included |
| Whole fleet in one view | Not included | Included | Included |
| Suggests the fix that worked before | Not included | Included | With Pro |
| Updates that roll themselves back | Not included | Included | Value rollback |
| Finds every PLC by itself | Not included | Not included | Included |
| Help from our team | Community | Integrations | On-site setup |
What's included
- One standard API for every robotIncluded
- Finds every ROS 2 node by itselfIncluded
- Platform accessBasic
- Whole fleet in one viewNot included
- Suggests the fix that worked beforeNot included
- Updates that roll themselves backNot included
- Finds every PLC by itselfNot included
- Help from our teamCommunity
What's included
- One standard API for every robotIncluded
- Finds every ROS 2 node by itselfIncluded
- Platform accessAll featuresAI soon
- Whole fleet in one viewIncluded
- Suggests the fix that worked beforeIncluded
- Updates that roll themselves backIncluded
- Finds every PLC by itselfNot included
- Help from our teamIntegrations
What's included
- One standard API for every robotIncluded
- Finds every ROS 2 node by itselfIncluded
- Platform accessIncluded
- Whole fleet in one viewIncluded
- Suggests the fix that worked beforeWith Pro
- Updates that roll themselves backValue rollback
- Finds every PLC by itselfIncluded
- Help from our teamOn-site setup

Who we are
Built by people who know machines
We've worked in automotive, factories, logistics and security. Now we bring that experience to robots and PLCs.
Meet the teamFrequently asked questions
It tells you why a robot or machine stopped. selfpatch finds the part that failed, saves a snapshot of what was happening at that moment, and ranks the likely causes against past incidents. No SSH sessions, no digging through logs.
Both, and that is the point. Plants run robots and PLCs from different vendors side by side, each with its own team and tools. selfpatch puts them all behind one diagnostic API, with one fault tree and one incident history.
Through ros2_medkit, our open-source gateway for ROS 2. It finds every node on the robot and exposes it through one REST API, with a web UI and MCP support for AI agents. It ships in the official ROS 2 distribution for Jazzy and Humble.
Any PLC that supports OPC-UA. The Diagnostics Box also speaks the native protocols of Siemens, Beckhoff, and Rockwell controllers, so PLCs that were never set up for OPC-UA work too.
The core is. ros2_medkit is open source (Apache 2.0) and free to use. Medkit Pro and the Diagnostics Box are paid add-ons with more protocols, secure remote updates, a fleet view, and guided triage.
Only if you choose the cloud version. Run it on-prem or fully offline (air-gapped) and your faults, data, and knowledge base stay on your own servers, with role-based access and no outside AI calls.
Not all at once. Over-the-air (OTA) updates are signed, rolled out in stages, and only continue while devices report healthy. If a health check fails, the update rolls back by itself, so one bad release cannot take a whole shift of robots down.
Yes, SOVD (ISO 17978-3), the modern diagnostic standard from the automotive world. Faults, live data, operations, and settings all come through one web API that any tool, dashboard, or AI agent can call.
Deploy selfpatch on your fleet
Tell us your stack and we will show you which recurring faults it could fix today.








