ROS包的概念及创建

一个 ROS2 包可以看作是 ROS2 代码的容器。如果需要安装或者共享代码, 那么代码应该组织在一个包中。有了软件包,就更方便的发布 ROS2 代码。 ROS2 包使用 ament 作为构建系

ROS核心概念

简介 ROS(Robot Operating System) 是软件库和工具的集合,用来构建机器人应用程序。 ROS2 是一个中间层,它通过匿名的发布/订阅机制在不同的 ROS 进程中传递消息。 ROS2 图 图是 ROS2 系统的

获取USB列表

Windows 通过 GetLogicalDrives API 可以拿到所有的磁盘列表,API 返回 DWORD 值, 为当前可用磁盘驱动的位掩码,比特位 0 表示 A 盘,比特位 1 表示 B 盘 … Python 示例代码: 1 2 3 4 5 6 7

正则表达式

基本语法

普通字符组

字符组表示在同一位置可能出现的各种字符,写法是在一对方括号[]之间列出所有的可能字符。如:

1
re.search("[0123456789]", str) != None

Python 使用上面代码判断 str 中是否包含 0-9 数字中的一个,如果有返回 MatchObject 对象,没有返回 None。 如果 str=“3fas”,代码返回 MatchObject;如果 str=“lkjl”,代码返回 None。其他语言使用如下:

1
str.matches("[0123456789]");//匹配返回true,否则返回false
1
preg_match("/[0123456789]/", str);//匹配返回1,不匹配返回0
1
/[0123456789]/.test(str);

上面的代码测试 str 的某个子串是否匹配,如果测试整个 str 是否匹配,要在字符组前后加上^和$。 ^表示定位到字符串的起始位置,$表示定位到字符串的结尾位置。如:

1
2
3
4
5
re.search("[0123456789]", "213")
re.search("[0123456789]", "a3467")# 只要字符串中有一个数字,就匹配
re.search("^[0123456789]", "54352fafad")#开始处是一个整数字符
re.search("[0123456789]$", "fada898")#结尾处要是一个整数字符
re.search("^[0123456789]$", "3423432")#整个字符串都是一个整数字符才匹配

字符的排列顺序并不影响字符组的功能。

正则表达式的范围表示法可以用[x-y]表示 x 到 y 整个范围内的字符,范围表示的顺序根据 ASCII 编码。

1
re.search("[0-9]", "3") #匹配

不建议使用[0-z]统一表示数字,小写字母,大写字母。不容易理解。

可是使用\xhex 来表示一个字符,\x 是固定前缀,hex 是十六进制的数字,是字符对应的码值。

WinRT相关技术

WinRT 概念 参考资料:https://docs.microsoft.com/en-us/windows/uwp/get-started/unive