Subscribe to two topics and performing some computation
How can i subsribe to two different topics that conatin different message type using a single node.can you give a example
ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A answers.ros.org |
How can i subsribe to two different topics that conatin different message type using a single node.can you give a example
In the publish/subscribe example in the ROS tutorials, it shows about the simplest a subscriber can get (example).
There are two things required for a subscription, that is the callback function, and the subscriber handle. You can simply duplicate these as many times as you need. A modified example could be:
#include "ros/ros.h"
#include "std_msgs/String.h"
#include "std_msgs/Int16.h"
void fooCallback(const std_msgs::String::ConstPtr& msg)
{
// process the string
}
void barCallback(const std_msgs::Int16 msg)
{
// process the int
}
int main(int argc, char **argv)
{
ros::init(argc, argv, "listener");
ros::NodeHandle n;
ros::Subscriber sub1 = n.subscribe("foo", 1000, fooCallback);
ros::Subscriber sub2 = n.subscribe("bar", 1000, barCallback);
ros::spin();
return 0;
}
I haven't tested this, so you probably can't just copy and run it.
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 2016-11-23 09:51:44 -0500
Seen: 596 times
Last updated: Nov 24 '16
Please don't use caps. Please edit your title and question and change things to use appropriate capitalisation.