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

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_ros_bridge-0.3.4.tar.gz
  • Upload date:
  • Size: 105.7 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.4.tar.gz
Algorithm Hash digest
SHA256 1a6b658a068007b302709f77c188438f8c220a92d8c5b0342df787f7c7716404
MD5 5a13f40437b13291cead75ad926c0eb4
BLAKE2b-256 dc4cf98cf01349abdc3e3b1da5089d39b9c4175aed12d7d8afa70b2ef9345497

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agent_ros_bridge-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6c63ae73963f12bc69d98718c3acc2b092442cb8bcd10b508895c48859f8aaa0
MD5 6046b632348c26702b1ea8fc5084c5d3
BLAKE2b-256 99fc88aa66d432ca2024a2ac7e282789d1bfb8e6ff0fadd952aa46a193a76579

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