HID ROS 2 Documentation

A schema-driven ROS 2 hardware interface for USB Human Interface Devices (HID)

HID ROS 2 is a comprehensive framework for integrating USB HID devices with ROS 2 through the ros2_control infrastructure. It provides a schema-driven approach where a single YAML file defines your device’s interface, automatically generating all necessary code for both the ROS 2 side and embedded firmware.

License CI Status DOI

Key Features

  • Single Source of Truth: Define your device interface once in YAML, generate everything else automatically

  • Type-Aware Hardware Interface: Native support for uint8/16/32, int8/16/32, and float32/64 with proper byte conversion

  • Bidirectional Communication: Both input (sensor data) and output (commands) over USB HID

  • Code Generation: Automatic generation of URDF, controller configs, launch files, and C headers for firmware

  • Developer Tools: Command-line tools for schema validation, live device inspection, and descriptor generation

  • Full ros2_control Integration: Works seamlessly with existing ROS 2 controllers and tools

  • Zero Manual Configuration: No hand-written URDF or configuration files required

Indices and tables