Ubuntu安装及ROS安装教程
环境声明:
- 主系统:Window11 x64
- 网络环境:境内
安装目标:
- Ubuntu LTS 16.04/20.04(VMware中安装的版本为16.04,Windows子系统安装的版本为20.04)
- ROS1.0
新手快速入门
介绍 (资料来源百度百科&维基百科)
Ubuntu
Ubuntu是基于Debian,以桌面应用为主的Linux发行版。Ubuntu有三个正式版本,包括桌面版、服务器版及用于物联网设备和机器人的Core版。前述三个版本既能安装于实体电脑,也能安装于虚拟电脑。从17.10版本开始,Ubuntu以GNOME为默认桌面环境。
Ubuntu是著名的Linux发行版之一,也是目前最多用户的Linux版本。Ubuntu每六个月(即每年的四月与十月)发布一个新版本,长期支持(LTS)版本每两年发布一次。普通版本一般只支持9个月,但LTS版本一般能提供5年的支持。
Ubuntu由英国肯诺有限公司发布,他们提供商业支持。它是基于自由软件,其名称来自非洲南部祖鲁语或科萨语的“Ubuntu”一词(译为乌班图),意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观。
肯诺有限公司通过销售与Ubuntu相关的技术支持和其他服务来产生收益。Ubuntu项目公开承诺开源软件开发的原则;鼓励人们使用自由软件,研究它的运作原理,改进和分发
wsl
WSL(Windows Subsystem for Linux,简称WSL,译为适用于Windows的Linux子系统)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
ROS
ROS(英语:Robot Operating System,译为机器人操作系统),是专为机器人软件开发所设计出来的一套电脑操作系统架构。它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。
Ubuntu安装
物理机安装安装Ubuntu
下载Ubuntu镜像
- Ubuntu官网下载地址
- Ubuntu16.04官网下载地址
- Ubuntu22.04官网下载地址
这里以16.04为例
下载烧录软件
这里推荐两个烧录软件
Rufus
balenaEtcher
烧录镜像
- 下载完Ubuntu镜像并安装好烧录软件后,准备一个大于8G的U盘/移动硬盘,备份U盘/移动硬盘数据
- 打开烧录软件并将Ubuntu镜像烧录进U盘/移动硬盘内
- 将U盘/移动硬盘插入待安装Ubuntu的实体机内,开机进入BIOS内,选择从U盘/移动硬盘启动,按提示安装Ubuntu系统
在VMware虚拟机中安装Ubuntu
下载VMware
- VMware官网下载地址
- VMware15.5.6下载地址
在官网找到需要的版本,这里使用15.5.6为例,下载后安装,并激活
各版本激活码
1 | 14:CG54H-D8D0H-H8DHY-C6X7X-N2KG6 |
下载Ubuntu镜像
- Ubuntu官网下载地址
- Ubuntu16.04官网下载地址
- Ubuntu22.04官网下载地址
这里以16.04为例
创建虚拟机
- 打开VMware,点击创建虚拟机
- 配置类型选择典型
- 光盘映像文件选择刚刚下载的Ubuntu镜像
- 个性化Linux选择,这里自行配置
- 命名虚拟机名称,并选择安装位置
- 硬盘容量和虚拟机磁盘类型按需选择
- 自定义虚拟机设备按需选择
- 完成创建,打开虚拟机并初始化
Ubuntu配置
- 在Ubuntu16.04中在桌面Ctrl+Alt+T即可快速打开命令行
在Windows子系统中安装
启动Linux的Windows子系统功能
- 单击Win 11任务栏上给出的“搜索图标”
- 类型 –打开或关闭窗口功能
- 将【适用于Linux的Windows子系统】打勾选中
- 按确定按钮
- 然后“重启”你的系统
如果是非Windows11(如Windows10),先打开Windows搜索,搜索控制面板,打开控制面板后依次打开【程序】、【启动或关闭Windows功能】,然后操作回到上述第三步
安装Ubuntu Linux应用
- 打开Microsoft Store应用
- 搜索Ubuntu,按照需求安装Ubuntu 20.04 or 18.04,这里我们选择Ubuntu LTS 20.04
- 安装完后直接打开Ubuntu应用,会提示在安装中,如果提示Erro,可能是驱动程序错误等原因,可以在搜索引擎中直接搜索报错代码直至安装成功
配置Ubuntu的用户
- 用户名:只能是英文与数字的组合(可能有些符号也是允许的)
- 用户密码:Ubuntu默认有防窥密码个数,虽然不会显示,但是是成功输入的,输入完成后直接回车即可,然后需要再次输入密码以确认
安装ROS
小白一键安装脚本(可能会失效)
自动脚本教程
在Ubuntu的命令行中输入自动脚本安装命令
1 | wget http://fishros.com/install -O fishros && . fishros |
- 系统提示,输入用户密码
- 选择[1],安装ROS
- 选择[1],更换系统源
- 选择[2],更换并清理第三方源
- 选择[3],安装ROS1.0(如有其他需求可以安装ROS2.0)
- 选择[1],安装桌面版
- 脚本自动安装ROS1.0,ROS1.0大小大概有2G
- 安装完成后,输入命令roscore -h测试是否安装成功
手动安装ROS
国境内用户需自备上网环境
备份镜像源设置文件
1 | sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak |
编辑镜像源设置文件
1 | sudo vim /etc/apt/sources.list |
按i进入编辑模式,下面三个源任选其一
中科大源
1 | deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse |
清华源
1 | deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse |
阿里源
1 | deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse |
点击Esc键退出编辑模式,再键入:wq
保存配置并推退出
设置source lis
官方源
1 | sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' |
中科大源
1 | sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list' |
设置密钥
1 | sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 |
注意:如果出现提示 GPG 错误,由于没有公钥,无法验证下列签名:NO_PUBKEY F42ED6FBAB17C654;或者提示无法访问hkp://ha.pool.sks-keyservers.net:80请执行输入如下命令
1 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654 |
如果是提示 gpg 找不到 有效的 OpenPGP 数据,可以输入以下命令
1 | sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 AAAD1D3563E5A736A4F561EE884D6308E89713C4 |
安装ROS
更新源
1 | sudo apt-get update |
安装 ROS
不同系统版本安装不同版本包名不同,需替换包名
Ubuntu | ROS 1.0 | ROS 2.0 |
---|---|---|
16.04 LTS | Kinetic LTS | Ardent |
18.04 LTS | Melodic LTS | Dashing LTS |
20.04 LTS | Noetic LTS | Foxy LTS |
这里以Ubuntu16.04安装ROS1.0为例,注意替换包名
1 | sudo apt-get install ros-kinetic-desktop-full |
检查ROS是否成功安装
安装完成后,可以用下面的命令来查看可使用的包,注意替换包名
1 | apt-cache search ros-kinetic |
配置ROS环境到系统
初始化ROS并更新ROS
1 | sudo rosdep init |
如果rosdep init 一直提示error,则需要自备代理环境或更改hosts解析
外网代理环境
略
hosts解析
1 | sudo vim /etc/hosts |
键入i进入编辑模式,在文件末尾添加 下面代码
1 | 151.101.84.133 raw.githubusercontent.com |
或者
1 | 185.199.108.133 raw.githubusercontent.com |
如果上面的ip均不可用,可百度搜索其它可用的ip,或者到GitHub520项目查询ip
初始化环境变量
1 | echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc |
验证ROS
1 | roscore -h |
署方式的优劣分析
Ubuntu的三种部署方式
实体机
-性能最高
-安装步骤最为繁琐
虚拟机
- 性能介于实体机和WSL子系统之间
- 安装步骤相对简单,不会对现有系统造成影响
- 方便对配置好的系统直接分享
WSL子系统
- 安装步骤相对最简单,最直接
- 文件管理集成Windows,方便在Windows环境下对WSl子系统内部文件进行管理
- 网络环境和Windows一致
- 但性能最差
ROS的两种种部署方式
手动安装
- 学习&了解Linux的基本操作
- 安装步骤对新手不太友好,境内用户可能会遇到网络问题
自动安装脚本
- 一键式懒人脚本,方便迅速,安装简单
- 安装版本不可定
- 脚本有失效风险
- 感谢您的赞赏。