PAL OS 25.01 does not covers the full ROS4HRI specification. For instance, groups are
currently not automatically recognised, and thus, the /humans/groups/
topics do not exist.
Data on bodies is provided by the hri_body_detect node, that supports up to 5 bodies (recommended),
or the hri_fullbody node, that supports only one body.
Social perception topics#
PAL robots implement the REP-155 aka ROS4HRI to represents the humans detected by the robot.
See Social perception with ROS4HRI for an introduction to this API and 👥 Social perception for details regarding our implementation.
Note
PAL OS 25.01 does not covers the full ROS4HRI specification. For instance, groups are currently not automatically recognised, and thus, the
/humans/groups/
topics do not exist.Face-related topics#
Data on faces is provided by the hri_face_detect node.
Name
Description
/humans/faces/*/roi
Region of the face in the source image
/humans/faces/*/cropped
Cropped face image, if necessary scaled, centered and 0-padded to match the
/humans/faces/width
and/humans/faces/height
ROS parameters/humans/faces/*/aligned
Aligned (eg, the two eyes are horizontally aligned) version of the cropped face, with same resolution as
/cropped
/humans/faces/*/landmarks
2D facial landmarks extracted from the face
Body-related topics#
Data on bodies is provided by the hri_body_detect node, that supports up to 5 bodies (recommended), or the hri_fullbody node, that supports only one body.
Name
Description
/humans/bodies/*/roi
Region of the whole body body in the source image
/humans/bodies/*/cropped
Cropped body image
/humans/bodies/*/skeleton2d
The 2D points of the the detected skeleton
/humans/bodies/*/joint_states
The joint state of the human body, following the kinematic model of the human
/humans/bodies/*/position
Body position, representing the point between the hips of the tracked body
/humans/bodies/*/velocity
Velocity and direction of movement of the detect body
Voice-related topics#
Caution
As of PAL OS 25.01, PAL robots can only perform speech recognition on a single voice, and does not feature automatic speaker identification.
As such, the robot only ever exposes one single voice with id
anonymous_speaker
.Data on voices is provided by the asr_vosk node, which performs the speech recognition.
Name
Description
/humans/voices/*/audio
Separated audio stream for this voice
/humans/voices/*/is_speaking
Whether or not speech is recognised from this voice
/humans/voices/*/speech
The live stream of speech recognized via an ASR engine
Person-related topics#
Data on persons is primarily provided by the hri_person_manager node (for the probabilistic features fusion), and hri_engagement for the engagement status.
Name
Description
/humans/persons/*/face_id
Face matched to that person (if any)
/humans/persons/*/body_id
Body matched to that person (if any)
/humans/persons/*/voice_id
Voice matched to that person (if any)
/humans/persons/*/alias
If this person has been merged with another, this topic contains the person ID of the new person
/humans/persons/*/anonymous
If true, the person is anonymous, ie has not yet been identified, and has not been issued a permanent ID
/humans/persons/*/engagement_status
Engagement status of the person with the robot
/humans/persons/*/location_confidence
Location confidence; 1 means person currently seen, 0 means person location unknown. See Person Frame
Other topics#
/humans/candidate_matches