与凉亭时间“ message_filters”时间同步的问题

时间:2019-07-04 08:39:19

标签: ros gazebo-simu

我尝试使用'message_filters'同步从凉亭模拟器发布的两个主题。但这行不通

我也尝试过“ approximate_time”和“ exact_time”,但也无法正常工作。

我做了一个实验问题:

我打开了新终端,并手动发布了主题,例如:

$ rostopic pub“ / topicA” pkgA / msgA“” -r 10 $ rostopic pub“ / topicB” pkgB / msgB“” -r 10

然后'my_node'工作得很好。 它只是无法同步凉亭中的主题。

#include "ros/ros.h"
#include <message_filters/subscriber.h>
#include <message_filters/time_synchronizer.h>
#include <message_filters/sync_policies/approximate_time.h>
#include <message_filters/sync_policies/exact_time.h>
#include "pkgA/msgA.h"
#include "pkgB/msgB.h"

void callback(const pkgA::msgA &a, const pkgB::msgB &b)
{
  // Solve all of perception here...
}

int main(int argc, char **argv)
{
  ros::init(argc, argv, "gazebo_relay_node");

  ros::NodeHandle nh;
  message_filters::Subscriber<pkgA::msgA> subA(nh, "topicA", 1);
  message_filters::Subscriber<pkgB::msgB> subB(nh, "topicB", 1);

  TimeSynchronizer<pkgA::msgA, pkgB::msgB> sync(subA, subB, 100);
  sync.registerCallback(boost::bind(&callback, _1, _2));

  ros::spin();

  return 0;
}

我希望我可以从凉亭同步主题,并在回叫功能中从不同主题获取数据。

0 个答案:

没有答案