If not done so already, please could all users set up 2FA on your accounts at the soonest opportunity https://docs.gitlab.com/ee/user/profile/account/two_factor_authentication.html

Commit 6a9437be authored by Séverin Lemaignan's avatar Séverin Lemaignan
Browse files

Converted to ROS2

parent fcd99b1d
Pipeline #4 failed with stages
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.5)
project(hri_msgs)
find_package(catkin REQUIRED COMPONENTS
message_generation
actionlib_msgs
geometry_msgs
# add here the other types your message depends on
)
# Default to C99
if(NOT CMAKE_C_STANDARD)
set(CMAKE_C_STANDARD 99)
endif()
add_message_files(
DIRECTORY msg
FILES
PointOfInterest2D.msg
FacialLandmarks.msg
Person.msg
Group.msg
ActionUnits.msg
FacesActionUnits.msg
# list here the .msg files
)
# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()
add_action_files(
DIRECTORY action
FILES
# list here the .action files
)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# find dependencies
find_package(ament_cmake REQUIRED)
find_package(rosidl_default_generators REQUIRED)
find_package(builtin_interfaces REQUIRED)
find_package(std_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
add_service_files(
DIRECTORY srv
FILES
SelectHumans.srv
UpdateHuman.srv
# list here the .srv files
set(msg_files
"msg/PointOfInterest2D.msg"
"msg/FacesLandmarks.msg"
"msg/FacialLandmarksStamped.msg"
"msg/Person.msg"
"msg/Group.msg"
"msg/ActionUnits.msg"
"msg/FacesActionUnits.msg"
)
generate_messages(
DEPENDENCIES
actionlib_msgs
geometry_msgs
# repeat here the dependencies
#file(GLOB msg_files ${PROJECT_SOURCE_DIR}/msg)
set(srv_files
"srv/SelectHumans.srv"
"srv/UpdateHuman.srv"
)
catkin_package(
CATKIN_DEPENDS
actionlib_msgs
geometry_msgs
# repeat here the dependencies
rosidl_generate_interfaces(${PROJECT_NAME}
${msg_files}
${srv_files}
DEPENDENCIES geometry_msgs std_msgs builtin_interfaces
ADD_LINTER_TESTS
)
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION include/${PROJECT_NAME}
)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
# the following line skips the linter which checks for copyrights
# remove the line when a copyright and license is present in all source files
set(ament_cmake_copyright_FOUND TRUE)
# the following line skips cpplint (only works in a git repo)
# remove the line when this package is a git repo
set(ament_cmake_cpplint_FOUND TRUE)
ament_lint_auto_find_test_dependencies()
endif()
ament_export_dependencies(rosidl_default_runtime)
ament_export_include_directories(include)
ament_package()
hri_msgs
========
This repository contains a set of ROS messages (ie, interfaces) of importance
This repository contains a set of ROS2 messages (ie, interfaces) of importance
for human-robot interaction applications.
The higher-level definitions and rationale can be found in [the ros4hri sister
......
......@@ -2,96 +2,96 @@
#
# It follows the naming convention of the Facial Action Coding System (FACS) developed by Ekman.
Header header
std_msgs/Header header
# List taken from https://en.wikipedia.org/wiki/Facial_Action_Coding_System
# Main codes
uint8 NEUTRAL_FACE=0 # Neutral face
uint8 INNER_BROW_RAISER=1 # Inner brow raiser
uint8 OUTER_BROW_RAISER=2 # Outer brow raiser
uint8 BROW_LOWERER=4 # Brow lowerer
uint8 UPPER_LID_RAISER=5 # Upper lid raiser
uint8 CHEEK_RAISER=6 # Cheek raiser
uint8 LID_TIGHTENER=7 # Lid tightener
uint8 LIPS_TOWARD_EACH_OTHER=8 # Lips toward each other
uint8 NOSE_WRINKLER=9 # Nose wrinkler
uint8 UPPER_LIP_RAISER=10 # Upper lip raiser
uint8 NASOLABIAL_DEEPENER=11 # Nasolabial deepener
uint8 LIP_CORNER_PULLER=12 # Lip corner puller
uint8 SHARP_LIP_PULLER=13 # Sharp lip puller
uint8 DIMPLER=14 # Dimpler
uint8 LIP_CORNER_DEPRESSOR=15 # Lip corner depressor
uint8 LOWER_LIP_DEPRESSOR=16 # Lower lip depressor
uint8 CHIN_RAISER=17 # Chin raiser
uint8 LIP_PUCKER=18 # Lip pucker
uint8 TONGUE_SHOW=19 # Tongue show
uint8 LIP_STRETCHER=20 # Lip stretcher
uint8 NECK_TIGHTENER=21 # Neck tightener
uint8 LIP_FUNNELER=22 # Lip funneler
uint8 LIP_TIGHTENER=23 # Lip tightener
uint8 LIP_PRESSOR=24 # Lip pressor
uint8 LIPS_PART=25 # Lips part
uint8 JAW_DROP=26 # Jaw drop
uint8 MOUTH_STRETCH=27 # Mouth stretch
uint8 LIP_SUCK=28 # Lip suck
byte NEUTRAL_FACE=0 # Neutral face
byte INNER_BROW_RAISER=1 # Inner brow raiser
byte OUTER_BROW_RAISER=2 # Outer brow raiser
byte BROW_LOWERER=4 # Brow lowerer
byte UPPER_LID_RAISER=5 # Upper lid raiser
byte CHEEK_RAISER=6 # Cheek raiser
byte LID_TIGHTENER=7 # Lid tightener
byte LIPS_TOWARD_EACH_OTHER=8 # Lips toward each other
byte NOSE_WRINKLER=9 # Nose wrinkler
byte UPPER_LIP_RAISER=10 # Upper lip raiser
byte NASOLABIAL_DEEPENER=11 # Nasolabial deepener
byte LIP_CORNER_PULLER=12 # Lip corner puller
byte SHARP_LIP_PULLER=13 # Sharp lip puller
byte DIMPLER=14 # Dimpler
byte LIP_CORNER_DEPRESSOR=15 # Lip corner depressor
byte LOWER_LIP_DEPRESSOR=16 # Lower lip depressor
byte CHIN_RAISER=17 # Chin raiser
byte LIP_PUCKER=18 # Lip pucker
byte TONGUE_SHOW=19 # Tongue show
byte LIP_STRETCHER=20 # Lip stretcher
byte NECK_TIGHTENER=21 # Neck tightener
byte LIP_FUNNELER=22 # Lip funneler
byte LIP_TIGHTENER=23 # Lip tightener
byte LIP_PRESSOR=24 # Lip pressor
byte LIPS_PART=25 # Lips part
byte JAW_DROP=26 # Jaw drop
byte MOUTH_STRETCH=27 # Mouth stretch
byte LIP_SUCK=28 # Lip suck
# Head movement codes
uint8 HEAD_TURN_LEFT=51 # Head turn left
uint8 HEAD_TURN_RIGHT=52 # Head turn right
uint8 HEAD_UP=53 # Head up
uint8 HEAD_DOWN=54 # Head down
uint8 HEAD_TILT_LEFT=55 # Head tilt left
uint8 HEAD_TILT_RIGHT=56 # Head tilt right
uint8 HEAD_FORWARD=57 # Head forward
uint8 HEAD_BACK=58 # Head back
byte HEAD_TURN_LEFT=51 # Head turn left
byte HEAD_TURN_RIGHT=52 # Head turn right
byte HEAD_UP=53 # Head up
byte HEAD_DOWN=54 # Head down
byte HEAD_TILT_LEFT=55 # Head tilt left
byte HEAD_TILT_RIGHT=56 # Head tilt right
byte HEAD_FORWARD=57 # Head forward
byte HEAD_BACK=58 # Head back
# Eye movement codes
uint8 EYES_TURN_LEFT=61 # Eyes turn left
uint8 EYES_TURN_RIGHT=62 # Eyes turn right
uint8 EYES_UP=63 # Eyes up
uint8 EYES_DOWN=64 # Eyes down
uint8 WALLEYE=65 # Walleye
uint8 CROSS_EYE=66 # Cross-eye
uint8 EYES_POSITIONED_TO_LOOK_AT_OTHER_PERSON=69 # Eyes positioned to look at other person : The 4, 5, or 7, alone or in combination, occurs while the eye position is fixed on the other person in the conversation.
byte EYES_TURN_LEFT=61 # Eyes turn left
byte EYES_TURN_RIGHT=62 # Eyes turn right
byte EYES_UP=63 # Eyes up
byte EYES_DOWN=64 # Eyes down
byte WALLEYE=65 # Walleye
byte CROSS_EYE=66 # Cross-eye
byte EYES_POSITIONED_TO_LOOK_AT_OTHER_PERSON=69 # Eyes positioned to look at other person : The 4, 5, or 7, alone or in combination, occurs while the eye position is fixed on the other person in the conversation.
# Visibility codes
uint8 BROWS_AND_FOREHEAD_NOT_VISIBLE=70 # Brows and forehead not visible
uint8 EYES_NOT_VISIBLE=71 # Eyes not visible
uint8 LOWER_FACE_NOT_VISIBLE=72 # Lower face not visible
uint8 ENTIRE_FACE_NOT_VISIBLE=73 # Entire face not visible
uint8 UNSOCIABLE=74 # Unsociable
byte BROWS_AND_FOREHEAD_NOT_VISIBLE=70 # Brows and forehead not visible
byte EYES_NOT_VISIBLE=71 # Eyes not visible
byte LOWER_FACE_NOT_VISIBLE=72 # Lower face not visible
byte ENTIRE_FACE_NOT_VISIBLE=73 # Entire face not visible
byte UNSOCIABLE=74 # Unsociable
# Gross behavior codes
uint8 JAW_THRUST=29 # Jaw thrust
uint8 JAW_SIDEWAYS=30 # Jaw sideways
uint8 JAW_CLENCHER=31 # Jaw clencher : masseter
uint8 LIP_BITE=32 # [Lip] bite
uint8 CHEEK_BLOW=33 # [Cheek] blow
uint8 CHEEK_PUFF=34 # [Cheek] puff
uint8 CHEEK_SUCK=35 # [Cheek] suck
uint8 TONGUE_BULGE=36 # [Tongue] bulge
uint8 LIP_WIPE=37 # Lip wipe
uint8 NOSTRIL_DILATOR=38 # Nostril dilator : nasalis (pars alaris)
uint8 NOSTRIL_COMPRESSOR=39 # Nostril compressor : nasalis (pars transversa) and depressor septi nasi
uint8 SNIFF=40 # Sniff
uint8 LID_DROOP=41 # Lid droop : Levator palpebrae superioris (relaxation)
uint8 SLIT=42 # Slit : Orbicularis oculi muscle
uint8 EYES_CLOSED=43 # Eyes closed : Relaxation of Levator palpebrae superioris
uint8 SQUINT=44 # Squint : Corrugator supercilii and orbicularis oculi muscle
uint8 BLINK=45 # Blink : Relaxation of Levator palpebrae superioris; contraction of orbicularis oculi (pars palpebralis)
uint8 WINK=46 # Wink : orbicularis oculi
uint8 SPEECH=50 # Speech
uint8 SWALLOW=80 # Swallow
uint8 CHEWING=81 # Chewing
uint8 SHOULDER_SHRUG=82 # Shoulder shrug
uint8 HEAD_SHAKE_BACK_AND_FORTH=84 # Head shake back and forth
uint8 HEAD_NOD_UP_AND_DOWN=85 # Head nod up and down
uint8 FLASH=91 # Flash
uint8 PARTIAL_FLASH=92 # Partial flash
uint8 SHIVER_TREMBLE=97 # Shiver/tremble
uint8 FAST_UP_DOWN_LOOK=98 # Fast up-down look
byte JAW_THRUST=29 # Jaw thrust
byte JAW_SIDEWAYS=30 # Jaw sideways
byte JAW_CLENCHER=31 # Jaw clencher : masseter
byte LIP_BITE=32 # [Lip] bite
byte CHEEK_BLOW=33 # [Cheek] blow
byte CHEEK_PUFF=34 # [Cheek] puff
byte CHEEK_SUCK=35 # [Cheek] suck
byte TONGUE_BULGE=36 # [Tongue] bulge
byte LIP_WIPE=37 # Lip wipe
byte NOSTRIL_DILATOR=38 # Nostril dilator : nasalis (pars alaris)
byte NOSTRIL_COMPRESSOR=39 # Nostril compressor : nasalis (pars transversa) and depressor septi nasi
byte SNIFF=40 # Sniff
byte LID_DROOP=41 # Lid droop : Levator palpebrae superioris (relaxation)
byte SLIT=42 # Slit : Orbicularis oculi muscle
byte EYES_CLOSED=43 # Eyes closed : Relaxation of Levator palpebrae superioris
byte SQUINT=44 # Squint : Corrugator supercilii and orbicularis oculi muscle
byte BLINK=45 # Blink : Relaxation of Levator palpebrae superioris; contraction of orbicularis oculi (pars palpebralis)
byte WINK=46 # Wink : orbicularis oculi
byte SPEECH=50 # Speech
byte SWALLOW=80 # Swallow
byte CHEWING=81 # Chewing
byte SHOULDER_SHRUG=82 # Shoulder shrug
byte HEAD_SHAKE_BACK_AND_FORTH=84 # Head shake back and forth
byte HEAD_NOD_UP_AND_DOWN=85 # Head nod up and down
byte FLASH=91 # Flash
byte PARTIAL_FLASH=92 # Partial flash
byte SHIVER_TREMBLE=97 # Shiver/tremble
byte FAST_UP_DOWN_LOOK=98 # Fast up-down look
float32[] intensity # an array of 99 floats, one per AU. Use the constant defined above to access one specific AU.
float32[] confidence # an array of 99 floats, one per AU. Use the constant defined above to access one specific AU.
float32[99] intensity # an array of 99 floats, one per AU. Use the constant defined above to access one specific AU.
float32[99] confidence # an array of 99 floats, one per AU. Use the constant defined above to access one specific AU.
Header header # Header timestamp should be acquisition time of the original image
std_msgs/Header header # Header timestamp should be acquisition time of the original image
# Header frame_id is the *TF frame of the face*, *not* of the camera. The TF frame include the face's unique identifier.
# The face should be exactly contained in the ROI, with no particular margins
......
......@@ -2,7 +2,7 @@
# (0, 0) is at top-left corner of image
# Features' coordinates are expressed in pixels from the top-left corner.
Header header # Header timestamp should be acquisition time of the original image
std_msgs/Header header # Header timestamp should be acquisition time of the original image
# Header frame_id is the *TF frame of the face*, *not* of the camera. The TF frame include the face's unique identifier.
# Facial landmarks naming
......
......@@ -19,7 +19,7 @@ string body_id
# face recognition ID. This ID might or might not be set.
string person_id
time last_seen # the special value 0 means 'never seen'.
builtin_interfaces/Time last_seen # the special value 0 means 'never seen'.
# This value encodes the confidence the robot has abouti knowing the person's location.
# - location_known_confidence = 0 means that the robot has no knowledge of the
......
<?xml version="1.0"?>
<package>
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>hri_msgs</name>
<version>0.1.0</version>
<description>Messages, services and action definitions useful for Human-Robot Interaction</description>
<description>ROS2 message definitions for Human-Robot Interaction applications</description>
<maintainer email="severin.lemaignan@brl.ac.uk">Bristol Robotics Lab; Séverin Lemaignan</maintainer>
<license>MIT</license>
<maintainer email="severin.lemaignan@brl.ac.uk">Séverin Lemaignan</maintainer>
<author email="severin.lemaignan@brl.ac.uk">Séverin Lemaignan</author>
<buildtool_depend>ament_cmake</buildtool_depend>
<buildtool_depend>rosidl_default_generators</buildtool_depend>
<license>BSD</license>
<depend>rosidl_default_generators</depend>
<depend>common_interfaces</depend>
<buildtool_depend>catkin</buildtool_depend>
<build_depend>message_generation</build_depend>
<build_depend>actionlib_msgs</build_depend>
<build_depend>geometry_msgs</build_depend>
<run_depend>actionlib_msgs</run_depend>
<run_depend>geometry_msgs</run_depend>
<exec_depend>rosidl_default_runtime</exec_depend>
<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
<member_of_group>rosidl_interface_packages</member_of_group>
<export>
<build_type>ament_cmake</build_type>
</export>
</package>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment