Explorar el Código

修改4.1话题介绍

鱼香ROS hace 3 años
padre
commit
ac2a943bce
Se han modificado 2 ficheros con 32 adiciones y 25 borrados
  1. 20 15
      docs/chapt4/4.1ROS2话题介绍.md
  2. 12 10
      docs/chapt4/章节介绍.md

+ 20 - 15
docs/chapt4/4.1ROS2话题介绍.md

@@ -1,25 +1,31 @@
 # 4.1 ROS2话题介绍
 
-你好,我是小鱼。你还记得ROS镇的故事吗?后来ROS2镇长来了之后,王二订报的方式也发生了改变,让我们一起来看看吧
+大家好,我是小鱼。上一章节中,我们采用了面向对象的方法创建了作家李四和单身狗王二,本节课我们就通过ROS2的话题机制,让李四发布小说,让王二付费订阅小说
 
-## 1.讲个故事
+## 1.背景故事
 
-李四是一名擅长写小说的作家,王二是一名喜欢看小说且单身多年的单身狗。王二最喜欢看李四写的《艳娘传奇》这个小说
+李四是一名擅长写小说的作家,既然是作家,肯定要写文章才行,所以李四就写了一本颜色小说《艳娘传奇》
 
-所以王二(Node)出于对《艳娘传奇》(Topic)的兴趣,订阅了(Subscribe)李四(Node)发布(Publish)的小说
+王二是一名单身多年的单身狗,单身狗没啥爱好,但看《艳娘传奇》肯定是必看的
 
+所以本节课我们就要想办法让王二可以看到李四写的小说,有什么好的办法吗?
+
+办法就是ROS2的话题机制。
+
+我们让王二(Node)通过订阅(Subscribe)李四(Node)发布(Publish)的《艳娘传奇》(Topic)来欣赏小说的。
 
 
 ## 2.话题介绍
 
-看完上面的内容,我们来总结一下,上面其实讲了一下ROS2中Topic通信方式。Topic是一种发布订阅模型。
+故事其实就是讲了一下ROS2中Topic通信方式,Topic通信模型是一种发布订阅模型。
 
-这里的王二和李四可以理解为两个节点,这两个节点可以在同一个功能包下,也可以在不同的功能包下。
+### 2.1 话题的发布订阅模型
 
-李四节点会创建一个发布者(Publisher)来发布一个话题(艳娘传奇,小鱼取个英文名叫sexy_girl)。王二也是一个节点,他创建了一个订阅者(Subscriber)来订阅李四发布的话题sexy_girl
+这里的王二和李四两个节点,通过话题来互相通信(传递数据)
 
-那艳娘传奇的内容是什么呢?我们暂且规定为由文字组成的字符串(连插图都没的那种)
+李四节点会创建一个发布者(Publisher)来发布一个话题(艳娘传奇,小鱼取个英文名叫sexy_girl)。单身汉王二节点,他创建了一个订阅者(Subscriber)来订阅李四发布的话题sexy_girl
 
+那艳娘传奇的内容是什么呢?我们暂且规定为由文字组成的字符串(连插图都没的那种)。
 
 
 ```mermaid
@@ -32,21 +38,21 @@ B -- 订阅 --> C[Node王二]
 
 
 
-### 2.1话题通信有哪些需要注意的规则呢?
+### 2.2 话题通信有哪些需要注意的规则呢?
 
 需要满足以下规则:
 
 - 话题名字是关键,订阅者必须知道话题的名称才能完成订阅;
-- 同一个人可以订阅多个话题,同时也可以发布多个话题,就像一本书的作者也可以是另外一本书的读者;
+- 同一个人(节点)可以订阅多个话题,同时也可以发布多个话题,就像一本书的作者也可以是另外一本书的读者;
 - 同一个小说不能有多个作者(版权问题),但跟小说不一样,同一个话题可以有多个发布者。
 
 
 
+## 3.话题相关的工具
 
+### 3.1  RQT工具之rqt_graph
 
-## 3.topic工具
-
-### 3.1 查看节点关系查看rqt_graph
+查看节点关系查看rqt_graph
 
 ROS2作为一个强大的工具,在运行过程中,我们是可以通过命令来看到节点和节点之间的数据关系的。
 
@@ -62,13 +68,12 @@ rqt_graph
 
 ![](4.1ROS2话题介绍/imgs/image-20210803113450234.png)
 
-#### 3.1.1 rqt_graph
 
 > 你可以尝试改变菜单栏的选项,看一看下面图的变化,感受一下rqt_graph工具的强大。
 
 这是一个很重要的工具,小鱼在学习和使用ROS2的过程中经常会用到它,来看一看数据到底是怎么走的,它可以帮我们搞清楚一个节点的输入和输出是什么。
 
-### 3.2 ros2 topic 指令
+### 3.2 ROS2话题相关命令行界面(CLI)工具
 
 还记得上一节的ros2 node指令吗?ros2也支持很多强大的topic指令。可以使用下面的指令查看。
 

+ 12 - 10
docs/chapt4/章节介绍.md

@@ -1,20 +1,22 @@
 # 第4章 ROS2通信机制-话题与服务
 
-叮叮叮,恭喜你完成了第3章的学习,在第3章里,你对ROS2的工作空间和节点概念有了一定的了解,也会使用C++或者Python编写一个节点了!但这远远不能满足我们对技术的好奇心!
-
-本章节小鱼将会带大家学习ROS2的通信机制中的话题通信和服务通信。
-
-
-如果想快点学习后续章节内容,可以跳过本章节下半部分,但上半部分还是需要学习的,因为这是后面学习ROS2的基础内容。
+叮叮叮,恭喜你完成了第3章的学习,相信你现在已经对ROS2的工作空间和节点概念有了一定的了解,也已经掌握了使用C++或者Python编写一个节点了!但这远远不能满足我们对技术的好奇心!
 
+所以本章节小鱼将会带你一起学习ROS2的通信机制中话题和服务两种通信方式。
 
 
 **通过本章节的学习,你可以收获:**
 
-- 掌握ROS2中话题通信的机制和使用方法
-- 掌握ROS2中服务通信的机制和使用方法
-- 掌握如何创造自己的接口类型
-
+- 了解ROS2中话题相关概念
+- 掌握使用Python编写话题的发布和订阅
+- 掌握使用C++编写话题的发布和订阅
+- 了解ROS2中接口的相关概念
+- 掌握自定义话题接口的方法
+- 了解ROS2中服务相关概念
+- 掌握自定义服务接口的方法
+- 学会使用Python编写服务的服务端和客户端
+- 学会使用C++编写服务的服务端和客户端
+- 了解服务和话题的不同之处