.. _package-rst-hri:
=================
Package rst.hri
=================
Human–robot interaction is the study of interactions between humans
and robots. It is often referred as HRI by researchers.
This package contains data type definitions related to human-robot
interaction.
.. seealso::
Wikipedia article containing the definition above
http://en.wikipedia.org/wiki/Human-robot_interaction
Messages
========
.. container:: mess4ge-multi
.. container:: mess4ge-graph
.. digraph:: message_graph
fontname="Arial";
fontsize=11;
stylesheet="../_static/graphs.css";
node [fontsize=11,fontname="Arial"]
edge [fontsize=11,fontname="Arial"]
"10" [label=<
| LegsList |
|
Legs | list |
>,shape=box,style=filled,fillcolor="white"];
"11" [label=< | Legs |
|
FLOAT32 | angle |
FLOAT32 | angle_variance |
FLOAT32 | distance |
FLOAT32 | distance_variance |
BOOL | pair |
>,shape=box,style=filled,fillcolor="white"];
"7" [label=< | HighlightTarget |
|
ASCII-STRING | target_id |
Duration | duration |
Modality | modality |
>,shape=box,style=filled,fillcolor="white"];
"9" [label=< | Modality |
|
GAZE | 1 |
GESTURE | 2 |
AMBIENT_LIGHT | 3 |
SOUND | 4 |
SPOT_LIGHT | 5 |
>,shape=box,style=filled,fillcolor="white"];
"8" [label=< | Duration |
|
UINT64 | time |
>,shape=box,style=filled,fillcolor="white"];
"1" [label=< | BodyList |
|
Body | element |
>,shape=box,style=filled,fillcolor="white"];
"2" [label=< | Body |
|
Translation | location |
Rotation | orientation |
BoundingBox3DFloat | shape |
>,shape=box,style=filled,fillcolor="white"];
"5" [label=< | BoundingBox3DFloat |
|
Pose | transformation |
FLOAT32 | width |
FLOAT32 | depth |
FLOAT32 | height |
>,shape=box,style=filled,fillcolor="white"];
"6" [label=< | Pose |
|
Translation | translation |
Rotation | rotation |
>,shape=box,style=filled,fillcolor="white"];
"4" [label=< | Rotation |
|
FLOAT64 | qw |
FLOAT64 | qx |
FLOAT64 | qy |
FLOAT64 | qz |
ASCII-STRING | frame_id |
>,shape=box,style=filled,fillcolor="white"];
"3" [label=< | Translation |
|
FLOAT64 | x |
FLOAT64 | y |
FLOAT64 | z |
ASCII-STRING | frame_id |
>,shape=box,style=filled,fillcolor="white"];
"10":list -> "11"[];
"7" -> "9"[dir=both,arrowtail=odiamond];
"7":modality -> "9"[];
"7":duration -> "8"[];
"1":element -> "2"[];
"2":shape -> "5"[];
"2":orientation -> "4"[];
"2":location -> "3"[];
"5":transformation -> "6"[];
"6":rotation -> "4"[];
"6":translation -> "3"[];
.. container:: mess4ge-list
.. container:: messages
* :ref:`BodyList `
* :ref:`HighlightTarget `
* :ref:`LegsList `
* :ref:`Legs `
* :ref:`Body `
.. container:: clearer
clearer: should be made invisible via css
.. _message-rst-hri-bodylist:
Message BodyList
----------------
.. container:: message-rst-hri-bodylist-multi
.. container:: message-rst-hri-bodylist-documentation
.. py:class:: rst.hri.BodyList
Collection of :py:class:`Body ` instances.
Auto-generated.
.. py:attribute:: element
:type: array of :py:class:`rst.hri.Body`
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated
entries etc. are use case specific.
.. container:: message-rst-hri-bodylist-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/BodyList.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/BodyList.proto
:lines: 14-24
:language: protobuf
:emphasize-lines: 9-9
.. _message-rst-hri-highlighttarget:
Message HighlightTarget
-----------------------
.. container:: message-rst-hri-highlighttarget-multi
.. container:: message-rst-hri-highlighttarget-documentation
.. py:class:: rst.hri.HighlightTarget
Specifies a target that should be highlighted by an intelligent
system, e.g. to elicit attention of a human interaction partner.
.. codeauthor:: Patrick Holthaus
.. py:attribute:: target_id
:type: :py:class:`ASCII-STRING`
The target that should be highlighted.
.. py:attribute:: duration
:type: :py:class:`rst.timing.Duration`
How long to highlight the target.
.. py:attribute:: modality
:type: array of :py:class:`rst.hri.HighlightTarget.Modality`
A list of modalities to use for highlighting.
.. container:: message-rst-hri-highlighttarget-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/HighlightTarget.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/HighlightTarget.proto
:lines: 15-65
:language: protobuf
:emphasize-lines: 39-39,44-44,49-49
.. _message-rst-hri-highlighttarget-modality:
Message Modality
----------------
.. container:: message-rst-hri-highlighttarget-modality-multi
.. container:: message-rst-hri-highlighttarget-modality-documentation
.. py:class:: rst.hri.HighlightTarget.Modality
The modality to use.
.. py:attribute:: GAZE
= 1
Use gaze to refer to the target that should be highlighted.
.. py:attribute:: GESTURE
= 2
Use gestures to refer to the target, e.g. pointing.
.. py:attribute:: AMBIENT_LIGHT
= 3
Use (ambient) light at the target, e.g. leds or surrounding
lights.
.. py:attribute:: SOUND
= 4
Use (ambient) sound at the target, e.g. beeps.
.. py:attribute:: SPOT_LIGHT
= 5
Use a spot(-light) that points to the target.
.. container:: message-rst-hri-highlighttarget-modality-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/HighlightTarget.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/HighlightTarget.proto
:lines: 20-48
:language: protobuf
:emphasize-lines: 6-6,11-11,17-17,22-22,27-27
.. _message-rst-hri-legslist:
Message LegsList
----------------
.. container:: message-rst-hri-legslist-multi
.. container:: message-rst-hri-legslist-documentation
.. py:class:: rst.hri.LegsList
A collection of .
.. codeauthor:: Phillip Luecking
.. py:attribute:: list
:type: array of :py:class:`rst.hri.Legs`
Empty collection of legs is allowed.
The order of leg objects is not significant.
.. container:: message-rst-hri-legslist-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/LegsList.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/LegsList.proto
:lines: 14-22
:language: protobuf
:emphasize-lines: 7-7
.. _message-rst-hri-legs:
Message Legs
------------
.. container:: message-rst-hri-legs-multi
.. container:: message-rst-hri-legs-documentation
.. py:class:: rst.hri.Legs
A representation of a pair of legs (or a single leg).
The :py:attr:`pair ` field indicates whether this object has been merged
with another object of the same type into a representation of a
pair of legs.
The values stored in :py:attr:`angle ` and :py:attr:`distance ` are as
perceived from the robot.
.. codeauthor:: Phillip Luecking
.. py:attribute:: angle
:type: :py:class:`FLOAT32`
**Unit**: radian
The angle of the leg(s) as perceived by the robot's sensor.
.. py:attribute:: angle_variance
:type: :py:class:`FLOAT32`
**Unit**: radian
The variance of the :py:attr:`angle `.
.. py:attribute:: distance
:type: :py:class:`FLOAT32`
**Unit**: meter
The distance between the robot's sensor and the leg(s).
.. py:attribute:: distance_variance
:type: :py:class:`FLOAT32`
**Unit**: meter
The variance of the :py:attr:`distance `.
.. py:attribute:: pair
:type: :py:class:`BOOL`
Indicates whether or not this object consists of two merged Legs.
If true, merging is no longer possible.
.. container:: message-rst-hri-legs-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/Legs.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/Legs.proto
:lines: 19-52
:language: protobuf
:emphasize-lines: 7-7,13-13,19-19,25-25,32-32
.. _message-rst-hri-body:
Message Body
------------
.. container:: message-rst-hri-body-multi
.. container:: message-rst-hri-body-documentation
.. py:class:: rst.hri.Body
Geometric properties of a person's body (e.g. in a person-tracking
system).
.. codeauthor:: Leon Ziegler
@create_collection(BodyList)
.. py:attribute:: location
:type: :py:class:`rst.geometry.Translation`
Location of the person in 3D space.
The location describes the average of the two feet positions on
the ground.
.. py:attribute:: orientation
:type: :py:class:`rst.geometry.Rotation`
Orientation of the person.
The provided rotation should be passed as a relative rotation
from the coordinate frame defined by the orientation
description. The axes of the corresponding coordinate system
are defined as follows:
* x axis: points in the direction of the person's walking direction
* y axis: points to the person's right side
* z axis: points downwards (along the person's body axis)
.. py:attribute:: shape
:type: :py:class:`rst.geometry.BoundingBox3DFloat`
Bounding box around the whole body.
This is not necessarily aligned to location and
orientation. Mainly used for tracking purposes.
.. container:: message-rst-hri-body-source
:download:`Download this file /home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/Body.proto>`
.. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/hri/Body.proto
:lines: 18-50
:language: protobuf
:emphasize-lines: 9-9,23-23,31-31