鱼香ros2(一)在ubuntu中安装ros2

最近开始学习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安装位置

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

相关推荐
张继雁36 分钟前
张继雁 个人技术简介|磨削加工过滤方向
大数据·数据库·论文阅读·人工智能·机器学习·创业创新·业界资讯
两斤牛肉一壶酒38 分钟前
opencode 技能加载全挂背后,竟是不用系统的ripgrep
linux
j7~40 分钟前
【Linux网络加餐(二)】《进程组,会话,控制终端,作业控制和守护进程》---详解
linux·运维·服务器·守护进程·会话·进程组·控制终端
名字还没想好☜41 分钟前
Docker 数据卷实战:volume、bind mount、tmpfs 到底怎么选,数据持久化与权限坑
运维·docker·容器·kubernetes
天道jimmy43 分钟前
VulnHub 系列:Prime,1
linux·运维·服务器
xiaoye-duck1 小时前
《Linux 网络编程》深入传输层 UDP 协议原理:端口、报文、缓冲区与内核源码解析
linux·网络·udp
Lumistory1 小时前
从OPPO长安研发中心看头部科技企业的照明运维选择
大数据·运维·人工智能·光照贴图
好评1241 小时前
【Linux】数据链路层
linux·运维·网络
CC城子2 小时前
EtherNet/IP I/O 丢包排查(linux系统)
linux·单片机·tcp/ip·ethernetip
新时代牛马3 小时前
Linux 信号处理完整篇:从sigaction、掩码到内核发送与可重入排障
linux·运维·信号处理