Skip to main content

ORION Lab Bridge — Modular device bridge for industrial robotics

Project description

ORION Bridge

Modular device bridge connecting industrial robotics hardware to the ORION AI agent platform.

PyPI version License: MIT Python 3.10+


What is ORION Bridge?

ORION Bridge is a lightweight Python daemon that sits between physical (or simulated) lab equipment and the ORION agent platform. It speaks the hardware protocols — xArm SDK, Snap7 for Siemens S7-1200 PLCs, ABB Robot Web Services — and exposes a unified WebSocket interface that the ORION AI understands.

The bridge runs on any machine with network access to your devices: a lab PC next to the robot arm, a Raspberry Pi on the factory floor, or your laptop for simulation. Once running, ORION can read live telemetry, execute actions, and run multi-step routines through natural language — without any changes to your hardware configuration.

Supported hardware backends out of the box: UFACTORY xArm 6/7 (physical + MuJoCo simulation), ABB robots (via Robot Web Services), Siemens S7-1200 PLCs (via python-snap7), and a local shell for scripting and debugging. A ROS/Gazebo adapter is also available for simulation-heavy workflows.


Quick Start

pip install orion-bridge[all]
orion

The interactive menu guides you through device setup and server connection. No config file needed for the first run — it generates one for you.


Installation Options

Install only the drivers you need:

Command Installs
pip install orion-bridge Core only (WebSocket transport, CLI)
pip install orion-bridge[xarm] + UFACTORY xArm SDK
pip install orion-bridge[plc] + Siemens S7-1200 (python-snap7)
pip install orion-bridge[mujoco] + MuJoCo simulation engine
pip install orion-bridge[gazebo] + ROS/Gazebo (roslibpy)
pip install orion-bridge[http] + PLC HTTP sidecar API (Flask)
pip install orion-bridge[all] Everything above

First Run

$ orion

The CLI opens an interactive menu:

[1] Add device       — register an xArm, ABB, PLC, or shell device
[2] Remove device    — remove a device from the list
[3] Configure server — pick a lab preset or enter a custom server URL + token
[4] Show status      — display current devices and connection info
[5] Save config      — write lab_config.json to disk
[6] Save & Start     — save and launch the bridge
[0] Exit

Typical first-run flow:

  1. Choose 3 to configure the server — pick a preset or enter your ORION server URL and bridge token.
  2. Choose 1 to add devices — select the device type (xArm, ABB, PLC, shell) and provide the IP address.
  3. Choose 6 to save the configuration and start the bridge.

The bridge connects to all registered devices, then opens a WebSocket to the ORION server. The ORION AI can now see your devices and send commands.

Skip the menu with a saved config:

orion --config lab_config.json

Run without a server (local testing):

orion --local

Configuration

After the first run, configuration is saved to lab_config.json in your working directory. You can edit this file directly or regenerate it through the menu.

Example lab_config.json:

{
  "server": "wss://your-orion-server/ws/robot",
  "token": "your-bridge-token",
  "lab_name": "My Lab",
  "devices": [
    { "type": "xarm", "id": "xarm-lab1", "ip": "192.168.1.185" },
    { "type": "plc",  "id": "plc-station1", "ips": ["192.168.1.10"] }
  ]
}

Environment variables override the config file:

Variable Purpose
WS_SERVER_URL Override server WebSocket URL
WS_TOKEN Override bridge authentication token
BRIDGE_ID Override bridge identifier (default: lab-bridge-01)

MuJoCo Simulation

Install with pip install orion-bridge[mujoco] to use the built-in MuJoCo physics simulation. xArm 6 and xArm 7 MJCF models are included in the package.

{
  "type": "xarm",
  "id": "xarm7-sim",
  "handler": "mujoco",
  "viewer": true,
  "mjcf_path": "sim/models/xarm7/scene_xarm7.xml"
}

Set "viewer": true to open the MuJoCo interactive viewer window.


Requirements

  • Python: 3.10 or higher
  • OS: Windows 10/11, macOS 12+, Linux (Ubuntu 20.04+)
  • Network: Access to device IPs and the ORION server endpoint

Hardware-specific requirements are installed via optional extras (see Installation Options above).


License

MIT License — see LICENSE for details.


Links

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

orion_bridge-2.0.0.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

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

orion_bridge-2.0.0-py3-none-any.whl (3.3 MB view details)

Uploaded Python 3

File details

Details for the file orion_bridge-2.0.0.tar.gz.

File metadata

  • Download URL: orion_bridge-2.0.0.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for orion_bridge-2.0.0.tar.gz
Algorithm Hash digest
SHA256 2035615ff2ab8eea368cb8414aa30d3a06e74bec0e1e28afff4dee99b3da019d
MD5 ae9766e8796d635ee662af94e68f47c1
BLAKE2b-256 367ce8eb223fe89fd7d04b7534db61bd38ea8fe7a92f920efc892afaaa549bc4

See more details on using hashes here.

File details

Details for the file orion_bridge-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: orion_bridge-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for orion_bridge-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c62f7283d8f429a8dfa1d1a1d9701286f89e7d5869bc214d72bba5a4d4b45e9
MD5 ca26741d8d22361c50028ba842178bb4
BLAKE2b-256 da1f5d380dde97ed865208e97a8f43ea99caf6607cb127015a47ae1d282bfe17

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