Agent ROS Bridge - Universal ROS1/ROS2 bridge for AI agents to control robots and embodied intelligence systems
Project description
Agent ROS Bridge
Universal ROS1/ROS2 bridge for AI agents to control robots and embodied intelligence systems.
🔐 Security-First Design
JWT authentication is always required and cannot be disabled.
# Generate a secure secret (REQUIRED - no exceptions)
export JWT_SECRET=$(openssl rand -base64 32)
The bridge will fail to start without JWT_SECRET. This is by design — security is not optional.
See SECURITY.md for complete security guidelines.
Quick Start
Production (Native ROS)
Requirements: Ubuntu 20.04/22.04 with ROS1 Noetic or ROS2 Humble/Jazzy
# Install
pip install agent-ros-bridge
# Set required secret
export JWT_SECRET=$(openssl rand -base64 32)
# Start bridge
agent-ros-bridge --config config/bridge.yaml
Docker Examples (Recommended for Testing)
All examples run in isolated Docker containers with simulated robots (no ROS installation needed).
# Clone repository
git clone https://github.com/webthree549-bot/agent-ros-bridge.git
cd agent-ros-bridge
# Generate JWT secret
export JWT_SECRET=$(openssl rand -base64 32)
# Run example in Docker
cd examples/quickstart
docker-compose up
# Test connection
curl http://localhost:8765/health
Available Docker Examples
| Example | Description | Run |
|---|---|---|
examples/quickstart/ |
Basic bridge | docker-compose up |
examples/fleet/ |
Multi-robot fleet | docker-compose up |
examples/arm/ |
Robot arm control | docker-compose up |
All examples include:
- Isolated Docker container
- Pre-configured JWT auth
- Simulated robot environment
- Localhost-only binding (127.0.0.1)
Installation
Via PyPI (Production)
pip install agent-ros-bridge
Via ClawHub
openclaw skills add agent-ros-bridge
From Source
git clone https://github.com/webthree549-bot/agent-ros-bridge.git
cd agent-ros-bridge
pip install -e ".[dev]"
Usage
Python API
from agent_ros_bridge import Bridge
from agent_ros_bridge.gateway_v2.transports.websocket import WebSocketTransport
# Bridge requires JWT_SECRET env var
bridge = Bridge()
bridge.transport_manager.register(WebSocketTransport({"port": 8765}))
await bridge.start()
CLI
# Set required secret
export JWT_SECRET=$(openssl rand -base64 32)
# Start bridge
agent-ros-bridge --config config/bridge.yaml
# Generate token for client
python scripts/generate_token.py --secret $JWT_SECRET --role operator
Features
- Security-First: JWT auth always required, no bypass
- Multi-Protocol: WebSocket, gRPC, MQTT
- Multi-ROS: ROS1 Noetic + ROS2 Humble/Jazzy
- Fleet Orchestration: Multi-robot coordination
- Arm Control: UR, xArm, Franka manipulation
- Docker Examples: Isolated testing environments
- Production Ready: Native Ubuntu deployment
Documentation
| Document | Description |
|---|---|
| User Manual | Complete guide (23,000+ words) |
| API Reference | Full API documentation |
| Native ROS | Ubuntu/ROS installation |
| Multi-ROS | Fleet management |
| Docker vs Native | Deployment comparison |
| SECURITY.md | Security policy |
Development
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
make test
# Build package
make build
License
Security is not optional. JWT auth always required.
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.3.3.tar.gz.
File metadata
- Download URL: agent_ros_bridge-0.3.3.tar.gz
- Upload date:
- Size: 106.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9392f240945a1420c3103ea881647eec573060a18ed08b9c9c86f727ce8d9bd
|
|
| MD5 |
f649e91b6a1c00440bfda8bff542b217
|
|
| BLAKE2b-256 |
635435b2eba598ce7ab5534c666187f5f91a8a6cf1ed45d6825899a9e8c38155
|
File details
Details for the file agent_ros_bridge-0.3.3-py3-none-any.whl.
File metadata
- Download URL: agent_ros_bridge-0.3.3-py3-none-any.whl
- Upload date:
- Size: 54.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9626ddd4c2fd3a3a9c4fe6b71facbf58397ff42b858cf5bf79373abe9a995d3
|
|
| MD5 |
9165f8dd21799b1ddba84cc80ce97bd3
|
|
| BLAKE2b-256 |
f4f2f9b39f8001b35b01d0361b571364a2c99c1f843ead219fa38dba22a879db
|