ros数据包如何发送到指定topic下
时间: 2024-01-05 17:03:22 浏览: 107
要发送ROS数据包到指定的topic下,您可以使用ros::Publisher类和它的publish()函数。下面是一个C++代码示例:
```c++
#include <ros/ros.h>
#include <std_msgs/String.h>
int main(int argc, char **argv)
{
ros::init(argc, argv, "talker");
ros::NodeHandle nh;
ros::Publisher pub = nh.advertise<std_msgs::String>("my_topic", 1000);
ros::Rate loop_rate(10);
int count = 0;
while (ros::ok())
{
std_msgs::String msg;
msg.data = "Hello, world!";
pub.publish(msg);
ros::spinOnce();
loop_rate.sleep();
++count;
}
return 0;
}
```
在这个例子中,我们创建了一个名为"my_topic"的topic,并且使用ros::Publisher类的advertise()函数将其发布。在while循环中,我们创建了一个std_msgs::String类型的消息,并将其发布到"my_topic"。如果您想发布到其他topic,只需要更改advertise()函数中的topic名称即可。
希望这可以帮助您。
阅读全文