C++ / On-board SDK¶
On the robot, motion, state, and sensor access are provided by the uMe on-board SDK (C++ and Python, Ubuntu 22.04, Apache-2.0), which uses DDS as its communication layer.
The uMe Gateway links against this SDK on the robot and re-exposes the high-level functions (state switching, omnidirectional walking, special actions, head control) over the WebSocket API. Application developers building tablet/phone/desktop clients should target the Gateway, not DDS directly — DDS is a LAN protocol and is impractical on mobile platforms.
Use the on-board SDK directly only when you are extending the Gateway itself on the robot, or running your own on-board process.
Reference¶
| Resource | Where |
|---|---|
| uMe on-board SDK (C++ / Python) | internal URG repository (ume-sdk) |
| ROS 2 interface | see ROS 2 Interface |
| uMe platform manual | URG internal documentation |
SDK surface (as wrapped by the Gateway)¶
- High-level (RPC): state switching (
DAMP/PREP/WALK), omnidirectional walking, special actions, head control. - Motion service: motion control, state query, drag-and-teach.
- Additional services: AI, LUI, visual detection, audio.
- Low-level (DDS pub/sub): raw sensor data (motors, IMU) and direct motor control.
On-board only
The uMe on-board SDK and its Python package must be present on the robot's Perception Board. Verify with:
python3 -c "import ume_sdk"