|
|
|
ROS for HRI
|
|
|
|
===========
|
|
|
|
|
|
|
|
Writing guide
|
|
|
|
-------------
|
|
|
|
|
|
|
|
- **do not be shy to make suggestions/amendments/change, even on someone's else content!** Being 'unsure' is not an issue at this stage: this is a private, 'socially safe' workspace, where we want to brainstorm.
|
|
|
|
- please write using an 'assertive' tone, even though we might change things later on. This will make it easier to reuse the content in the final Working Group document.
|
|
|
|
- however, when a discussion is needed:
|
|
|
|
- use `:speech_balloon:` :speech_balloon: to draw attention to something you'd like to discuss
|
|
|
|
- use `>` block quote to make comments
|
|
|
|
- when needed (eg, votes), you can indicate support/lack of support for a proposal with `:+1:` :+1: or `:-1:` :-1:
|
|
|
|
|
|
|
|
Aims/overview
|
|
|
|
-------------
|
|
|
|
|
|
|
|
The high-level description of the goals and design rationale is exposed in the *ROS for HRI* Enhancement Proposal (REP).
|
|
|
|
The work-in-progress document can [be found here](rep).
|
|
|
|
|
|
|
|
**In short**: for each of the sub-domains listed hereafter, we essentially want to come up with:
|
|
|
|
|
|
|
|
1. adequate messages to describe the data relevant to that domain. These messages are found in the [hri_msgs](https://git.brl.ac.uk/echos/hri_msgs) repository.
|
|
|
|
1. a short list of software modules that provide and/or consume this data
|
|
|
|
1. where needed, ROS wrappers for these modules
|
|
|
|
|
|
|
|
On top of that, some shared messages/tools need to be agreed & created, namely:
|
|
|
|
1. a naming convention for [HRI-related frames](#tf-frames) (in particular, for the human body)
|
|
|
|
1. [visualisation tools](viz) for HRI
|
|
|
|
1. a definition of a [social context](social-context) type to more accurately describe interaction-related datatypes
|
|
|
|
|
|
|
|
Cross-domain conventions
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
Humans (or, in the general case, *agents*) are associated to an **unique identifier** (UUID), that a robot might attempt to persist across sessions (to be able to recognise previously seen people) or might want to forget (when there is no need/no desire to remember human participants.
|
|
|
|
|
|
|
|
An agent is represented by the [type Agent.msg](agent).
|
|
|
|
|
|
|
|
All HRI related messages can be `AgentStamped` by adding a field `agent` of [type Agent.msg](agent).
|
|
|
|
|
|
|
|
See the conventional [human detection/recognition/identification pipeline](human_identification).
|
|
|
|
|
|
|
|
Domains
|
|
|
|
-------
|
|
|
|
|
|
|
|
The work is split by sub-domains:
|
|
|
|
|
|
|
|
1. [Physical HRI](phri) (including haptics, fatigue)
|
|
|
|
1. [Teleoperation](teleoperation)
|
|
|
|
1. [Human postures, gestures](gestures), [action recognition](action-recognition)
|
|
|
|
1. [Speech, Dialogue, Non-verbal communication](communication)
|
|
|
|
1. [Emotions](emotions), [facial expressions](facial-expressions)
|
|
|
|
1. [Gaze, Attention](gaze)
|
|
|
|
|
|
|
|
TF frames
|
|
|
|
---------
|
|
|
|
|
|
|
|
For the proposed body frames, see [human posture](gestures) |