AI Teammate Robot Bridge
Connects ROS2 robots to AI Teammate Device Gateway via WebSocket.
Features
- rclpy native — DDS 직접 참여, rosbridge 불필요
- Sensor data streaming (IMU, odometry, battery, temperature)
- Command reception (MOVE, TURN, STOP) → ROS2 cmd_vel publish (10Hz continuous)
- Auto-reconnect on disconnect
- Simulator mode for non-ROS2 environments
Quick Install
curl -sL "https://ai-teammate.net/api/b2b/install/DEVICE_ID?key=YOUR_API_KEY" | bash
Get your API key from Control Tower > Devices > + button.
Manual Setup
pip3 install websockets psutil
cat > .env << EOF
DEVICE_ID=my-robot-01
GATEWAY_URL=wss://ai-teammate.net/gw
API_KEY=dk_YOUR_API_KEY
CONNECTION_MODE=rclpy
STATUS_REPORT_INTERVAL=1.0
CMD_VEL_TOPIC=/base_controller/cmd_vel_unstamped
IMU_TOPIC=/imu/data
ODOM_TOPIC=/odom
EOF
# ROS2 환경 source 후 실행
source /opt/ros/humble/setup.bash
python3 device_bridge.py
Environment Variables
| Variable | Default | Description |
|---|---|---|
DEVICE_ID |
required | Unique device identifier |
GATEWAY_URL |
required | Device Gateway WebSocket URL |
API_KEY |
required | Device API key (dk_xxx) |
CONNECTION_MODE |
rclpy |
rclpy for ROS2 native, simulator for fake data |
STATUS_REPORT_INTERVAL |
1.0 |
Sensor data send interval (seconds) |
CMD_VEL_TOPIC |
/cmd_vel |
ROS2 velocity command topic |
IMU_TOPIC |
/imu/data |
ROS2 IMU topic |
ODOM_TOPIC |
/odom |
ROS2 odometry topic |
Prerequisites
- Python 3.8+
- ROS2 Humble (optional — simulator mode works without)
- rosbridge 불필요 — rclpy로 DDS 직접 통신
Architecture
Robot AWS
┌─────────────────┐ ┌─────────────────┐
│ device_bridge.py │──WSS────▶│ Device Gateway │
│ ├─ send sensor │ │ (port 8003) │
│ └─ recv cmd │◀─WSS────│ └─ /ws/stream │──▶ Control Tower
│ │ └─────────────────┘
│ rclpy (native) │
│ ├─ cmd_vel pub │ DDS direct (no rosbridge)
│ ├─ odom sub │
│ └─ imu sub │
└─────────────────┘
Systemd Service
설치 스크립트가 자동으로 등록합니다. 수동 관리:
sudo systemctl status ai-teammate-bridge
sudo systemctl restart ai-teammate-bridge
journalctl -u ai-teammate-bridge -f
Release files for agent-platform 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agent_platform-0.1.0.tar.gz | 42.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_platform-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.5 kB
Release files / agent_platform-0.1.0.tar.gz
| Download URL | agent_platform-0.1.0.tar.gz |
|---|---|
| Size | 42.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a73bd1f0268819ba53ccc072bf6899169a75a83576255fd8f21d6fb1e593814
|
|
BLAKE2b-256 checksum How to use checksums |
58dff7d592a242a87a4cf9ae56659db121a6ce7707edb9daed17cb4082a4cf74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / agent_platform-0.1.0-py3-none-any.whl
| Download URL | agent_platform-0.1.0-py3-none-any.whl |
|---|---|
| Size | 2.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cd9fe4be92c224f1f012093d992c13d8fb94bff392e1c5967ab9ec33ded75f3c
|
|
BLAKE2b-256 checksum How to use checksums |
b40970f6b31b64829c49a966d923263650605a035da97bc90ff8e786d5a92c62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|