Languages
Go35.3%TypeScript34.0%Rust25.6%Python3.0%JavaScript0.9%CSS0.5%Dockerfile0.4%HTML0.3%
README
TPT SwarmOS
The open-source "Linux of physical robotics" — a hardware-agnostic middleware and AI control layer for orchestrating fleets of humanoid robots and drones.
What it does
- Universal robot adapter — one platform for Boston Dynamics, Tesla Optimus, agricultural drones, and any ROS2-compatible hardware
- Simulation-to-deployment — train skills in Gazebo, deploy to any robot in the fleet instantly
- Federated learning — a robot in Tokyo learns a better way to fold laundry; every robot in the network gets the update
- Decentralized — open hardware collectives and municipalities run their own autonomous workforce without depending on tech monopolies
Architecture
tpt-swarm/
├── swarm-core/ ← Rust: lightweight on-robot agent (ROS2, ONNX, P2P)
├── swarm-orchestrator/ ← Go: fleet API, skill registry, FedAvg coordinator
├── swarm-dashboard/ ← TypeScript/React: fleet + skills + simulation + federated UI
├── sim/ ← Gazebo worlds, URDF robot templates, launch files
└── proto/ ← Protobuf contracts shared between core and orchestrator
Stack
| Component | Technology | |---|---| | Robot agent | Rust + r2r (ROS2) + ort (ONNX) | | Fleet orchestrator | Go + Echo + gRPC + PostgreSQL | | P2P gossip | libp2p (Rust + Go) | | Federated learning | FedAvg aggregation + P2P fallback | | Skill format | ONNX + manifest.yaml | | Simulation | Gazebo + ROS2 | | Dashboard | Vite + React + TypeScript + shadcn/ui |
Quick Start
# Start orchestrator + database + dashboard
docker-compose up
# Launch a simulated fleet (requires ROS2 + Gazebo installed)
ros2 launch sim/launch/sim_launch.py world:=warehouse robot_count:=3
# Open dashboard
open http://localhost:5173
Skill Format
A SwarmOS skill is an ONNX model paired with a manifest:
# manifest.yaml
name: "warehouse-navigation"
version: "1.0.0"
input_schema:
- name: joint_states
shape: [1, 12]
dtype: float32
- name: lidar_scan
shape: [1, 360]
dtype: float32
output_schema:
- name: cmd_vel
shape: [1, 2]
dtype: float32
hardware_requirements:
min_dof: 6
sensors: [lidar, imu]
License
Apache 2.0