ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

ArturK's profile - activity

2019-08-29 17:07:44 -0500 received badge  Nice Question (source)
2015-10-15 04:42:46 -0500 received badge  Famous Question (source)
2014-11-09 13:13:38 -0500 received badge  Notable Question (source)
2014-10-24 07:32:30 -0500 received badge  Supporter (source)
2014-10-23 12:47:50 -0500 received badge  Scholar (source)
2014-10-18 12:29:59 -0500 received badge  Popular Question (source)
2014-10-17 15:19:12 -0500 received badge  Student (source)
2014-10-17 09:25:01 -0500 asked a question How to use TimeSynchronizer filter inside nodelet?

Hello,

I started using ROS (indigo on Ubuntu 14.04) and I want convert my node (which running well and using TimeSynchronizer for two topics synchronized by timestamp that call manta_callback function) to nodelet. But after initialising my nodelet, TimeSynchronizer doesn't synchronize input topics & doesn't call manta_callback(). How can I debug TimeSynchronizer under nodelet or should I check another solution e.g. NodeletMUX for synchronize two topics under nodelet? Sources:

header file:

namespace detect_control_nodelet {

class MarkerDetectControl : public nodelet::Nodelet
{
    public:
        virtual void onInit();
    void manta_callback(const sensor_msgs::ImageConstPtr & image_msg,  ar_track_alvar_msgs_ext::AlvarMarkerExtConstPtr  arMarkerCorners);       

};

}

src file:

namespace detect_control_nodelet 
{
   void MarkerDetectControl::onInit()
   { 
    NODELET_DEBUG("Initializing nodelet..."); 
    ros::NodeHandle n("~");

   ros::NodeHandle nh = getNodeHandle();
   ros::NodeHandle& private_nh = getPrivateNodeHandle();
   ROS_INFO("In onInit()");     

message_filters::Subscriber<Image> image_sub(private_nh, "camera/image_raw", 1);
message_filters::Subscriber<ar_track_alvar_msgs_ext::AlvarMarkerExt> info_sub(private_nh, "ar_corners_marker",1);
TimeSynchronizer<Image, ar_track_alvar_msgs_ext::AlvarMarkerExt> sync(image_sub, info_sub, 50);
sync.registerCallback(boost::bind(&MarkerDetectControl::manta_callback,this,_1, _2));}

}

void MarkerDetectControl::manta_callback(const sensor_msgs::ImageConstPtr & image_msg, ar_track_alvar_msgs_ext::AlvarMarkerExtConstPtr arMarkerCorners) {
ROS_INFO("In function manta_callback");
}