Подпишитесь на простой узел ros в rqt

Я пытаюсь подписаться на очень простую тему ros из плагина rqt. Вроде подписка работает, но моя функция обратного звонка не вызывается.

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

На самом деле это должно быть очень просто. Что мне не хватает?


person aLu    schedule 23.09.2013    source источник


Ответы (1)


Я нашел проблему. Я создавал свой собственный ros::NodeHandle, вместо того, чтобы использовать тот, который я получил от rqt_gui_cpp::Plugin()::getNodeHandle().

person aLu    schedule 23.09.2013