ros订阅话题python_ROS:话题编程订阅者Subscriber的简单实现

更新时间:2023-07-19 23:23:15 阅读: 评论:0

ros订阅话题python_ROS:话题编程订阅者Subscriber的简单
实现
1.(1)编写⼀个C++话题订阅者
/**
* 该例程将订阅/turtle1/po话题,消息类型turtlesim::Po
陶缸绘 pet*/
#include #include "turtlesim/Po.h"
// 接收到订阅的消息后,会进⼊消息回调函数
void poCallback(const turtlesim::Po::ConstPtr& msg)华师大二附中闵行校区
{
// 将接收到的消息打印出来
ROS_INFO("Turtle po: x:%0.6f, y:%0.6f", msg->x, msg->y);
}
int main(int argc, char **argv)
{
// 初始化ROS节点
名词所有格ros::init(argc, argv, "po_subscriber");
// 创建节点句柄
ros::NodeHandle n;
// 创建⼀个Subscriber,订阅名为/turtle1/po的topic,注册回调函数poCallback
ros::Subscriber po_sub = n.subscribe("/turtle1/po", 10, poCallback);
// 循环等待回调函数
ros::spin();
return 0;
}
(2)编写⼀个Python话题订阅者
#!/usr/bin/env python
巧克英语
# -*- coding: utf-8 -*-
ambulance# 该例程将订阅/turtle1/po话题,消息类型turtlesim::Po
import rospy
from turtlesim.msg import Po
def poCallback(msg):
time of dayrospy.loginfo("Turtle po: x:%0.6f, y:%0.6f", msg.x, msg.y)
def po_subscriber():
# ROS节点初始化
rospy.init_node('po_subscriber', anonymous=True)
# 创建⼀个Subscriber,订阅名为/turtle1/po的topic,注册回调函数poCallback
rospy.Subscriber("/turtle1/po", Po, poCallback)
# 循环等待回调函数
rospy.spin()
if __name__ == '__main__':
po_subscriber()resultt
总结:
1.初始化ROS节点生活大爆炸第二季高清下载
2.订阅需要的话题
3.循环等待消息,接收消息后进⼊回调函数
4.在回调函数完成消息处理
2.配置订阅者代码编译规则(c++)
打开包⽬录下的:
off the hook设置需要编译的代码和⽣成可执⾏⽂件  add_executable(po_subcriber src/po_subcriber.cpp)设置链接库 target_link_libraries(po_subcriber ${catkin_LIBRARIES})
3.编译并运⾏发布者

本文发布于:2023-07-19 23:23:15,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/182647.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:消息   订阅   回调   话题   函数   编译   代码   爆炸
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图