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 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

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.2.tar.gz (106.5 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.2-py3-none-any.whl (54.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_ros_bridge-0.3.2.tar.gz
  • Upload date:
  • Size: 106.5 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.2.tar.gz
Algorithm Hash digest
SHA256 e033316e490e7b67340116ed7fc926c7b9f4dc46d89da979fad31053da686eee
MD5 9212341fe030cd40aa8bb29fc8b8ea68
BLAKE2b-256 9b6fe9d60729a6072245955a9a57a9e0446817d0763ef673babaf730e2582407

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agent_ros_bridge-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ebedb4c5480712422f406b6e81b430981bb0a1ff108e32f7255fcc09e879b435
MD5 90daa2bc8eb8ded6de130670b4d6c908
BLAKE2b-256 a4bd0f9b9f98e017cd4e17b490e7c7baeac0d05c1ac318b9d874ad9d63bd9c37

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