Skip to content

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"