32 #ifndef FEATURE_TRACKER_NODE_H_ 33 #define FEATURE_TRACKER_NODE_H_ 41 #include <sensor_msgs/PointCloud2.h> 42 #include <sensor_msgs/Image.h> 48 #include <boost/thread.hpp> 53 #include <dynamic_reconfigure/server.h> 54 #include <feature_tracker/FeatureTrackerDynReconfConfig.h> 56 #include <std_msgs/Bool.h> 57 #include "omip_msgs/ShapeTrackerStates.h" 114 virtual void measurementCallback(
const sensor_msgs::PointCloud2ConstPtr &pc_msg,
115 const sensor_msgs::ImageConstPtr &depth_image_msg,
116 const sensor_msgs::ImageConstPtr &rgb_image_msg);
124 virtual void measurementCallback(
const sensor_msgs::ImageConstPtr &depth_image_msg,
125 const sensor_msgs::ImageConstPtr &rgb_image_msg);
147 virtual void DynamicReconfigureCallback(feature_tracker::FeatureTrackerDynReconfConfig &config, uint32_t level);
154 virtual void ReadRosBag();
161 virtual void OcclusionMaskImgCallback(
const sensor_msgs::ImageConstPtr &occlusion_mask_img);
167 virtual void PublishTrackedFeaturesImg();
173 virtual void PublishTrackedFeaturesWithPredictionMaskImg();
179 virtual void PublishDepthEdgesImg();
185 virtual void PublishPredictionMaskImg();
191 virtual void PublishTrackingMaskImg();
197 virtual void PublishDetectingMaskImg();
203 virtual void PublishFullRGBDPC();
205 virtual void PublishRGBImg();
207 virtual void PublishDepthImg();
213 virtual void PublishPredictedAndLastFeaturesImg();
215 virtual void RepublishPredictedFeatLocation();
225 virtual void _publishState()
const;
231 virtual void _publishPredictedMeasurement()
const;
236 virtual void _ReadParameters();
241 virtual void _InitializeVariables();
246 virtual void _SubscribeAndAdvertiseTopics();
335 dynamic_reconfigure::Server<feature_tracker::FeatureTrackerDynReconfConfig>
_dr_srv;
336 dynamic_reconfigure::Server<feature_tracker::FeatureTrackerDynReconfConfig>::CallbackType
_dr_callback;
std::string _occlusion_mask_img_topic
message_filters::Subscriber< sensor_msgs::PointCloud2 > _full_rgbd_pc_sub
double _advance_frame_min_wait_time
dynamic_reconfigure::Server< feature_tracker::FeatureTrackerDynReconfConfig >::CallbackType _dr_callback
void newMessage(const boost::shared_ptr< M const > &msg)
std::string _tracker_type
void signalMessage(const MConstPtr &msg)
bool _republishing_predicted_feat_locs
message_filters::Subscriber< sensor_msgs::Image > _rgb_img_sub
bool _publishing_detecting_msk_img
image_transport::Publisher _depth_img_pub
std::string _predicted_locations_pc_topic
message_filters::sync_policies::ApproximateTime< sensor_msgs::PointCloud2, sensor_msgs::Image, sensor_msgs::Image > FTrackerSyncPolicy
BagSubscriber< sensor_msgs::Image > _bag_depth_img_sub
bool _publishing_tracked_feats_with_pred_msk_img
ros::Publisher _shutdown_publisher
ros::Publisher _camera_info_pub2
dynamic_reconfigure::Server< feature_tracker::FeatureTrackerDynReconfConfig > _dr_srv
FeatureCloudPCLwc::Ptr _predicted_locations_pc
cv_bridge::CvImagePtr _cv_ptr_depth
BagSubscriber< sensor_msgs::Image > _bag_rgb_img_sub
image_transport::Publisher _detecting_mask_img_pub
image_transport::Publisher _prediction_mask_img_pub
std::string _depth_img_topic
sensor_msgs::CameraInfo _camera_info_msg
ros::Publisher _full_rgbd_pc_repub
image_transport::Publisher _tracked_feats_with_pm_img_pub
image_transport::Publisher _depth_edges_img_pub
message_filters::Synchronizer< FTrackerLightSyncPolicy > * _light_synchronizer
bool _publishing_predicting_msk_img
message_filters::Synchronizer< FTrackerSyncPolicy > * _synchronizer
message_filters::sync_policies::ApproximateTime< sensor_msgs::Image, sensor_msgs::Image > FTrackerLightSyncPolicy
bool _advance_sub_returned_true
ros::Subscriber _occlusion_mask_img_sub
bool _publishing_depth_edges_img
bool _publishing_tracked_feats_img
FeatureTrackerNode class Connects to the ROS communication system to get messages from the sensors an...
image_transport::Publisher _predicted_and_past_feats_img_pub
ros::Publisher _camera_info_pub
virtual void measurementCallback(const boost::shared_ptr< ft_measurement_ros_t const > &ft_measurement_ros)
Empty measurement callback, just to implement correctly the RENode interface.
int _advance_frame_mechanism
image_transport::Publisher _rgb_img_pub
std::string _bag_file_name
double _advance_frame_max_wait_time
ros::Publisher _pred_feat_locs_repub
bool _publishing_depth_img
PointCloudPCL::ConstPtr _full_rgbd_pc
bool _attention_to_motion
image_transport::Publisher _tracked_feats_img_pub
image_transport::ImageTransport _image_transport
tf::Transform _initial_ee_tf
ros::Subscriber _advance_sub
std::string _full_rgbd_pc_topic
image_transport::Publisher _tracking_mask_img_pub
std::string _rgb_img_topic
BagSubscriber< sensor_msgs::PointCloud2 > _bag_full_rgbd_pc_sub
void run(ClassLoader *loader)
cv_bridge::CvImagePtr _cv_ptr_occlusion_msk
message_filters::Subscriber< sensor_msgs::Image > _depth_img_sub
bool _publishing_predicted_and_past_feats_img
cv_bridge::CvImagePtr _cv_ptr_rgb
bool _publishing_tracking_msk_img
ros::Publisher _time_repub
bool _occlusion_mask_positive