最近开始学习ros2机器人开发,目前是跟着鱼香(桑欣)的《ros2机器人开发从入门达到实践》,会陆续出对应专栏的笔记,大体是将鱼香的课程做成笔记,一是自己巩固,二是记录其中的BUG,方便大家一起解决。欢迎感兴趣的朋友一起来组团学习。

        一、ros2简介

                ros包含大量搭建机器人所需要的软件和工具,是目前应用最广发的机器人操作系统,未来搭载ros的机器人将不断出现在生产和生活中。

                1.ros2发展历史

                        

                        

               2. ros2本质是什么?

                        ros2本质上其实就是用于快速搭建机器人的软件库(核心是通信)和工具集。

                        追求的是稳定、安全和实时的通信能力。

               3.ros2系统架构

                        

                        操作系统层:ros2并非真正意义上的操作系统,需要建立在操作系统基础上,这一层为ros2提供了各种基础硬件的驱动,比如网卡驱动、常用USB驱动和常用摄像头驱动等。

                        DDS实现层:ros2的核心通讯组件,这个第三方就是数据分发服务(Data distribution service,DDS),是基于实时发布订阅协议(real-time publish-subscribe,RTPS)来实现数据分发。

                        DDS接口层:因为要支持不同厂家的DDS,同时又需要对外保持一致,所以定义了RMW(ROS middleware interface,ros中间件接口),再由不同DDS进行实现,为ros2客户端层提供统一的调用接口。

                        ros2客户端层:提供了不同编程语言的ros2客户端库(ros2 Client Library,RCL),使用这些提供的接口,可以完成对ros2核心功能的调用,如话题、服务、参数和动作通讯机制。

                        应用层:所有基于RCL开发的程序都属于应用层,比如后续的海龟模拟器和ROS QT工具都是基于这一层的,后续我们自己开发的机器人应用也属于这一层。

                4.ros2已发布版本

                        

                        查询地址:Making sure you're not a bot!

                 5.ros2机器人开发特色

                                四大核心通信机制

                        

                                通信:控制信号还有传感器数据的一个传递。

                        

                        

                        

                6.ros2机器人开发槽点

                        

        二、virtualBox

               1、操作系统的选择

                        

                2.安装方法

                        1)虚拟机安装:用户在Windows系统上创建一个独立的Linux环境,这对于学习和测试非常有用。

                        2)快速创建包含ros2的双系统:使用FISHROS2OS等工具可以简化在移动磁盘上安装Linux与Windows共存的双系统。FISHROS2OS 使用指南 | 鱼香ROS

                3.安装步骤

                        

                        ros2类似docker、maven,需要哪个工具就使用对应的坐标从中央仓库获取软件及依赖包。

                             1)安装虚拟机virtualBox

                                        官网下载:Downloads – Oracle VirtualBox

                                

                                        下载后,去双击.exe的文件,然后一直下一步的安装,注意建议直接放C盘,安装目录可以不管他,就用默认的C盘(我之前想安装在D盘,但是报各种问题,直接放C盘没有任何问题)。都默认,然后选择下一步,最后直接安装就好,一般安装好了会自动打开。

                        

                                2)安装ubuntu系统

                                        下载镜像地址:Directory Listing

                                        选择版本:我选的是22.04.6,点击进去,图2就是我选择的最终版本

                                      ​​​​​​​        ​​​​​​​        

                                图2

                                        -desktop-:桌面版(比较大,有界面,学习,做开发,没有桌面会比较难受,建议学习使用桌面版),这里我也选择的桌面版。

                                        -live-server-:服务器版(比较小,无界面,正常机器人开发是要在硬件上的,不需要显示器的,我们可以直接装个服务器版本,这样使用的资源会大大降低,速度会更快一些)。

                                        -amd64:相当于系统的CPU架构。

                                下载对应镜像后,记住存放的位置。

                                打开virtualBox,选择新建,然后在下图位置找到刚刚下载的镜像地址

                                

                                

                               内存大小:一般给8个G,自己记得调整大小,

                               处理器:处理器的核心数,一般给4个。

                               点击下一步:

                                

                                磁盘空间:初始化虚拟机时我们应该给大点的空间(125G),后续加大空间比较麻烦,但是不能超过自己的物理主机,这个磁盘只要不勾下面的“预与分配全部空间”,他是使用多少才分配多少的。

                               点击下一步:

                        

                                确认刚刚分配的信息,没问题就点击“完成”。

                        

                                就有了一台虚拟机了,点击绿色的箭头“启动”。

                        

                                初次进来需要安装ubuntu,我们直接选择第一个,键盘回车就好了(当前虚拟机上还没有安装好系统,所以只能用键盘,还不能用鼠标,安装好ubuntu系统后,可以正常使用鼠标),它会自动加载镜像里面的文件,安装了,鼠标的光标就会出来了。

                        ​​​​​​​

                        语言选择:中文简体。

                        然后点“install ubuntu”

                        

                                按上图选择,然后直接继续。

                                最小安装:不需要初始化时安装一些常用软件,毕竟我们是做开发,不需要Office那些软件。

                                其他选项:

                                        “安装ubuntu时下载更新”:会浪费安装的时间,没必要勾选。

                                        “为图形或……”:因为在虚拟机上,几乎不需要,但如果你是安装双系统的时候,这个可以勾上,如果有好点的显卡的好,可以选择,是的后期可以方便使用驱动。

                        

                                安装类型:会将安装光盘的文件拷贝到我们的操作系统的虚拟电脑的磁盘上,有几种方式。“清除整个磁盘并安装ubuntu”-我们只有一个磁盘,为了方便可以直接选这个,它会自动的去进行分区以及清除并安装。“其他选项”-一般安装双系统的时候,使用这个,然后自己去创建这个分区,确保它和Windows是在不同的磁盘上。

                                然后点击现在安装。

                                

                                        会弹出提示,直接继续就行了。

                                

                        

                                

                                将我们的ubuntu镜像安装到我们的虚拟机磁盘上。

                                

        三、ubuntu上安装ros2

                1.手动安装:

                2.安装工具包安装:

                                ubuntu大多数情况下是不用我们自己直接下载一个可执行文件,然后去安装的,我们可以直接使用安装工具直接自动下载。

                            1)使用命令更新ubuntu管理软件的工具。

                                        在ubuntu界面右击→在终端中打开→终端中输入指令:sudo apt update

                                        

                                        sudo:以管理员权限执行后面的命令。

                                        apt:ubuntu中用于管理软件的一个工具。

                                        sudo apt update命令运行完成后,会去请求服务器更新,更新完成后,当我们再使用apt去装某个软件的时候,就会直接去软件列表里找有没有这个软件,会自动下载这个软件的安装包。

                                        

                                        

                            2)使用安装工具进行安装:

                                        安装工具包:wget http://fishros.com/install -O fishros && bash fishros

                                        

                                        wget:下载指令

                                         http://fishros.com/install:下载的网址

                                        -O:output输出

                                        fishros:指定文件(可以自己随意取名字,就是会将下载文件放入你指定的这个文件里)

                                        &&:连接符

                                        . fishros:点后面是一个空格,然后接fishros,代表执行fishros(上一步你的fishros改了名字,这里点后面也要跟着你改的名字,就是执行你的文件)

                                        注意:以上整体命令可以分开执行,先拉取文件,然后. fishros都是可以的。

                                        

                                        接下来跟着选择:

                                

                                

                                学习使用桌面版

                                安装成功后界面

                            3)测试:

                                        测试命令(一定记得打开新终端,在上下文才能生效,有个坑):ros2

                                        ​​​​​​​安装成功后测试界面

                                        可以使用命令:whereis ros2,查看ros2安装位置

                                        我的安装目录,按下图步骤找下具体安装文件。

               

  

        

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐