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) project(hri_msgs)
find_package(catkin REQUIRED COMPONENTS # Default to C99
message_generation if(NOT CMAKE_C_STANDARD)
actionlib_msgs set(CMAKE_C_STANDARD 99)
geometry_msgs endif()
# add here the other types your message depends on
)
add_message_files( # Default to C++14
DIRECTORY msg if(NOT CMAKE_CXX_STANDARD)
FILES set(CMAKE_CXX_STANDARD 14)
PointOfInterest2D.msg endif()
FacialLandmarks.msg
Person.msg
Group.msg
ActionUnits.msg
FacesActionUnits.msg
# list here the .msg files
)
add_action_files( if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
DIRECTORY action add_compile_options(-Wall -Wextra -Wpedantic)
FILES endif()
# list here the .action files
) # 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( set(msg_files
DIRECTORY srv "msg/PointOfInterest2D.msg"
FILES "msg/FacesLandmarks.msg"
SelectHumans.srv "msg/FacialLandmarksStamped.msg"
UpdateHuman.srv "msg/Person.msg"
# list here the .srv files "msg/Group.msg"
"msg/ActionUnits.msg"
"msg/FacesActionUnits.msg"
) )
generate_messages( #file(GLOB msg_files ${PROJECT_SOURCE_DIR}/msg)
DEPENDENCIES
actionlib_msgs set(srv_files
geometry_msgs "srv/SelectHumans.srv"
# repeat here the dependencies "srv/UpdateHuman.srv"
) )
catkin_package( rosidl_generate_interfaces(${PROJECT_NAME}
CATKIN_DEPENDS ${msg_files}
actionlib_msgs ${srv_files}
geometry_msgs DEPENDENCIES geometry_msgs std_msgs builtin_interfaces
# repeat here the dependencies 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 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. for human-robot interaction applications.
The higher-level definitions and rationale can be found in [the ros4hri sister The higher-level definitions and rationale can be found in [the ros4hri sister
......
...@@ -2,96 +2,96 @@ ...@@ -2,96 +2,96 @@
# #
# It follows the naming convention of the Facial Action Coding System (FACS) developed by Ekman. # 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 # List taken from https://en.wikipedia.org/wiki/Facial_Action_Coding_System
# Main codes # Main codes
uint8 NEUTRAL_FACE=0 # Neutral face byte NEUTRAL_FACE=0 # Neutral face
uint8 INNER_BROW_RAISER=1 # Inner brow raiser byte INNER_BROW_RAISER=1 # Inner brow raiser
uint8 OUTER_BROW_RAISER=2 # Outer brow raiser byte OUTER_BROW_RAISER=2 # Outer brow raiser
uint8 BROW_LOWERER=4 # Brow lowerer byte BROW_LOWERER=4 # Brow lowerer
uint8 UPPER_LID_RAISER=5 # Upper lid raiser byte UPPER_LID_RAISER=5 # Upper lid raiser
uint8 CHEEK_RAISER=6 # Cheek raiser byte CHEEK_RAISER=6 # Cheek raiser
uint8 LID_TIGHTENER=7 # Lid tightener byte LID_TIGHTENER=7 # Lid tightener
uint8 LIPS_TOWARD_EACH_OTHER=8 # Lips toward each other byte LIPS_TOWARD_EACH_OTHER=8 # Lips toward each other
uint8 NOSE_WRINKLER=9 # Nose wrinkler byte NOSE_WRINKLER=9 # Nose wrinkler
uint8 UPPER_LIP_RAISER=10 # Upper lip raiser byte UPPER_LIP_RAISER=10 # Upper lip raiser
uint8 NASOLABIAL_DEEPENER=11 # Nasolabial deepener byte NASOLABIAL_DEEPENER=11 # Nasolabial deepener
uint8 LIP_CORNER_PULLER=12 # Lip corner puller byte LIP_CORNER_PULLER=12 # Lip corner puller
uint8 SHARP_LIP_PULLER=13 # Sharp lip puller byte SHARP_LIP_PULLER=13 # Sharp lip puller
uint8 DIMPLER=14 # Dimpler byte DIMPLER=14 # Dimpler
uint8 LIP_CORNER_DEPRESSOR=15 # Lip corner depressor byte LIP_CORNER_DEPRESSOR=15 # Lip corner depressor
uint8 LOWER_LIP_DEPRESSOR=16 # Lower lip depressor byte LOWER_LIP_DEPRESSOR=16 # Lower lip depressor
uint8 CHIN_RAISER=17 # Chin raiser byte CHIN_RAISER=17 # Chin raiser
uint8 LIP_PUCKER=18 # Lip pucker byte LIP_PUCKER=18 # Lip pucker
uint8 TONGUE_SHOW=19 # Tongue show byte TONGUE_SHOW=19 # Tongue show
uint8 LIP_STRETCHER=20 # Lip stretcher byte LIP_STRETCHER=20 # Lip stretcher
uint8 NECK_TIGHTENER=21 # Neck tightener byte NECK_TIGHTENER=21 # Neck tightener
uint8 LIP_FUNNELER=22 # Lip funneler byte LIP_FUNNELER=22 # Lip funneler
uint8 LIP_TIGHTENER=23 # Lip tightener byte LIP_TIGHTENER=23 # Lip tightener
uint8 LIP_PRESSOR=24 # Lip pressor byte LIP_PRESSOR=24 # Lip pressor
uint8 LIPS_PART=25 # Lips part byte LIPS_PART=25 # Lips part
uint8 JAW_DROP=26 # Jaw drop byte JAW_DROP=26 # Jaw drop
uint8 MOUTH_STRETCH=27 # Mouth stretch byte MOUTH_STRETCH=27 # Mouth stretch
uint8 LIP_SUCK=28 # Lip suck byte LIP_SUCK=28 # Lip suck
# Head movement codes # Head movement codes
uint8 HEAD_TURN_LEFT=51 # Head turn left byte HEAD_TURN_LEFT=51 # Head turn left
uint8 HEAD_TURN_RIGHT=52 # Head turn right byte HEAD_TURN_RIGHT=52 # Head turn right
uint8 HEAD_UP=53 # Head up byte HEAD_UP=53 # Head up
uint8 HEAD_DOWN=54 # Head down byte HEAD_DOWN=54 # Head down
uint8 HEAD_TILT_LEFT=55 # Head tilt left byte HEAD_TILT_LEFT=55 # Head tilt left
uint8 HEAD_TILT_RIGHT=56 # Head tilt right byte HEAD_TILT_RIGHT=56 # Head tilt right
uint8 HEAD_FORWARD=57 # Head forward byte HEAD_FORWARD=57 # Head forward
uint8 HEAD_BACK=58 # Head back byte HEAD_BACK=58 # Head back
# Eye movement codes # Eye movement codes
uint8 EYES_TURN_LEFT=61 # Eyes turn left byte EYES_TURN_LEFT=61 # Eyes turn left
uint8 EYES_TURN_RIGHT=62 # Eyes turn right byte EYES_TURN_RIGHT=62 # Eyes turn right
uint8 EYES_UP=63 # Eyes up byte EYES_UP=63 # Eyes up
uint8 EYES_DOWN=64 # Eyes down byte EYES_DOWN=64 # Eyes down
uint8 WALLEYE=65 # Walleye byte WALLEYE=65 # Walleye
uint8 CROSS_EYE=66 # Cross-eye byte 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_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 # Visibility codes
uint8 BROWS_AND_FOREHEAD_NOT_VISIBLE=70 # Brows and forehead not visible byte BROWS_AND_FOREHEAD_NOT_VISIBLE=70 # Brows and forehead not visible
uint8 EYES_NOT_VISIBLE=71 # Eyes not visible byte EYES_NOT_VISIBLE=71 # Eyes not visible
uint8 LOWER_FACE_NOT_VISIBLE=72 # Lower face not visible byte LOWER_FACE_NOT_VISIBLE=72 # Lower face not visible
uint8 ENTIRE_FACE_NOT_VISIBLE=73 # Entire face not visible byte ENTIRE_FACE_NOT_VISIBLE=73 # Entire face not visible
uint8 UNSOCIABLE=74 # Unsociable byte UNSOCIABLE=74 # Unsociable
# Gross behavior codes # Gross behavior codes
uint8 JAW_THRUST=29 # Jaw thrust byte JAW_THRUST=29 # Jaw thrust
uint8 JAW_SIDEWAYS=30 # Jaw sideways byte JAW_SIDEWAYS=30 # Jaw sideways
uint8 JAW_CLENCHER=31 # Jaw clencher : masseter byte JAW_CLENCHER=31 # Jaw clencher : masseter
uint8 LIP_BITE=32 # [Lip] bite byte LIP_BITE=32 # [Lip] bite
uint8 CHEEK_BLOW=33 # [Cheek] blow byte CHEEK_BLOW=33 # [Cheek] blow
uint8 CHEEK_PUFF=34 # [Cheek] puff byte CHEEK_PUFF=34 # [Cheek] puff
uint8 CHEEK_SUCK=35 # [Cheek] suck byte CHEEK_SUCK=35 # [Cheek] suck
uint8 TONGUE_BULGE=36 # [Tongue] bulge byte TONGUE_BULGE=36 # [Tongue] bulge
uint8 LIP_WIPE=37 # Lip wipe byte LIP_WIPE=37 # Lip wipe
uint8 NOSTRIL_DILATOR=38 # Nostril dilator : nasalis (pars alaris) byte NOSTRIL_DILATOR=38 # Nostril dilator : nasalis (pars alaris)
uint8 NOSTRIL_COMPRESSOR=39 # Nostril compressor : nasalis (pars transversa) and depressor septi nasi byte NOSTRIL_COMPRESSOR=39 # Nostril compressor : nasalis (pars transversa) and depressor septi nasi
uint8 SNIFF=40 # Sniff byte SNIFF=40 # Sniff
uint8 LID_DROOP=41 # Lid droop : Levator palpebrae superioris (relaxation) byte LID_DROOP=41 # Lid droop : Levator palpebrae superioris (relaxation)
uint8 SLIT=42 # Slit : Orbicularis oculi muscle byte SLIT=42 # Slit : Orbicularis oculi muscle
uint8 EYES_CLOSED=43 # Eyes closed : Relaxation of Levator palpebrae superioris byte EYES_CLOSED=43 # Eyes closed : Relaxation of Levator palpebrae superioris
uint8 SQUINT=44 # Squint : Corrugator supercilii and orbicularis oculi muscle byte SQUINT=44 # Squint : Corrugator supercilii and orbicularis oculi muscle
uint8 BLINK=45 # Blink : Relaxation of Levator palpebrae superioris; contraction of orbicularis oculi (pars palpebralis) byte BLINK=45 # Blink : Relaxation of Levator palpebrae superioris; contraction of orbicularis oculi (pars palpebralis)
uint8 WINK=46 # Wink : orbicularis oculi byte WINK=46 # Wink : orbicularis oculi
uint8 SPEECH=50 # Speech byte SPEECH=50 # Speech
uint8 SWALLOW=80 # Swallow byte SWALLOW=80 # Swallow
uint8 CHEWING=81 # Chewing byte CHEWING=81 # Chewing
uint8 SHOULDER_SHRUG=82 # Shoulder shrug byte SHOULDER_SHRUG=82 # Shoulder shrug
uint8 HEAD_SHAKE_BACK_AND_FORTH=84 # Head shake back and forth byte HEAD_SHAKE_BACK_AND_FORTH=84 # Head shake back and forth
uint8 HEAD_NOD_UP_AND_DOWN=85 # Head nod up and down byte HEAD_NOD_UP_AND_DOWN=85 # Head nod up and down
uint8 FLASH=91 # Flash byte FLASH=91 # Flash
uint8 PARTIAL_FLASH=92 # Partial flash byte PARTIAL_FLASH=92 # Partial flash
uint8 SHIVER_TREMBLE=97 # Shiver/tremble byte SHIVER_TREMBLE=97 # Shiver/tremble
uint8 FAST_UP_DOWN_LOOK=98 # Fast up-down look 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[99] 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] 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. # 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 # The face should be exactly contained in the ROI, with no particular margins
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# (0, 0) is at top-left corner of image # (0, 0) is at top-left corner of image
# Features' coordinates are expressed in pixels from the top-left corner. # 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. # 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 # Facial landmarks naming
......
...@@ -19,7 +19,7 @@ string body_id ...@@ -19,7 +19,7 @@ string body_id
# face recognition ID. This ID might or might not be set. # face recognition ID. This ID might or might not be set.
string person_id 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. # 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 # - location_known_confidence = 0 means that the robot has no knowledge of the
......
<?xml version="1.0"?> <?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> <name>hri_msgs</name>
<version>0.1.0</version> <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> <buildtool_depend>ament_cmake</buildtool_depend>
<author email="severin.lemaignan@brl.ac.uk">Séverin Lemaignan</author> <buildtool_depend>rosidl_default_generators</buildtool_depend>
<license>BSD</license> <depend>rosidl_default_generators</depend>
<depend>common_interfaces</depend>
<buildtool_depend>catkin</buildtool_depend> <exec_depend>rosidl_default_runtime</exec_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>
<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> </package>
Supports Markdown
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