ROS2 通过消息,服务,行为接口进行通信,它们的格式通过 IDL 定义。
消息
消息定义在 ROS 包里面的 msg 目录下,以 .msg 结尾的文本文件描述。
.msg 文件包括两个部分:字段和常量
字段
字段以行分割,每个字段包括类型和名称,以空格分割。
ROS2 通过消息,服务,行为接口进行通信,它们的格式通过 IDL 定义。
消息定义在 ROS 包里面的 msg 目录下,以 .msg 结尾的文本文件描述。
.msg 文件包括两个部分:字段和常量
字段以行分割,每个字段包括类型和名称,以空格分割。
ROS(Robot Operating System) 是软件库和工具的集合,用来构建机器人应用程序。
ROS2 是一个中间层,它通过匿名的发布/订阅机制在不同的 ROS 进程中传递消息。
图是 ROS2 系统的核心概念,一张图是由许多节点构成,节点和节点之间有通信构成连线。
字符组表示在同一位置可能出现的各种字符,写法是在一对方括号[]之间列出所有的可能字符。如:
| |
Python 使用上面代码判断 str 中是否包含 0-9 数字中的一个,如果有返回 MatchObject 对象,没有返回 None。如果 str=“3fas”,代码返回 MatchObject;如果 str=“lkjl”,代码返回 None。其他语言使用如下:
| |
| |
| |
上面的代码测试 str 的某个子串是否匹配,如果测试整个 str 是否匹配,要在字符组前后加上^和$。 ^表示定位到字符串的起始位置,$表示定位到字符串的结尾位置。如:
字符的排列顺序并不影响字符组的功能。
正则表达式的范围表示法可以用[x-y]表示 x 到 y 整个范围内的字符,范围表示的顺序根据 ASCII 编码。
| |
不建议使用[0-z]统一表示数字,小写字母,大写字母。不容易理解。
可是使用\xhex 来表示一个字符,\x 是固定前缀,hex 是十六进制的数字,是字符对应的码值。
远程调试的作用就是可以在开发机(即本地机器)上调试在目标机器(即远程机器)运行的程序。
这里本地机器和开发机器的操作系统都是 Windows 。
安装远程调试工具
下载 Visual Studio 2019 远程调试工具:https://visualstudio.microsoft.com/zh-hans/downloads/#remote-tools-for-visual-studio-2019 下载完后双击安装。
You Can’t Write Perfect Software
防御式编程对所有可能出现的错误进行防卫性的处理,当错误出现时,该崩溃的让程序崩溃,该记录日志的记录日志。这样才能在程序真的出现错误时更加快速的解决错误。