【问题标题】:ROS C++: nh.subscribe vs message_filters::Subscriber<> , nh.subscribe works well but message_filters::Subscriber<> does not workROS C++: nh.subscribe 与 message_filters::Subscriber<> , nh.subscribe 效果很好,但 message_filters::Subscriber<> 不起作用
【发布时间】:2022-09-27 17:07:35
【问题描述】:

我正在尝试学习 ROS 主题,但遇到了一个让我非常困惑的问题。

这是原始代码。它运作良好,我可以接收图像并将其传递给 CamImgcb。

mSubCam = mNh.subscribe<sensor_msgs::Image>(TopicNameCamSub,10,boost::bind(&ClientHandler::CamImgCb,this,_1));

但是当我把它改成下面这段代码时,CamImgcb 什么都收不到,整个程序卡住等待图像到来。

message_filters::Subscriber<sensor_msgs::Image> rgb_sub(mNh, TopicNameCamSub, 10);
rgb_sub.registerCallback(boost::bind(&ClientHandler::CamImgCb,this,_1));

我的问题是这两个代码不是意味着完全相同的东西吗?为什么它们之间有区别?我就是想不通。

有谁知道是什么问题?请帮助我,非常感谢!

    标签: c++ ros slam


    【解决方案1】:

    不久前我遇到了类似的问题,并找到了解决方案here

    尝试改变:

    rgb_sub.registerCallback(boost::bind(&ClientHandler::CamImgCb,this,_1));
    

    至:

    rgb_sub.registerCallback(&ClientHandler::CamImgCb, this);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多