我正在尝试从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() );
}
这实际上应该非常简单。我错过了什么?
答案 0 :(得分:0)
我发现了问题。我正在创建自己的ros::NodeHandle
,当我应该使用我从rqt_gui_cpp::Plugin()::getNodeHandle()
获得的那个。