../_images/tiagopro-icon.png ../_images/kangaroo-icon.png ../_images/tiago-icon.png ../_images/ari-icon.png ../_images/talos-icon.png ../_images/mobile-bases-icon.png

Social perception with ROS4HRI#

ROS for Human-Robot Interaction (or ROS4HRI [ros4hri]) is the main API that your robot implements to represent information about the human surrounding and interacting with the robot.

ROS4HRI actually refers to a set of conventions and tools that help developing Human-Robot Interaction capabilities. The specification (originally developed by PAL Robotics) is available online as the ROS REP-155.

The IDs used in ROS4HRI

The ROS4HRI API defines several types of identifiers (IDs)#

We have implemented the following main parts of the specification in your robot:

  1. We follow the ROS4HRI human model representation, as a combination of a permanent identity (person) and transient parts that are intermittently detected (e.g. face, skeleton, voice);

  2. In PAL OS 24.9, we specifically support:

    • face detection and recognition (including extraction of facial landmarks);

    • single body detection, and 2D and 3D skeleton tracking;

    • speech recognition (without support for voice separation or voice identification)

    • probabilistic fusion of faces, bodies and voices

  3. We follow the ROS4HRI topic naming conventions, with all human-related messages published under the /humans/ topic namespace;

  4. We follow the ROS4HRI kinematic model of the human and 3D tf frame conventions (naming, orientation), as specified here.

In addition, your robot also provides implementation for:

  • gaze estimation

  • automatic engagement detection

How to use ROS4HRI?#

The ROS4HRI topics are documented in Social perception topics.

To ease access to these topics, you can use pyhri (Python) or libhri (C++). These two open-source libraries are developed by PAL Robotics under an Apache 2.0 license, and are available on GitHub: https://github.com/ros4hri/libhri

Next steps#

Get started with ROS4HRI and play with the social perception capabilities with the following tutorials:

See also#

  • The REP-155 aka ROS4HRI specification, on ROS website.

  • The ROS wiki contains useful resources about ROS4HRI.

References#

[ros4hri]

ROS for Human-Robot Interaction Y. Mohamed; S. Lemaignan, IROS 2021, doi: 10.1109/IROS51168.2021.9636816