写在前面:为什么不装双系统?
当前我们拥有的支持使用的两台机器人都只稳定支持 ROS 1 (Melodic),而 ROS 1 深度绑定 Ubuntu 18.04
然而,目前主流的CPU(Intel 12代及以上)由于“大小核”架构和新硬件特性,直接安装老旧的 Ubuntu 18.04 双系统极易出现安装黑屏、显卡驱动无解、无限重启等致命 Bug。
目前可以支持稳定使用的WSL(Windows Subsystem for Linux)也集中在Ubuntu 20/22/24 三个版本。
为了不把时间浪费在修系统上,虚拟机是目前最稳健的方案。

01. 准备工作 Preparation

我们需要下载以下软件/内容:

VMware Workstation Pro

VMWare的虚拟机软件大家在机器人相关的实验课上已经接触过了,操作应该会比较熟悉。接下来贴出软件的下载方式。

  1. 进入软件下载地址:VMWare官网-Desktop下载
  2. 选择download now
  3. 紧接着会跳转进入Broadcom网站,注册登录账号,会跳转至如下界面,按图中指引搜索我们需要的软件(VMWare Workstation Pro)即可。
  4. 选择搜索到的内容进入下载详情页。
  5. 下滑并找到VMWare 17 Pro相关链接,点击进入。
  6. 选择Personal Use并选择最新版本,进去之后点击下载后应该还要你填一些信息,随便填就行,填好了就可以下载了,安装就是正常软件安装流程。

Ubuntu系统镜像

下载地址:Ubuntu 官方镜像库
选择文件列表内的ubuntu-18.04.6-desktop-amd64.iso进行下载。

02. 虚拟机配置 VM Config

安装成功后在VMWare中选择新建虚拟机,使用刚刚下载的iso文件新建虚拟机即可。这一步的关键在于配置虚拟机参数,因为gazebo比较吃性能,需要分配给虚拟机足够的性能参数。

  1. 选择新建虚拟机,类型选择典型即可,然后选择刚刚下载的iso文件,选择下一步。
  2. 按自己的习惯配置好虚拟机名称和密码,自己记住即可,点击下一步,选择虚拟机创建的位置(也就是说这一步是选择虚拟机存储在哪里,建议选择一个存储空间足够的硬盘
  3. 分配虚拟机的存储空间:虚拟机最少运行需要20GB的存储空间,鉴于ros需要安装很多内容,建议至少分配50GB,我这里选择了80GB。分配好后选择下一步。
  4. !!!注意这里才是我们需要进行详细配置的地方,在这里我们需要对虚拟机的硬件进行自定义,点击左下角的自定义硬件。
  • 内存 (RAM):建议分配 8GB,ROS 和 Gazebo 都是内存大户。实验室电脑为32GB内存,我选择了16GB的档位。
  • 处理器 (CPU):建议分配1处理器,核心数4核以上,具体取决于你的电脑的CPU型号,可以去问AI怎么分配比较合适。
  • 显示器 (Display):务必勾选 “加速 3D 图形 (Accelerate 3D graphics)”
    • 显存至少分配 1GB 以上,否则 RViz 和 Gazebo 可能会闪退。我建议把显卡的所有显存都分配进来,毕竟跑虚拟机的时候后台我们一般也不挂需要显卡处理的进程

03.系统更新 System Update

装好系统进入桌面后,我们需要先更新软件源。为了避免依赖冲突,在安装任何软件前,养成更新系统的习惯至关重要。

打开终端 (Ctrl+Alt+T),执行:

1
sudo apt update && sudo apt upgrade -y

注:如果过程中提示是否覆盖配置文件,或者询问 [Y/n],通常选择默认项(直接按回车)即可。

04.ROS Melodic 一键安装 ROS Install

我们将使用国内大神(小鱼/FishROS)开发的脚本,一站式解决安装问题。

Step 1: 运行脚本

在终端输入以下命令:

1
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

Step 2: 按照提示操作

脚本运行后会出现数字菜单,按照以下逻辑选择:

  1. 输入 1:选择 [一键安装(推荐):ROS(支持ROS/ROS2,树莓派,Jetson)]
  2. 更换源:脚本会询问是否更换系统源,建议输入 1 (更换),然后选择 2 (清理并更换第三方源),然后选择 1 (根据测速选择最快的源)。测速完毕后选择一个源进行下载即可,下不下来就换一个源。

  3. 选择版本:选择 5(Melodic ROS1),然后选择 1 桌面版,系统就会自动开始下载。
    • 注意:只有完整版才包含 Gazebo 仿真器和 RViz 可视化工具,选错了后续还得补装。

等待进度条跑完,当终端显示 “安装成功” 字样时,说明 ROS 环境已经准备就绪。

05. 验证安装与启动 Gazebo Verification

安装完成后,我们需要验证 ROS 是否能正常工作,并确认显卡加速是否对 Gazebo 生效。

4.1 基础命令验证

打开一个新的终端,输入:

1
rosversion -d
  • 终端输出 melodic 即为配置成功。

4.2 启动 ROS 核心

在终端输入:

1
roscore
  • 看到 started core service [/rosout],且程序没有退出,即为核心启动成功。
  • 注意:这个终端不要关闭!它是 ROS 的“心脏”。

4.3 启动 Gazebo 仿真

保持上一个终端不动,新建第二个终端 (Ctrl+Shift+T),输入:

1
gazebo

此时,应该gazebo的主界面就会弹出,可以用鼠标中键拖动视角尝试是否卡顿,如果不卡顿则说明配置完成,可以进行场景的搭建和机器人的导入等后续工作了。

  1. roscore 不能关:在运行任何 ROS 程序(包括 Gazebo、小车控制)时,必须有一个终端在后台始终运行 roscore。如果关闭它,所有节点都会掉线。
  2. 环境变量生效:如果你新开一个终端发现用不了 ROS 命令,大概率是环境变量没刷新。在当前终端执行 source ~/.bashrc 即可解决。