29 #include <std_msgs/String.h> 30 #include <std_msgs/Bool.h> 32 #include "geometry_msgs/TransformStamped.h" 36 #include "hri_msgs/EngagementLevel.h" 37 #include "std_msgs/Float32.h" 63 ns_ =
"/humans/persons/" +
id_;
67 ns_ +
"/face_id", 1, [&](
const std_msgs::StringConstPtr msg) {
face_id = msg->data; });
70 ns_ +
"/body_id", 1, [&](
const std_msgs::StringConstPtr msg) {
body_id = msg->data; });
74 [&](
const std_msgs::StringConstPtr msg) {
voice_id = msg->data; });
77 ns_ +
"/anonymous", 1,
78 [&](
const std_msgs::BoolConstPtr msg) {
_anonymous = msg->data; });
81 ns_ +
"/alias", 1, [&](
const std_msgs::StringConstPtr msg) {
_alias = msg->data; });
84 ns_ +
"/engagement_status", 1,
88 ns_ +
"/location_confidence", 1,
89 [&](
const std_msgs::Float32ConstPtr msg) {
_loc_confidence = msg->data; });
120 return boost::optional<EngagementLevel>();
125 case hri_msgs::EngagementLevel::UNKNOWN:
126 return boost::optional<EngagementLevel>();
138 return boost::optional<EngagementLevel>();
146 return boost::optional<geometry_msgs::TransformStamped>();
159 <<
". Are the frames published?");
160 return boost::optional<geometry_msgs::TransformStamped>();
hri_msgs::EngagementLevelConstPtr _engagement_status
Subscriber subscribe(const std::string &topic, uint32_t queue_size, void(T::*fp)(M), T *obj, const TransportHints &transport_hints=TransportHints())
std::weak_ptr< const Voice > VoiceWeakConstPtr
ros::Subscriber face_id_subscriber_
boost::optional< geometry_msgs::TransformStamped > transform() const
tf2_ros::Buffer * _tf_buffer_ptr
std::weak_ptr< const Face > FaceWeakConstPtr
std::weak_ptr< const Body > BodyWeakConstPtr
ros::Subscriber loc_confidence_subscriber_
boost::optional< EngagementLevel > engagement_status() const
ros::Subscriber engagement_subscriber_
ros::Subscriber alias_subscriber_
virtual geometry_msgs::TransformStamped lookupTransform(const std::string &target_frame, const std::string &source_frame, const ros::Time &time, const ros::Duration timeout) const
VoiceWeakConstPtr voice() const
BodyWeakConstPtr body() const
const HRIListener * listener_
std::map< ID, FaceWeakConstPtr > getFaces() const
Returns the list of currently detected faces, mapped to their IDs.
ros::Subscriber anonymous_subscriber_
ros::Subscriber voice_id_subscriber_
#define ROS_WARN_STREAM(args)
#define ROS_DEBUG_STREAM(args)
std::string _reference_frame
std::map< ID, BodyWeakConstPtr > getBodies() const
Returns the list of currently detected bodies, mapped to their IDs.
static const ros::Duration PERSON_TF_TIMEOUT(0.01)
std::string frame() const
ros::Subscriber body_id_subscriber_
Main entry point to libhri. This is most likely what you want to use. Use example: ...
FaceWeakConstPtr face() const
std::map< ID, VoiceWeakConstPtr > getVoices() const
Returns the list of currently detected voices, mapped to their IDs.