在rqt中订阅一个简单的ros节点

时间:2013-09-23 13:57:40

标签: c++ qt ros

我正在尝试从rqt插件中订阅一个非常简单的ros主题。似乎订阅工作,但我的Callback函数不会被调用。

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() );
}

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

1 个答案:

答案 0 :(得分:0)

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