本系列教程作者:小鱼
公众号:鱼香ROS
QQ交流群:139707339
教学视频地址:小鱼的B站
完整文档地址:鱼香ROS官网
版权声明:如非允许禁止转载与商业用途。

4.2.3 话题通信小练习之李三白嫖

你好,我是小鱼。恭喜你完成了ROS2中非常重要的话题通信部分的学习,本节我们将一起做一个小练习,巩固一下我们的学习成果。

1.小练习背景

话说李四有个兄弟叫李三,他是李四的哥哥,一个典型的白嫖党。他看李四写的艳娘传奇非常的有意思,自己也想拿来品鉴一下。但他又不想给李四钱。
所以我们的任务就是,在李家村里创建白嫖党李三这个节点,然后为其订阅sexy_girl话题数据。

2.小练习思路

你可以将其分为下面几步:

  1. 新建li3.py这个文件,在里面创建一个BaiPiaoNode类并定义一个main()函数
  2. 编写BaiPiaoNode类,为其订阅话题和编写回调函数
  3. 在setup.py中配置li3节点,如果记不得如何配置可以看看3.5章节
  4. 编译运行李三节点,并启动李四和王二节点
  5. 观察运行结果,用rqt_graph查看计算图

3.小练习答案(写完再参考哦)

3.1代码

#!/usr/bin/env python3
import rclpy
from rclpy.node import Node
from std_msgs.msg import Stringclass BaiPiaoNode(Node):"""创建一个李三节点,并在初始化时输出一个话"""def __init__(self,name):super().__init__(name)self.get_logger().info("大家好,我是李三,李四他哥,我可以白嫖李四的小说!")self.sub_ = self.create_subscription(String,"sexy_girl",self.recv_callback,10)def recv_callback(self,novel):self.get_logger().info('李三:我已经收到了:%s' % novel.data)def main(args=None):"""ros2运行该节点的入口函数,可配置函数名称"""rclpy.init(args=args) # 初始化rclpynode = BaiPiaoNode("li3")  # 新建一个节点rclpy.spin(node) # 保持节点运行,检测是否收到退出指令(Ctrl+C)rclpy.shutdown() # rcl关闭

3.2setup.py配置

    entry_points={'console_scripts': ["li4_node = village_li.li4:main","li3_node = village_li.li3:main"],}

3.3 计算图

从图中可以看到,li3并没有给li4钱。

作者介绍:

我是小鱼,机器人领域资深玩家,现深圳某独脚兽机器人算法工程师一枚
初中学习编程,高中开始接触机器人,大学期间打机器人相关比赛实现月入2W+(比赛奖金)
目前在输出机器人学习指南、论文注解、工作经验,欢迎大家关注小智,一起交流技术,学习机器人

《动手学ROS2》4.4话题小练习-李三借钱吃麻辣烫相关推荐

  1. 《动手学ROS2》3.4小游戏_小乌龟求偶大作战

    本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 3.4 小游戏:小乌龟求偶大作 ...

  2. 《动手学ROS2》4.7ROS2服务介绍

    本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 4.4 ROS2服务介绍 大家 ...

  3. 《动手学ROS2》10.7 Nav2导航框架介绍与安装

    <动手学ROS2>10.7 Nav2导航框架介绍与安装 本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版 ...

  4. 《动手学ROS2》10.4 Cartographer介绍与安装

    <动手学ROS2>10.4 Cartographer介绍与安装 本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS ...

  5. 《动手学ROS2》9.5为FishBot添加添加激光雷达传感器

    <动手学ROS2>9.5为FishBot添加添加激光雷达传感器 本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS ...

  6. 《动手学ROS2》第十章章节介绍 机器人导航NAV2

    本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 第十章 机器人导航NAV2 千 ...

  7. 《动手学ROS2》10.6导航地图概述

    <动手学ROS2>10.6导航地图概述 本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许 ...

  8. 《动手学ROS2》4.6ROS2自定义话题接口

    本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 4.3.2 自定义话题接口 本 ...

  9. 《动手学ROS2》4.3ROS2话题通信(C++)

    本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 4.2.2 ROS2话题通信( ...

最新文章

  1. 文字识别技术在内容安全中的应用
  2. 好久没有看到这么有建设性德文章,由衷地赞叹《知其所以然地学习(以算法学习为例)》-By 刘未鹏(pongba)
  3. 造出世界最大芯片的公司,Cerebras Systems到底是怎样的存在?
  4. php视频录制插件,Chrome浏览器录屏扩展插件
  5. 计算机软件基础-(软件开发过程管理)
  6. jmeter制造大批量的用户数据数据
  7. chrome ninja 文件_ninja和gn
  8. python 实现对地图的点击_python实现Pyecharts实现动态地图(Map、Geo)
  9. Unity 阴影的制作方式
  10. 线性同余法求伪随机数序列
  11. 【论文阅读】自然语言模型的尺度法则(CS224N WINTER 2022 Lecture17 推荐阅读整理)
  12. centos 7单网卡实现双路由,同时访问内外网
  13. 北京市朝阳区 办理 驾驶证期满换证 自助体检 的流程
  14. Google Kick Start 2019 C轮 题解
  15. 写给跨端玩家:支撑淘宝上亿日活的跨端框架—— Rax 的入门教程(附 TODO Demo)
  16. Python Numpy random.poisson() 泊松分布
  17. 负载大逃亡:四十二路怪兽联军及七条逃生法则(很喜欢)
  18. python后端脚手架_flask-adminlte-scaffold是一个Python环境下的WEB后台管理系统脚手架...
  19. 通信系统的正交调制(IQ)解调与希尔伯特变换原理
  20. FineReport多个文本框做非空校验

热门文章

  1. 一个投喂ChatGPT大内容的小技巧
  2. NO.44-----QQ音乐全站爬虫
  3. 小程序直播页面遮罩及按钮设置
  4. 智能摄像机的硬件架构及算法类型应用
  5. Android 日历开发教程[五]
  6. c语言 判断两个文件是否相同
  7. Socket之shutdown()用法
  8. 蓝桥杯--算法提高 幸运顾客(java)
  9. STM32F7系列最小系统原理图
  10. 产品经理应该坚持还是妥协