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

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_ros_bridge-0.3.5.tar.gz
  • Upload date:
  • Size: 105.9 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.5.tar.gz
Algorithm Hash digest
SHA256 946bd986627f39e78363a700f877b4adc6cfabe772bfefde6aa4b2e8c37df79a
MD5 6718f21158104f0f84773caa5e8a9d61
BLAKE2b-256 6564c2c4a1af0cba2077b9ac8c53365d6846cd85a4f825d67adc9f8eb674fb44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agent_ros_bridge-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 eb8fd756a7c086b79323787b36a43ad0cb78381e55df011e0bf10a28b629ba77
MD5 231575ee239d5d558568c4f238c07b01
BLAKE2b-256 0354119095092c29b5a655406d0b20b41a92987af9989f08f2b712656c9486e6

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