Skip to main content

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.

CI PyPI License


🔐 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 mock 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
  • Mock robot simulation
  • 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

MIT License


Security is not optional. JWT auth always required.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_ros_bridge-0.3.0.tar.gz (106.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_ros_bridge-0.3.0-py3-none-any.whl (54.2 kB view details)

Uploaded Python 3

File details

Details for the file agent_ros_bridge-0.3.0.tar.gz.

File metadata

  • Download URL: agent_ros_bridge-0.3.0.tar.gz
  • Upload date:
  • Size: 106.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for agent_ros_bridge-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ad6d71870082d22afd7cc4c4417774ce8038a0d38ec1e15130c4c211205343a3
MD5 7d41b9ce0f575d2ccae2c79ca8a02af6
BLAKE2b-256 2a09f959af4615a4082badef03110e26e9ecc5ad6f0dc6ee7b96f1f7f01b4c67

See more details on using hashes here.

File details

Details for the file agent_ros_bridge-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_ros_bridge-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48f350eb573c076d42243d015441f32a1d3b9c90256e60dd75ed64bdf7dfc893
MD5 cf828af582ed90902e101bd6d46c6760
BLAKE2b-256 cab7ff94ad2b13e57e4bb4bc298c20d27ddbd7c90418570bb6ce29d81388069c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page