diff --git a/spring-mock-ws/.gitignore b/spring-mock-ws/.gitignore deleted file mode 100644 index 55ac8f6d4a684d4c3ae4c1694c3ade76cd5a96e3..0000000000000000000000000000000000000000 --- a/spring-mock-ws/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -build/ -devel/ -logs/ -.catkin_tools/ diff --git a/spring-mock-ws/README.md b/spring-mock-ws/README.md deleted file mode 100644 index 0768b7893c2b99a136536415d7462be94eb7c9a7..0000000000000000000000000000000000000000 --- a/spring-mock-ws/README.md +++ /dev/null @@ -1,13 +0,0 @@ -SPRING mock ROS nodes -===================== - -This directory is a ROS workspace. It can be build with eg `catkin build`. - -All the nodes in this directory have been automatically generated by -[Boxology](https://github.com/severin-lemaignan/boxology) using the [SPRING -reference architecture](../architecture.json). - -**The ROS nodes do not perform any particular action. Their only purpose is to -provide a complete mock SPRING architecture.** - - diff --git a/spring-mock-ws/fetch_released_nodes.sh b/spring-mock-ws/fetch_released_nodes.sh index 8b99af9eeda8131f04bf43c1b562dfddb697244d..9cc7a898911d7ccc7530005deb4e81fe4b1a9a75 100644 --- a/spring-mock-ws/fetch_released_nodes.sh +++ b/spring-mock-ws/fetch_released_nodes.sh @@ -28,5 +28,5 @@ then else echo "Cloning respeaker_ros (ROS node: respeaker_ros), branch: master to src/ ..." - git clone --depth 1 --branch master git@gitlab.inria.fr:spring/wp7_ari/respeaker_ros.git src/respeaker_ros; + git clone --depth 1 --branch master git@gitlab.inria.fr:spring/wp7_ari/respeaker_ros.git BIN:respeaker_multichan_node.py src/respeaker_ros; fi diff --git a/spring-mock-ws/src/activityreco/src/main.cpp b/spring-mock-ws/src/activityreco/src/main.cpp index a6ea5919430fa54ad7fb41da1f18be1eba9ae6a6..c887305b7c243b477866e9d90cd8e5e78dafce1e 100644 --- a/spring-mock-ws/src/activityreco/src/main.cpp +++ b/spring-mock-ws/src/activityreco/src/main.cpp @@ -29,10 +29,10 @@ class ActivityReco { public: ActivityReco(ros::NodeHandle* nh) { - // ATTENTION: this topic is not defined in the architecture design - tfbodies_sub_ = nh->subscribe("tfbodies", 1, &ActivityReco::tfbodiesCallback, this); // ATTENTION: this topic is not defined in the architecture design gazedirection_sub_ = nh->subscribe("gazedirection", 1, &ActivityReco::gazedirectionCallback, this); + // ATTENTION: this topic is not defined in the architecture design + tfbodies_sub_ = nh->subscribe("tfbodies", 1, &ActivityReco::tfbodiesCallback, this); // ATTENTION: this topic is not defined in the architecture design output_pub_ = nh->advertise<std_msgs::Empty>("output", 1); @@ -41,17 +41,17 @@ class ActivityReco { ~ActivityReco() {} private: - void tfbodiesCallback(const std_msgs::Empty::ConstPtr& msg) + void gazedirectionCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("activityreco: received message: " << msg); } - void gazedirectionCallback(const std_msgs::Empty::ConstPtr& msg) + void tfbodiesCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("activityreco: received message: " << msg); } - ros::Subscriber tfbodies_sub_; ros::Subscriber gazedirection_sub_; + ros::Subscriber tfbodies_sub_; ros::Publisher output_pub_; diff --git a/spring-mock-ws/src/asr/package.xml b/spring-mock-ws/src/asr/package.xml index f9e396a2287904fef773701e03a9a9d8aa568f2e..c8ae774e48118e8bc537ca22285ff15b112d630e 100644 --- a/spring-mock-ws/src/asr/package.xml +++ b/spring-mock-ws/src/asr/package.xml @@ -1,8 +1,8 @@ <?xml version="1.0"?> <package format="3"> <name>asr</name> - <version>1.0.0</version> - <description>ASR (BIU) . Auto-generated by Boxology 1.3.2.</description> + <version>0.0.1</version> + <description>ASR (BIU) REPO [TBC]: https://gitlab.inria.fr/spring/wp5_spoken_conversations/asr. Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> diff --git a/spring-mock-ws/src/asr/src/main.cpp b/spring-mock-ws/src/asr/src/main.cpp index 7b7c334afdbbe0eb24d03eb326ddc4c249321cb4..7ffee0301f887ceb8cded2542428dd4de668e8fb 100644 --- a/spring-mock-ws/src/asr/src/main.cpp +++ b/spring-mock-ws/src/asr/src/main.cpp @@ -24,28 +24,29 @@ #include "ros/ros.h" #include "std_msgs/String.h" #include "audio_common_msgs/AudioData.h" -#include "std_msgs/String.h" +#include "std_msgs/Empty.h" class Asr { public: Asr(ros::NodeHandle* nh) { - voice_audio_sub_ = nh->subscribe("voice_audio", 1, &Asr::voice_audioCallback, this); + postprocess_audio_streams_sub_ = nh->subscribe("postprocess_audio_streams", 1, &Asr::postprocess_audio_streamsCallback, this); - voice_speech_pub_ = nh->advertise<std_msgs::String>("voice_speech", 1); + // ATTENTION: this topic is not defined in the architecture design + audiospeech_streamsarrayofstd_msgsstring_pub_ = nh->advertise<std_msgs::Empty>("audiospeech_streamsarrayofstd_msgsstring", 1); } ~Asr() {} private: - void voice_audioCallback(const audio_common_msgs::AudioData::ConstPtr& msg) + void postprocess_audio_streamsCallback(const audio_common_msgs::AudioData::ConstPtr& msg) { ROS_INFO_STREAM("asr: received message: " << msg); } - ros::Subscriber voice_audio_sub_; + ros::Subscriber postprocess_audio_streams_sub_; - ros::Publisher voice_speech_pub_; + ros::Publisher audiospeech_streamsarrayofstd_msgsstring_pub_; }; diff --git a/spring-mock-ws/src/body2dpose/package.xml b/spring-mock-ws/src/body2dpose/package.xml index 20924c2eb99af0147776d668468e0e48f4bdbc2f..9ca181347cdfcf1ed258e64860b9ed59ecc662b0 100644 --- a/spring-mock-ws/src/body2dpose/package.xml +++ b/spring-mock-ws/src/body2dpose/package.xml @@ -1,8 +1,8 @@ <?xml version="1.0"?> <package format="3"> <name>body2dpose</name> - <version>1.0.0</version> - <description>Body 2D pose (UNITN) . Auto-generated by Boxology 1.3.2.</description> + <version>0.0.1</version> + <description>Body 2D pose (UNITN) MOCK: Body 2D pose [openpose] is.... Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> diff --git a/spring-mock-ws/src/body2dpose/src/main.cpp b/spring-mock-ws/src/body2dpose/src/main.cpp index 6fc66562f639491ed50b6aab5608b307e0418dd9..1328cf6412aa2cbf97b5a0345d711a9c50649569 100644 --- a/spring-mock-ws/src/body2dpose/src/main.cpp +++ b/spring-mock-ws/src/body2dpose/src/main.cpp @@ -24,15 +24,15 @@ #include "ros/ros.h" #include "std_msgs/String.h" #include "hri_msgs/Skeleton2D.h" -#include "sensor_msgs/Image.h" #include "hri_msgs/RegionOfInterestStamped.h" +#include "sensor_msgs/Image.h" class Body2dPose { public: Body2dPose(ros::NodeHandle* nh) { - image_raw_sub_ = nh->subscribe("image_raw", 1, &Body2dPose::image_rawCallback, this); body_roi_sub_ = nh->subscribe("body_roi", 1, &Body2dPose::body_roiCallback, this); + image_raw_sub_ = nh->subscribe("image_raw", 1, &Body2dPose::image_rawCallback, this); body_skeleton2d_pub_ = nh->advertise<hri_msgs::Skeleton2D>("body_skeleton2d", 1); } @@ -40,17 +40,17 @@ class Body2dPose { ~Body2dPose() {} private: - void image_rawCallback(const sensor_msgs::Image::ConstPtr& msg) + void body_roiCallback(const hri_msgs::RegionOfInterestStamped::ConstPtr& msg) { ROS_INFO_STREAM("body2dpose: received message: " << msg); } - void body_roiCallback(const hri_msgs::RegionOfInterestStamped::ConstPtr& msg) + void image_rawCallback(const sensor_msgs::Image::ConstPtr& msg) { ROS_INFO_STREAM("body2dpose: received message: " << msg); } - ros::Subscriber image_raw_sub_; ros::Subscriber body_roi_sub_; + ros::Subscriber image_raw_sub_; ros::Publisher body_skeleton2d_pub_; diff --git a/spring-mock-ws/src/dialoguemanager/CMakeLists.txt b/spring-mock-ws/src/dialoguearbiter/CMakeLists.txt similarity index 97% rename from spring-mock-ws/src/dialoguemanager/CMakeLists.txt rename to spring-mock-ws/src/dialoguearbiter/CMakeLists.txt index 8942669d231215e9346f39d2473d725aa75f17cd..26e47783216c5e59a18d6c3eb9fc4c7ffc8d07ef 100644 --- a/spring-mock-ws/src/dialoguemanager/CMakeLists.txt +++ b/spring-mock-ws/src/dialoguearbiter/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0.2) -project(dialoguemanager) +project(dialoguearbiter) ## Compile as C++11, supported in ROS Kinetic and newer add_compile_options(-std=c++11) @@ -103,7 +103,7 @@ find_package(catkin REQUIRED COMPONENTS ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( # INCLUDE_DIRS include -# LIBRARIES dialoguemanager +# LIBRARIES dialoguearbiter # CATKIN_DEPENDS roscpp # DEPENDS system_lib ) @@ -119,7 +119,7 @@ include_directories(SYSTEM ${catkin_INCLUDE_DIRS}) ## Declare a C++ library # add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/dialoguemanager.cpp +# src/${PROJECT_NAME}/dialoguearbiter.cpp # ) ## Add cmake target dependencies of the library @@ -194,7 +194,7 @@ install(TARGETS ${PROJECT_NAME}_node ############# ## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_dialoguemanager.cpp) +# catkin_add_gtest(${PROJECT_NAME}-test test/test_dialoguearbiter.cpp) # if(TARGET ${PROJECT_NAME}-test) # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) # endif() diff --git a/spring-mock-ws/src/highlevelplanner/package.xml b/spring-mock-ws/src/dialoguearbiter/package.xml similarity index 89% rename from spring-mock-ws/src/highlevelplanner/package.xml rename to spring-mock-ws/src/dialoguearbiter/package.xml index 5f2dc00d6c414e7e93230300132ff85e7264b925..64d730516bc66f13f36603882789565b56c53099 100644 --- a/spring-mock-ws/src/highlevelplanner/package.xml +++ b/spring-mock-ws/src/dialoguearbiter/package.xml @@ -1,8 +1,8 @@ <?xml version="1.0"?> <package format="3"> - <name>highlevelplanner</name> - <version>1.0.0</version> - <description>High-level planner (HWU) . Auto-generated by Boxology 1.3.2.</description> + <name>dialoguearbiter</name> + <version>spring_dev</version> + <description>dialogue arbiter (HWU) REPO: https://gitlab.inria.fr/spring/wp5_spoken_conversations/dialogue/-/tree/spring-dev/dialogue_arbiter. Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> diff --git a/spring-mock-ws/src/dialoguemanager/src/main.cpp b/spring-mock-ws/src/dialoguearbiter/src/main.cpp similarity index 82% rename from spring-mock-ws/src/dialoguemanager/src/main.cpp rename to spring-mock-ws/src/dialoguearbiter/src/main.cpp index 392614fd96db7e411f22b2a08817224b9f41478a..1673c1d4f604ad7e6e160d49c63ab86438b94d13 100644 --- a/spring-mock-ws/src/dialoguemanager/src/main.cpp +++ b/spring-mock-ws/src/dialoguearbiter/src/main.cpp @@ -23,16 +23,16 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "std_msgs/String.h" #include "std_msgs/Empty.h" +#include "std_msgs/String.h" -class DialogueManager { +class DialogueArbiter { public: - DialogueManager(ros::NodeHandle* nh) { + DialogueArbiter(ros::NodeHandle* nh) { - voice_speech_sub_ = nh->subscribe("voice_speech", 1, &DialogueManager::voice_speechCallback, this); // ATTENTION: this topic is not defined in the architecture design - interactionmessages_sub_ = nh->subscribe("interactionmessages", 1, &DialogueManager::interactionmessagesCallback, this); + interactionmessages_sub_ = nh->subscribe("interactionmessages", 1, &DialogueArbiter::interactionmessagesCallback, this); + voice_speech_sub_ = nh->subscribe("voice_speech", 1, &DialogueArbiter::voice_speechCallback, this); // ATTENTION: this topic is not defined in the architecture design dialoguestate_pub_ = nh->advertise<std_msgs::Empty>("dialoguestate", 1); @@ -40,20 +40,20 @@ class DialogueManager { nextutterance_pub_ = nh->advertise<std_msgs::Empty>("nextutterance", 1); } - ~DialogueManager() {} + ~DialogueArbiter() {} private: - void voice_speechCallback(const std_msgs::String::ConstPtr& msg) + void interactionmessagesCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("dialoguemanager: received message: " << msg); + ROS_INFO_STREAM("dialoguearbiter: received message: " << msg); } - void interactionmessagesCallback(const std_msgs::Empty::ConstPtr& msg) + void voice_speechCallback(const std_msgs::String::ConstPtr& msg) { - ROS_INFO_STREAM("dialoguemanager: received message: " << msg); + ROS_INFO_STREAM("dialoguearbiter: received message: " << msg); } - ros::Subscriber voice_speech_sub_; ros::Subscriber interactionmessages_sub_; + ros::Subscriber voice_speech_sub_; ros::Publisher dialoguestate_pub_; ros::Publisher nextutterance_pub_; @@ -61,16 +61,16 @@ class DialogueManager { }; int main(int argc, char** argv) { - ros::init(argc, argv, "dialoguemanager"); + ros::init(argc, argv, "dialoguearbiter"); // Initialize node parameters from launch file or command line. // Use a private node handle so that multiple instances of the node can be // run simultaneously while using different parameters. ros::NodeHandle private_node_handle_("~"); - auto dialoguemanager = DialogueManager(&private_node_handle_); + auto dialoguearbiter = DialogueArbiter(&private_node_handle_); - ROS_INFO("Node dialoguemanager launched and ready."); + ROS_INFO("Node dialoguearbiter launched and ready."); ros::spin(); return 0; } diff --git a/spring-mock-ws/src/fformation/src/main.cpp b/spring-mock-ws/src/fformation/src/main.cpp index daccaeac55032e76eab31c66960e73fea007feba..aa77cd683d7a4ef554da939a5f86f79da1183ed8 100644 --- a/spring-mock-ws/src/fformation/src/main.cpp +++ b/spring-mock-ws/src/fformation/src/main.cpp @@ -23,8 +23,8 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "tf/transform_listener.h" #include "hri_msgs/GazesStamped.h" +#include "tf/transform_listener.h" #include "hri_msgs/GroupsStamped.h" class Fformation { diff --git a/spring-mock-ws/src/soundlocalisation/CMakeLists.txt b/spring-mock-ws/src/fisheye/CMakeLists.txt similarity index 97% rename from spring-mock-ws/src/soundlocalisation/CMakeLists.txt rename to spring-mock-ws/src/fisheye/CMakeLists.txt index 95763aee542e6baefa4176e96eb57048421781d8..0b28e3ace3b1d8ee2cf384fa41733bcb0a6a30f5 100644 --- a/spring-mock-ws/src/soundlocalisation/CMakeLists.txt +++ b/spring-mock-ws/src/fisheye/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0.2) -project(soundlocalisation) +project(fisheye) ## Compile as C++11, supported in ROS Kinetic and newer add_compile_options(-std=c++11) @@ -9,8 +9,7 @@ add_compile_options(-std=c++11) ## is used, also find other catkin packages find_package(catkin REQUIRED COMPONENTS roscpp - audio_common_msgs - tf + sensor_msgs ) ## System dependencies are found with CMake's conventions @@ -104,7 +103,7 @@ find_package(catkin REQUIRED COMPONENTS ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( # INCLUDE_DIRS include -# LIBRARIES soundlocalisation +# LIBRARIES fisheye # CATKIN_DEPENDS roscpp # DEPENDS system_lib ) @@ -120,7 +119,7 @@ include_directories(SYSTEM ${catkin_INCLUDE_DIRS}) ## Declare a C++ library # add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/soundlocalisation.cpp +# src/${PROJECT_NAME}/fisheye.cpp # ) ## Add cmake target dependencies of the library @@ -195,7 +194,7 @@ install(TARGETS ${PROJECT_NAME}_node ############# ## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_soundlocalisation.cpp) +# catkin_add_gtest(${PROJECT_NAME}-test test/test_fisheye.cpp) # if(TARGET ${PROJECT_NAME}-test) # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) # endif() diff --git a/spring-mock-ws/src/dialoguemanager/package.xml b/spring-mock-ws/src/fisheye/package.xml similarity index 93% rename from spring-mock-ws/src/dialoguemanager/package.xml rename to spring-mock-ws/src/fisheye/package.xml index 077b2bbd6ead9e7043b771aeb279ae09d29e481f..091b9039a79de4f273292f2c153e1cbce496cd69 100644 --- a/spring-mock-ws/src/dialoguemanager/package.xml +++ b/spring-mock-ws/src/fisheye/package.xml @@ -1,8 +1,8 @@ <?xml version="1.0"?> <package format="3"> - <name>dialoguemanager</name> + <name>fisheye</name> <version>1.0.0</version> - <description>Dialogue manager (HWU) . Auto-generated by Boxology 1.3.2.</description> + <description>Fisheye (PAL) . Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> @@ -50,7 +50,7 @@ <!-- <doc_depend>doxygen</doc_depend> --> <buildtool_depend>catkin</buildtool_depend> <exec_depend>roscpp</exec_depend> - <depend>std_msgs</depend> + <depend>sensor_msgs</depend> <export> diff --git a/spring-mock-ws/src/soundlocalisation/src/main.cpp b/spring-mock-ws/src/fisheye/src/main.cpp similarity index 69% rename from spring-mock-ws/src/soundlocalisation/src/main.cpp rename to spring-mock-ws/src/fisheye/src/main.cpp index d8234e2098049707c39e9d93ba7a3bd3894471bc..66e7515071ccd26fa6465b1f0f07bb1265764fc5 100644 --- a/spring-mock-ws/src/soundlocalisation/src/main.cpp +++ b/spring-mock-ws/src/fisheye/src/main.cpp @@ -23,41 +23,36 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "tf/transform_broadcaster.h" -#include "audio_common_msgs/AudioData.h" +#include "sensor_msgs/Image.h" -class SoundLocalisation { +class Fisheye { public: - SoundLocalisation(ros::NodeHandle* nh) { + Fisheye(ros::NodeHandle* nh) { - voice_audio_sub_ = nh->subscribe("voice_audio", 1, &SoundLocalisation::voice_audioCallback, this); + image_raw_pub_ = nh->advertise<sensor_msgs::Image>("image_raw", 1); } - ~SoundLocalisation() {} + ~Fisheye() {} private: - void voice_audioCallback(const audio_common_msgs::AudioData::ConstPtr& msg) - { - ROS_INFO_STREAM("soundlocalisation: received message: " << msg); - } - ros::Subscriber voice_audio_sub_; + ros::Publisher image_raw_pub_; }; int main(int argc, char** argv) { - ros::init(argc, argv, "soundlocalisation"); + ros::init(argc, argv, "fisheye"); // Initialize node parameters from launch file or command line. // Use a private node handle so that multiple instances of the node can be // run simultaneously while using different parameters. ros::NodeHandle private_node_handle_("~"); - auto soundlocalisation = SoundLocalisation(&private_node_handle_); + auto fisheye = Fisheye(&private_node_handle_); - ROS_INFO("Node soundlocalisation launched and ready."); + ROS_INFO("Node fisheye launched and ready."); ros::spin(); return 0; } diff --git a/spring-mock-ws/src/hri_fullbody/src/main.cpp b/spring-mock-ws/src/hri_fullbody/src/main.cpp index 49e35265f4e913dcfc05c3726be9581990e9fd13..62bcf515ad66b123267f52c5435753b5a1c037f4 100644 --- a/spring-mock-ws/src/hri_fullbody/src/main.cpp +++ b/spring-mock-ws/src/hri_fullbody/src/main.cpp @@ -23,8 +23,8 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "tf/transform_broadcaster.h" #include "hri_msgs/Skeleton2D.h" +#include "tf/transform_broadcaster.h" #include "sensor_msgs/Image.h" #include "hri_msgs/RegionOfInterestStamped.h" diff --git a/spring-mock-ws/src/interaction_manager/CMakeLists.txt b/spring-mock-ws/src/interaction_manager/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..4afe6494cda1b8e049b69bad9b35e033a4d3fd5b --- /dev/null +++ b/spring-mock-ws/src/interaction_manager/CMakeLists.txt @@ -0,0 +1,203 @@ +cmake_minimum_required(VERSION 3.0.2) +project(interaction_manager) + +## Compile as C++11, supported in ROS Kinetic and newer +add_compile_options(-std=c++11) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + roscpp + std_msgs +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend tag for "message_generation" +## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependency has been pulled in +## but can be declared for certainty nonetheless: +## * add a exec_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder +# add_message_files( +# FILES +# Message1.msg +# Message2.msg +# ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +################################################ +## Declare ROS dynamic reconfigure parameters ## +################################################ + +## To declare and build dynamic reconfigure parameters within this +## package, follow these steps: +## * In the file package.xml: +## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" +## * In this file (CMakeLists.txt): +## * add "dynamic_reconfigure" to +## find_package(catkin REQUIRED COMPONENTS ...) +## * uncomment the "generate_dynamic_reconfigure_options" section below +## and list every .cfg file to be processed + +## Generate dynamic reconfigure parameters in the 'cfg' folder +# generate_dynamic_reconfigure_options( +# cfg/DynReconf1.cfg +# cfg/DynReconf2.cfg +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if your package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES interaction_manager +# CATKIN_DEPENDS roscpp +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories(include) +include_directories(SYSTEM ${catkin_INCLUDE_DIRS}) + +## Declare a C++ library +# add_library(${PROJECT_NAME} +# src/${PROJECT_NAME}/interaction_manager.cpp +# ) + +## Add cmake target dependencies of the library +## as an example, code may need to be generated before libraries +## either from message generation or dynamic reconfigure +# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Declare a C++ executable +## With catkin_make all packages are built within a single CMake context +## The recommended prefix ensures that target names across packages don't collide +add_executable(${PROJECT_NAME}_node src/main.cpp) + +## Rename C++ executable without prefix +## The above recommended prefix causes long target names, the following renames the +## target back to the shorter version for ease of user use +## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" +set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") + +## Add cmake target dependencies of the executable +## same as for the library above +add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Specify libraries to link a library or executable target against +target_link_libraries(${PROJECT_NAME}_node + ${catkin_LIBRARIES} +) + +############# +## Install ## +############# + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# catkin_install_python(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html +install(TARGETS ${PROJECT_NAME}_node + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +## Mark libraries for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html +# install(TARGETS ${PROJECT_NAME} +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_interaction_manager.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/spring-mock-ws/src/interactionmanager/package.xml b/spring-mock-ws/src/interaction_manager/package.xml similarity index 89% rename from spring-mock-ws/src/interactionmanager/package.xml rename to spring-mock-ws/src/interaction_manager/package.xml index d885bb0006448af99273ba5912143455068cf736..ca13d5110ebba4bf5fa3890c1f5af27c4ee6d1d8 100644 --- a/spring-mock-ws/src/interactionmanager/package.xml +++ b/spring-mock-ws/src/interaction_manager/package.xml @@ -1,8 +1,8 @@ <?xml version="1.0"?> <package format="3"> - <name>interactionmanager</name> - <version>1.0.0</version> - <description>Interaction manager (HWU) . Auto-generated by Boxology 1.3.2.</description> + <name>interaction_manager</name> + <version>spring_dev</version> + <description>interaction_manager (HWU) REPO: https://gitlab.inria.fr/spring/wp5_spoken_conversations/interaction/-/tree/spring_dev/interaction_manager. Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> diff --git a/spring-mock-ws/src/interactionmanager/src/main.cpp b/spring-mock-ws/src/interaction_manager/src/main.cpp similarity index 77% rename from spring-mock-ws/src/interactionmanager/src/main.cpp rename to spring-mock-ws/src/interaction_manager/src/main.cpp index 6469cbe7eb93195e903b8efa96903c67a959c9cf..0f655179bd9789fd876424138ba171d506da4d0d 100644 --- a/spring-mock-ws/src/interactionmanager/src/main.cpp +++ b/spring-mock-ws/src/interaction_manager/src/main.cpp @@ -25,23 +25,25 @@ #include "std_msgs/String.h" #include "std_msgs/Empty.h" -class InteractionManager { +class Interaction_manager { public: - InteractionManager(ros::NodeHandle* nh) { + Interaction_manager(ros::NodeHandle* nh) { // ATTENTION: this topic is not defined in the architecture design - semanticscenedescription_sub_ = nh->subscribe("semanticscenedescription", 1, &InteractionManager::semanticscenedescriptionCallback, this); + hppersonid_sub_ = nh->subscribe("hppersonid", 1, &Interaction_manager::hppersonidCallback, this); // ATTENTION: this topic is not defined in the architecture design - input_sub_ = nh->subscribe("input", 1, &InteractionManager::inputCallback, this); + semanticscenedescription_sub_ = nh->subscribe("semanticscenedescription", 1, &Interaction_manager::semanticscenedescriptionCallback, this); // ATTENTION: this topic is not defined in the architecture design - dialoguestate_sub_ = nh->subscribe("dialoguestate", 1, &InteractionManager::dialoguestateCallback, this); + input_sub_ = nh->subscribe("input", 1, &Interaction_manager::inputCallback, this); // ATTENTION: this topic is not defined in the architecture design - robotstate_sub_ = nh->subscribe("robotstate", 1, &InteractionManager::robotstateCallback, this); + dialoguestate_sub_ = nh->subscribe("dialoguestate", 1, &Interaction_manager::dialoguestateCallback, this); // ATTENTION: this topic is not defined in the architecture design - hppersonid_sub_ = nh->subscribe("hppersonid", 1, &InteractionManager::hppersonidCallback, this); + robotstate_sub_ = nh->subscribe("robotstate", 1, &Interaction_manager::robotstateCallback, this); // ATTENTION: this topic is not defined in the architecture design - tf_sub_ = nh->subscribe("tf", 1, &InteractionManager::tfCallback, this); + tf_sub_ = nh->subscribe("tf", 1, &Interaction_manager::tfCallback, this); + // ATTENTION: this topic is not defined in the architecture design + gestures_pub_ = nh->advertise<std_msgs::Empty>("gestures", 1); // ATTENTION: this topic is not defined in the architecture design whotolookat_pub_ = nh->advertise<std_msgs::Empty>("whotolookat", 1); // ATTENTION: this topic is not defined in the architecture design @@ -50,64 +52,62 @@ class InteractionManager { navgoals_pub_ = nh->advertise<std_msgs::Empty>("navgoals", 1); // ATTENTION: this topic is not defined in the architecture design activepersonid_pub_ = nh->advertise<std_msgs::Empty>("activepersonid", 1); - // ATTENTION: this topic is not defined in the architecture design - gestures_pub_ = nh->advertise<std_msgs::Empty>("gestures", 1); } - ~InteractionManager() {} + ~Interaction_manager() {} private: + void hppersonidCallback(const std_msgs::Empty::ConstPtr& msg) + { + ROS_INFO_STREAM("interaction_manager: received message: " << msg); + } void semanticscenedescriptionCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("interactionmanager: received message: " << msg); + ROS_INFO_STREAM("interaction_manager: received message: " << msg); } void inputCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("interactionmanager: received message: " << msg); + ROS_INFO_STREAM("interaction_manager: received message: " << msg); } void dialoguestateCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("interactionmanager: received message: " << msg); + ROS_INFO_STREAM("interaction_manager: received message: " << msg); } void robotstateCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("interactionmanager: received message: " << msg); - } - void hppersonidCallback(const std_msgs::Empty::ConstPtr& msg) - { - ROS_INFO_STREAM("interactionmanager: received message: " << msg); + ROS_INFO_STREAM("interaction_manager: received message: " << msg); } void tfCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("interactionmanager: received message: " << msg); + ROS_INFO_STREAM("interaction_manager: received message: " << msg); } + ros::Subscriber hppersonid_sub_; ros::Subscriber semanticscenedescription_sub_; ros::Subscriber input_sub_; ros::Subscriber dialoguestate_sub_; ros::Subscriber robotstate_sub_; - ros::Subscriber hppersonid_sub_; ros::Subscriber tf_sub_; + ros::Publisher gestures_pub_; ros::Publisher whotolookat_pub_; ros::Publisher verbalcommand_pub_; ros::Publisher navgoals_pub_; ros::Publisher activepersonid_pub_; - ros::Publisher gestures_pub_; }; int main(int argc, char** argv) { - ros::init(argc, argv, "interactionmanager"); + ros::init(argc, argv, "interaction_manager"); // Initialize node parameters from launch file or command line. // Use a private node handle so that multiple instances of the node can be // run simultaneously while using different parameters. ros::NodeHandle private_node_handle_("~"); - auto interactionmanager = InteractionManager(&private_node_handle_); + auto interaction_manager = Interaction_manager(&private_node_handle_); - ROS_INFO("Node interactionmanager launched and ready."); + ROS_INFO("Node interaction_manager launched and ready."); ros::spin(); return 0; } diff --git a/spring-mock-ws/src/maskdetection/src/main.cpp b/spring-mock-ws/src/maskdetection/src/main.cpp index 0e28d35a074cdcd4788b29211b34ea58f65b02c7..54730ffcfc7c1e19d9d5fd92602fd7a08c4820cb 100644 --- a/spring-mock-ws/src/maskdetection/src/main.cpp +++ b/spring-mock-ws/src/maskdetection/src/main.cpp @@ -23,8 +23,8 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "std_msgs/Bool.h" #include "hri_msgs/RegionOfInterestStamped.h" +#include "std_msgs/Bool.h" class MaskDetection { public: diff --git a/spring-mock-ws/src/multipeoplebodytracker/package.xml b/spring-mock-ws/src/multipeoplebodytracker/package.xml index b1ecc3d8791a05af3efc629954740006a65b3196..8a49f92849f0cfe98cce4961282f62393af3269b 100644 --- a/spring-mock-ws/src/multipeoplebodytracker/package.xml +++ b/spring-mock-ws/src/multipeoplebodytracker/package.xml @@ -1,8 +1,10 @@ <?xml version="1.0"?> <package format="3"> <name>multipeoplebodytracker</name> - <version>1.0.0</version> - <description>Multi-people body tracker (INRIA) . Auto-generated by Boxology 1.3.2.</description> + <version>devel</version> + <description>Multi-people body tracker (INRIA) REPO (Docker): https://gitlab.inria.fr/spring/wp3_av_perception/docker-tracking + +This code is primarily developed at INRIA by Luis Gomez Camara.. Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> diff --git a/spring-mock-ws/src/multipeoplebodytracker/src/main.cpp b/spring-mock-ws/src/multipeoplebodytracker/src/main.cpp index e26eceac029f0f1c47f8d5abb91eb91f9ada0393..02a902b968a52808d1cc12fc3d3f8eb1d2d45624 100644 --- a/spring-mock-ws/src/multipeoplebodytracker/src/main.cpp +++ b/spring-mock-ws/src/multipeoplebodytracker/src/main.cpp @@ -23,8 +23,8 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "hri_msgs/RegionOfInterestStamped.h" #include "sensor_msgs/Image.h" +#include "hri_msgs/RegionOfInterestStamped.h" class MultipeopleBodyTracker { public: diff --git a/spring-mock-ws/src/nonverbalbehaviours/src/main.cpp b/spring-mock-ws/src/nonverbalbehaviours/src/main.cpp index abab5666947a5d944cafd92a5d8473f40bf22fd7..879c79ebcc48bf22bb58e47be75207ba3ddde8f7 100644 --- a/spring-mock-ws/src/nonverbalbehaviours/src/main.cpp +++ b/spring-mock-ws/src/nonverbalbehaviours/src/main.cpp @@ -24,15 +24,15 @@ #include "ros/ros.h" #include "std_msgs/String.h" #include "hri_msgs/Expression.h" -#include "audio_common_msgs/AudioData.h" #include "hri_msgs/RegionOfInterestStamped.h" +#include "audio_common_msgs/AudioData.h" class NonverbalBehaviours { public: NonverbalBehaviours(ros::NodeHandle* nh) { - voice_audio_sub_ = nh->subscribe("voice_audio", 1, &NonverbalBehaviours::voice_audioCallback, this); face_roi_sub_ = nh->subscribe("face_roi", 1, &NonverbalBehaviours::face_roiCallback, this); + voice_audio_sub_ = nh->subscribe("voice_audio", 1, &NonverbalBehaviours::voice_audioCallback, this); face_expression_pub_ = nh->advertise<hri_msgs::Expression>("face_expression", 1); } @@ -40,17 +40,17 @@ class NonverbalBehaviours { ~NonverbalBehaviours() {} private: - void voice_audioCallback(const audio_common_msgs::AudioData::ConstPtr& msg) + void face_roiCallback(const hri_msgs::RegionOfInterestStamped::ConstPtr& msg) { ROS_INFO_STREAM("nonverbalbehaviours: received message: " << msg); } - void face_roiCallback(const hri_msgs::RegionOfInterestStamped::ConstPtr& msg) + void voice_audioCallback(const audio_common_msgs::AudioData::ConstPtr& msg) { ROS_INFO_STREAM("nonverbalbehaviours: received message: " << msg); } - ros::Subscriber voice_audio_sub_; ros::Subscriber face_roi_sub_; + ros::Subscriber voice_audio_sub_; ros::Publisher face_expression_pub_; diff --git a/spring-mock-ws/src/objectdetectionidentificationlocalisation/src/main.cpp b/spring-mock-ws/src/objectdetectionidentificationlocalisation/src/main.cpp index dfcb497ecfe8bc4fb58d3ea3a32f8077cd38cbac..f48bff11eff4ee88eacd9ac38b008a8d9aa346e0 100644 --- a/spring-mock-ws/src/objectdetectionidentificationlocalisation/src/main.cpp +++ b/spring-mock-ws/src/objectdetectionidentificationlocalisation/src/main.cpp @@ -23,8 +23,8 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "sensor_msgs/Image.h" #include "spring_msgs/DetectedObjectArray.h" +#include "sensor_msgs/Image.h" class ObjectDetectionidentificationlocalisation { public: diff --git a/spring-mock-ws/src/occupancymap/src/main.cpp b/spring-mock-ws/src/occupancymap/src/main.cpp index a94ca666064677eec70ba6af2bf7320ab503ca6d..28588ae7690c07be992192290fed533b3687d535 100644 --- a/spring-mock-ws/src/occupancymap/src/main.cpp +++ b/spring-mock-ws/src/occupancymap/src/main.cpp @@ -30,10 +30,10 @@ class OccupancyMap { public: OccupancyMap(ros::NodeHandle* nh) { - // ATTENTION: this topic is not defined in the architecture design - dense3dmap_sub_ = nh->subscribe("dense3dmap", 1, &OccupancyMap::dense3dmapCallback, this); // ATTENTION: this topic is not defined in the architecture design tfbodies_sub_ = nh->subscribe("tfbodies", 1, &OccupancyMap::tfbodiesCallback, this); + // ATTENTION: this topic is not defined in the architecture design + dense3dmap_sub_ = nh->subscribe("dense3dmap", 1, &OccupancyMap::dense3dmapCallback, this); map_refined_pub_ = nh->advertise<nav_msgs::OccupancyGrid>("map_refined", 1); } @@ -41,17 +41,17 @@ class OccupancyMap { ~OccupancyMap() {} private: - void dense3dmapCallback(const std_msgs::Empty::ConstPtr& msg) + void tfbodiesCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("occupancymap: received message: " << msg); } - void tfbodiesCallback(const std_msgs::Empty::ConstPtr& msg) + void dense3dmapCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("occupancymap: received message: " << msg); } - ros::Subscriber dense3dmap_sub_; ros::Subscriber tfbodies_sub_; + ros::Subscriber dense3dmap_sub_; ros::Publisher map_refined_pub_; diff --git a/spring-mock-ws/src/people3dtracker/src/main.cpp b/spring-mock-ws/src/people3dtracker/src/main.cpp index c804d2aa65a0465389d1b3ab9041d86672242e9e..4718fea8f3107abaadb295f4cbe75ee6823376d3 100644 --- a/spring-mock-ws/src/people3dtracker/src/main.cpp +++ b/spring-mock-ws/src/people3dtracker/src/main.cpp @@ -31,18 +31,18 @@ class People3dTracker { People3dTracker(ros::NodeHandle* nh) { // ATTENTION: this topic is not defined in the architecture design - groundplane_sub_ = nh->subscribe("groundplane", 1, &People3dTracker::groundplaneCallback, this); + feetposition_sub_ = nh->subscribe("feetposition", 1, &People3dTracker::feetpositionCallback, this); // ATTENTION: this topic is not defined in the architecture design peoplerois_sub_ = nh->subscribe("peoplerois", 1, &People3dTracker::peopleroisCallback, this); // ATTENTION: this topic is not defined in the architecture design - feetposition_sub_ = nh->subscribe("feetposition", 1, &People3dTracker::feetpositionCallback, this); + groundplane_sub_ = nh->subscribe("groundplane", 1, &People3dTracker::groundplaneCallback, this); } ~People3dTracker() {} private: - void groundplaneCallback(const std_msgs::Empty::ConstPtr& msg) + void feetpositionCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("people3dtracker: received message: " << msg); } @@ -50,14 +50,14 @@ class People3dTracker { { ROS_INFO_STREAM("people3dtracker: received message: " << msg); } - void feetpositionCallback(const std_msgs::Empty::ConstPtr& msg) + void groundplaneCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("people3dtracker: received message: " << msg); } - ros::Subscriber groundplane_sub_; - ros::Subscriber peoplerois_sub_; ros::Subscriber feetposition_sub_; + ros::Subscriber peoplerois_sub_; + ros::Subscriber groundplane_sub_; }; diff --git a/spring-mock-ws/src/personmanager/package.xml b/spring-mock-ws/src/personmanager/package.xml index 7a2d7e26131d99f8d135fc9d54a75f4de2d1d0d6..fc0112aad53fd6c35eb560d17a36f5869829ce0c 100644 --- a/spring-mock-ws/src/personmanager/package.xml +++ b/spring-mock-ws/src/personmanager/package.xml @@ -1,8 +1,8 @@ <?xml version="1.0"?> <package format="3"> <name>personmanager</name> - <version>1.0.0</version> - <description>Person manager (INRIA) . Auto-generated by Boxology 1.3.2.</description> + <version>0.0.1</version> + <description>Person manager (INRIA) PAL to write an initial temporary version, simply forwarding detected faces as persons.. Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> diff --git a/spring-mock-ws/src/personmanager/src/main.cpp b/spring-mock-ws/src/personmanager/src/main.cpp index fefda8a6201aa03ca0f00da17859bc7450f6d37d..c66368787923a0dcdbc8aba8b4ae441d35fb9436 100644 --- a/spring-mock-ws/src/personmanager/src/main.cpp +++ b/spring-mock-ws/src/personmanager/src/main.cpp @@ -23,9 +23,9 @@ #include "ros/ros.h" #include "std_msgs/String.h" +#include "std_msgs/String.h" #include "tf/transform_broadcaster.h" #include "std_msgs/Empty.h" -#include "std_msgs/String.h" #include "hri_msgs/AgeAndGender.h" class PersonManager { @@ -40,10 +40,10 @@ class PersonManager { candidate_matchshri_msgsidsmatch_sub_ = nh->subscribe("candidate_matchshri_msgsidsmatch", 1, &PersonManager::candidate_matchshri_msgsidsmatchCallback, this); face_demographics_sub_ = nh->subscribe("face_demographics", 1, &PersonManager::face_demographicsCallback, this); - person_body_id_pub_ = nh->advertise<std_msgs::String>("person_body_id", 1); - person_voice_id_pub_ = nh->advertise<std_msgs::String>("person_voice_id", 1); person_face_id_pub_ = nh->advertise<std_msgs::String>("person_face_id", 1); + person_voice_id_pub_ = nh->advertise<std_msgs::String>("person_voice_id", 1); person_demographics_pub_ = nh->advertise<hri_msgs::AgeAndGender>("person_demographics", 1); + body_id_pub_ = nh->advertise<std_msgs::String>("body_id", 1); } ~PersonManager() {} @@ -71,10 +71,10 @@ class PersonManager { ros::Subscriber candidate_matchshri_msgsidsmatch_sub_; ros::Subscriber face_demographics_sub_; - ros::Publisher person_body_id_pub_; - ros::Publisher person_voice_id_pub_; ros::Publisher person_face_id_pub_; + ros::Publisher person_voice_id_pub_; ros::Publisher person_demographics_pub_; + ros::Publisher body_id_pub_; }; diff --git a/spring-mock-ws/src/personreidentification/src/main.cpp b/spring-mock-ws/src/personreidentification/src/main.cpp index df23823119c373661fde6497ba00126188e2e89a..bad8058fcf218b304a183d2f3dd24300f6a1e0dd 100644 --- a/spring-mock-ws/src/personreidentification/src/main.cpp +++ b/spring-mock-ws/src/personreidentification/src/main.cpp @@ -23,8 +23,8 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "hri_msgs/RegionOfInterestStamped.h" #include "std_msgs/Empty.h" +#include "hri_msgs/RegionOfInterestStamped.h" class PersonReidentification { public: diff --git a/spring-mock-ws/src/highlevelplanner/CMakeLists.txt b/spring-mock-ws/src/plan_actions/CMakeLists.txt similarity index 97% rename from spring-mock-ws/src/highlevelplanner/CMakeLists.txt rename to spring-mock-ws/src/plan_actions/CMakeLists.txt index c3559f83fae3f24de5c3d504501a982894c10c59..2f2a0392c868275f7425574f937b51db52814e33 100644 --- a/spring-mock-ws/src/highlevelplanner/CMakeLists.txt +++ b/spring-mock-ws/src/plan_actions/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0.2) -project(highlevelplanner) +project(plan_actions) ## Compile as C++11, supported in ROS Kinetic and newer add_compile_options(-std=c++11) @@ -103,7 +103,7 @@ find_package(catkin REQUIRED COMPONENTS ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( # INCLUDE_DIRS include -# LIBRARIES highlevelplanner +# LIBRARIES plan_actions # CATKIN_DEPENDS roscpp # DEPENDS system_lib ) @@ -119,7 +119,7 @@ include_directories(SYSTEM ${catkin_INCLUDE_DIRS}) ## Declare a C++ library # add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/highlevelplanner.cpp +# src/${PROJECT_NAME}/plan_actions.cpp # ) ## Add cmake target dependencies of the library @@ -194,7 +194,7 @@ install(TARGETS ${PROJECT_NAME}_node ############# ## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_highlevelplanner.cpp) +# catkin_add_gtest(${PROJECT_NAME}-test test/test_plan_actions.cpp) # if(TARGET ${PROJECT_NAME}-test) # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) # endif() diff --git a/spring-mock-ws/src/robotnonverbalbehaviours/package.xml b/spring-mock-ws/src/plan_actions/package.xml similarity index 91% rename from spring-mock-ws/src/robotnonverbalbehaviours/package.xml rename to spring-mock-ws/src/plan_actions/package.xml index d7fb5948fc0e034ed7527ac92fc077f0e6de5893..3ec7ae7883defa741485fb6b747021ac84fefa49 100644 --- a/spring-mock-ws/src/robotnonverbalbehaviours/package.xml +++ b/spring-mock-ws/src/plan_actions/package.xml @@ -1,8 +1,8 @@ <?xml version="1.0"?> <package format="3"> - <name>robotnonverbalbehaviours</name> - <version>1.0.0</version> - <description>Robot non-verbal behaviours (INRIA) . Auto-generated by Boxology 1.3.2.</description> + <name>plan_actions</name> + <version>spring_dev</version> + <description>plan_actions (HWU) REPO: https://gitlab.inria.fr/spring/wp5_spoken_conversations/plan_actions. Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> @@ -50,7 +50,6 @@ <!-- <doc_depend>doxygen</doc_depend> --> <buildtool_depend>catkin</buildtool_depend> <exec_depend>roscpp</exec_depend> - <depend>hri_msgs</depend> <depend>std_msgs</depend> <export> diff --git a/spring-mock-ws/src/highlevelplanner/src/main.cpp b/spring-mock-ws/src/plan_actions/src/main.cpp similarity index 77% rename from spring-mock-ws/src/highlevelplanner/src/main.cpp rename to spring-mock-ws/src/plan_actions/src/main.cpp index 73702a87aa84405e9dd80fcb353fdefda4bf2647..42021e4207f6b30ef28fdf72508bea9e41e5f237 100644 --- a/spring-mock-ws/src/highlevelplanner/src/main.cpp +++ b/spring-mock-ws/src/plan_actions/src/main.cpp @@ -25,69 +25,69 @@ #include "std_msgs/String.h" #include "std_msgs/Empty.h" -class HighlevelPlanner { +class Plan_actions { public: - HighlevelPlanner(ros::NodeHandle* nh) { + Plan_actions(ros::NodeHandle* nh) { // ATTENTION: this topic is not defined in the architecture design - semanticscenedescription_sub_ = nh->subscribe("semanticscenedescription", 1, &HighlevelPlanner::semanticscenedescriptionCallback, this); + dialoguestate_sub_ = nh->subscribe("dialoguestate", 1, &Plan_actions::dialoguestateCallback, this); // ATTENTION: this topic is not defined in the architecture design - demographics_sub_ = nh->subscribe("demographics", 1, &HighlevelPlanner::demographicsCallback, this); + tfpersons_sub_ = nh->subscribe("tfpersons", 1, &Plan_actions::tfpersonsCallback, this); // ATTENTION: this topic is not defined in the architecture design - dialoguestate_sub_ = nh->subscribe("dialoguestate", 1, &HighlevelPlanner::dialoguestateCallback, this); + semanticscenedescription_sub_ = nh->subscribe("semanticscenedescription", 1, &Plan_actions::semanticscenedescriptionCallback, this); // ATTENTION: this topic is not defined in the architecture design - tfpersons_sub_ = nh->subscribe("tfpersons", 1, &HighlevelPlanner::tfpersonsCallback, this); + demographics_sub_ = nh->subscribe("demographics", 1, &Plan_actions::demographicsCallback, this); + // ATTENTION: this topic is not defined in the architecture design + interactionstate_pub_ = nh->advertise<std_msgs::Empty>("interactionstate", 1); // ATTENTION: this topic is not defined in the architecture design output_pub_ = nh->advertise<std_msgs::Empty>("output", 1); // ATTENTION: this topic is not defined in the architecture design navgoals_pub_ = nh->advertise<std_msgs::Empty>("navgoals", 1); - // ATTENTION: this topic is not defined in the architecture design - interactionstate_pub_ = nh->advertise<std_msgs::Empty>("interactionstate", 1); } - ~HighlevelPlanner() {} + ~Plan_actions() {} private: - void semanticscenedescriptionCallback(const std_msgs::Empty::ConstPtr& msg) + void dialoguestateCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("highlevelplanner: received message: " << msg); + ROS_INFO_STREAM("plan_actions: received message: " << msg); } - void demographicsCallback(const std_msgs::Empty::ConstPtr& msg) + void tfpersonsCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("highlevelplanner: received message: " << msg); + ROS_INFO_STREAM("plan_actions: received message: " << msg); } - void dialoguestateCallback(const std_msgs::Empty::ConstPtr& msg) + void semanticscenedescriptionCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("highlevelplanner: received message: " << msg); + ROS_INFO_STREAM("plan_actions: received message: " << msg); } - void tfpersonsCallback(const std_msgs::Empty::ConstPtr& msg) + void demographicsCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("highlevelplanner: received message: " << msg); + ROS_INFO_STREAM("plan_actions: received message: " << msg); } - ros::Subscriber semanticscenedescription_sub_; - ros::Subscriber demographics_sub_; ros::Subscriber dialoguestate_sub_; ros::Subscriber tfpersons_sub_; + ros::Subscriber semanticscenedescription_sub_; + ros::Subscriber demographics_sub_; + ros::Publisher interactionstate_pub_; ros::Publisher output_pub_; ros::Publisher navgoals_pub_; - ros::Publisher interactionstate_pub_; }; int main(int argc, char** argv) { - ros::init(argc, argv, "highlevelplanner"); + ros::init(argc, argv, "plan_actions"); // Initialize node parameters from launch file or command line. // Use a private node handle so that multiple instances of the node can be // run simultaneously while using different parameters. ros::NodeHandle private_node_handle_("~"); - auto highlevelplanner = HighlevelPlanner(&private_node_handle_); + auto plan_actions = Plan_actions(&private_node_handle_); - ROS_INFO("Node highlevelplanner launched and ready."); + ROS_INFO("Node plan_actions launched and ready."); ros::spin(); return 0; } diff --git a/spring-mock-ws/src/interactionmanager/CMakeLists.txt b/spring-mock-ws/src/robot_behavior/CMakeLists.txt similarity index 97% rename from spring-mock-ws/src/interactionmanager/CMakeLists.txt rename to spring-mock-ws/src/robot_behavior/CMakeLists.txt index 8ef9ffca195bd6a4747364eae8afb2e363a66e66..1b0eeedb62e7b73d35a500da971bcba420473361 100644 --- a/spring-mock-ws/src/interactionmanager/CMakeLists.txt +++ b/spring-mock-ws/src/robot_behavior/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0.2) -project(interactionmanager) +project(robot_behavior) ## Compile as C++11, supported in ROS Kinetic and newer add_compile_options(-std=c++11) @@ -9,6 +9,7 @@ add_compile_options(-std=c++11) ## is used, also find other catkin packages find_package(catkin REQUIRED COMPONENTS roscpp + hri_msgs std_msgs ) @@ -103,7 +104,7 @@ find_package(catkin REQUIRED COMPONENTS ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( # INCLUDE_DIRS include -# LIBRARIES interactionmanager +# LIBRARIES robot_behavior # CATKIN_DEPENDS roscpp # DEPENDS system_lib ) @@ -119,7 +120,7 @@ include_directories(SYSTEM ${catkin_INCLUDE_DIRS}) ## Declare a C++ library # add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/interactionmanager.cpp +# src/${PROJECT_NAME}/robot_behavior.cpp # ) ## Add cmake target dependencies of the library @@ -194,7 +195,7 @@ install(TARGETS ${PROJECT_NAME}_node ############# ## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_interactionmanager.cpp) +# catkin_add_gtest(${PROJECT_NAME}-test test/test_robot_behavior.cpp) # if(TARGET ${PROJECT_NAME}-test) # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) # endif() diff --git a/spring-mock-ws/src/robot_behavior/package.xml b/spring-mock-ws/src/robot_behavior/package.xml new file mode 100644 index 0000000000000000000000000000000000000000..bed077d9f0ad8c418b4041698468ccd5c9b0dd06 --- /dev/null +++ b/spring-mock-ws/src/robot_behavior/package.xml @@ -0,0 +1,61 @@ +<?xml version="1.0"?> +<package format="3"> + <name>robot_behavior</name> + <version>devel</version> + <description>robot_behavior (INRIA) REPO: https://gitlab.inria.fr/spring/wp6_robot_behavior/robot_behavior/-/tree/devel/src/robot_behavior + +The code is primarily developed at INRIA by Timothée Wintz.. Auto-generated by Boxology 1.3.2.</description> + + <!-- One maintainer tag required, multiple allowed, one person per tag --> + <!-- Example: --> + <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> --> + <maintainer email="todo@example.com">TODO</maintainer> + + <!-- One license tag required, multiple allowed, one license per tag --> + <!-- Commonly used license strings: --> + <!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 --> + <license>BSD</license> + + + + <!-- Url tags are optional, but multiple are allowed, one per tag --> + <!-- Optional attribute type can be: website, bugtracker, or repository --> + <!-- Example: --> + <!-- <url type="website">http://wiki.ros.org/NAME</url> --> + + + <!-- Author tags are optional, multiple are allowed, one per tag --> + <!-- Authors do not have to be maintainers, but could be --> + <!-- Example: --> + <!-- <author email="jane.doe@example.com">Jane Doe</author> --> + + + <!-- The *depend tags are used to specify dependencies --> + <!-- Dependencies can be catkin packages or system dependencies --> + <!-- Examples: --> + <!-- Use depend as a shortcut for packages that are both build and exec dependencies --> + <!-- <depend>roscpp</depend> --> + <!-- Note that this is equivalent to the following: --> + <!-- <build_depend>roscpp</build_depend> --> + <!-- <exec_depend>roscpp</exec_depend> --> + <!-- Use build_depend for packages you need at compile time: --> + <!-- <build_depend>message_generation</build_depend> --> + <!-- Use build_export_depend for packages you need in order to build against this package: --> + <!-- <build_export_depend>message_generation</build_export_depend> --> + <!-- Use buildtool_depend for build tool packages: --> + <!-- <buildtool_depend>catkin</buildtool_depend> --> + <!-- Use exec_depend for packages you need at runtime: --> + <!-- <exec_depend>message_runtime</exec_depend> --> + <!-- Use test_depend for packages you need only for testing: --> + <!-- <test_depend>gtest</test_depend> --> + <!-- Use doc_depend for packages you need only for building documentation: --> + <!-- <doc_depend>doxygen</doc_depend> --> + <buildtool_depend>catkin</buildtool_depend> + <exec_depend>roscpp</exec_depend> + <depend>hri_msgs</depend> + <depend>std_msgs</depend> + + <export> + + </export> +</package> diff --git a/spring-mock-ws/src/robotnonverbalbehaviours/src/main.cpp b/spring-mock-ws/src/robot_behavior/src/main.cpp similarity index 72% rename from spring-mock-ws/src/robotnonverbalbehaviours/src/main.cpp rename to spring-mock-ws/src/robot_behavior/src/main.cpp index 4b021088dfacc333ef9748f1421cf016877b9c22..bb000e2edc295f6e86fb9dd14bb5765d0b19341b 100644 --- a/spring-mock-ws/src/robotnonverbalbehaviours/src/main.cpp +++ b/spring-mock-ws/src/robot_behavior/src/main.cpp @@ -26,72 +26,72 @@ #include "std_msgs/Empty.h" #include "hri_msgs/GroupsStamped.h" -class RobotNonverbalBehaviours { +class Robot_behavior { public: - RobotNonverbalBehaviours(ros::NodeHandle* nh) { + Robot_behavior(ros::NodeHandle* nh) { // ATTENTION: this topic is not defined in the architecture design - lookat_sub_ = nh->subscribe("lookat", 1, &RobotNonverbalBehaviours::lookatCallback, this); + status_sub_ = nh->subscribe("status", 1, &Robot_behavior::statusCallback, this); // ATTENTION: this topic is not defined in the architecture design - followingnavgoals_sub_ = nh->subscribe("followingnavgoals", 1, &RobotNonverbalBehaviours::followingnavgoalsCallback, this); + lookat_sub_ = nh->subscribe("lookat", 1, &Robot_behavior::lookatCallback, this); // ATTENTION: this topic is not defined in the architecture design - status_sub_ = nh->subscribe("status", 1, &RobotNonverbalBehaviours::statusCallback, this); + followingnavgoals_sub_ = nh->subscribe("followingnavgoals", 1, &Robot_behavior::followingnavgoalsCallback, this); // ATTENTION: this topic is not defined in the architecture design - occupancymap_sub_ = nh->subscribe("occupancymap", 1, &RobotNonverbalBehaviours::occupancymapCallback, this); - groups_sub_ = nh->subscribe("groups", 1, &RobotNonverbalBehaviours::groupsCallback, this); + occupancymap_sub_ = nh->subscribe("occupancymap", 1, &Robot_behavior::occupancymapCallback, this); + groups_sub_ = nh->subscribe("groups", 1, &Robot_behavior::groupsCallback, this); - // ATTENTION: this topic is not defined in the architecture design - lowlevelactions_pub_ = nh->advertise<std_msgs::Empty>("lowlevelactions", 1); // ATTENTION: this topic is not defined in the architecture design status_pub_ = nh->advertise<std_msgs::Empty>("status", 1); + // ATTENTION: this topic is not defined in the architecture design + lowlevelactions_pub_ = nh->advertise<std_msgs::Empty>("lowlevelactions", 1); } - ~RobotNonverbalBehaviours() {} + ~Robot_behavior() {} private: - void lookatCallback(const std_msgs::Empty::ConstPtr& msg) + void statusCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("robotnonverbalbehaviours: received message: " << msg); + ROS_INFO_STREAM("robot_behavior: received message: " << msg); } - void followingnavgoalsCallback(const std_msgs::Empty::ConstPtr& msg) + void lookatCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("robotnonverbalbehaviours: received message: " << msg); + ROS_INFO_STREAM("robot_behavior: received message: " << msg); } - void statusCallback(const std_msgs::Empty::ConstPtr& msg) + void followingnavgoalsCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("robotnonverbalbehaviours: received message: " << msg); + ROS_INFO_STREAM("robot_behavior: received message: " << msg); } void occupancymapCallback(const std_msgs::Empty::ConstPtr& msg) { - ROS_INFO_STREAM("robotnonverbalbehaviours: received message: " << msg); + ROS_INFO_STREAM("robot_behavior: received message: " << msg); } void groupsCallback(const hri_msgs::GroupsStamped::ConstPtr& msg) { - ROS_INFO_STREAM("robotnonverbalbehaviours: received message: " << msg); + ROS_INFO_STREAM("robot_behavior: received message: " << msg); } + ros::Subscriber status_sub_; ros::Subscriber lookat_sub_; ros::Subscriber followingnavgoals_sub_; - ros::Subscriber status_sub_; ros::Subscriber occupancymap_sub_; ros::Subscriber groups_sub_; - ros::Publisher lowlevelactions_pub_; ros::Publisher status_pub_; + ros::Publisher lowlevelactions_pub_; }; int main(int argc, char** argv) { - ros::init(argc, argv, "robotnonverbalbehaviours"); + ros::init(argc, argv, "robot_behavior"); // Initialize node parameters from launch file or command line. // Use a private node handle so that multiple instances of the node can be // run simultaneously while using different parameters. ros::NodeHandle private_node_handle_("~"); - auto robotnonverbalbehaviours = RobotNonverbalBehaviours(&private_node_handle_); + auto robot_behavior = Robot_behavior(&private_node_handle_); - ROS_INFO("Node robotnonverbalbehaviours launched and ready."); + ROS_INFO("Node robot_behavior launched and ready."); ros::spin(); return 0; } diff --git a/spring-mock-ws/src/robotgui/src/main.cpp b/spring-mock-ws/src/robotgui/src/main.cpp index 9c4a4f05e4be68a3e416e459adf8398224c7c53d..2bc92ad4fb143975e02e4ce49792a73c64bcc4e7 100644 --- a/spring-mock-ws/src/robotgui/src/main.cpp +++ b/spring-mock-ws/src/robotgui/src/main.cpp @@ -30,40 +30,40 @@ class RobotGui { public: RobotGui(ros::NodeHandle* nh) { + // ATTENTION: this topic is not defined in the architecture design + additionalsupportmaterial_sub_ = nh->subscribe("additionalsupportmaterial", 1, &RobotGui::additionalsupportmaterialCallback, this); // ATTENTION: this topic is not defined in the architecture design ttsfeedback_sub_ = nh->subscribe("ttsfeedback", 1, &RobotGui::ttsfeedbackCallback, this); // ATTENTION: this topic is not defined in the architecture design speechoutput_sub_ = nh->subscribe("speechoutput", 1, &RobotGui::speechoutputCallback, this); voice_speech_sub_ = nh->subscribe("voice_speech", 1, &RobotGui::voice_speechCallback, this); - // ATTENTION: this topic is not defined in the architecture design - additionalsupportmaterial_sub_ = nh->subscribe("additionalsupportmaterial", 1, &RobotGui::additionalsupportmaterialCallback, this); } ~RobotGui() {} private: - void ttsfeedbackCallback(const std_msgs::Empty::ConstPtr& msg) + void additionalsupportmaterialCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("robotgui: received message: " << msg); } - void speechoutputCallback(const std_msgs::Empty::ConstPtr& msg) + void ttsfeedbackCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("robotgui: received message: " << msg); } - void voice_speechCallback(const std_msgs::String::ConstPtr& msg) + void speechoutputCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("robotgui: received message: " << msg); } - void additionalsupportmaterialCallback(const std_msgs::Empty::ConstPtr& msg) + void voice_speechCallback(const std_msgs::String::ConstPtr& msg) { ROS_INFO_STREAM("robotgui: received message: " << msg); } + ros::Subscriber additionalsupportmaterial_sub_; ros::Subscriber ttsfeedback_sub_; ros::Subscriber speechoutput_sub_; ros::Subscriber voice_speech_sub_; - ros::Subscriber additionalsupportmaterial_sub_; }; diff --git a/spring-mock-ws/src/robotnonverbalbehaviours/CMakeLists.txt b/spring-mock-ws/src/robotnonverbalbehaviours/CMakeLists.txt deleted file mode 100644 index 93d5ba76f704ffe2f1d7f2fc0b49243d6d234dfc..0000000000000000000000000000000000000000 --- a/spring-mock-ws/src/robotnonverbalbehaviours/CMakeLists.txt +++ /dev/null @@ -1,204 +0,0 @@ -cmake_minimum_required(VERSION 3.0.2) -project(robotnonverbalbehaviours) - -## Compile as C++11, supported in ROS Kinetic and newer -add_compile_options(-std=c++11) - -## Find catkin macros and libraries -## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) -## is used, also find other catkin packages -find_package(catkin REQUIRED COMPONENTS - roscpp - hri_msgs - std_msgs -) - -## System dependencies are found with CMake's conventions -# find_package(Boost REQUIRED COMPONENTS system) - - -## Uncomment this if the package has a setup.py. This macro ensures -## modules and global scripts declared therein get installed -## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html -# catkin_python_setup() - -################################################ -## Declare ROS messages, services and actions ## -################################################ - -## To declare and build messages, services or actions from within this -## package, follow these steps: -## * Let MSG_DEP_SET be the set of packages whose message types you use in -## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). -## * In the file package.xml: -## * add a build_depend tag for "message_generation" -## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET -## * If MSG_DEP_SET isn't empty the following dependency has been pulled in -## but can be declared for certainty nonetheless: -## * add a exec_depend tag for "message_runtime" -## * In this file (CMakeLists.txt): -## * add "message_generation" and every package in MSG_DEP_SET to -## find_package(catkin REQUIRED COMPONENTS ...) -## * add "message_runtime" and every package in MSG_DEP_SET to -## catkin_package(CATKIN_DEPENDS ...) -## * uncomment the add_*_files sections below as needed -## and list every .msg/.srv/.action file to be processed -## * uncomment the generate_messages entry below -## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) - -## Generate messages in the 'msg' folder -# add_message_files( -# FILES -# Message1.msg -# Message2.msg -# ) - -## Generate services in the 'srv' folder -# add_service_files( -# FILES -# Service1.srv -# Service2.srv -# ) - -## Generate actions in the 'action' folder -# add_action_files( -# FILES -# Action1.action -# Action2.action -# ) - -## Generate added messages and services with any dependencies listed here -# generate_messages( -# DEPENDENCIES -# std_msgs # Or other packages containing msgs -# ) - -################################################ -## Declare ROS dynamic reconfigure parameters ## -################################################ - -## To declare and build dynamic reconfigure parameters within this -## package, follow these steps: -## * In the file package.xml: -## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" -## * In this file (CMakeLists.txt): -## * add "dynamic_reconfigure" to -## find_package(catkin REQUIRED COMPONENTS ...) -## * uncomment the "generate_dynamic_reconfigure_options" section below -## and list every .cfg file to be processed - -## Generate dynamic reconfigure parameters in the 'cfg' folder -# generate_dynamic_reconfigure_options( -# cfg/DynReconf1.cfg -# cfg/DynReconf2.cfg -# ) - -################################### -## catkin specific configuration ## -################################### -## The catkin_package macro generates cmake config files for your package -## Declare things to be passed to dependent projects -## INCLUDE_DIRS: uncomment this if your package contains header files -## LIBRARIES: libraries you create in this project that dependent projects also need -## CATKIN_DEPENDS: catkin_packages dependent projects also need -## DEPENDS: system dependencies of this project that dependent projects also need -catkin_package( -# INCLUDE_DIRS include -# LIBRARIES robotnonverbalbehaviours -# CATKIN_DEPENDS roscpp -# DEPENDS system_lib -) - -########### -## Build ## -########### - -## Specify additional locations of header files -## Your package locations should be listed before other locations -include_directories(include) -include_directories(SYSTEM ${catkin_INCLUDE_DIRS}) - -## Declare a C++ library -# add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/robotnonverbalbehaviours.cpp -# ) - -## Add cmake target dependencies of the library -## as an example, code may need to be generated before libraries -## either from message generation or dynamic reconfigure -# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) - -## Declare a C++ executable -## With catkin_make all packages are built within a single CMake context -## The recommended prefix ensures that target names across packages don't collide -add_executable(${PROJECT_NAME}_node src/main.cpp) - -## Rename C++ executable without prefix -## The above recommended prefix causes long target names, the following renames the -## target back to the shorter version for ease of user use -## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" -set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") - -## Add cmake target dependencies of the executable -## same as for the library above -add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) - -## Specify libraries to link a library or executable target against -target_link_libraries(${PROJECT_NAME}_node - ${catkin_LIBRARIES} -) - -############# -## Install ## -############# - -# all install targets should use catkin DESTINATION variables -# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html - -## Mark executable scripts (Python etc.) for installation -## in contrast to setup.py, you can choose the destination -# catkin_install_python(PROGRAMS -# scripts/my_python_script -# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -# ) - -## Mark executables for installation -## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html -install(TARGETS ${PROJECT_NAME}_node - RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -) - -## Mark libraries for installation -## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html -# install(TARGETS ${PROJECT_NAME} -# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} -# ) - -## Mark cpp header files for installation -# install(DIRECTORY include/${PROJECT_NAME}/ -# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} -# FILES_MATCHING PATTERN "*.h" -# PATTERN ".svn" EXCLUDE -# ) - -## Mark other files for installation (e.g. launch and bag files, etc.) -# install(FILES -# # myfile1 -# # myfile2 -# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} -# ) - -############# -## Testing ## -############# - -## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_robotnonverbalbehaviours.cpp) -# if(TARGET ${PROJECT_NAME}-test) -# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) -# endif() - -## Add folders to be run by python nosetests -# catkin_add_nosetests(test) diff --git a/spring-mock-ws/src/semanticmapping/src/main.cpp b/spring-mock-ws/src/semanticmapping/src/main.cpp index a5b2cbb5f395f04ad2924ba99e758bb130235875..089ca34e6d9d4feb958510267521ede1e4fd4e53 100644 --- a/spring-mock-ws/src/semanticmapping/src/main.cpp +++ b/spring-mock-ws/src/semanticmapping/src/main.cpp @@ -23,16 +23,16 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "std_msgs/Empty.h" #include "spring_msgs/DetectedObjectArray.h" +#include "std_msgs/Empty.h" class SemanticMapping { public: SemanticMapping(ros::NodeHandle* nh) { + detected_objects_sub_ = nh->subscribe("detected_objects", 1, &SemanticMapping::detected_objectsCallback, this); // ATTENTION: this topic is not defined in the architecture design dense3dmap_sub_ = nh->subscribe("dense3dmap", 1, &SemanticMapping::dense3dmapCallback, this); - detected_objects_sub_ = nh->subscribe("detected_objects", 1, &SemanticMapping::detected_objectsCallback, this); // ATTENTION: this topic is not defined in the architecture design scenegraph_pub_ = nh->advertise<std_msgs::Empty>("scenegraph", 1); @@ -41,17 +41,17 @@ class SemanticMapping { ~SemanticMapping() {} private: - void dense3dmapCallback(const std_msgs::Empty::ConstPtr& msg) + void detected_objectsCallback(const spring_msgs::DetectedObjectArray::ConstPtr& msg) { ROS_INFO_STREAM("semanticmapping: received message: " << msg); } - void detected_objectsCallback(const spring_msgs::DetectedObjectArray::ConstPtr& msg) + void dense3dmapCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("semanticmapping: received message: " << msg); } - ros::Subscriber dense3dmap_sub_; ros::Subscriber detected_objects_sub_; + ros::Subscriber dense3dmap_sub_; ros::Publisher scenegraph_pub_; diff --git a/spring-mock-ws/src/soundsourcelocalisation/CMakeLists.txt b/spring-mock-ws/src/soundsourcelocalisation/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..a9aa4751812d3270541c15fb4116ef8145763942 --- /dev/null +++ b/spring-mock-ws/src/soundsourcelocalisation/CMakeLists.txt @@ -0,0 +1,205 @@ +cmake_minimum_required(VERSION 3.0.2) +project(soundsourcelocalisation) + +## Compile as C++11, supported in ROS Kinetic and newer +add_compile_options(-std=c++11) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + roscpp + audio_common_msgs + std_msgs + tf +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend tag for "message_generation" +## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependency has been pulled in +## but can be declared for certainty nonetheless: +## * add a exec_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder +# add_message_files( +# FILES +# Message1.msg +# Message2.msg +# ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +################################################ +## Declare ROS dynamic reconfigure parameters ## +################################################ + +## To declare and build dynamic reconfigure parameters within this +## package, follow these steps: +## * In the file package.xml: +## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" +## * In this file (CMakeLists.txt): +## * add "dynamic_reconfigure" to +## find_package(catkin REQUIRED COMPONENTS ...) +## * uncomment the "generate_dynamic_reconfigure_options" section below +## and list every .cfg file to be processed + +## Generate dynamic reconfigure parameters in the 'cfg' folder +# generate_dynamic_reconfigure_options( +# cfg/DynReconf1.cfg +# cfg/DynReconf2.cfg +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if your package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES soundsourcelocalisation +# CATKIN_DEPENDS roscpp +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories(include) +include_directories(SYSTEM ${catkin_INCLUDE_DIRS}) + +## Declare a C++ library +# add_library(${PROJECT_NAME} +# src/${PROJECT_NAME}/soundsourcelocalisation.cpp +# ) + +## Add cmake target dependencies of the library +## as an example, code may need to be generated before libraries +## either from message generation or dynamic reconfigure +# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Declare a C++ executable +## With catkin_make all packages are built within a single CMake context +## The recommended prefix ensures that target names across packages don't collide +add_executable(${PROJECT_NAME}_node src/main.cpp) + +## Rename C++ executable without prefix +## The above recommended prefix causes long target names, the following renames the +## target back to the shorter version for ease of user use +## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" +set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") + +## Add cmake target dependencies of the executable +## same as for the library above +add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Specify libraries to link a library or executable target against +target_link_libraries(${PROJECT_NAME}_node + ${catkin_LIBRARIES} +) + +############# +## Install ## +############# + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# catkin_install_python(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html +install(TARGETS ${PROJECT_NAME}_node + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +## Mark libraries for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html +# install(TARGETS ${PROJECT_NAME} +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_soundsourcelocalisation.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/spring-mock-ws/src/speakerrecognition/package.xml b/spring-mock-ws/src/soundsourcelocalisation/package.xml similarity index 93% rename from spring-mock-ws/src/speakerrecognition/package.xml rename to spring-mock-ws/src/soundsourcelocalisation/package.xml index 34e61460a106f582bd79509cc7566c7feef566b1..9e5aa3ad38faaffff53ca55e694668babda4f350 100644 --- a/spring-mock-ws/src/speakerrecognition/package.xml +++ b/spring-mock-ws/src/soundsourcelocalisation/package.xml @@ -1,8 +1,8 @@ <?xml version="1.0"?> <package format="3"> - <name>speakerrecognition</name> + <name>soundsourcelocalisation</name> <version>1.0.0</version> - <description>Speaker recognition (BIU) . Auto-generated by Boxology 1.3.2.</description> + <description>Sound source localisation (BIU) . Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> @@ -52,6 +52,7 @@ <exec_depend>roscpp</exec_depend> <depend>audio_common_msgs</depend> <depend>std_msgs</depend> + <depend>tf</depend> <export> diff --git a/spring-mock-ws/src/speechdiarization/src/main.cpp b/spring-mock-ws/src/soundsourcelocalisation/src/main.cpp similarity index 55% rename from spring-mock-ws/src/speechdiarization/src/main.cpp rename to spring-mock-ws/src/soundsourcelocalisation/src/main.cpp index be679d31041c48d779d41558d903f68eb95f069c..247c0fa06884483135eceb0d27fca96920337a2f 100644 --- a/spring-mock-ws/src/speechdiarization/src/main.cpp +++ b/spring-mock-ws/src/soundsourcelocalisation/src/main.cpp @@ -23,43 +23,51 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "respeaker_ros/RawAudioData.h" +#include "std_msgs/Empty.h" +#include "tf/transform_broadcaster.h" #include "audio_common_msgs/AudioData.h" -class SpeechDiarization { +class SoundSourceLocalisation { public: - SpeechDiarization(ros::NodeHandle* nh) { + SoundSourceLocalisation(ros::NodeHandle* nh) { - raw_audio_sub_ = nh->subscribe("raw_audio", 1, &SpeechDiarization::raw_audioCallback, this); + voice_audio_sub_ = nh->subscribe("voice_audio", 1, &SoundSourceLocalisation::voice_audioCallback, this); - voice_audio_pub_ = nh->advertise<audio_common_msgs::AudioData>("voice_audio", 1); + // ATTENTION: this topic is not defined in the architecture design + output_pub_ = nh->advertise<std_msgs::Empty>("output", 1); + // ATTENTION: this topic is not defined in the architecture design + sourceangle_pub_ = nh->advertise<std_msgs::Empty>("sourceangle", 1); + // ATTENTION: this topic is not defined in the architecture design + trackinginformation_pub_ = nh->advertise<std_msgs::Empty>("trackinginformation", 1); } - ~SpeechDiarization() {} + ~SoundSourceLocalisation() {} private: - void raw_audioCallback(const respeaker_ros::RawAudioData::ConstPtr& msg) + void voice_audioCallback(const audio_common_msgs::AudioData::ConstPtr& msg) { - ROS_INFO_STREAM("speechdiarization: received message: " << msg); + ROS_INFO_STREAM("soundsourcelocalisation: received message: " << msg); } - ros::Subscriber raw_audio_sub_; + ros::Subscriber voice_audio_sub_; - ros::Publisher voice_audio_pub_; + ros::Publisher output_pub_; + ros::Publisher sourceangle_pub_; + ros::Publisher trackinginformation_pub_; }; int main(int argc, char** argv) { - ros::init(argc, argv, "speechdiarization"); + ros::init(argc, argv, "soundsourcelocalisation"); // Initialize node parameters from launch file or command line. // Use a private node handle so that multiple instances of the node can be // run simultaneously while using different parameters. ros::NodeHandle private_node_handle_("~"); - auto speechdiarization = SpeechDiarization(&private_node_handle_); + auto soundsourcelocalisation = SoundSourceLocalisation(&private_node_handle_); - ROS_INFO("Node speechdiarization launched and ready."); + ROS_INFO("Node soundsourcelocalisation launched and ready."); ros::spin(); return 0; } diff --git a/spring-mock-ws/src/speakerrecognition/CMakeLists.txt b/spring-mock-ws/src/speakeridentification/CMakeLists.txt similarity index 97% rename from spring-mock-ws/src/speakerrecognition/CMakeLists.txt rename to spring-mock-ws/src/speakeridentification/CMakeLists.txt index 186aeb8a9f1f2497bce76a6ed4220e16c4378ad4..6765744c6daa2109bce8ad74658b6162de965629 100644 --- a/spring-mock-ws/src/speakerrecognition/CMakeLists.txt +++ b/spring-mock-ws/src/speakeridentification/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0.2) -project(speakerrecognition) +project(speakeridentification) ## Compile as C++11, supported in ROS Kinetic and newer add_compile_options(-std=c++11) @@ -104,7 +104,7 @@ find_package(catkin REQUIRED COMPONENTS ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( # INCLUDE_DIRS include -# LIBRARIES speakerrecognition +# LIBRARIES speakeridentification # CATKIN_DEPENDS roscpp # DEPENDS system_lib ) @@ -120,7 +120,7 @@ include_directories(SYSTEM ${catkin_INCLUDE_DIRS}) ## Declare a C++ library # add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/speakerrecognition.cpp +# src/${PROJECT_NAME}/speakeridentification.cpp # ) ## Add cmake target dependencies of the library @@ -195,7 +195,7 @@ install(TARGETS ${PROJECT_NAME}_node ############# ## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_speakerrecognition.cpp) +# catkin_add_gtest(${PROJECT_NAME}-test test/test_speakeridentification.cpp) # if(TARGET ${PROJECT_NAME}-test) # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) # endif() diff --git a/spring-mock-ws/src/speechdiarization/package.xml b/spring-mock-ws/src/speakeridentification/package.xml similarity index 91% rename from spring-mock-ws/src/speechdiarization/package.xml rename to spring-mock-ws/src/speakeridentification/package.xml index 203edce9a6677bcb7adfd23c778f7437cb1f21ff..2443a2d3e819fec1b323e2213fd2b17ae70b3455 100644 --- a/spring-mock-ws/src/speechdiarization/package.xml +++ b/spring-mock-ws/src/speakeridentification/package.xml @@ -1,8 +1,9 @@ <?xml version="1.0"?> <package format="3"> - <name>speechdiarization</name> - <version>1.0.0</version> - <description>Speech diarization (BIU) . Auto-generated by Boxology 1.3.2.</description> + <name>speakeridentification</name> + <version>0.0.1</version> + <description>Speaker identification (BIU) - online services +- not started yet. Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> @@ -51,7 +52,7 @@ <buildtool_depend>catkin</buildtool_depend> <exec_depend>roscpp</exec_depend> <depend>audio_common_msgs</depend> - <depend>respeaker_ros</depend> + <depend>std_msgs</depend> <export> diff --git a/spring-mock-ws/src/speakeridentification/src/main.cpp b/spring-mock-ws/src/speakeridentification/src/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..697beadb240ef705b6989f61d7f74fe6bb93ed39 --- /dev/null +++ b/spring-mock-ws/src/speakeridentification/src/main.cpp @@ -0,0 +1,75 @@ +/* + Copyright 2021-2025, SPRING Consortium + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + +#include "ros/ros.h" +#include "std_msgs/String.h" +#include "std_msgs/Empty.h" +#include "audio_common_msgs/AudioData.h" + +class SpeakerIdentification { + public: + SpeakerIdentification(ros::NodeHandle* nh) { + + // ATTENTION: this topic is not defined in the architecture design + trackinginformation_sub_ = nh->subscribe("trackinginformation", 1, &SpeakerIdentification::trackinginformationCallback, this); + postprocess_audio_streams_sub_ = nh->subscribe("postprocess_audio_streams", 1, &SpeakerIdentification::postprocess_audio_streamsCallback, this); + + // ATTENTION: this topic is not defined in the architecture design + person_id_candidatehri_msgsidsmatch_pub_ = nh->advertise<std_msgs::Empty>("person_id_candidatehri_msgsidsmatch", 1); + voice_audio_pub_ = nh->advertise<audio_common_msgs::AudioData>("voice_audio", 1); + } + + ~SpeakerIdentification() {} + + private: + void trackinginformationCallback(const std_msgs::Empty::ConstPtr& msg) + { + ROS_INFO_STREAM("speakeridentification: received message: " << msg); + } + void postprocess_audio_streamsCallback(const audio_common_msgs::AudioData::ConstPtr& msg) + { + ROS_INFO_STREAM("speakeridentification: received message: " << msg); + } + + ros::Subscriber trackinginformation_sub_; + ros::Subscriber postprocess_audio_streams_sub_; + + ros::Publisher person_id_candidatehri_msgsidsmatch_pub_; + ros::Publisher voice_audio_pub_; + +}; + +int main(int argc, char** argv) { + ros::init(argc, argv, "speakeridentification"); + + // Initialize node parameters from launch file or command line. + // Use a private node handle so that multiple instances of the node can be + // run simultaneously while using different parameters. + ros::NodeHandle private_node_handle_("~"); + + auto speakeridentification = SpeakerIdentification(&private_node_handle_); + + ROS_INFO("Node speakeridentification launched and ready."); + ros::spin(); + return 0; +} diff --git a/spring-mock-ws/src/speechdiarization/CMakeLists.txt b/spring-mock-ws/src/speechanalysis/CMakeLists.txt similarity index 97% rename from spring-mock-ws/src/speechdiarization/CMakeLists.txt rename to spring-mock-ws/src/speechanalysis/CMakeLists.txt index 44be11dfac7e337992e8532d3ca559edc360c71f..df5cffaa355d5eb48676d83ce40717800cec7824 100644 --- a/spring-mock-ws/src/speechdiarization/CMakeLists.txt +++ b/spring-mock-ws/src/speechanalysis/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0.2) -project(speechdiarization) +project(speechanalysis) ## Compile as C++11, supported in ROS Kinetic and newer add_compile_options(-std=c++11) @@ -11,6 +11,7 @@ find_package(catkin REQUIRED COMPONENTS roscpp audio_common_msgs respeaker_ros + std_msgs ) ## System dependencies are found with CMake's conventions @@ -104,7 +105,7 @@ find_package(catkin REQUIRED COMPONENTS ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( # INCLUDE_DIRS include -# LIBRARIES speechdiarization +# LIBRARIES speechanalysis # CATKIN_DEPENDS roscpp # DEPENDS system_lib ) @@ -120,7 +121,7 @@ include_directories(SYSTEM ${catkin_INCLUDE_DIRS}) ## Declare a C++ library # add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/speechdiarization.cpp +# src/${PROJECT_NAME}/speechanalysis.cpp # ) ## Add cmake target dependencies of the library @@ -195,7 +196,7 @@ install(TARGETS ${PROJECT_NAME}_node ############# ## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_speechdiarization.cpp) +# catkin_add_gtest(${PROJECT_NAME}-test test/test_speechanalysis.cpp) # if(TARGET ${PROJECT_NAME}-test) # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) # endif() diff --git a/spring-mock-ws/src/speechanalysis/package.xml b/spring-mock-ws/src/speechanalysis/package.xml new file mode 100644 index 0000000000000000000000000000000000000000..1d2357b41b40d4126c69ae46dc825bb32794be63 --- /dev/null +++ b/spring-mock-ws/src/speechanalysis/package.xml @@ -0,0 +1,65 @@ +<?xml version="1.0"?> +<package format="3"> + <name>speechanalysis</name> + <version>0.0.1</version> + <description>Speech analysis (BIU) This node does: +- speech echo cancelation, +- speech enhancement, +- speech separation and diarization + +REPO: https://gitlab.inria.fr/spring/wp3_av_perception/biu-ros_audio_retreiver. Auto-generated by Boxology 1.3.2.</description> + + <!-- One maintainer tag required, multiple allowed, one person per tag --> + <!-- Example: --> + <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> --> + <maintainer email="todo@example.com">TODO</maintainer> + + <!-- One license tag required, multiple allowed, one license per tag --> + <!-- Commonly used license strings: --> + <!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 --> + <license>BSD</license> + + + + <!-- Url tags are optional, but multiple are allowed, one per tag --> + <!-- Optional attribute type can be: website, bugtracker, or repository --> + <!-- Example: --> + <!-- <url type="website">http://wiki.ros.org/NAME</url> --> + + + <!-- Author tags are optional, multiple are allowed, one per tag --> + <!-- Authors do not have to be maintainers, but could be --> + <!-- Example: --> + <!-- <author email="jane.doe@example.com">Jane Doe</author> --> + + + <!-- The *depend tags are used to specify dependencies --> + <!-- Dependencies can be catkin packages or system dependencies --> + <!-- Examples: --> + <!-- Use depend as a shortcut for packages that are both build and exec dependencies --> + <!-- <depend>roscpp</depend> --> + <!-- Note that this is equivalent to the following: --> + <!-- <build_depend>roscpp</build_depend> --> + <!-- <exec_depend>roscpp</exec_depend> --> + <!-- Use build_depend for packages you need at compile time: --> + <!-- <build_depend>message_generation</build_depend> --> + <!-- Use build_export_depend for packages you need in order to build against this package: --> + <!-- <build_export_depend>message_generation</build_export_depend> --> + <!-- Use buildtool_depend for build tool packages: --> + <!-- <buildtool_depend>catkin</buildtool_depend> --> + <!-- Use exec_depend for packages you need at runtime: --> + <!-- <exec_depend>message_runtime</exec_depend> --> + <!-- Use test_depend for packages you need only for testing: --> + <!-- <test_depend>gtest</test_depend> --> + <!-- Use doc_depend for packages you need only for building documentation: --> + <!-- <doc_depend>doxygen</doc_depend> --> + <buildtool_depend>catkin</buildtool_depend> + <exec_depend>roscpp</exec_depend> + <depend>audio_common_msgs</depend> + <depend>respeaker_ros</depend> + <depend>std_msgs</depend> + + <export> + + </export> +</package> diff --git a/spring-mock-ws/src/speechanalysis/src/main.cpp b/spring-mock-ws/src/speechanalysis/src/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..99ae2e531ad40dbbefcb18905aef79c5f8ed5be2 --- /dev/null +++ b/spring-mock-ws/src/speechanalysis/src/main.cpp @@ -0,0 +1,80 @@ +/* + Copyright 2021-2025, SPRING Consortium + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + + +#include "ros/ros.h" +#include "std_msgs/String.h" +#include "std_msgs/Empty.h" +#include "respeaker_ros/RawAudioData.h" +#include "audio_common_msgs/AudioData.h" + +class SpeechAnalysis { + public: + SpeechAnalysis(ros::NodeHandle* nh) { + + raw_audio_sub_ = nh->subscribe("raw_audio", 1, &SpeechAnalysis::raw_audioCallback, this); + ego_audio_sub_ = nh->subscribe("ego_audio", 1, &SpeechAnalysis::ego_audioCallback, this); + // ATTENTION: this topic is not defined in the architecture design + soundlocalization_sub_ = nh->subscribe("soundlocalization", 1, &SpeechAnalysis::soundlocalizationCallback, this); + + // ATTENTION: this topic is not defined in the architecture design + audiopostprocess_audio_streamscfoutputinnodedesc_pub_ = nh->advertise<std_msgs::Empty>("audiopostprocess_audio_streamscfoutputinnodedesc", 1); + } + + ~SpeechAnalysis() {} + + private: + void raw_audioCallback(const respeaker_ros::RawAudioData::ConstPtr& msg) + { + ROS_INFO_STREAM("speechanalysis: received message: " << msg); + } + void ego_audioCallback(const audio_common_msgs::AudioData::ConstPtr& msg) + { + ROS_INFO_STREAM("speechanalysis: received message: " << msg); + } + void soundlocalizationCallback(const std_msgs::Empty::ConstPtr& msg) + { + ROS_INFO_STREAM("speechanalysis: received message: " << msg); + } + + ros::Subscriber raw_audio_sub_; + ros::Subscriber ego_audio_sub_; + ros::Subscriber soundlocalization_sub_; + + ros::Publisher audiopostprocess_audio_streamscfoutputinnodedesc_pub_; + +}; + +int main(int argc, char** argv) { + ros::init(argc, argv, "speechanalysis"); + + // Initialize node parameters from launch file or command line. + // Use a private node handle so that multiple instances of the node can be + // run simultaneously while using different parameters. + ros::NodeHandle private_node_handle_("~"); + + auto speechanalysis = SpeechAnalysis(&private_node_handle_); + + ROS_INFO("Node speechanalysis launched and ready."); + ros::spin(); + return 0; +} diff --git a/spring-mock-ws/src/springarchitecture/CMakeLists.txt b/spring-mock-ws/src/springarchitecture/CMakeLists.txt index fafb1254914843d04f088266d483014ac8952351..4857669eea030692e1a25a50f67b2bf5a568ea02 100644 --- a/spring-mock-ws/src/springarchitecture/CMakeLists.txt +++ b/spring-mock-ws/src/springarchitecture/CMakeLists.txt @@ -3,44 +3,46 @@ project(springarchitecture) find_package(catkin REQUIRED COMPONENTS - rgbhead - speechdiarization + robot_behavior + soundsourcelocalisation + robotfunctionallayer + voicespeechmatching + softbiometrics + userattentionestimation + hri_msgs + speechsynthesis + rosopenpose + robotgui + interaction_manager + objectdetectionidentificationlocalisation + depthestimationfrommonocular + sceneunderstanding + occupancymap + dialoguearbiter + people3dtracker + speakeridentification personreidentification - maskdetection - rgbdcamera_info orbslam - objectdetectionidentificationlocalisation + hri_fullbody + rgbhead multipeoplebodytracker - hri_msgs + rgbdcamera_info + activityreco + facedetection spring_msgs - robotfunctionallayer + maskdetection + plan_actions personmanager - depthestimationfrommonocular - occupancymap - userattentionestimation - respeaker_ros - dialoguemanager - body2dpose - hri_fullbody - speechsynthesis - soundlocalisation - robotnonverbalbehaviours - highlevelplanner nonverbalbehaviours - fformation - facedetection - activityreco uservisualfocus - softbiometrics - sceneunderstanding - rosopenpose - asr - people3dtracker + speechanalysis visualslam3dmap - robotgui - speakerrecognition semanticmapping - interactionmanager + fisheye + fformation + respeaker_ros + asr + body2dpose ) catkin_package() diff --git a/spring-mock-ws/src/springarchitecture/launch/start_all.launch b/spring-mock-ws/src/springarchitecture/launch/start_all.launch index 8fad914abde3964d24299febcee08506e343a729..2012890e2d0eb73fc3d1aacedbf38c8c4f7365a5 100644 --- a/spring-mock-ws/src/springarchitecture/launch/start_all.launch +++ b/spring-mock-ws/src/springarchitecture/launch/start_all.launch @@ -1,103 +1,99 @@ <launch> - <!-- launching RGB head (rgbhead) --> - <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> + <!-- launching robot_behavior (robot_behavior) --> + <node pkg="robot_behavior" name="robot_behavior" type="node" output="screen"> + <remap from="groups" to="/humans/interactions/groups"/> </node> - - <!-- launching Speech diarization (speechdiarization) --> - <node pkg="speechdiarization" name="speechdiarization" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> - <remap from="voice_audio_info" to="/humans/voices/TEST_ID_VOICE/audio_info"/> + + <!-- launching Sound source localisation (soundsourcelocalisation) --> + <node pkg="soundsourcelocalisation" name="soundsourcelocalisation" type="node" output="screen"> <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - - <!-- launching Person re-identification (personreidentification) --> - <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> + + <!-- launching Robot functional layer (robotfunctionallayer) --> + <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> + </node> + + <!-- launching Voice speech matching (voicespeechmatching) --> + <node pkg="voicespeechmatching" name="voicespeechmatching" type="node" output="screen"> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="speech_streams" to="/audio/speech_streams"/> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + </node> + + <!-- launching Soft biometrics (softbiometrics) --> + <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> </node> - - <!-- launching Mask detection (maskdetection) --> - <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + + <!-- launching User attention estimation (userattentionestimation) --> + <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> </node> - - <!-- launching RGB-D + camera_info (rgbdcamera_info) --> - <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> + + <!-- launching Speech synthesis (speechsynthesis) --> + <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> </node> - - <!-- launching ORB SLAM (orbslam) --> - <node pkg="orbslam" name="orbslam" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> - <remap from="map" to="/map"/> + + <!-- launching ROS openpose (rosopenpose) --> + <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> </node> - + + <!-- launching Robot GUI (robotgui) --> + <node pkg="robotgui" name="robotgui" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + </node> + + <!-- launching interaction_manager (interaction_manager) --> + <node pkg="interaction_manager" name="interaction_manager" type="node" output="screen"> + </node> + <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> <remap from="image_raw" to="/camera_head/color/image_raw"/> <remap from="detected_objects" to="/detected_objects"/> </node> - - <!-- launching Multi-people body tracker (multipeoplebodytracker) --> - <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> - </node> - - <!-- launching hri_msgs (hri_msgs) --> - <node pkg="hri_msgs" name="hri_msgs" type="node" output="screen"> - </node> - - <!-- launching spring_msgs (spring_msgs) --> - <node pkg="spring_msgs" name="spring_msgs" type="node" output="screen"> - </node> - - <!-- launching Robot functional layer (robotfunctionallayer) --> - <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> - </node> - - <!-- launching Person manager (personmanager) --> - <node pkg="personmanager" name="personmanager" type="node" output="screen"> - <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> - <remap from="person_body_id" to="/humans/persons/TEST_ID_PERSON/body_id"/> - <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> - <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> - <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> - </node> - + <!-- launching Depth estimation from monocular (depthestimationfrommonocular) --> <node pkg="depthestimationfrommonocular" name="depthestimationfrommonocular" type="node" output="screen"> </node> - + + <!-- launching Scene understanding (sceneunderstanding) --> + <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> + </node> + <!-- launching Occupancy map (occupancymap) --> <node pkg="occupancymap" name="occupancymap" type="node" output="screen"> <remap from="map_refined" to="/map_refined"/> </node> - - <!-- launching User attention estimation (userattentionestimation) --> - <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + + <!-- launching dialogue arbiter (dialoguearbiter) --> + <node pkg="dialoguearbiter" name="dialoguearbiter" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - - <!-- launching respeaker_ros (respeaker_ros) --> - <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> + + <!-- launching People 3D tracker (people3dtracker) --> + <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> </node> - - <!-- launching Dialogue manager (dialoguemanager) --> - <node pkg="dialoguemanager" name="dialoguemanager" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + + <!-- launching Speaker identification (speakeridentification) --> + <node pkg="speakeridentification" name="speakeridentification" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - - <!-- launching Body 2D pose (body2dpose) --> - <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> - <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> + + <!-- launching Person re-identification (personreidentification) --> + <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - + + <!-- launching ORB SLAM (orbslam) --> + <node pkg="orbslam" name="orbslam" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <remap from="map" to="/map"/> + </node> + <!-- launching hri_fullbody (hri_fullbody) --> <node pkg="hri_fullbody" name="hri_fullbody" type="node" output="screen"> <remap from="image_raw" to="/camera_head/color/image_raw"/> @@ -105,101 +101,109 @@ <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - - <!-- launching Speech synthesis (speechsynthesis) --> - <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> - </node> - - <!-- launching Sound localisation (soundlocalisation) --> - <node pkg="soundlocalisation" name="soundlocalisation" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - </node> - - <!-- launching Robot non-verbal behaviours (robotnonverbalbehaviours) --> - <node pkg="robotnonverbalbehaviours" name="robotnonverbalbehaviours" type="node" output="screen"> - <remap from="groups" to="/humans/interactions/groups"/> + + <!-- launching RGB head (rgbhead) --> + <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - - <!-- launching High-level planner (highlevelplanner) --> - <node pkg="highlevelplanner" name="highlevelplanner" type="node" output="screen"> + + <!-- launching Multi-people body tracker (multipeoplebodytracker) --> + <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> </node> - - <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> - <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> + + <!-- launching RGB-D + camera_info (rgbdcamera_info) --> + <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> </node> - - <!-- launching F-formation (fformation) --> - <node pkg="fformation" name="fformation" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> - <remap from="groups" to="/humans/interactions/groups"/> + + <!-- launching Activity reco (activityreco) --> + <node pkg="activityreco" name="activityreco" type="node" output="screen"> </node> - + <!-- launching Face detection (facedetection) --> <node pkg="facedetection" name="facedetection" type="node" output="screen"> <remap from="image_raw" to="/camera_head/color/image_raw"/> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - - <!-- launching Activity reco (activityreco) --> - <node pkg="activityreco" name="activityreco" type="node" output="screen"> - </node> - - <!-- launching User visual focus (uservisualfocus) --> - <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> - </node> - - <!-- launching Soft biometrics (softbiometrics) --> - <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> + + <!-- launching Mask detection (maskdetection) --> + <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> + <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> </node> - - <!-- launching Scene understanding (sceneunderstanding) --> - <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> + + <!-- launching plan_actions (plan_actions) --> + <node pkg="plan_actions" name="plan_actions" type="node" output="screen"> </node> - - <!-- launching ROS openpose (rosopenpose) --> - <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> + + <!-- launching Person manager (personmanager) --> + <node pkg="personmanager" name="personmanager" type="node" output="screen"> + <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> + <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> + <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> + <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <remap from="body_id" to="/humans/persons/*/body_id"/> </node> - - <!-- launching ASR (asr) --> - <node pkg="asr" name="asr" type="node" output="screen"> + + <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> + <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> </node> - - <!-- launching People 3D tracker (people3dtracker) --> - <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> + + <!-- launching User visual focus (uservisualfocus) --> + <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> </node> - + + <!-- launching Speech analysis (speechanalysis) --> + <node pkg="speechanalysis" name="speechanalysis" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> + </node> + <!-- launching Visual SLAM + 3D map (visualslam3dmap) --> <node pkg="visualslam3dmap" name="visualslam3dmap" type="node" output="screen"> <remap from="image_head" to="/camera_head/color/image_head"/> <remap from="image_torso" to="/camera_torso/color/image_torso"/> </node> - - <!-- launching Robot GUI (robotgui) --> - <node pkg="robotgui" name="robotgui" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> - </node> - - <!-- launching Speaker recognition (speakerrecognition) --> - <node pkg="speakerrecognition" name="speakerrecognition" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - </node> - + <!-- launching Semantic mapping (semanticmapping) --> <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> <remap from="detected_objects" to="/detected_objects"/> </node> - - <!-- launching Interaction manager (interactionmanager) --> - <node pkg="interactionmanager" name="interactionmanager" type="node" output="screen"> + + <!-- launching Fisheye (fisheye) --> + <node pkg="fisheye" name="fisheye" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - + + <!-- launching F-formation (fformation) --> + <node pkg="fformation" name="fformation" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> + <remap from="groups" to="/humans/interactions/groups"/> + </node> + + <!-- launching respeaker_ros (respeaker_ros) --> + <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> + </node> + + <!-- launching ASR (asr) --> + <node pkg="asr" name="asr" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + </node> + + <!-- launching Body 2D pose (body2dpose) --> + <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> + </node> + </launch> diff --git a/spring-mock-ws/src/springarchitecture/launch/start_all_but_BIU.launch b/spring-mock-ws/src/springarchitecture/launch/start_all_but_BIU.launch index 0036c0a6705e23a94652ba5bab8e78c1270e14de..3de036293b2bd7c377ea8c0fde2db282475e4c9f 100644 --- a/spring-mock-ws/src/springarchitecture/launch/start_all_but_BIU.launch +++ b/spring-mock-ws/src/springarchitecture/launch/start_all_but_BIU.launch @@ -1,95 +1,80 @@ <launch> <!-- this launch file starts all SPRING nodes except for BIU nodes. --> - <!-- launching RGB head (rgbhead) --> - <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> + <!-- launching robot_behavior (robot_behavior) --> + <node pkg="robot_behavior" name="robot_behavior" type="node" output="screen"> + <remap from="groups" to="/humans/interactions/groups"/> </node> - <!-- launching Person re-identification (personreidentification) --> - <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching Robot functional layer (robotfunctionallayer) --> + <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> </node> - <!-- launching Mask detection (maskdetection) --> - <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <!-- launching Soft biometrics (softbiometrics) --> + <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> - </node> - - <!-- launching RGB-D + camera_info (rgbdcamera_info) --> - <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> - </node> - - <!-- launching ORB SLAM (orbslam) --> - <node pkg="orbslam" name="orbslam" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> - <remap from="map" to="/map"/> + <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> </node> - <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> - <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching User attention estimation (userattentionestimation) --> + <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Multi-people body tracker (multipeoplebodytracker) --> - <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <!-- launching Speech synthesis (speechsynthesis) --> + <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> </node> - <!-- launching hri_msgs (hri_msgs) --> - <node pkg="hri_msgs" name="hri_msgs" type="node" output="screen"> + <!-- launching ROS openpose (rosopenpose) --> + <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> </node> - <!-- launching spring_msgs (spring_msgs) --> - <node pkg="spring_msgs" name="spring_msgs" type="node" output="screen"> + <!-- launching Robot GUI (robotgui) --> + <node pkg="robotgui" name="robotgui" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching Robot functional layer (robotfunctionallayer) --> - <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> + <!-- launching interaction_manager (interaction_manager) --> + <node pkg="interaction_manager" name="interaction_manager" type="node" output="screen"> </node> - <!-- launching Person manager (personmanager) --> - <node pkg="personmanager" name="personmanager" type="node" output="screen"> - <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> - <remap from="person_body_id" to="/humans/persons/TEST_ID_PERSON/body_id"/> - <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> - <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> - <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> + <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="detected_objects" to="/detected_objects"/> </node> <!-- launching Depth estimation from monocular (depthestimationfrommonocular) --> <node pkg="depthestimationfrommonocular" name="depthestimationfrommonocular" type="node" output="screen"> </node> + <!-- launching Scene understanding (sceneunderstanding) --> + <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> + </node> + <!-- launching Occupancy map (occupancymap) --> <node pkg="occupancymap" name="occupancymap" type="node" output="screen"> <remap from="map_refined" to="/map_refined"/> </node> - <!-- launching User attention estimation (userattentionestimation) --> - <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching dialogue arbiter (dialoguearbiter) --> + <node pkg="dialoguearbiter" name="dialoguearbiter" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching respeaker_ros (respeaker_ros) --> - <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> + <!-- launching People 3D tracker (people3dtracker) --> + <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> </node> - <!-- launching Dialogue manager (dialoguemanager) --> - <node pkg="dialoguemanager" name="dialoguemanager" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Person re-identification (personreidentification) --> + <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Body 2D pose (body2dpose) --> - <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> - <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> + <!-- launching ORB SLAM (orbslam) --> + <node pkg="orbslam" name="orbslam" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <remap from="map" to="/map"/> </node> <!-- launching hri_fullbody (hri_fullbody) --> @@ -100,30 +85,24 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Speech synthesis (speechsynthesis) --> - <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> - </node> - - <!-- launching Robot non-verbal behaviours (robotnonverbalbehaviours) --> - <node pkg="robotnonverbalbehaviours" name="robotnonverbalbehaviours" type="node" output="screen"> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching RGB head (rgbhead) --> + <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching High-level planner (highlevelplanner) --> - <node pkg="highlevelplanner" name="highlevelplanner" type="node" output="screen"> + <!-- launching Multi-people body tracker (multipeoplebodytracker) --> + <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> </node> - <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> - <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> + <!-- launching RGB-D + camera_info (rgbdcamera_info) --> + <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> </node> - <!-- launching F-formation (fformation) --> - <node pkg="fformation" name="fformation" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching Activity reco (activityreco) --> + <node pkg="activityreco" name="activityreco" type="node" output="screen"> </node> <!-- launching Face detection (facedetection) --> @@ -132,31 +111,35 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Activity reco (activityreco) --> - <node pkg="activityreco" name="activityreco" type="node" output="screen"> + <!-- launching Mask detection (maskdetection) --> + <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> </node> - <!-- launching User visual focus (uservisualfocus) --> - <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> + <!-- launching plan_actions (plan_actions) --> + <node pkg="plan_actions" name="plan_actions" type="node" output="screen"> </node> - <!-- launching Soft biometrics (softbiometrics) --> - <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching Person manager (personmanager) --> + <node pkg="personmanager" name="personmanager" type="node" output="screen"> <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> + <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> + <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> + <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <remap from="body_id" to="/humans/persons/*/body_id"/> </node> - <!-- launching Scene understanding (sceneunderstanding) --> - <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> - </node> - - <!-- launching ROS openpose (rosopenpose) --> - <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> + <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> + <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> </node> - <!-- launching People 3D tracker (people3dtracker) --> - <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> + <!-- launching User visual focus (uservisualfocus) --> + <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> </node> <!-- launching Visual SLAM + 3D map (visualslam3dmap) --> @@ -165,18 +148,33 @@ <remap from="image_torso" to="/camera_torso/color/image_torso"/> </node> - <!-- launching Robot GUI (robotgui) --> - <node pkg="robotgui" name="robotgui" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> - </node> - <!-- launching Semantic mapping (semanticmapping) --> <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> <remap from="detected_objects" to="/detected_objects"/> </node> - <!-- launching Interaction manager (interactionmanager) --> - <node pkg="interactionmanager" name="interactionmanager" type="node" output="screen"> + <!-- launching Fisheye (fisheye) --> + <node pkg="fisheye" name="fisheye" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + </node> + + <!-- launching F-formation (fformation) --> + <node pkg="fformation" name="fformation" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> + <remap from="groups" to="/humans/interactions/groups"/> + </node> + + <!-- launching respeaker_ros (respeaker_ros) --> + <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> + </node> + + <!-- launching Body 2D pose (body2dpose) --> + <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> </node> diff --git a/spring-mock-ws/src/springarchitecture/launch/start_all_but_CVUT.launch b/spring-mock-ws/src/springarchitecture/launch/start_all_but_CVUT.launch index 7c811942139759e9e10573fe276f6e7b7703e3f2..80cbff0d6ab09f065ca0cb699a653f7de97150db 100644 --- a/spring-mock-ws/src/springarchitecture/launch/start_all_but_CVUT.launch +++ b/spring-mock-ws/src/springarchitecture/launch/start_all_but_CVUT.launch @@ -1,91 +1,87 @@ <launch> <!-- this launch file starts all SPRING nodes except for CVUT nodes. --> - <!-- launching RGB head (rgbhead) --> - <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> + <!-- launching robot_behavior (robot_behavior) --> + <node pkg="robot_behavior" name="robot_behavior" type="node" output="screen"> + <remap from="groups" to="/humans/interactions/groups"/> </node> - <!-- launching Speech diarization (speechdiarization) --> - <node pkg="speechdiarization" name="speechdiarization" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> - <remap from="voice_audio_info" to="/humans/voices/TEST_ID_VOICE/audio_info"/> + <!-- launching Sound source localisation (soundsourcelocalisation) --> + <node pkg="soundsourcelocalisation" name="soundsourcelocalisation" type="node" output="screen"> <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Person re-identification (personreidentification) --> - <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching Robot functional layer (robotfunctionallayer) --> + <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> </node> - <!-- launching Mask detection (maskdetection) --> - <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <!-- launching Voice speech matching (voicespeechmatching) --> + <node pkg="voicespeechmatching" name="voicespeechmatching" type="node" output="screen"> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="speech_streams" to="/audio/speech_streams"/> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + </node> + + <!-- launching Soft biometrics (softbiometrics) --> + <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> + <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> </node> - <!-- launching RGB-D + camera_info (rgbdcamera_info) --> - <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <!-- launching User attention estimation (userattentionestimation) --> + <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching ORB SLAM (orbslam) --> - <node pkg="orbslam" name="orbslam" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> - <remap from="map" to="/map"/> + <!-- launching Speech synthesis (speechsynthesis) --> + <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> </node> - <!-- launching Multi-people body tracker (multipeoplebodytracker) --> - <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <!-- launching ROS openpose (rosopenpose) --> + <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> </node> - <!-- launching hri_msgs (hri_msgs) --> - <node pkg="hri_msgs" name="hri_msgs" type="node" output="screen"> + <!-- launching Robot GUI (robotgui) --> + <node pkg="robotgui" name="robotgui" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching spring_msgs (spring_msgs) --> - <node pkg="spring_msgs" name="spring_msgs" type="node" output="screen"> + <!-- launching interaction_manager (interaction_manager) --> + <node pkg="interaction_manager" name="interaction_manager" type="node" output="screen"> </node> - <!-- launching Robot functional layer (robotfunctionallayer) --> - <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> + <!-- launching Depth estimation from monocular (depthestimationfrommonocular) --> + <node pkg="depthestimationfrommonocular" name="depthestimationfrommonocular" type="node" output="screen"> </node> - <!-- launching Person manager (personmanager) --> - <node pkg="personmanager" name="personmanager" type="node" output="screen"> - <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> - <remap from="person_body_id" to="/humans/persons/TEST_ID_PERSON/body_id"/> - <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> - <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> - <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <!-- launching Scene understanding (sceneunderstanding) --> + <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> </node> - <!-- launching Depth estimation from monocular (depthestimationfrommonocular) --> - <node pkg="depthestimationfrommonocular" name="depthestimationfrommonocular" type="node" output="screen"> + <!-- launching dialogue arbiter (dialoguearbiter) --> + <node pkg="dialoguearbiter" name="dialoguearbiter" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching User attention estimation (userattentionestimation) --> - <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching People 3D tracker (people3dtracker) --> + <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> </node> - <!-- launching respeaker_ros (respeaker_ros) --> - <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> + <!-- launching Speaker identification (speakeridentification) --> + <node pkg="speakeridentification" name="speakeridentification" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Dialogue manager (dialoguemanager) --> - <node pkg="dialoguemanager" name="dialoguemanager" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Person re-identification (personreidentification) --> + <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Body 2D pose (body2dpose) --> - <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> - <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> + <!-- launching ORB SLAM (orbslam) --> + <node pkg="orbslam" name="orbslam" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <remap from="map" to="/map"/> </node> <!-- launching hri_fullbody (hri_fullbody) --> @@ -96,35 +92,24 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Speech synthesis (speechsynthesis) --> - <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> - </node> - - <!-- launching Sound localisation (soundlocalisation) --> - <node pkg="soundlocalisation" name="soundlocalisation" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - </node> - - <!-- launching Robot non-verbal behaviours (robotnonverbalbehaviours) --> - <node pkg="robotnonverbalbehaviours" name="robotnonverbalbehaviours" type="node" output="screen"> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching RGB head (rgbhead) --> + <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching High-level planner (highlevelplanner) --> - <node pkg="highlevelplanner" name="highlevelplanner" type="node" output="screen"> + <!-- launching Multi-people body tracker (multipeoplebodytracker) --> + <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> </node> - <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> - <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> + <!-- launching RGB-D + camera_info (rgbdcamera_info) --> + <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> </node> - <!-- launching F-formation (fformation) --> - <node pkg="fformation" name="fformation" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching Activity reco (activityreco) --> + <node pkg="activityreco" name="activityreco" type="node" output="screen"> </node> <!-- launching Face detection (facedetection) --> @@ -133,51 +118,70 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Activity reco (activityreco) --> - <node pkg="activityreco" name="activityreco" type="node" output="screen"> + <!-- launching Mask detection (maskdetection) --> + <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> </node> - <!-- launching User visual focus (uservisualfocus) --> - <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> + <!-- launching plan_actions (plan_actions) --> + <node pkg="plan_actions" name="plan_actions" type="node" output="screen"> </node> - <!-- launching Soft biometrics (softbiometrics) --> - <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching Person manager (personmanager) --> + <node pkg="personmanager" name="personmanager" type="node" output="screen"> <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> + <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> + <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> + <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <remap from="body_id" to="/humans/persons/*/body_id"/> </node> - <!-- launching Scene understanding (sceneunderstanding) --> - <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> + <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> + <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> </node> - <!-- launching ROS openpose (rosopenpose) --> - <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> + <!-- launching User visual focus (uservisualfocus) --> + <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> </node> - <!-- launching ASR (asr) --> - <node pkg="asr" name="asr" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Speech analysis (speechanalysis) --> + <node pkg="speechanalysis" name="speechanalysis" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> </node> - <!-- launching People 3D tracker (people3dtracker) --> - <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> + <!-- launching Fisheye (fisheye) --> + <node pkg="fisheye" name="fisheye" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching Robot GUI (robotgui) --> - <node pkg="robotgui" name="robotgui" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching F-formation (fformation) --> + <node pkg="fformation" name="fformation" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> + <remap from="groups" to="/humans/interactions/groups"/> </node> - <!-- launching Speaker recognition (speakerrecognition) --> - <node pkg="speakerrecognition" name="speakerrecognition" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <!-- launching respeaker_ros (respeaker_ros) --> + <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> + </node> + + <!-- launching ASR (asr) --> + <node pkg="asr" name="asr" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> </node> - <!-- launching Interaction manager (interactionmanager) --> - <node pkg="interactionmanager" name="interactionmanager" type="node" output="screen"> + <!-- launching Body 2D pose (body2dpose) --> + <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> </node> diff --git a/spring-mock-ws/src/springarchitecture/launch/start_all_but_ERM.launch b/spring-mock-ws/src/springarchitecture/launch/start_all_but_ERM.launch index 6d4b5193047235ef3898dead3b26cacc797948c0..7c29a56d97a6043e2b3e44feac524f428a8f3fe4 100644 --- a/spring-mock-ws/src/springarchitecture/launch/start_all_but_ERM.launch +++ b/spring-mock-ws/src/springarchitecture/launch/start_all_but_ERM.launch @@ -1,102 +1,93 @@ <launch> <!-- this launch file starts all SPRING nodes except for ERM nodes. --> - <!-- launching RGB head (rgbhead) --> - <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> + <!-- launching robot_behavior (robot_behavior) --> + <node pkg="robot_behavior" name="robot_behavior" type="node" output="screen"> + <remap from="groups" to="/humans/interactions/groups"/> </node> - <!-- launching Speech diarization (speechdiarization) --> - <node pkg="speechdiarization" name="speechdiarization" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> - <remap from="voice_audio_info" to="/humans/voices/TEST_ID_VOICE/audio_info"/> + <!-- launching Sound source localisation (soundsourcelocalisation) --> + <node pkg="soundsourcelocalisation" name="soundsourcelocalisation" type="node" output="screen"> <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Person re-identification (personreidentification) --> - <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - </node> - - <!-- launching Mask detection (maskdetection) --> - <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> - </node> - - <!-- launching RGB-D + camera_info (rgbdcamera_info) --> - <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <!-- launching Robot functional layer (robotfunctionallayer) --> + <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> </node> - <!-- launching ORB SLAM (orbslam) --> - <node pkg="orbslam" name="orbslam" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> - <remap from="map" to="/map"/> + <!-- launching Voice speech matching (voicespeechmatching) --> + <node pkg="voicespeechmatching" name="voicespeechmatching" type="node" output="screen"> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="speech_streams" to="/audio/speech_streams"/> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> - <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching Soft biometrics (softbiometrics) --> + <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> </node> - <!-- launching Multi-people body tracker (multipeoplebodytracker) --> - <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <!-- launching User attention estimation (userattentionestimation) --> + <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching hri_msgs (hri_msgs) --> - <node pkg="hri_msgs" name="hri_msgs" type="node" output="screen"> + <!-- launching Speech synthesis (speechsynthesis) --> + <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> </node> - <!-- launching spring_msgs (spring_msgs) --> - <node pkg="spring_msgs" name="spring_msgs" type="node" output="screen"> + <!-- launching ROS openpose (rosopenpose) --> + <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> </node> - <!-- launching Robot functional layer (robotfunctionallayer) --> - <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> + <!-- launching interaction_manager (interaction_manager) --> + <node pkg="interaction_manager" name="interaction_manager" type="node" output="screen"> </node> - <!-- launching Person manager (personmanager) --> - <node pkg="personmanager" name="personmanager" type="node" output="screen"> - <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> - <remap from="person_body_id" to="/humans/persons/TEST_ID_PERSON/body_id"/> - <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> - <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> - <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> + <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="detected_objects" to="/detected_objects"/> </node> <!-- launching Depth estimation from monocular (depthestimationfrommonocular) --> <node pkg="depthestimationfrommonocular" name="depthestimationfrommonocular" type="node" output="screen"> </node> + <!-- launching Scene understanding (sceneunderstanding) --> + <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> + </node> + <!-- launching Occupancy map (occupancymap) --> <node pkg="occupancymap" name="occupancymap" type="node" output="screen"> <remap from="map_refined" to="/map_refined"/> </node> - <!-- launching User attention estimation (userattentionestimation) --> - <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching dialogue arbiter (dialoguearbiter) --> + <node pkg="dialoguearbiter" name="dialoguearbiter" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching respeaker_ros (respeaker_ros) --> - <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> + <!-- launching People 3D tracker (people3dtracker) --> + <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> </node> - <!-- launching Dialogue manager (dialoguemanager) --> - <node pkg="dialoguemanager" name="dialoguemanager" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Speaker identification (speakeridentification) --> + <node pkg="speakeridentification" name="speakeridentification" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Body 2D pose (body2dpose) --> - <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> - <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> + <!-- launching Person re-identification (personreidentification) --> + <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + </node> + + <!-- launching ORB SLAM (orbslam) --> + <node pkg="orbslam" name="orbslam" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <remap from="map" to="/map"/> </node> <!-- launching hri_fullbody (hri_fullbody) --> @@ -107,35 +98,24 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Speech synthesis (speechsynthesis) --> - <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> - </node> - - <!-- launching Sound localisation (soundlocalisation) --> - <node pkg="soundlocalisation" name="soundlocalisation" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - </node> - - <!-- launching Robot non-verbal behaviours (robotnonverbalbehaviours) --> - <node pkg="robotnonverbalbehaviours" name="robotnonverbalbehaviours" type="node" output="screen"> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching RGB head (rgbhead) --> + <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching High-level planner (highlevelplanner) --> - <node pkg="highlevelplanner" name="highlevelplanner" type="node" output="screen"> + <!-- launching Multi-people body tracker (multipeoplebodytracker) --> + <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> </node> - <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> - <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> + <!-- launching RGB-D + camera_info (rgbdcamera_info) --> + <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> </node> - <!-- launching F-formation (fformation) --> - <node pkg="fformation" name="fformation" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching Activity reco (activityreco) --> + <node pkg="activityreco" name="activityreco" type="node" output="screen"> </node> <!-- launching Face detection (facedetection) --> @@ -144,37 +124,41 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Activity reco (activityreco) --> - <node pkg="activityreco" name="activityreco" type="node" output="screen"> + <!-- launching Mask detection (maskdetection) --> + <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> </node> - <!-- launching User visual focus (uservisualfocus) --> - <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> + <!-- launching plan_actions (plan_actions) --> + <node pkg="plan_actions" name="plan_actions" type="node" output="screen"> </node> - <!-- launching Soft biometrics (softbiometrics) --> - <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching Person manager (personmanager) --> + <node pkg="personmanager" name="personmanager" type="node" output="screen"> <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> + <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> + <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> + <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <remap from="body_id" to="/humans/persons/*/body_id"/> </node> - <!-- launching Scene understanding (sceneunderstanding) --> - <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> - </node> - - <!-- launching ROS openpose (rosopenpose) --> - <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> + <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> + <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> </node> - <!-- launching ASR (asr) --> - <node pkg="asr" name="asr" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching User visual focus (uservisualfocus) --> + <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> </node> - <!-- launching People 3D tracker (people3dtracker) --> - <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> + <!-- launching Speech analysis (speechanalysis) --> + <node pkg="speechanalysis" name="speechanalysis" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> </node> <!-- launching Visual SLAM + 3D map (visualslam3dmap) --> @@ -183,18 +167,38 @@ <remap from="image_torso" to="/camera_torso/color/image_torso"/> </node> - <!-- launching Speaker recognition (speakerrecognition) --> - <node pkg="speakerrecognition" name="speakerrecognition" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - </node> - <!-- launching Semantic mapping (semanticmapping) --> <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> <remap from="detected_objects" to="/detected_objects"/> </node> - <!-- launching Interaction manager (interactionmanager) --> - <node pkg="interactionmanager" name="interactionmanager" type="node" output="screen"> + <!-- launching Fisheye (fisheye) --> + <node pkg="fisheye" name="fisheye" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + </node> + + <!-- launching F-formation (fformation) --> + <node pkg="fformation" name="fformation" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> + <remap from="groups" to="/humans/interactions/groups"/> + </node> + + <!-- launching respeaker_ros (respeaker_ros) --> + <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> + </node> + + <!-- launching ASR (asr) --> + <node pkg="asr" name="asr" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + </node> + + <!-- launching Body 2D pose (body2dpose) --> + <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> </node> diff --git a/spring-mock-ws/src/springarchitecture/launch/start_all_but_HWU.launch b/spring-mock-ws/src/springarchitecture/launch/start_all_but_HWU.launch index 26d80d8592d90dc693f3a675ad9ebfa315b1fec9..5cfdcc642fbf89dfd97e470b6b10bd0d1f4e8ec6 100644 --- a/spring-mock-ws/src/springarchitecture/launch/start_all_but_HWU.launch +++ b/spring-mock-ws/src/springarchitecture/launch/start_all_but_HWU.launch @@ -1,71 +1,55 @@ <launch> <!-- this launch file starts all SPRING nodes except for HWU nodes. --> - <!-- launching RGB head (rgbhead) --> - <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> + <!-- launching robot_behavior (robot_behavior) --> + <node pkg="robot_behavior" name="robot_behavior" type="node" output="screen"> + <remap from="groups" to="/humans/interactions/groups"/> </node> - <!-- launching Speech diarization (speechdiarization) --> - <node pkg="speechdiarization" name="speechdiarization" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> - <remap from="voice_audio_info" to="/humans/voices/TEST_ID_VOICE/audio_info"/> + <!-- launching Sound source localisation (soundsourcelocalisation) --> + <node pkg="soundsourcelocalisation" name="soundsourcelocalisation" type="node" output="screen"> <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Person re-identification (personreidentification) --> - <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - </node> - - <!-- launching Mask detection (maskdetection) --> - <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> - </node> - - <!-- launching RGB-D + camera_info (rgbdcamera_info) --> - <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <!-- launching Robot functional layer (robotfunctionallayer) --> + <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> </node> - <!-- launching ORB SLAM (orbslam) --> - <node pkg="orbslam" name="orbslam" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> - <remap from="map" to="/map"/> + <!-- launching Voice speech matching (voicespeechmatching) --> + <node pkg="voicespeechmatching" name="voicespeechmatching" type="node" output="screen"> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="speech_streams" to="/audio/speech_streams"/> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> - <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching Soft biometrics (softbiometrics) --> + <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> </node> - <!-- launching Multi-people body tracker (multipeoplebodytracker) --> - <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <!-- launching User attention estimation (userattentionestimation) --> + <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching hri_msgs (hri_msgs) --> - <node pkg="hri_msgs" name="hri_msgs" type="node" output="screen"> + <!-- launching Speech synthesis (speechsynthesis) --> + <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> </node> - <!-- launching spring_msgs (spring_msgs) --> - <node pkg="spring_msgs" name="spring_msgs" type="node" output="screen"> + <!-- launching ROS openpose (rosopenpose) --> + <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> </node> - <!-- launching Robot functional layer (robotfunctionallayer) --> - <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> + <!-- launching Robot GUI (robotgui) --> + <node pkg="robotgui" name="robotgui" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching Person manager (personmanager) --> - <node pkg="personmanager" name="personmanager" type="node" output="screen"> - <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> - <remap from="person_body_id" to="/humans/persons/TEST_ID_PERSON/body_id"/> - <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> - <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> - <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> + <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="detected_objects" to="/detected_objects"/> </node> <!-- launching Depth estimation from monocular (depthestimationfrommonocular) --> @@ -77,21 +61,25 @@ <remap from="map_refined" to="/map_refined"/> </node> - <!-- launching User attention estimation (userattentionestimation) --> - <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching People 3D tracker (people3dtracker) --> + <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> </node> - <!-- launching respeaker_ros (respeaker_ros) --> - <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> + <!-- launching Speaker identification (speakeridentification) --> + <node pkg="speakeridentification" name="speakeridentification" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Body 2D pose (body2dpose) --> - <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> - <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> + <!-- launching Person re-identification (personreidentification) --> + <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + </node> + + <!-- launching ORB SLAM (orbslam) --> + <node pkg="orbslam" name="orbslam" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <remap from="map" to="/map"/> </node> <!-- launching hri_fullbody (hri_fullbody) --> @@ -102,31 +90,24 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Speech synthesis (speechsynthesis) --> - <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> - </node> - - <!-- launching Sound localisation (soundlocalisation) --> - <node pkg="soundlocalisation" name="soundlocalisation" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <!-- launching RGB head (rgbhead) --> + <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching Robot non-verbal behaviours (robotnonverbalbehaviours) --> - <node pkg="robotnonverbalbehaviours" name="robotnonverbalbehaviours" type="node" output="screen"> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching Multi-people body tracker (multipeoplebodytracker) --> + <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> </node> - <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> - <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> + <!-- launching RGB-D + camera_info (rgbdcamera_info) --> + <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> </node> - <!-- launching F-formation (fformation) --> - <node pkg="fformation" name="fformation" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching Activity reco (activityreco) --> + <node pkg="activityreco" name="activityreco" type="node" output="screen"> </node> <!-- launching Face detection (facedetection) --> @@ -135,33 +116,37 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Activity reco (activityreco) --> - <node pkg="activityreco" name="activityreco" type="node" output="screen"> - </node> - - <!-- launching User visual focus (uservisualfocus) --> - <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> + <!-- launching Mask detection (maskdetection) --> + <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> </node> - <!-- launching Soft biometrics (softbiometrics) --> - <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching Person manager (personmanager) --> + <node pkg="personmanager" name="personmanager" type="node" output="screen"> <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> + <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> + <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> + <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <remap from="body_id" to="/humans/persons/*/body_id"/> </node> - <!-- launching ROS openpose (rosopenpose) --> - <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> + <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> + <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> </node> - <!-- launching ASR (asr) --> - <node pkg="asr" name="asr" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching User visual focus (uservisualfocus) --> + <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> </node> - <!-- launching People 3D tracker (people3dtracker) --> - <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> + <!-- launching Speech analysis (speechanalysis) --> + <node pkg="speechanalysis" name="speechanalysis" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> </node> <!-- launching Visual SLAM + 3D map (visualslam3dmap) --> @@ -170,19 +155,38 @@ <remap from="image_torso" to="/camera_torso/color/image_torso"/> </node> - <!-- launching Robot GUI (robotgui) --> - <node pkg="robotgui" name="robotgui" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Semantic mapping (semanticmapping) --> + <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> + <remap from="detected_objects" to="/detected_objects"/> </node> - <!-- launching Speaker recognition (speakerrecognition) --> - <node pkg="speakerrecognition" name="speakerrecognition" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <!-- launching Fisheye (fisheye) --> + <node pkg="fisheye" name="fisheye" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching Semantic mapping (semanticmapping) --> - <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching F-formation (fformation) --> + <node pkg="fformation" name="fformation" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> + <remap from="groups" to="/humans/interactions/groups"/> + </node> + + <!-- launching respeaker_ros (respeaker_ros) --> + <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> + </node> + + <!-- launching ASR (asr) --> + <node pkg="asr" name="asr" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + </node> + + <!-- launching Body 2D pose (body2dpose) --> + <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> </node> diff --git a/spring-mock-ws/src/springarchitecture/launch/start_all_but_INRIA.launch b/spring-mock-ws/src/springarchitecture/launch/start_all_but_INRIA.launch index 8f48e164f3e75bc82a8aa0a9804dd1a3d7e79f14..3e653b37f3ba38d90daa0659ae84093219791790 100644 --- a/spring-mock-ws/src/springarchitecture/launch/start_all_but_INRIA.launch +++ b/spring-mock-ws/src/springarchitecture/launch/start_all_but_INRIA.launch @@ -1,38 +1,44 @@ <launch> <!-- this launch file starts all SPRING nodes except for INRIA nodes. --> - <!-- launching RGB head (rgbhead) --> - <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> + <!-- launching Sound source localisation (soundsourcelocalisation) --> + <node pkg="soundsourcelocalisation" name="soundsourcelocalisation" type="node" output="screen"> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Speech diarization (speechdiarization) --> - <node pkg="speechdiarization" name="speechdiarization" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> - <remap from="voice_audio_info" to="/humans/voices/TEST_ID_VOICE/audio_info"/> + <!-- launching Robot functional layer (robotfunctionallayer) --> + <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> + </node> + + <!-- launching Voice speech matching (voicespeechmatching) --> + <node pkg="voicespeechmatching" name="voicespeechmatching" type="node" output="screen"> <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="speech_streams" to="/audio/speech_streams"/> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching Person re-identification (personreidentification) --> - <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> + <!-- launching Soft biometrics (softbiometrics) --> + <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> </node> - <!-- launching Mask detection (maskdetection) --> - <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <!-- launching User attention estimation (userattentionestimation) --> + <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> </node> - <!-- launching RGB-D + camera_info (rgbdcamera_info) --> - <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <!-- launching Speech synthesis (speechsynthesis) --> + <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> </node> - <!-- launching ORB SLAM (orbslam) --> - <node pkg="orbslam" name="orbslam" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> - <remap from="map" to="/map"/> + <!-- launching Robot GUI (robotgui) --> + <node pkg="robotgui" name="robotgui" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + </node> + + <!-- launching interaction_manager (interaction_manager) --> + <node pkg="interaction_manager" name="interaction_manager" type="node" output="screen"> </node> <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> @@ -41,47 +47,39 @@ <remap from="detected_objects" to="/detected_objects"/> </node> - <!-- launching hri_msgs (hri_msgs) --> - <node pkg="hri_msgs" name="hri_msgs" type="node" output="screen"> - </node> - - <!-- launching spring_msgs (spring_msgs) --> - <node pkg="spring_msgs" name="spring_msgs" type="node" output="screen"> - </node> - - <!-- launching Robot functional layer (robotfunctionallayer) --> - <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> - </node> - <!-- launching Depth estimation from monocular (depthestimationfrommonocular) --> <node pkg="depthestimationfrommonocular" name="depthestimationfrommonocular" type="node" output="screen"> </node> + <!-- launching Scene understanding (sceneunderstanding) --> + <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> + </node> + <!-- launching Occupancy map (occupancymap) --> <node pkg="occupancymap" name="occupancymap" type="node" output="screen"> <remap from="map_refined" to="/map_refined"/> </node> - <!-- launching User attention estimation (userattentionestimation) --> - <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching dialogue arbiter (dialoguearbiter) --> + <node pkg="dialoguearbiter" name="dialoguearbiter" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching respeaker_ros (respeaker_ros) --> - <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> + <!-- launching Speaker identification (speakeridentification) --> + <node pkg="speakeridentification" name="speakeridentification" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Dialogue manager (dialoguemanager) --> - <node pkg="dialoguemanager" name="dialoguemanager" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Person re-identification (personreidentification) --> + <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Body 2D pose (body2dpose) --> - <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> - <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> + <!-- launching ORB SLAM (orbslam) --> + <node pkg="orbslam" name="orbslam" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <remap from="map" to="/map"/> </node> <!-- launching hri_fullbody (hri_fullbody) --> @@ -92,30 +90,18 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Speech synthesis (speechsynthesis) --> - <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> - </node> - - <!-- launching Sound localisation (soundlocalisation) --> - <node pkg="soundlocalisation" name="soundlocalisation" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - </node> - - <!-- launching High-level planner (highlevelplanner) --> - <node pkg="highlevelplanner" name="highlevelplanner" type="node" output="screen"> + <!-- launching RGB head (rgbhead) --> + <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> - <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> + <!-- launching RGB-D + camera_info (rgbdcamera_info) --> + <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> </node> - <!-- launching F-formation (fformation) --> - <node pkg="fformation" name="fformation" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching Activity reco (activityreco) --> + <node pkg="activityreco" name="activityreco" type="node" output="screen"> </node> <!-- launching Face detection (facedetection) --> @@ -124,29 +110,32 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Activity reco (activityreco) --> - <node pkg="activityreco" name="activityreco" type="node" output="screen"> + <!-- launching Mask detection (maskdetection) --> + <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> </node> - <!-- launching User visual focus (uservisualfocus) --> - <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> + <!-- launching plan_actions (plan_actions) --> + <node pkg="plan_actions" name="plan_actions" type="node" output="screen"> </node> - <!-- launching Soft biometrics (softbiometrics) --> - <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> + <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> + <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> </node> - <!-- launching Scene understanding (sceneunderstanding) --> - <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> + <!-- launching User visual focus (uservisualfocus) --> + <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> </node> - <!-- launching ASR (asr) --> - <node pkg="asr" name="asr" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Speech analysis (speechanalysis) --> + <node pkg="speechanalysis" name="speechanalysis" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> </node> <!-- launching Visual SLAM + 3D map (visualslam3dmap) --> @@ -155,23 +144,38 @@ <remap from="image_torso" to="/camera_torso/color/image_torso"/> </node> - <!-- launching Robot GUI (robotgui) --> - <node pkg="robotgui" name="robotgui" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Semantic mapping (semanticmapping) --> + <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> + <remap from="detected_objects" to="/detected_objects"/> </node> - <!-- launching Speaker recognition (speakerrecognition) --> - <node pkg="speakerrecognition" name="speakerrecognition" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <!-- launching Fisheye (fisheye) --> + <node pkg="fisheye" name="fisheye" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching Semantic mapping (semanticmapping) --> - <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching F-formation (fformation) --> + <node pkg="fformation" name="fformation" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> + <remap from="groups" to="/humans/interactions/groups"/> + </node> + + <!-- launching respeaker_ros (respeaker_ros) --> + <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> </node> - <!-- launching Interaction manager (interactionmanager) --> - <node pkg="interactionmanager" name="interactionmanager" type="node" output="screen"> + <!-- launching ASR (asr) --> + <node pkg="asr" name="asr" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + </node> + + <!-- launching Body 2D pose (body2dpose) --> + <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> </node> diff --git a/spring-mock-ws/src/springarchitecture/launch/start_all_but_Other.launch b/spring-mock-ws/src/springarchitecture/launch/start_all_but_Other.launch index 61a9dc25007ad4209e2b2ec4d56adec6b25a6691..e761a51125ba8797e9ffe40337001fe5a3f54e9d 100644 --- a/spring-mock-ws/src/springarchitecture/launch/start_all_but_Other.launch +++ b/spring-mock-ws/src/springarchitecture/launch/start_all_but_Other.launch @@ -1,94 +1,98 @@ <launch> <!-- this launch file starts all SPRING nodes except for Other nodes. --> - <!-- launching RGB head (rgbhead) --> - <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> + <!-- launching robot_behavior (robot_behavior) --> + <node pkg="robot_behavior" name="robot_behavior" type="node" output="screen"> + <remap from="groups" to="/humans/interactions/groups"/> </node> - <!-- launching Speech diarization (speechdiarization) --> - <node pkg="speechdiarization" name="speechdiarization" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> - <remap from="voice_audio_info" to="/humans/voices/TEST_ID_VOICE/audio_info"/> + <!-- launching Sound source localisation (soundsourcelocalisation) --> + <node pkg="soundsourcelocalisation" name="soundsourcelocalisation" type="node" output="screen"> <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Person re-identification (personreidentification) --> - <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching Robot functional layer (robotfunctionallayer) --> + <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> </node> - <!-- launching Mask detection (maskdetection) --> - <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <!-- launching Voice speech matching (voicespeechmatching) --> + <node pkg="voicespeechmatching" name="voicespeechmatching" type="node" output="screen"> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="speech_streams" to="/audio/speech_streams"/> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + </node> + + <!-- launching Soft biometrics (softbiometrics) --> + <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> + <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> </node> - <!-- launching RGB-D + camera_info (rgbdcamera_info) --> - <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <!-- launching User attention estimation (userattentionestimation) --> + <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching ORB SLAM (orbslam) --> - <node pkg="orbslam" name="orbslam" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> - <remap from="map" to="/map"/> + <!-- launching Speech synthesis (speechsynthesis) --> + <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> </node> - <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> - <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching ROS openpose (rosopenpose) --> + <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> </node> - <!-- launching Multi-people body tracker (multipeoplebodytracker) --> - <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <!-- launching Robot GUI (robotgui) --> + <node pkg="robotgui" name="robotgui" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching Robot functional layer (robotfunctionallayer) --> - <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> + <!-- launching interaction_manager (interaction_manager) --> + <node pkg="interaction_manager" name="interaction_manager" type="node" output="screen"> </node> - <!-- launching Person manager (personmanager) --> - <node pkg="personmanager" name="personmanager" type="node" output="screen"> - <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> - <remap from="person_body_id" to="/humans/persons/TEST_ID_PERSON/body_id"/> - <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> - <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> - <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> + <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="detected_objects" to="/detected_objects"/> </node> <!-- launching Depth estimation from monocular (depthestimationfrommonocular) --> <node pkg="depthestimationfrommonocular" name="depthestimationfrommonocular" type="node" output="screen"> </node> + <!-- launching Scene understanding (sceneunderstanding) --> + <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> + </node> + <!-- launching Occupancy map (occupancymap) --> <node pkg="occupancymap" name="occupancymap" type="node" output="screen"> <remap from="map_refined" to="/map_refined"/> </node> - <!-- launching User attention estimation (userattentionestimation) --> - <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching dialogue arbiter (dialoguearbiter) --> + <node pkg="dialoguearbiter" name="dialoguearbiter" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching respeaker_ros (respeaker_ros) --> - <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> + <!-- launching People 3D tracker (people3dtracker) --> + <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> </node> - <!-- launching Dialogue manager (dialoguemanager) --> - <node pkg="dialoguemanager" name="dialoguemanager" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Speaker identification (speakeridentification) --> + <node pkg="speakeridentification" name="speakeridentification" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Body 2D pose (body2dpose) --> - <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> - <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> + <!-- launching Person re-identification (personreidentification) --> + <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + </node> + + <!-- launching ORB SLAM (orbslam) --> + <node pkg="orbslam" name="orbslam" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <remap from="map" to="/map"/> </node> <!-- launching hri_fullbody (hri_fullbody) --> @@ -99,35 +103,24 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Speech synthesis (speechsynthesis) --> - <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> - </node> - - <!-- launching Sound localisation (soundlocalisation) --> - <node pkg="soundlocalisation" name="soundlocalisation" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - </node> - - <!-- launching Robot non-verbal behaviours (robotnonverbalbehaviours) --> - <node pkg="robotnonverbalbehaviours" name="robotnonverbalbehaviours" type="node" output="screen"> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching RGB head (rgbhead) --> + <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching High-level planner (highlevelplanner) --> - <node pkg="highlevelplanner" name="highlevelplanner" type="node" output="screen"> + <!-- launching Multi-people body tracker (multipeoplebodytracker) --> + <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> </node> - <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> - <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> + <!-- launching RGB-D + camera_info (rgbdcamera_info) --> + <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> </node> - <!-- launching F-formation (fformation) --> - <node pkg="fformation" name="fformation" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching Activity reco (activityreco) --> + <node pkg="activityreco" name="activityreco" type="node" output="screen"> </node> <!-- launching Face detection (facedetection) --> @@ -136,37 +129,41 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Activity reco (activityreco) --> - <node pkg="activityreco" name="activityreco" type="node" output="screen"> + <!-- launching Mask detection (maskdetection) --> + <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> </node> - <!-- launching User visual focus (uservisualfocus) --> - <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> + <!-- launching plan_actions (plan_actions) --> + <node pkg="plan_actions" name="plan_actions" type="node" output="screen"> </node> - <!-- launching Soft biometrics (softbiometrics) --> - <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching Person manager (personmanager) --> + <node pkg="personmanager" name="personmanager" type="node" output="screen"> <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> + <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> + <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> + <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <remap from="body_id" to="/humans/persons/*/body_id"/> </node> - <!-- launching Scene understanding (sceneunderstanding) --> - <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> - </node> - - <!-- launching ROS openpose (rosopenpose) --> - <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> + <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> + <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> </node> - <!-- launching ASR (asr) --> - <node pkg="asr" name="asr" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching User visual focus (uservisualfocus) --> + <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> </node> - <!-- launching People 3D tracker (people3dtracker) --> - <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> + <!-- launching Speech analysis (speechanalysis) --> + <node pkg="speechanalysis" name="speechanalysis" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> </node> <!-- launching Visual SLAM + 3D map (visualslam3dmap) --> @@ -175,23 +172,38 @@ <remap from="image_torso" to="/camera_torso/color/image_torso"/> </node> - <!-- launching Robot GUI (robotgui) --> - <node pkg="robotgui" name="robotgui" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Semantic mapping (semanticmapping) --> + <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> + <remap from="detected_objects" to="/detected_objects"/> </node> - <!-- launching Speaker recognition (speakerrecognition) --> - <node pkg="speakerrecognition" name="speakerrecognition" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <!-- launching Fisheye (fisheye) --> + <node pkg="fisheye" name="fisheye" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching Semantic mapping (semanticmapping) --> - <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching F-formation (fformation) --> + <node pkg="fformation" name="fformation" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> + <remap from="groups" to="/humans/interactions/groups"/> + </node> + + <!-- launching respeaker_ros (respeaker_ros) --> + <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> + </node> + + <!-- launching ASR (asr) --> + <node pkg="asr" name="asr" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> </node> - <!-- launching Interaction manager (interactionmanager) --> - <node pkg="interactionmanager" name="interactionmanager" type="node" output="screen"> + <!-- launching Body 2D pose (body2dpose) --> + <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> </node> diff --git a/spring-mock-ws/src/springarchitecture/launch/start_all_but_PAL.launch b/spring-mock-ws/src/springarchitecture/launch/start_all_but_PAL.launch index 551bdcd4ac57d66c9935eb33000655e6d1d642da..62b0e72ff4e2803924dfa7b91a7c8c6073a0654e 100644 --- a/spring-mock-ws/src/springarchitecture/launch/start_all_but_PAL.launch +++ b/spring-mock-ws/src/springarchitecture/launch/start_all_but_PAL.launch @@ -1,104 +1,94 @@ <launch> <!-- this launch file starts all SPRING nodes except for PAL nodes. --> - <!-- launching Speech diarization (speechdiarization) --> - <node pkg="speechdiarization" name="speechdiarization" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> - <remap from="voice_audio_info" to="/humans/voices/TEST_ID_VOICE/audio_info"/> + <!-- launching robot_behavior (robot_behavior) --> + <node pkg="robot_behavior" name="robot_behavior" type="node" output="screen"> + <remap from="groups" to="/humans/interactions/groups"/> + </node> + + <!-- launching Sound source localisation (soundsourcelocalisation) --> + <node pkg="soundsourcelocalisation" name="soundsourcelocalisation" type="node" output="screen"> <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Person re-identification (personreidentification) --> - <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching Voice speech matching (voicespeechmatching) --> + <node pkg="voicespeechmatching" name="voicespeechmatching" type="node" output="screen"> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="speech_streams" to="/audio/speech_streams"/> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching Mask detection (maskdetection) --> - <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <!-- launching Soft biometrics (softbiometrics) --> + <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> + <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> </node> - <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> - <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching User attention estimation (userattentionestimation) --> + <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Multi-people body tracker (multipeoplebodytracker) --> - <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <!-- launching ROS openpose (rosopenpose) --> + <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> </node> - <!-- launching hri_msgs (hri_msgs) --> - <node pkg="hri_msgs" name="hri_msgs" type="node" output="screen"> + <!-- launching Robot GUI (robotgui) --> + <node pkg="robotgui" name="robotgui" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching spring_msgs (spring_msgs) --> - <node pkg="spring_msgs" name="spring_msgs" type="node" output="screen"> + <!-- launching interaction_manager (interaction_manager) --> + <node pkg="interaction_manager" name="interaction_manager" type="node" output="screen"> </node> - <!-- launching Person manager (personmanager) --> - <node pkg="personmanager" name="personmanager" type="node" output="screen"> - <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> - <remap from="person_body_id" to="/humans/persons/TEST_ID_PERSON/body_id"/> - <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> - <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> - <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> + <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="detected_objects" to="/detected_objects"/> </node> <!-- launching Depth estimation from monocular (depthestimationfrommonocular) --> <node pkg="depthestimationfrommonocular" name="depthestimationfrommonocular" type="node" output="screen"> </node> + <!-- launching Scene understanding (sceneunderstanding) --> + <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> + </node> + <!-- launching Occupancy map (occupancymap) --> <node pkg="occupancymap" name="occupancymap" type="node" output="screen"> <remap from="map_refined" to="/map_refined"/> </node> - <!-- launching User attention estimation (userattentionestimation) --> - <node pkg="userattentionestimation" name="userattentionestimation" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - </node> - - <!-- launching Dialogue manager (dialoguemanager) --> - <node pkg="dialoguemanager" name="dialoguemanager" type="node" output="screen"> + <!-- launching dialogue arbiter (dialoguearbiter) --> + <node pkg="dialoguearbiter" name="dialoguearbiter" type="node" output="screen"> <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching Body 2D pose (body2dpose) --> - <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> - <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> + <!-- launching People 3D tracker (people3dtracker) --> + <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> </node> - <!-- launching Sound localisation (soundlocalisation) --> - <node pkg="soundlocalisation" name="soundlocalisation" type="node" output="screen"> + <!-- launching Speaker identification (speakeridentification) --> + <node pkg="speakeridentification" name="speakeridentification" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching Robot non-verbal behaviours (robotnonverbalbehaviours) --> - <node pkg="robotnonverbalbehaviours" name="robotnonverbalbehaviours" type="node" output="screen"> - <remap from="groups" to="/humans/interactions/groups"/> - </node> - - <!-- launching High-level planner (highlevelplanner) --> - <node pkg="highlevelplanner" name="highlevelplanner" type="node" output="screen"> + <!-- launching Person re-identification (personreidentification) --> + <node pkg="personreidentification" name="personreidentification" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> - <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> - <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> + <!-- launching Multi-people body tracker (multipeoplebodytracker) --> + <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> </node> - <!-- launching F-formation (fformation) --> - <node pkg="fformation" name="fformation" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching Activity reco (activityreco) --> + <node pkg="activityreco" name="activityreco" type="node" output="screen"> </node> <!-- launching Face detection (facedetection) --> @@ -107,37 +97,41 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Activity reco (activityreco) --> - <node pkg="activityreco" name="activityreco" type="node" output="screen"> + <!-- launching Mask detection (maskdetection) --> + <node pkg="maskdetection" name="maskdetection" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="face_mask" to="/humans/faces/TEST_ID_FACE/mask"/> </node> - <!-- launching User visual focus (uservisualfocus) --> - <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> - <remap from="gaze" to="/humans/interactions/gaze"/> + <!-- launching plan_actions (plan_actions) --> + <node pkg="plan_actions" name="plan_actions" type="node" output="screen"> </node> - <!-- launching Soft biometrics (softbiometrics) --> - <node pkg="softbiometrics" name="softbiometrics" type="node" output="screen"> - <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <!-- launching Person manager (personmanager) --> + <node pkg="personmanager" name="personmanager" type="node" output="screen"> <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> + <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> + <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> + <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <remap from="body_id" to="/humans/persons/*/body_id"/> </node> - <!-- launching Scene understanding (sceneunderstanding) --> - <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> - </node> - - <!-- launching ROS openpose (rosopenpose) --> - <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> + <!-- launching Non-verbal behaviours (nonverbalbehaviours) --> + <node pkg="nonverbalbehaviours" name="nonverbalbehaviours" type="node" output="screen"> + <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="face_expression" to="/humans/faces/TEST_ID_FACE/expression"/> </node> - <!-- launching ASR (asr) --> - <node pkg="asr" name="asr" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching User visual focus (uservisualfocus) --> + <node pkg="uservisualfocus" name="uservisualfocus" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> </node> - <!-- launching People 3D tracker (people3dtracker) --> - <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> + <!-- launching Speech analysis (speechanalysis) --> + <node pkg="speechanalysis" name="speechanalysis" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> </node> <!-- launching Visual SLAM + 3D map (visualslam3dmap) --> @@ -146,23 +140,27 @@ <remap from="image_torso" to="/camera_torso/color/image_torso"/> </node> - <!-- launching Robot GUI (robotgui) --> - <node pkg="robotgui" name="robotgui" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Semantic mapping (semanticmapping) --> + <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> + <remap from="detected_objects" to="/detected_objects"/> </node> - <!-- launching Speaker recognition (speakerrecognition) --> - <node pkg="speakerrecognition" name="speakerrecognition" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <!-- launching F-formation (fformation) --> + <node pkg="fformation" name="fformation" type="node" output="screen"> + <remap from="gaze" to="/humans/interactions/gaze"/> + <remap from="groups" to="/humans/interactions/groups"/> </node> - <!-- launching Semantic mapping (semanticmapping) --> - <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching ASR (asr) --> + <node pkg="asr" name="asr" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> </node> - <!-- launching Interaction manager (interactionmanager) --> - <node pkg="interactionmanager" name="interactionmanager" type="node" output="screen"> + <!-- launching Body 2D pose (body2dpose) --> + <node pkg="body2dpose" name="body2dpose" type="node" output="screen"> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_skeleton2d" to="/humans/bodies/TEST_ID_BODY/skeleton2d"/> </node> diff --git a/spring-mock-ws/src/springarchitecture/launch/start_all_but_UNITN.launch b/spring-mock-ws/src/springarchitecture/launch/start_all_but_UNITN.launch index d2dc2a96897a21c9158af2821e508cf6d1800646..445c46ab13a60c614207953d1e3cd65a346a48e6 100644 --- a/spring-mock-ws/src/springarchitecture/launch/start_all_but_UNITN.launch +++ b/spring-mock-ws/src/springarchitecture/launch/start_all_but_UNITN.launch @@ -1,60 +1,52 @@ <launch> <!-- this launch file starts all SPRING nodes except for UNITN nodes. --> - <!-- launching RGB head (rgbhead) --> - <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> + <!-- launching robot_behavior (robot_behavior) --> + <node pkg="robot_behavior" name="robot_behavior" type="node" output="screen"> + <remap from="groups" to="/humans/interactions/groups"/> </node> - <!-- launching Speech diarization (speechdiarization) --> - <node pkg="speechdiarization" name="speechdiarization" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> - <remap from="voice_audio_info" to="/humans/voices/TEST_ID_VOICE/audio_info"/> + <!-- launching Sound source localisation (soundsourcelocalisation) --> + <node pkg="soundsourcelocalisation" name="soundsourcelocalisation" type="node" output="screen"> <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> </node> - <!-- launching RGB-D + camera_info (rgbdcamera_info) --> - <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <!-- launching Robot functional layer (robotfunctionallayer) --> + <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> </node> - <!-- launching ORB SLAM (orbslam) --> - <node pkg="orbslam" name="orbslam" type="node" output="screen"> - <remap from="image_raw" to="/camera_torso/color/image_raw"/> - <remap from="map" to="/map"/> + <!-- launching Voice speech matching (voicespeechmatching) --> + <node pkg="voicespeechmatching" name="voicespeechmatching" type="node" output="screen"> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <remap from="speech_streams" to="/audio/speech_streams"/> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> - <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching Speech synthesis (speechsynthesis) --> + <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> </node> - <!-- launching Multi-people body tracker (multipeoplebodytracker) --> - <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> - <remap from="image_raw" to="/camera_head/color/image_raw"/> - <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> + <!-- launching ROS openpose (rosopenpose) --> + <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> </node> - <!-- launching hri_msgs (hri_msgs) --> - <node pkg="hri_msgs" name="hri_msgs" type="node" output="screen"> + <!-- launching Robot GUI (robotgui) --> + <node pkg="robotgui" name="robotgui" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching spring_msgs (spring_msgs) --> - <node pkg="spring_msgs" name="spring_msgs" type="node" output="screen"> + <!-- launching interaction_manager (interaction_manager) --> + <node pkg="interaction_manager" name="interaction_manager" type="node" output="screen"> </node> - <!-- launching Robot functional layer (robotfunctionallayer) --> - <node pkg="robotfunctionallayer" name="robotfunctionallayer" type="node" output="screen"> + <!-- launching Object detection/identification/localisation (objectdetectionidentificationlocalisation) --> + <node pkg="objectdetectionidentificationlocalisation" name="objectdetectionidentificationlocalisation" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="detected_objects" to="/detected_objects"/> </node> - <!-- launching Person manager (personmanager) --> - <node pkg="personmanager" name="personmanager" type="node" output="screen"> - <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> - <remap from="person_body_id" to="/humans/persons/TEST_ID_PERSON/body_id"/> - <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> - <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> - <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <!-- launching Scene understanding (sceneunderstanding) --> + <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> </node> <!-- launching Occupancy map (occupancymap) --> @@ -62,14 +54,25 @@ <remap from="map_refined" to="/map_refined"/> </node> - <!-- launching respeaker_ros (respeaker_ros) --> - <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> - <remap from="raw_audio" to="/audio/raw_audio"/> + <!-- launching dialogue arbiter (dialoguearbiter) --> + <node pkg="dialoguearbiter" name="dialoguearbiter" type="node" output="screen"> + <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> </node> - <!-- launching Dialogue manager (dialoguemanager) --> - <node pkg="dialoguemanager" name="dialoguemanager" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching People 3D tracker (people3dtracker) --> + <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> + </node> + + <!-- launching Speaker identification (speakeridentification) --> + <node pkg="speakeridentification" name="speakeridentification" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> + <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + </node> + + <!-- launching ORB SLAM (orbslam) --> + <node pkg="orbslam" name="orbslam" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> + <remap from="map" to="/map"/> </node> <!-- launching hri_fullbody (hri_fullbody) --> @@ -80,40 +83,39 @@ <remap from="face_roi" to="/humans/faces/TEST_ID_FACE/roi"/> </node> - <!-- launching Speech synthesis (speechsynthesis) --> - <node pkg="speechsynthesis" name="speechsynthesis" type="node" output="screen"> - </node> - - <!-- launching Sound localisation (soundlocalisation) --> - <node pkg="soundlocalisation" name="soundlocalisation" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - </node> - - <!-- launching Robot non-verbal behaviours (robotnonverbalbehaviours) --> - <node pkg="robotnonverbalbehaviours" name="robotnonverbalbehaviours" type="node" output="screen"> - <remap from="groups" to="/humans/interactions/groups"/> + <!-- launching RGB head (rgbhead) --> + <node pkg="rgbhead" name="rgbhead" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching High-level planner (highlevelplanner) --> - <node pkg="highlevelplanner" name="highlevelplanner" type="node" output="screen"> + <!-- launching Multi-people body tracker (multipeoplebodytracker) --> + <node pkg="multipeoplebodytracker" name="multipeoplebodytracker" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> + <remap from="body_roi" to="/humans/bodies/TEST_ID_BODY/roi"/> </node> - <!-- launching Scene understanding (sceneunderstanding) --> - <node pkg="sceneunderstanding" name="sceneunderstanding" type="node" output="screen"> + <!-- launching RGB-D + camera_info (rgbdcamera_info) --> + <node pkg="rgbdcamera_info" name="rgbdcamera_info" type="node" output="screen"> + <remap from="image_raw" to="/camera_torso/color/image_raw"/> </node> - <!-- launching ROS openpose (rosopenpose) --> - <node pkg="rosopenpose" name="rosopenpose" type="node" output="screen"> + <!-- launching plan_actions (plan_actions) --> + <node pkg="plan_actions" name="plan_actions" type="node" output="screen"> </node> - <!-- launching ASR (asr) --> - <node pkg="asr" name="asr" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Person manager (personmanager) --> + <node pkg="personmanager" name="personmanager" type="node" output="screen"> + <remap from="face_demographics" to="/humans/faces/TEST_ID_FACE/demographics"/> + <remap from="person_face_id" to="/humans/persons/TEST_ID_PERSON/face_id"/> + <remap from="person_voice_id" to="/humans/persons/TEST_ID_PERSON/voice_id"/> + <remap from="person_demographics" to="/humans/persons/TEST_ID_PERSON/demographics"/> + <remap from="body_id" to="/humans/persons/*/body_id"/> </node> - <!-- launching People 3D tracker (people3dtracker) --> - <node pkg="people3dtracker" name="people3dtracker" type="node" output="screen"> + <!-- launching Speech analysis (speechanalysis) --> + <node pkg="speechanalysis" name="speechanalysis" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> </node> <!-- launching Visual SLAM + 3D map (visualslam3dmap) --> @@ -122,23 +124,25 @@ <remap from="image_torso" to="/camera_torso/color/image_torso"/> </node> - <!-- launching Robot GUI (robotgui) --> - <node pkg="robotgui" name="robotgui" type="node" output="screen"> - <remap from="voice_speech" to="/humans/voices/TEST_ID_VOICE/speech"/> + <!-- launching Semantic mapping (semanticmapping) --> + <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> + <remap from="detected_objects" to="/detected_objects"/> </node> - <!-- launching Speaker recognition (speakerrecognition) --> - <node pkg="speakerrecognition" name="speakerrecognition" type="node" output="screen"> - <remap from="voice_audio" to="/humans/voices/TEST_ID_VOICE/audio"/> + <!-- launching Fisheye (fisheye) --> + <node pkg="fisheye" name="fisheye" type="node" output="screen"> + <remap from="image_raw" to="/camera_head/color/image_raw"/> </node> - <!-- launching Semantic mapping (semanticmapping) --> - <node pkg="semanticmapping" name="semanticmapping" type="node" output="screen"> - <remap from="detected_objects" to="/detected_objects"/> + <!-- launching respeaker_ros (respeaker_ros) --> + <node pkg="respeaker_ros" name="respeaker_ros" type="node" output="screen"> + <remap from="raw_audio" to="/audio/raw_audio"/> + <remap from="ego_audio" to="/audio/ego_audio"/> </node> - <!-- launching Interaction manager (interactionmanager) --> - <node pkg="interactionmanager" name="interactionmanager" type="node" output="screen"> + <!-- launching ASR (asr) --> + <node pkg="asr" name="asr" type="node" output="screen"> + <remap from="postprocess_audio_streams" to="/audio/postprocess_audio_streams"/> </node> diff --git a/spring-mock-ws/src/springarchitecture/package.xml b/spring-mock-ws/src/springarchitecture/package.xml index a89c6d01ce1e7990b2e472a8d33ac7abf1d12e53..d0d8490196ee62390dfb8769e3d17b9702e428e7 100644 --- a/spring-mock-ws/src/springarchitecture/package.xml +++ b/spring-mock-ws/src/springarchitecture/package.xml @@ -1,7 +1,7 @@ <?xml version="1.0"?> <package format="3"> <name>springarchitecture</name> - <version>0.1.1</version> + <version>0.3.2</version> <description>EU H2020 SPRING architecture. Auto-generated by Boxology 1.3.2.</description> <maintainer email="todo@example.com">TODO</maintainer> @@ -9,44 +9,46 @@ <license>BSD</license> <buildtool_depend>catkin</buildtool_depend> - <depend>rgbhead</depend> - <depend>speechdiarization</depend> + <depend>robot_behavior</depend> + <depend>soundsourcelocalisation</depend> + <depend>robotfunctionallayer</depend> + <depend>voicespeechmatching</depend> + <depend>softbiometrics</depend> + <depend>userattentionestimation</depend> + <depend>hri_msgs</depend> + <depend>speechsynthesis</depend> + <depend>rosopenpose</depend> + <depend>robotgui</depend> + <depend>interaction_manager</depend> + <depend>objectdetectionidentificationlocalisation</depend> + <depend>depthestimationfrommonocular</depend> + <depend>sceneunderstanding</depend> + <depend>occupancymap</depend> + <depend>dialoguearbiter</depend> + <depend>people3dtracker</depend> + <depend>speakeridentification</depend> <depend>personreidentification</depend> - <depend>maskdetection</depend> - <depend>rgbdcamera_info</depend> <depend>orbslam</depend> - <depend>objectdetectionidentificationlocalisation</depend> + <depend>hri_fullbody</depend> + <depend>rgbhead</depend> <depend>multipeoplebodytracker</depend> - <depend>hri_msgs</depend> + <depend>rgbdcamera_info</depend> + <depend>activityreco</depend> + <depend>facedetection</depend> <depend>spring_msgs</depend> - <depend>robotfunctionallayer</depend> + <depend>maskdetection</depend> + <depend>plan_actions</depend> <depend>personmanager</depend> - <depend>depthestimationfrommonocular</depend> - <depend>occupancymap</depend> - <depend>userattentionestimation</depend> - <depend>respeaker_ros</depend> - <depend>dialoguemanager</depend> - <depend>body2dpose</depend> - <depend>hri_fullbody</depend> - <depend>speechsynthesis</depend> - <depend>soundlocalisation</depend> - <depend>robotnonverbalbehaviours</depend> - <depend>highlevelplanner</depend> <depend>nonverbalbehaviours</depend> - <depend>fformation</depend> - <depend>facedetection</depend> - <depend>activityreco</depend> <depend>uservisualfocus</depend> - <depend>softbiometrics</depend> - <depend>sceneunderstanding</depend> - <depend>rosopenpose</depend> - <depend>asr</depend> - <depend>people3dtracker</depend> + <depend>speechanalysis</depend> <depend>visualslam3dmap</depend> - <depend>robotgui</depend> - <depend>speakerrecognition</depend> <depend>semanticmapping</depend> - <depend>interactionmanager</depend> + <depend>fisheye</depend> + <depend>fformation</depend> + <depend>respeaker_ros</depend> + <depend>asr</depend> + <depend>body2dpose</depend> <export> diff --git a/spring-mock-ws/src/userattentionestimation/src/main.cpp b/spring-mock-ws/src/userattentionestimation/src/main.cpp index 30335936d4682a8ff6c7b6f756a25837af725743..1684b791e3e90260eaa805687fe2074a91d85f9f 100644 --- a/spring-mock-ws/src/userattentionestimation/src/main.cpp +++ b/spring-mock-ws/src/userattentionestimation/src/main.cpp @@ -23,8 +23,8 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "tf/transform_broadcaster.h" #include "std_msgs/Empty.h" +#include "tf/transform_broadcaster.h" #include "hri_msgs/RegionOfInterestStamped.h" class UserAttentionEstimation { diff --git a/spring-mock-ws/src/uservisualfocus/src/main.cpp b/spring-mock-ws/src/uservisualfocus/src/main.cpp index 3a6b40dfa092d743c4ae7a8be043179817b9bf4b..34d4c79a10039f0ff4008e560d0e4e57ada787c0 100644 --- a/spring-mock-ws/src/uservisualfocus/src/main.cpp +++ b/spring-mock-ws/src/uservisualfocus/src/main.cpp @@ -30,11 +30,11 @@ class UserVisualFocus { public: UserVisualFocus(ros::NodeHandle* nh) { - // ATTENTION: this topic is not defined in the architecture design - attention_sub_ = nh->subscribe("attention", 1, &UserVisualFocus::attentionCallback, this); // ATTENTION: this topic is not defined in the architecture design gazedirection_sub_ = nh->subscribe("gazedirection", 1, &UserVisualFocus::gazedirectionCallback, this); // ATTENTION: this topic is not defined in the architecture design + attention_sub_ = nh->subscribe("attention", 1, &UserVisualFocus::attentionCallback, this); + // ATTENTION: this topic is not defined in the architecture design depth_sub_ = nh->subscribe("depth", 1, &UserVisualFocus::depthCallback, this); // ATTENTION: this topic is not defined in the architecture design scene_sub_ = nh->subscribe("scene", 1, &UserVisualFocus::sceneCallback, this); @@ -47,11 +47,11 @@ class UserVisualFocus { ~UserVisualFocus() {} private: - void attentionCallback(const std_msgs::Empty::ConstPtr& msg) + void gazedirectionCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("uservisualfocus: received message: " << msg); } - void gazedirectionCallback(const std_msgs::Empty::ConstPtr& msg) + void attentionCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("uservisualfocus: received message: " << msg); } @@ -64,8 +64,8 @@ class UserVisualFocus { ROS_INFO_STREAM("uservisualfocus: received message: " << msg); } - ros::Subscriber attention_sub_; ros::Subscriber gazedirection_sub_; + ros::Subscriber attention_sub_; ros::Subscriber depth_sub_; ros::Subscriber scene_sub_; diff --git a/spring-mock-ws/src/visualslam3dmap/src/main.cpp b/spring-mock-ws/src/visualslam3dmap/src/main.cpp index 531826c964bc2c41fef15c363a338951b8bcb475..1a1391588b99bdc657ec3136db9220d43e1bf48e 100644 --- a/spring-mock-ws/src/visualslam3dmap/src/main.cpp +++ b/spring-mock-ws/src/visualslam3dmap/src/main.cpp @@ -31,10 +31,10 @@ class VisualSlam3dMap { public: VisualSlam3dMap(ros::NodeHandle* nh) { - // ATTENTION: this topic is not defined in the architecture design - localisationprior_sub_ = nh->subscribe("localisationprior", 1, &VisualSlam3dMap::localisationpriorCallback, this); image_head_sub_ = nh->subscribe("image_head", 1, &VisualSlam3dMap::image_headCallback, this); image_torso_sub_ = nh->subscribe("image_torso", 1, &VisualSlam3dMap::image_torsoCallback, this); + // ATTENTION: this topic is not defined in the architecture design + localisationprior_sub_ = nh->subscribe("localisationprior", 1, &VisualSlam3dMap::localisationpriorCallback, this); // ATTENTION: this topic is not defined in the architecture design dense3dmap_pub_ = nh->advertise<std_msgs::Empty>("dense3dmap", 1); @@ -43,22 +43,22 @@ class VisualSlam3dMap { ~VisualSlam3dMap() {} private: - void localisationpriorCallback(const std_msgs::Empty::ConstPtr& msg) + void image_headCallback(const sensor_msgs::Image::ConstPtr& msg) { ROS_INFO_STREAM("visualslam3dmap: received message: " << msg); } - void image_headCallback(const sensor_msgs::Image::ConstPtr& msg) + void image_torsoCallback(const sensor_msgs::Image::ConstPtr& msg) { ROS_INFO_STREAM("visualslam3dmap: received message: " << msg); } - void image_torsoCallback(const sensor_msgs::Image::ConstPtr& msg) + void localisationpriorCallback(const std_msgs::Empty::ConstPtr& msg) { ROS_INFO_STREAM("visualslam3dmap: received message: " << msg); } - ros::Subscriber localisationprior_sub_; ros::Subscriber image_head_sub_; ros::Subscriber image_torso_sub_; + ros::Subscriber localisationprior_sub_; ros::Publisher dense3dmap_pub_; diff --git a/spring-mock-ws/src/voicespeechmatching/CMakeLists.txt b/spring-mock-ws/src/voicespeechmatching/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..c4834e4bd20db44d278e26d2047c8a47da76617f --- /dev/null +++ b/spring-mock-ws/src/voicespeechmatching/CMakeLists.txt @@ -0,0 +1,205 @@ +cmake_minimum_required(VERSION 3.0.2) +project(voicespeechmatching) + +## Compile as C++11, supported in ROS Kinetic and newer +add_compile_options(-std=c++11) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + roscpp + array of std_msgs + audio_common_msgs + std_msgs +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend tag for "message_generation" +## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependency has been pulled in +## but can be declared for certainty nonetheless: +## * add a exec_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder +# add_message_files( +# FILES +# Message1.msg +# Message2.msg +# ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +################################################ +## Declare ROS dynamic reconfigure parameters ## +################################################ + +## To declare and build dynamic reconfigure parameters within this +## package, follow these steps: +## * In the file package.xml: +## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" +## * In this file (CMakeLists.txt): +## * add "dynamic_reconfigure" to +## find_package(catkin REQUIRED COMPONENTS ...) +## * uncomment the "generate_dynamic_reconfigure_options" section below +## and list every .cfg file to be processed + +## Generate dynamic reconfigure parameters in the 'cfg' folder +# generate_dynamic_reconfigure_options( +# cfg/DynReconf1.cfg +# cfg/DynReconf2.cfg +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if your package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES voicespeechmatching +# CATKIN_DEPENDS roscpp +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories(include) +include_directories(SYSTEM ${catkin_INCLUDE_DIRS}) + +## Declare a C++ library +# add_library(${PROJECT_NAME} +# src/${PROJECT_NAME}/voicespeechmatching.cpp +# ) + +## Add cmake target dependencies of the library +## as an example, code may need to be generated before libraries +## either from message generation or dynamic reconfigure +# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Declare a C++ executable +## With catkin_make all packages are built within a single CMake context +## The recommended prefix ensures that target names across packages don't collide +add_executable(${PROJECT_NAME}_node src/main.cpp) + +## Rename C++ executable without prefix +## The above recommended prefix causes long target names, the following renames the +## target back to the shorter version for ease of user use +## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" +set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") + +## Add cmake target dependencies of the executable +## same as for the library above +add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Specify libraries to link a library or executable target against +target_link_libraries(${PROJECT_NAME}_node + ${catkin_LIBRARIES} +) + +############# +## Install ## +############# + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# catkin_install_python(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html +install(TARGETS ${PROJECT_NAME}_node + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +## Mark libraries for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html +# install(TARGETS ${PROJECT_NAME} +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_voicespeechmatching.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/spring-mock-ws/src/soundlocalisation/package.xml b/spring-mock-ws/src/voicespeechmatching/package.xml similarity index 92% rename from spring-mock-ws/src/soundlocalisation/package.xml rename to spring-mock-ws/src/voicespeechmatching/package.xml index 0fa5e7567d448845f0f5d8c76ca8f61a76618cbb..8d6d2961293c269e413c2bcd81942ef46446adaf 100644 --- a/spring-mock-ws/src/soundlocalisation/package.xml +++ b/spring-mock-ws/src/voicespeechmatching/package.xml @@ -1,8 +1,8 @@ <?xml version="1.0"?> <package format="3"> - <name>soundlocalisation</name> + <name>voicespeechmatching</name> <version>1.0.0</version> - <description>Sound localisation (BIU) . Auto-generated by Boxology 1.3.2.</description> + <description>Voice speech matching (BIU) . Auto-generated by Boxology 1.3.2.</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> @@ -50,8 +50,9 @@ <!-- <doc_depend>doxygen</doc_depend> --> <buildtool_depend>catkin</buildtool_depend> <exec_depend>roscpp</exec_depend> + <depend>array of std_msgs</depend> <depend>audio_common_msgs</depend> - <depend>tf</depend> + <depend>std_msgs</depend> <export> diff --git a/spring-mock-ws/src/speakerrecognition/src/main.cpp b/spring-mock-ws/src/voicespeechmatching/src/main.cpp similarity index 62% rename from spring-mock-ws/src/speakerrecognition/src/main.cpp rename to spring-mock-ws/src/voicespeechmatching/src/main.cpp index 25e830d6b51a17b696bb09fce3163a7d680518d1..27bdbf87b32a55cc6394f534df8fba5edc0f01ae 100644 --- a/spring-mock-ws/src/speakerrecognition/src/main.cpp +++ b/spring-mock-ws/src/voicespeechmatching/src/main.cpp @@ -23,44 +23,50 @@ #include "ros/ros.h" #include "std_msgs/String.h" -#include "std_msgs/Empty.h" +#include "std_msgs/String.h" #include "audio_common_msgs/AudioData.h" +#include "array of std_msgs/String.h" -class SpeakerRecognition { +class VoiceSpeechMatching { public: - SpeakerRecognition(ros::NodeHandle* nh) { + VoiceSpeechMatching(ros::NodeHandle* nh) { - voice_audio_sub_ = nh->subscribe("voice_audio", 1, &SpeakerRecognition::voice_audioCallback, this); + voice_audio_sub_ = nh->subscribe("voice_audio", 1, &VoiceSpeechMatching::voice_audioCallback, this); + speech_streams_sub_ = nh->subscribe("speech_streams", 1, &VoiceSpeechMatching::speech_streamsCallback, this); - // ATTENTION: this topic is not defined in the architecture design - person_id_candidatehri_msgsidsmatch_pub_ = nh->advertise<std_msgs::Empty>("person_id_candidatehri_msgsidsmatch", 1); + voice_speech_pub_ = nh->advertise<std_msgs::String>("voice_speech", 1); } - ~SpeakerRecognition() {} + ~VoiceSpeechMatching() {} private: void voice_audioCallback(const audio_common_msgs::AudioData::ConstPtr& msg) { - ROS_INFO_STREAM("speakerrecognition: received message: " << msg); + ROS_INFO_STREAM("voicespeechmatching: received message: " << msg); + } + void speech_streamsCallback(const array of std_msgs::String::ConstPtr& msg) + { + ROS_INFO_STREAM("voicespeechmatching: received message: " << msg); } ros::Subscriber voice_audio_sub_; + ros::Subscriber speech_streams_sub_; - ros::Publisher person_id_candidatehri_msgsidsmatch_pub_; + ros::Publisher voice_speech_pub_; }; int main(int argc, char** argv) { - ros::init(argc, argv, "speakerrecognition"); + ros::init(argc, argv, "voicespeechmatching"); // Initialize node parameters from launch file or command line. // Use a private node handle so that multiple instances of the node can be // run simultaneously while using different parameters. ros::NodeHandle private_node_handle_("~"); - auto speakerrecognition = SpeakerRecognition(&private_node_handle_); + auto voicespeechmatching = VoiceSpeechMatching(&private_node_handle_); - ROS_INFO("Node speakerrecognition launched and ready."); + ROS_INFO("Node voicespeechmatching launched and ready."); ros::spin(); return 0; }