主题 机器人编程趣味实践07-信息交互

在网络上 , 沟通交流的方式主要有文字、图片和视频 。对于专业人士 , 通常是公式和代码 。
在表述一个数学或物理规律所用字节或占用空间由小到大:
公式文字图片视频
理解难度由简单到困难 , 如下:
视频图片文字公式
果然 , 鱼与熊掌不可兼得 。
旅程开启
那么如何构建一个简单的局域网聊天工具呢?
这里只给出最简陋版本的 。
复习一下节点:
猜一下 , 主题列表命令如下:
那么公司的每位小伙伴都要订阅这个主题 , 随时查看是否需要开会(恩……开会挺********** , 此处省略)
终端也一样:
当然也完全支持图片、视频等格式 , 并且可以用图形化界面哦 , 来看一下吧:
在线的员工 , 如下图所示:

主题  机器人编程趣味实践07-信息交互

文章插图
当然也可以给每个员工一个正式工号 , 留作思考题 。
此外 , 信息也可以加密 , 未获授权的电脑无法观看 , 参考:
公司或者实验室内部各成员之间交流通知 , 采用这种方式就不需要xx了 , 充分保护隐私哦 。
【主题机器人编程趣味实践07-信息交互】如果做成图形化界面 , 就是聊天工具 。更多内容 , 后续补充 。现在回归本节内容:
基本概念
在机器人操作系统中 , 将复杂的系统拆解为许多模块(松耦合) 。主题是一个ROS图中的虚拟元素 , 用于展示节点之间消息传输 。
一对一:
多对多:
到这里 , 节点和主题的概念 , 都已经清晰了 。
更多内容参考:ROS 2主题--
配置
下面 , 开启图形化示例(会议主题保留):
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
主题  机器人编程趣味实践07-信息交互

文章插图
使用 , 可以清晰可视化节点和主题的动态 , 当然也包括它们的连接情况 。
消息流向由箭头表示:
关于主题的全部命令如下:
usage: ros2 topic [-h] [--include-hidden-topics] Call `ros2 topic -h` for more detailed usage. ...Various topic related sub-commandsoptional arguments:-h, --helpshow this help message and exit--include-hidden-topicsConsider hidden topics as wellCommands:bwDisplay bandwidth used by topicdelayDisplay delay of topic from timestamp in headerechoOutput messages from a topicfindOutput a list of available topics of a given typehzPrint the average publishing rate to screeninfoPrint information about a topiclistOutput a list of available topicspubPublish a message to a topictypePrint a topic's typeCall `ros2 topic -h` for more detailed usage.
演示一些内容如下:
主题列表
主题列表中传递的消息类型:
在图形化中 , 要显示所有主题 , 注意hide!
消息可以传输各类信息 , 类似编程语言中的各种变量 。后续讲解 。
主题消息显示
格式如下:
案例如下:
默认不会有任何反应 , 如非遥控键盘 。