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.
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:
- Choose 3 to configure the server — pick a preset or enter your ORION server URL and bridge token.
- Choose 1 to add devices — select the device type (xArm, ABB, PLC, shell) and provide the IP address.
- 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
- ORION Platform: orion-learning.com
- PyPI: pypi.org/project/orion-bridge
- Issues: github.com/FILL_USER/orion-bridge/issues
- Source: github.com/FILL_USER/orion-bridge
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2035615ff2ab8eea368cb8414aa30d3a06e74bec0e1e28afff4dee99b3da019d
|
|
| MD5 |
ae9766e8796d635ee662af94e68f47c1
|
|
| BLAKE2b-256 |
367ce8eb223fe89fd7d04b7534db61bd38ea8fe7a92f920efc892afaaa549bc4
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c62f7283d8f429a8dfa1d1a1d9701286f89e7d5869bc214d72bba5a4d4b45e9
|
|
| MD5 |
ca26741d8d22361c50028ba842178bb4
|
|
| BLAKE2b-256 |
da1f5d380dde97ed865208e97a8f43ea99caf6607cb127015a47ae1d282bfe17
|