@@ -55,6 +55,7 @@ void declare_config(FeatureReceiver::Config& config) {
5555 field (config.queue_size , " queue_size" );
5656 field (config.tf_lookup , " tf_lookup" );
5757 field (config.sensors_to_exclude , " sensors_to_exclude" );
58+ field (config.verbosity , " verbosity" );
5859}
5960
6061using semantic_inference_msgs::msg::FeatureVectorStamped;
@@ -66,20 +67,23 @@ struct FeatureSubscriber {
6667 FeatureSubscriber (ianvs::NodeHandle nh,
6768 const std::string& sensor_name,
6869 const Callback& pose_callback,
69- size_t queue_size = 10 );
70+ size_t queue_size = 10 ,
71+ size_t verbosity = 0 );
7072
7173 void callback (const FeatureVectorStamped& msg);
7274
7375 rclcpp::Subscription<FeatureVectorStamped>::SharedPtr sub;
7476 const std::string sensor_name;
7577 const Callback pose_callback;
78+ const size_t verbosity;
7679};
7780
7881FeatureSubscriber::FeatureSubscriber (ianvs::NodeHandle nh,
7982 const std::string& sensor_name,
8083 const Callback& pose_callback,
81- size_t queue_size)
82- : sensor_name(sensor_name), pose_callback(pose_callback) {
84+ size_t queue_size,
85+ size_t verbosity)
86+ : sensor_name(sensor_name), pose_callback(pose_callback), verbosity(verbosity) {
8387 const std::string topic = sensor_name + " /feature" ;
8488 sub = nh.create_subscription <FeatureVectorStamped>(
8589 topic, queue_size, &FeatureSubscriber::callback, this );
@@ -105,6 +109,8 @@ void FeatureSubscriber::callback(const FeatureVectorStamped& msg) {
105109 Eigen::Map<const Eigen::VectorXf>(vec.data (), vec.size ()),
106110 GlobalInfo::instance ().getSensor (sensor_name).get ());
107111
112+ LOG_IF (INFO, verbosity >= 2 ) << " Pushing new feature to input queue @ "
113+ << timestamp_ns << " [ns] for '" << sensor_name << " '" ;
108114 PipelineQueues::instance ().input_features_queue .push (std::move (packet));
109115}
110116
@@ -114,15 +120,20 @@ void FeatureReceiver::start() {
114120 const auto sensor_names = GlobalInfo::instance ().getAvailableSensors ();
115121 for (const auto & name : sensor_names) {
116122 if (to_exclude.count (name)) {
123+ LOG_IF (INFO, config.verbosity >= 1 )
124+ << " Excluding '" << name << " ' from feature receivers!" ;
117125 continue ;
118126 }
119127
120128 auto nh = getHydraNodeHandle (config.ns );
129+ LOG_IF (INFO, config.verbosity >= 1 )
130+ << " Making feature receiver for '" << name << " '" ;
121131 subs_.push_back (std::make_unique<FeatureSubscriber>(
122132 nh,
123133 name,
124134 [this ](uint64_t timestamp_ns) { return lookup_.getBodyPose (timestamp_ns); },
125- config.queue_size ));
135+ config.queue_size ,
136+ config.verbosity ));
126137 }
127138}
128139
0 commit comments