AI Teammate ROS2 Device Bridge
Project description
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
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 ai_teammate_ros2_bridge-2.0.8.tar.gz.
File metadata
- Download URL: ai_teammate_ros2_bridge-2.0.8.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8fca221f5b8864ae5d6aedf99b6a85a5f09e15a16ed0c91b48ffbcca94657ca3
|
|
| MD5 |
e22c63933a34004a30cc18b096007cd3
|
|
| BLAKE2b-256 |
f73770ed342695b6533946a5dd09a4b0a9261d52aada4a6a778215f3cc7621bf
|
File details
Details for the file ai_teammate_ros2_bridge-2.0.8-py3-none-any.whl.
File metadata
- Download URL: ai_teammate_ros2_bridge-2.0.8-py3-none-any.whl
- Upload date:
- Size: 27.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b75461462581628f90db2ffd42372f8f853ca1581e20da8c4defda38fd34d4c4
|
|
| MD5 |
e38e003a99459898a2fc5696ae1d7d06
|
|
| BLAKE2b-256 |
2d303974af11dd4c0c396211397faef81b96e55d736e740d8fc8194e2df77d91
|