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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for agent_ros_bridge-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7b44bf577849cd4fbf8d42889aa1643d136ec4cab4296d963211272bbfd6efeb
MD5 1253d7a4ab798e59ff4b9b07bd63afab
BLAKE2b-256 845887f90afe9f9ba2ee1febe61238f6f293f1b68c97afd29ab96cf987969619

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agent_ros_bridge-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77b10e063678790f638add57051a0ae14b572d930f4a4f0bfdcb414c4e3f9495
MD5 4ad0eb9a005532fae6a0c387454405b9
BLAKE2b-256 31921585bbb3fd9c5cb6f1d627dc8e39be66e15b386074e3a57b747f164684db

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