环境声明:

  • 主系统:Window11 x64
  • 网络环境:境内

安装目标:

  • Ubuntu LTS 16.04/20.04(VMware中安装的版本为16.04,Windows子系统安装的版本为20.04)
  • ROS1.0

新手快速入门

  1. VMware安装Ubuntu,传送门
  2. 自动化脚本安装ROS,传送门

介绍 (资料来源百度百科&维基百科)

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镜像

下载烧录软件

这里推荐两个烧录软件

Rufus

balenaEtcher

烧录镜像

  1. 下载完Ubuntu镜像并安装好烧录软件后,准备一个大于8G的U盘/移动硬盘,备份U盘/移动硬盘数据
  2. 打开烧录软件并将Ubuntu镜像烧录进U盘/移动硬盘内
  3. 将U盘/移动硬盘插入待安装Ubuntu的实体机内,开机进入BIOS内,选择从U盘/移动硬盘启动,按提示安装Ubuntu系统

在VMware虚拟机中安装Ubuntu

下载VMware

1
2
3
4
5
14:CG54H-D8D0H-H8DHY-C6X7X-N2KG6
15:UY758-0RXEQ-M81WP-8ZM7Z-Y3HDA
16:ZF3R0-FHED2-M80TY-8QYGC-NPKYF
16:YF390-0HF8P-M81RQ-2DXQE-M2UT6
16:ZF71R-DMX85-08DQY-8YMNC-PPHV8

下载Ubuntu镜像

创建虚拟机

  1. 打开VMware,点击创建虚拟机
  2. 配置类型选择典型
  3. 光盘映像文件选择刚刚下载的Ubuntu镜像
  4. 个性化Linux选择,这里自行配置
  5. 命名虚拟机名称,并选择安装位置
  6. 硬盘容量和虚拟机磁盘类型按需选择
  7. 自定义虚拟机设备按需选择
  8. 完成创建,打开虚拟机并初始化

Ubuntu配置

  1. 在Ubuntu16.04中在桌面Ctrl+Alt+T即可快速打开命令行

在Windows子系统中安装

启动Linux的Windows子系统功能

  1. 单击Win 11任务栏上给出的“搜索图标”
  2. 类型 –打开或关闭窗口功能
  3. 将【适用于Linux的Windows子系统】打勾选中
  4. 按确定按钮
  5. 然后“重启”你的系统

如果是非Windows11(如Windows10),先打开Windows搜索,搜索控制面板,打开控制面板后依次打开【程序】、【启动或关闭Windows功能】,然后操作回到上述第三步

安装Ubuntu Linux应用

  1. 打开Microsoft Store应用
  2. 搜索Ubuntu,按照需求安装Ubuntu 20.04 or 18.04,这里我们选择Ubuntu LTS 20.04
  3. 安装完后直接打开Ubuntu应用,会提示在安装中,如果提示Erro,可能是驱动程序错误等原因,可以在搜索引擎中直接搜索报错代码直至安装成功

配置Ubuntu的用户

  1. 用户名:只能是英文与数字的组合(可能有些符号也是允许的)
  2. 用户密码:Ubuntu默认有防窥密码个数,虽然不会显示,但是是成功输入的,输入完成后直接回车即可,然后需要再次输入密码以确认

安装ROS

小白一键安装脚本(可能会失效)

自动脚本教程

在Ubuntu的命令行中输入自动脚本安装命令

1
wget http://fishros.com/install -O fishros && . fishros
  1. 系统提示,输入用户密码
  2. 选择[1],安装ROS
  3. 选择[1],更换系统源
  4. 选择[2],更换并清理第三方源
  5. 选择[3],安装ROS1.0(如有其他需求可以安装ROS2.0)
  6. 选择[1],安装桌面版
  7. 脚本自动安装ROS1.0,ROS1.0大小大概有2G
  8. 安装完成后,输入命令roscore -h测试是否安装成功

手动安装ROS

国境内用户需自备上网环境

备份镜像源设置文件

1
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑镜像源设置文件

1
sudo vim /etc/apt/sources.list

按i进入编辑模式,下面三个源任选其一

中科大源

1
2
3
4
5
6
7
8
9
10
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

清华源

1
2
3
4
5
6
7
8
9
10
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

阿里源

1
2
3
4
5
6
7
8
9
10
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports 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
2
sudo rosdep init
rosdep update

如果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
2
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

验证ROS

1
roscore -h

署方式的优劣分析

Ubuntu的三种部署方式

实体机

-性能最高
-安装步骤最为繁琐

虚拟机

  • 性能介于实体机和WSL子系统之间
  • 安装步骤相对简单,不会对现有系统造成影响
  • 方便对配置好的系统直接分享

WSL子系统

  • 安装步骤相对最简单,最直接
  • 文件管理集成Windows,方便在Windows环境下对WSl子系统内部文件进行管理
  • 网络环境和Windows一致
  • 但性能最差

ROS的两种种部署方式

手动安装

  • 学习&了解Linux的基本操作
  • 安装步骤对新手不太友好,境内用户可能会遇到网络问题

自动安装脚本

  • 一键式懒人脚本,方便迅速,安装简单
  • 安装版本不可定
  • 脚本有失效风险