0

我正在尝试从 rqt 插件中订阅一个非常简单的 ros 主题。订阅似乎有效,但我的回调函数没有被调用。

Subscription::Subscription(QString topic)
{ 
   ROS_INFO("Subscribing to topic: [%s]", topic.toLocal8Bit().constData() );

   sub = n.subscribe(topic.toLocal8Bit().constData(), 1000, &Subscription::chatterCallback, this);
}


void Subscription::chatterCallback(const std_msgs::String::ConstPtr& msg)
{
   ROS_INFO("I heard: [%s]", msg->data.c_str() );

   emit messageReceived(msg->data.c_str() );
}

这实际上应该非常简单。我错过了什么?

4

1 回答 1

0

我发现了问题。我正在创建我自己的ros::NodeHandle,当我应该使用我得到的那个时rqt_gui_cpp::Plugin()::getNodeHandle()

于 2013-09-23T15:17:15.397 回答