2、环境搭建:Ubuntu系统安装、ROS Noetic安装、Gazebo 11安装与验证
说实话,做机器人仿真这么多年,我见过太多人在环境搭建这一步就卡住了。有的装完系统发现显卡驱动不对,有的ROS装到一半源挂了,还有的Gazebo死活打不开。嗯,这些坑我都踩过。今天我就把一套经过反复验证的流程分享给你,照着来,基本不会出问题。
核心思路:先装系统 → 再装ROS → 最后装Gazebo。每一步都要验证,别急着往下走。
2.1 Ubuntu 20.04 系统安装
ROS Noetic 官方支持的 Ubuntu 版本是 20.04。我个人习惯用 LTS 版本,稳定,社区支持也久。你想想看,要是装了个非 LTS 版本,两年后就得重装系统,多麻烦。
硬件要求:
- CPU:i5 或以上,建议 4 核以上
- 内存:8GB 起步,16GB 更舒服
- 硬盘:至少 50GB 空闲空间
- 显卡:NVIDIA 显卡最好,后面跑仿真会用到 GPU 加速
安装步骤:
- 去 Ubuntu 官网下载 20.04.6 LTS 桌面版 ISO 镜像
- 用 Rufus 或 balenaEtcher 制作启动 U 盘
- BIOS 里设置 U 盘启动,进入安装界面
- 分区建议:
/分 30GB,/home分剩余空间,swap分 8GB - 安装过程中选择「最小安装」,省去不必要的软件包
我的经验:安装时记得断网。为什么?因为联网安装会下载更新,慢得要命。等系统装好了再换国内源,速度飞起。
2.2 ROS Noetic 安装
ROS 的安装其实就三步:添加源、装包、初始化。但这里有个坑——官方源在国内基本连不上。我曾经在客户现场演示时,因为源的问题卡了半小时,场面一度很尴尬。
换源操作:
# 备份原源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 替换为清华源
sudo sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
sudo sed -i 's/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
# 更新
sudo apt update
安装 ROS Noetic:
# 添加 ROS 源(清华镜像)
sudo sh -c 'echo "deb https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
# 更新并安装
sudo apt update
sudo apt install ros-noetic-desktop-full
这里我建议装 desktop-full 版本,包含了 Gazebo、RViz、各种工具库。你要是装 desktop 版本,后面还得一个个补,麻烦。
初始化 rosdep:
sudo rosdep init
rosdep update
注意:如果 rosdep update 报网络错误,别慌。这是因为 rosdep 的源在国外。你可以手动下载 rosdistro 的 GitHub 仓库,然后配置本地路径。具体方法我放在课程资料里了。
设置环境变量:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
验证安装:
roscore
# 如果看到 ROS Master 启动信息,说明安装成功
2.3 Gazebo 11 安装与验证
Gazebo 11 是 ROS Noetic 默认集成的版本。你装完 ros-noetic-desktop-full 后,Gazebo 其实已经在了。但为了保险,我们还是单独确认一下。
检查是否已安装:
gazebo --version
# 应该输出 Gazebo multi-robot simulator, version 11.x.x
如果没装,或者你想装最新版:
sudo apt install gazebo11 gazebo11-plugin-base libgazebo11-dev
启动测试:
gazebo
你会看到一个 3D 仿真窗口,里面有一个空的世界。嗯,到这里环境就搭好了。
我的经验:第一次启动 Gazebo 可能会比较慢,因为它要下载一些模型文件。你可以提前下载好常用模型库:
git clone https://github.com/osrf/gazebo_models.git ~/.gazebo/models
这样后面打开带物体的世界时,就不用等下载了。
2.4 常见问题与避坑
| 问题 | 原因 | 解决方法 |
|---|---|---|
| Gazebo 启动后黑屏 | 显卡驱动问题 | 安装 NVIDIA 驱动:sudo apt install nvidia-driver-470 |
| ROS 命令找不到 | 环境变量没设置 | 检查 ~/.bashrc 中是否有 source 命令 |
| rosdep update 失败 | 网络问题 | 使用代理或手动下载 rosdistro 仓库 |
| Gazebo 加载模型慢 | 模型文件未缓存 | 提前下载模型库到本地 |
我曾经踩过的坑:有一次我在虚拟机里装 Gazebo,结果怎么都打不开。折腾了半天才发现,虚拟机默认的 3D 加速是关闭的。你如果在虚拟机里跑,记得在 VM 设置里开启「3D 加速」,显存至少给 256MB。
2.5 知识体系总览
下面这张图帮你理清整个环境搭建的逻辑。说白了就是三层结构:底层是 Ubuntu 系统,中间是 ROS 框架,上层是 Gazebo 仿真器。每一层都依赖下一层,所以安装顺序不能乱。
你看,这个结构其实很清晰。Ubuntu 是地基,ROS 是骨架,Gazebo 是血肉。地基不稳,上面全白搭。所以我建议你每装完一层,都按我上面说的验证方法检查一下,别偷懒。
最终验证清单:
- ✅ Ubuntu 能正常启动,网络通畅
- ✅
roscore能启动,无报错 - ✅
gazebo能打开,显示 3D 场景 - ✅
rosrun gazebo_ros gazebo能正常调用
全部通过?恭喜,你的仿真环境已经搭好了。后面我们就可以开始真正的仿真之旅了。