之前并没有学习过ROS,但是觉得这个东西很有用,现在也有一些空闲的时间,于是便打算学习一点新东西。

ROS是什么?

ROS是 robotic operating system 的缩写,一个能完整工作的较为复杂的机器人通常由非常多部分组成,需要许多资源共同工作,相互传递信息来完成一个任务。
然而每一次去开发机器人,都要重新去搞底层的通信架构,有种重新造轮子的感觉,增加工作量,ROS就是来解决这个问题的,让能复用的软件、功能不需要再去重新开发一遍,拿来就用。

ROS1和ROS2的一些区别

ROS已经广泛应用在很多地方了,但是设计之初的一些缺陷导致他一直停留在一些原型机和实验室里边,难以在工业化生产中真正用到,并且只支持Linux系统
ROS2从2014年开始提出,在2022年首次推出一个长期支持版本ROS2 humble,与ROS1相较起来通信延迟更低,可靠性更高,对商业化工业化应用更加友好。取消了master节点,使用基于DDS分布式架构进行通信。
aaa
既然要学那就学最新的,在游览许多博客之后,也推荐在当前的情况下可以选择直接去学习ROS2
由于之前使用过Ubuntu,而且在后面的实际的机器人项目中大概率还是会使用Linux来进行开发,所以我就使用虚拟机在Ubuntu下使用ROS2

ROS2的下载和配置

以下的所有操作都是在虚拟机的Ubuntu-22.04.5下进行操作的
要学习ROS2的最好方式就是直接上手,这里有两个法子来配置ROS2的环境,一个是直接使用小鱼ROS的集成命令,一条搞定所有

1
wget http://fishros.com/install -O fishros && . fishros

另外一个就是跟着官网去下载配置安装,直接百度ROS官网,进去跟着搞
在小鱼的自动命令是真的香
在Linux中经常会碰到

1
sudo apt update

这个命令,sudo在这里指的是:superuser do,超级用户 要干!简单点说就和你平时以管理员身份运行一样,通常在运行系统级的任务的时候会用到这个。apt在这里面是Advanced Package Tool的缩写