Open-source ROS4HRI packages

ROS4HRI packages

The ROS4HRI ecosystem consists of several open-source packages available on GitHub, organized by feature area.

ROS version support

ROS4HRI is primarily developed and tested on ROS 2 Humble.

  • ROS 1 Noetic is supported but in maintenance mode (no regular tests; no new developments; pull requests are however welcome).

  • Support for ROS 2 Jazzy and Rolling is planned but not yet generally available.

Hint

You are the author of a ROS4HRI-compliant node? We would love to feature it in this list! Open a discussion on the ROS4HRI GitHub organization, or better yet, directly create a Pull Request against this page.

Core Libraries & Messages

Package

Description

Installation

hri_msgs interfaces

Standard ROS messages for HRI (faces, bodies, voices, persons)

apt install ros-<distro>-hri-msgs

hri_actions_msgs interfaces

Standard ROS actions for HRI Intents

apt install ros-<distro>-hri-actions-msgs

human_description

Standard URDF models for humans

apt install ros-<distro>-human-description

libhri (C++)

C++ library to ease interaction with ROS4HRI topics

apt install ros-<distro>-hri

pyhri (Python)

Python library to ease interaction with ROS4HRI topics

apt install ros-<distro>-pyhri

Perception

Face Perception

Packages implementing face-related perception capabilities as defined in REP-155 – Faces.

Package

Detection

Landmarks

Gaze

Expression

Recognition

Installation

hri_face_detect

from sources

hri_emotion_recognizer

from sources

hri_face_identification

from sources

Body Perception

Packages implementing body-related perception capabilities as defined in REP-155 – Bodies.

Package

2D Skeleton

3D Skeleton

Hands

TF frames

Posture/Gestures

Installation

hri_body_detect

(basic)

from sources

Voice & Audio Perception

Packages implementing voice-related perception capabilities as defined in REP-155 – Voices.

Package

Audio Features

Voice Activity Detection

Speech Recognition

Direction of speech

Speaker ID

Installation

asr_vosk

✓ (vosk)

from sources

Person Tracking & Fusion

Packages implementing person-level tracking and multi-modal fusion as defined in REP-155 – Persons.

Package

Face/Body Matching

Face/Voice Matching

Person Fusion

Engagement

Installation

hri_face_body_matcher

apt install ros-<distro>-hri-face-body-matcher

hri_person_manager

from sources

hri_engagement

from sources

Interaction Skills

Standard skill definitions

Standard skill definitions for robot actions and behaviors. See ROS4HRI Standard Skills for the complete list.

Package

Skills Defined

Installation

Communication

Verbal communication (Say, Chat, Ask)

from sources

Interaction

Social interaction (LookAt, LookFor, LED effects, Expressions)

from sources

Navigation

Navigation (Navigate, Waypoints, Zones)

from sources

Motions

Motion execution (Joint/Cartesian trajectories)

from sources

Manipulation

Manipulation (Grasp, Place, Hand control)

from sources

Note

These packages are skill definitions, not implementations. They define standard ROS action interfaces to enable interoperability. Use rpk to generate skill implementation skeletons.

Development Tools

Package

Description

Installation

rpk

ROS4HRI package generator for skills, tasks, and applications

pip install rpk

architecture_schemas

JSON schemas for skill definitions and validation

from sources

architecture_tools

Tools to validate and discover skills (ament_archlint)

from sources

std_skills

Standard/common skills messages

from sources

Visualization & Debugging

Package

Description

Installation

hri_rviz

RViz plugins for visualizing HRI data (faces, bodies, persons)

apt install ros-<distro>-hri-rviz

hri_visualization

Camera image overlay with faces, bodies, emotions

from sources

rqt_human_radar

rqt plugin for radar-like human visualization

from sources

rqt_chat

Chat interface for debugging dialogue systems

from sources

interaction_sim

ROS 2 simulation environment for HRI research

from sources

Building User Interface

Package

Description

Installation

ui_server

ROS 2 display server for interactive QML content

from sources

ui_msgs

ROS 2 messages for UI server

from sources

ros-qml-plugin

QML plugin for ROS integration

from sources