Universal interface for AI agents to control ROS robots via natural language
Project description
Agent ROS Bridge ๐
The Safety-First Production Gateway for AI-to-Robot Integration
When robots matter, safety comes first.
Why Us? โข Quick Start โข Safety First โข Comparison โข Docs
Why Agent ROS Bridge?
Unlike diagnostic tools (NASA ROSA) or research platforms (ROS-LLM), Agent ROS Bridge is the only production-ready gateway with built-in safety validation.
The Safety Problem
Deploying LLM-controlled robots in production is dangerous:
- AI hallucinations can damage equipment
- Wrong commands can injure humans
- No validation of AI decisions
- No learning from operator corrections
Our Solution
๐ก๏ธ Safety-First Architecture:
โโโ Human-in-the-Loop (enforced by default)
โโโ Shadow Mode Validation (200+ hours required)
โโโ Simulation Testing (10K scenarios, 95.93% success)
โโโ Gradual Rollout (0% โ 100% autonomy)
โโโ Emergency Stop (always available)
Comparison
| Feature | Agent ROS Bridge | NASA ROSA | ROS-LLM |
|---|---|---|---|
| Safety Validation | โ Shadow mode | โ None | โ None |
| Human-in-the-Loop | โ Enforced | โ ๏ธ Optional | โ No |
| Production Tests | โ 2,021 tests | โ Unknown | โ Unknown |
| Simulation | โ 10K scenarios | โ ๏ธ Basic | โ No |
| Multi-Protocol | โ 4 protocols | โ CLI only | โ ROS2 only |
| Fleet Support | โ Multi-robot | โ Single | โ Single |
| Published Research | ๐ Whitepaper in progress | โ arXiv | โ Nature |
Quick Start
Installation
pip install agent-ros-bridge
Basic Usage
from agent_ros_bridge import RobotAgent
# Create agent with SAFETY enforced
agent = RobotAgent(
device_id='bot1',
llm_provider='moonshot',
require_confirmation=True, # Human approval required
)
# AI proposes, human approves, robot executes
result = agent.execute("Go to the kitchen")
print(f"Success: {result.success}")
print(f"AI confidence: {result.ai_confidence:.2f}")
print(f"Human approvals: {result.human_approvals}")
Output:
============================================================
๐ก๏ธ SAFETY STATUS
============================================================
Device: bot1 (mobile_robot)
Autonomous Mode: False โ
Human-in-the-Loop: True โ
Shadow Mode: True โ
Validation Status: simulation_only
============================================================
๐ค AI Proposal: navigate_to(kitchen)
๐ค Human: Approve? (y/n): y
โ
Executed successfully
Safety First
Safe-by-Default Configuration
# config/global_config.yaml
safety:
autonomous_mode: false # Human approval required
human_in_the_loop: true # All AI proposals need approval
shadow_mode_enabled: true # Collect validation data
min_confidence_for_auto: 0.95 # High confidence threshold
gradual_rollout_stage: 0 # Start at 0% autonomy
safety_validation_status: "simulation_only"
required_shadow_hours: 200.0 # Target for validation
min_agreement_rate: 0.95 # Required agreement %
Deployment Stages
Stage 0: Simulation-Only (Current)
โโโ โ
10K scenarios tested
โโโ โ
95.93% success rate
โโโ โ ๏ธ No real-world validation yet
Stage 1: Supervised Operation
โโโ Human approves all actions
โโโ Shadow mode collects data
โโโ Target: 200+ hours, >95% agreement
Stage 2: Gradual Rollout
โโโ 10% โ 25% โ 50% โ 75% โ 100%
โโโ High confidence only
โโโ Monitor at each stage
Stage 3: Full Autonomy
โโโ After validation complete
โโโ Emergency stop always available
โโโ Continuous monitoring
Architecture
AI Agents โโฌโ WebSocket โโ
โโ gRPC โโโโโโโผโโโบ โโโโโโโโโโโโโโโ
โโ MQTT โโโโโโโค โ Gateway โ
โโ TCP โโโโโโโโ โโโโโโโโฌโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
โผ โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโ
โSafety Layer โ โ Shadow Mode โ โ ROS1/ โ
โ(Validation) โ โ (Data Coll.) โ โ ROS2 โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโ
Key Components
| Component | Purpose | Status |
|---|---|---|
| Gateway | Multi-protocol support | โ Stable |
| Safety Layer | Validation & enforcement | โ Implemented |
| Shadow Mode | AI-human decision logging | โ Active |
| Simulation | 10K scenario testing | โ Complete |
| Fleet | Multi-robot orchestration | โ Beta |
Features
๐ก๏ธ Safety & Validation
- Shadow Mode - Log AI proposals vs human decisions
- Human-in-the-Loop - Enforced by default
- Simulation Testing - 10K scenarios before deployment
- Gradual Rollout - Increase autonomy slowly
- Emergency Stop - Always available
๐ Multi-Protocol
- WebSocket - Real-time bidirectional
- gRPC - High-performance RPC
- MQTT - IoT messaging
- TCP - Raw socket support
๐ค Universal Support
- Mobile Robots - Navigation, mapping
- Drones - Flight control, aerial missions
- Robot Arms - Manipulation, grasping
- Humanoids - Walking, balancing
- Sensors - Data collection, monitoring
๐ง AI Integration
- Multi-LLM - OpenAI, Moonshot, Anthropic
- Intent Parsing - Natural language understanding
- Context Awareness - Scene understanding
- Multi-Language - English, Chinese, +4 more
Documentation
- Safety Guide - Deployment safety requirements
- Architecture - System design
- API Reference - Complete API docs
- Comparison - vs NASA ROSA vs ROS-LLM
- Changelog - Version history
Web Dashboard
Agent ROS Bridge includes a modern web dashboard for robot control and monitoring.
Features
- ๐ฎ Robot Control - D-pad interface, natural language commands
- ๐ Real-time Telemetry - Position, velocity, battery, sensors
- ๐ง Shadow Mode Metrics - AI-human agreement tracking
- ๐ก๏ธ Safety Status - Validation gates, deployment readiness
- ๐ Fleet Management - Multi-robot coordination
Quick Start
Option 1: Docker (Recommended)
# Start bridge + web dashboard
docker-compose --profile web up -d
# Access dashboard
open http://localhost:8081
Option 2: Host (Development)
# Start bridge
agent-ros-bridge --websocket-port 8765
# In another terminal, serve dashboard
cd agent_ros_bridge/web
python3 -m http.server 8081
# Access dashboard
open http://localhost:8081
Dashboard URLs
| Dashboard | URL | Purpose |
|---|---|---|
| Control Dashboard | http://localhost:8081 | Robot control + shadow metrics |
| 3D Visualization | http://localhost:8080 | Gazebo/3D view (in ros2_jazzy) |
| Grafana | http://localhost:3000 | System monitoring |
WebSocket Connection
The dashboard connects to the bridge via WebSocket:
- URL:
ws://localhost:8765 - Protocol: JSON messages
- Auth: JWT token (if enabled)
Installation
Prerequisites
- Python 3.11+
- ROS1 (Noetic) or ROS2 (Humble/Jazzy)
- Docker (optional, for simulation)
PyPI Install
pip install agent-ros-bridge
Docker Install
docker pull agent-ros-bridge:jazzy-with-nav2
docker run -it agent-ros-bridge:jazzy-with-nav2
Development Install
git clone https://github.com/webthree549-bot/agent-ros-bridge.git
cd agent-ros-bridge
pip install -e ".[dev]"
Testing
# Run all tests
pytest tests/ -v
# Run with coverage
pytest tests/ --cov=agent_ros_bridge --cov-report=html
# Run safety-critical tests only
pytest tests/unit/safety/ -v
# Run simulation tests (requires Docker)
pytest tests/e2e/ -v
Current Status:
- 2,021 tests passing
- 65% code coverage
- Gate 2 validation: PASSED (95.93% success)
Safety Certification Roadmap
| Milestone | Target | Status |
|---|---|---|
| Shadow Mode Data | 200 hours | ๐ก In Progress (0 hrs) |
| Agreement Rate | >95% | ๐ก In Progress (0%) |
| Simulation Validation | 10K scenarios | โ PASSED (95.93%) |
| ISO 10218 Review | Q3 2026 | โณ Planned |
| Insurance Review | Q4 2026 | โณ Planned |
Community
- ROS Discourse: Announcement Thread
- GitHub Issues: Report Issues
- Documentation: Full Docs
Citation
If you use Agent ROS Bridge in research, please cite:
@software{agent_ros_bridge,
title = {Agent ROS Bridge: Safety-First Production Gateway for AI-to-Robot Integration},
author = {Agent ROS Bridge Contributors},
year = {2026},
url = {https://github.com/webthree549-bot/agent-ros-bridge}
}
License
MIT License - See LICENSE for details.
Built with safety in mind for production robotics deployments.
When robots matter, safety comes first.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_ros_bridge-0.6.8.tar.gz.
File metadata
- Download URL: agent_ros_bridge-0.6.8.tar.gz
- Upload date:
- Size: 5.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7d00ef2c55b09fb810f08e0e5f93e92a42b3151e6f2d359a43b5eae1ee4478e
|
|
| MD5 |
09aabd627bfc362038e692f4a247fe4f
|
|
| BLAKE2b-256 |
ad3dc67ef37e275e5714fe48f228e2d0cb91d91ed22ce4205c144b745657fc17
|
File details
Details for the file agent_ros_bridge-0.6.8-py3-none-any.whl.
File metadata
- Download URL: agent_ros_bridge-0.6.8-py3-none-any.whl
- Upload date:
- Size: 370.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80bb5184558dc7d0111bc93ff7efd852d7a3cdc72d5f4df3fcb5f7f39d615244
|
|
| MD5 |
a595cc3c5da69ce0cfade12266239f04
|
|
| BLAKE2b-256 |
2dfcd31ac1820d40b78ba15eee50c793896e2cfd789734150fabd1ef3a183d2e
|