第1章:Gazebo仿真环境搭建

大家好,我是你们的老朋友。今天咱们来聊聊Gazebo仿真环境的安装。说实话,我见过太多人在这一步卡住,然后就开始怀疑人生了。别急,跟着我的节奏来,保证让你顺利跑起来。

1.1 Gazebo版本选择:别选错了

Gazebo的版本选择,说白了就是看你的ROS版本。我个人的习惯是:ROS版本决定Gazebo版本。你想想看,如果版本不匹配,后面编译报错能让你崩溃一整天。

ROS版本 推荐Gazebo版本 备注
ROS Noetic Gazebo 11 最稳定,我一直在用
ROS Melodic Gazebo 9 老项目还在用
ROS2 Foxy Gazebo 11 (通过ros-ign桥接) 注意需要额外配置
ROS2 Humble Gazebo Fortress (Ignition) 新版本,功能更强

核心原则:不要追求最新版本。Gazebo 11是目前最成熟的选择,我在三个项目里都用它,没出过大问题。

1.2 Gazebo安装:三步走

安装其实不复杂,但要注意顺序。我曾经有一次先装了Gazebo再装ROS,结果两个版本打架,折腾了一下午。所以记住:先装ROS,再装Gazebo

第一步:添加源

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt update

第二步:安装Gazebo

sudo apt install gazebo11
sudo apt install libgazebo11-dev

我的小技巧:libgazebo11-dev一定要装。很多新手只装gazebo11,结果后面编译自己的机器人模型时各种报错。嗯,这个坑我踩过。

第三步:安装ROS-Gazebo接口

sudo apt install ros-noetic-gazebo-ros-pkgs
sudo apt install ros-noetic-gazebo-ros-control

为什么需要这个?说白了,ROS和Gazebo是两个独立的系统。没有这个接口,你的ROS节点就控制不了仿真里的机器人。我刚开始学的时候,以为装好Gazebo就能直接用ROS控制,结果发现完全不是那么回事。

1.3 Gazebo启动测试:验证安装

装完了,咱们得试试能不能跑起来。别急着加载复杂模型,先来个最简单的测试。

测试1:空世界启动

gazebo --verbose

如果一切正常,你会看到一个空荡荡的仿真世界。第一次启动可能会慢一些,因为要加载各种库。我记得我第一次等了好久,还以为死机了。

注意:如果启动后黑屏或者闪退,别慌。先检查显卡驱动。我遇到过好几次,都是因为NVIDIA驱动没装好。

测试2:加载示例世界

gazebo worlds/mud.world

这个命令会加载一个带地形的小世界。如果能看到泥地、天空和光影效果,恭喜你,安装成功了。

测试3:ROS集成测试

roscore &
rosrun gazebo_ros gazebo

这个测试是为了确认ROS和Gazebo能正常通信。你可以在另一个终端里运行:

rostopic list

如果能看到/gazebo/link_states之类的topic,说明接口没问题。

1.4 常见安装问题排查:避坑指南

安装过程中总会遇到各种问题。我把最常见的几个列出来,都是我亲身经历过的。

问题1:依赖缺失

现象:安装时报错,提示缺少某个库。

解决:

sudo apt --fix-broken install
sudo apt update
sudo apt install gazebo11

我曾经遇到过libignition-math4缺失的问题。手动装一下就好:sudo apt install libignition-math4

问题2:启动时黑屏

现象:Gazebo窗口出来了,但里面一片漆黑。

原因:显卡驱动问题,或者OpenGL版本太低。

解决:

  • 检查显卡驱动:glxinfo | grep "OpenGL version"
  • 如果版本低于3.3,需要更新驱动
  • 或者尝试:export LIBGL_ALWAYS_SOFTWARE=1(软件渲染,性能会差一些)

问题3:启动时报错“无法加载模型”

现象:加载自己的模型时,Gazebo报错说找不到文件。

原因:环境变量没设置好。

解决:

echo "export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/你的模型路径" >> ~/.bashrc
source ~/.bashrc

重要提醒:每次添加新模型后,都要记得source一下。我刚开始经常忘记,然后对着报错信息发呆十分钟。

问题4:性能卡顿

现象:仿真跑起来像幻灯片,一卡一卡的。

解决:

  • 降低渲染质量:在Gazebo菜单中调整Graphics选项
  • 减少模型面数:用简化模型代替高精度模型
  • 关闭不必要的传感器:比如不需要摄像头时就别开

我的经验:如果你只是做算法验证,用简单几何体就够了。别一上来就加载几百万面的工业模型,那是在折磨你的电脑。

小结

好了,Gazebo的安装就讲到这里。总结一下要点:

  • 版本选择要匹配ROS版本
  • 安装顺序:先ROS后Gazebo
  • 别忘了装ROS-Gazebo接口
  • 遇到问题先检查显卡驱动和环境变量

下一章,咱们会深入Gazebo的界面操作和基本配置。到时候我会教你怎么搭建自己的第一个仿真场景。有什么问题,欢迎在课程群里交流。记住,安装这一步走稳了,后面的路就好走了。