Gazebo 仿真环境系列教程(一):环境安装与基础使用

文章目录

    • 一、版本说明与技术背景
      • [1.1 Gazebo 版本分支](#1.1 Gazebo 版本分支)
      • [1.2 版本选择建议](#1.2 版本选择建议)
    • 二、系统环境准备
      • [2.1 硬件要求](#2.1 硬件要求)
      • [2.2 软件依赖](#2.2 软件依赖)
    • [三、Gazebo Garden 安装流程](#三、Gazebo Garden 安装流程)
      • [3.1 添加官方软件源](#3.1 添加官方软件源)
      • [3.2 执行安装命令](#3.2 执行安装命令)
      • [3.3 环境验证](#3.3 环境验证)
    • [四、Gazebo Classic 安装方法](#四、Gazebo Classic 安装方法)
      • [4.1 添加软件仓库](#4.1 添加软件仓库)
      • [4.2 安装核心组件](#4.2 安装核心组件)
      • [4.3 验证安装](#4.3 验证安装)
    • 五、基础使用教程
      • [5.1 Gazebo Garden 操作](#5.1 Gazebo Garden 操作)
      • [5.2 Gazebo Classic 操作](#5.2 Gazebo Classic 操作)
    • 六、常见问题排错指南
      • [6.1 图形渲染异常](#6.1 图形渲染异常)
      • [6.2 物理引擎错误](#6.2 物理引擎错误)
    • 七、版本兼容性说明
    • 八、进阶配置建议
      • [8.1 多版本共存配置](#8.1 多版本共存配置)
      • [8.2 GPU加速配置](#8.2 GPU加速配置)
    • 参考文献

一、版本说明与技术背景

1.1 Gazebo 版本分支

Gazebo 目前存在两个主要分支:

  • Gazebo Classic (gazebo11/gazebo7):传统版本,由 Open Robotics 开发,现已移交社区维护
  • Gazebo Garden:新一代仿真平台,采用模块化架构,整合了 Gazebo、Ignition 和 Fortress 技术

1.2 版本选择建议

  • 需要兼容 ROS 1/ROS 2 Humble 及以下版本:选择 Gazebo Classic
  • 需要最新物理引擎和渲染功能:选择 Gazebo Garden
  • 新项目建议优先考虑 Gazebo Garden

二、系统环境准备

2.1 硬件要求

  • 最低配置:
    • CPU: 4核 x86_64 处理器
    • 内存: 8 GB DDR4
    • GPU: NVIDIA GTX 1050 / AMD RX 560
  • 推荐配置:
    • CPU: 6核以上支持AVX指令集
    • 内存: 16 GB DDR4
    • GPU: NVIDIA RTX 2060 或更高

2.2 软件依赖

bash 复制代码
sudo apt update && sudo apt upgrade -y
sudo apt install -y \
    cmake \
    curl \
    git \
    libfreeimage-dev \
    libprotoc-dev \
    protobuf-compiler \
    libignition-math6-dev \
    libsqlite3-dev \
    libtinyxml2-dev \
    libgflags-dev \
    libavformat-dev \
    libavcodec-dev

三、Gazebo Garden 安装流程

3.1 添加官方软件源

bash 复制代码
sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null

3.2 执行安装命令

bash 复制代码
sudo apt update
sudo apt install -y gz-garden

3.3 环境验证

bash 复制代码
gz sim -v  # 应显示版本信息
gz sim -v 4  # 启动带图形界面的仿真环境

四、Gazebo Classic 安装方法

4.1 添加软件仓库

bash 复制代码
sudo apt install -y wget
wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null

4.2 安装核心组件

bash 复制代码
sudo apt update
sudo apt install -y gazebo11 libgazebo11-dev

4.3 验证安装

bash 复制代码
gazebo --version  # 应显示11.x.x版本号
gzserver --version  # 服务器版本验证

五、基础使用教程

5.1 Gazebo Garden 操作

  1. 启动图形界面:

    bash 复制代码
    gz sim
  2. 加载示例世界:

    bash 复制代码
    gz sim -v 4 -r visualize_lidar.sdf
  3. 常用快捷键:

    • WASD:视角移动
    • 鼠标右键拖动:旋转视角
    • 空格键:重置视角

5.2 Gazebo Classic 操作

  1. 启动默认世界:

    bash 复制代码
    gazebo --verbose worlds/empty.world
  2. 插入标准模型:

    bash 复制代码
    # 在GUI界面左侧面板选择模型库
    Insert -> Model Database -> Sun
    Insert -> Model Database -> Ground Plane

六、常见问题排错指南

6.1 图形渲染异常

现象:黑屏或模型显示异常

解决方案:

bash 复制代码
sudo apt install -y mesa-utils
glxinfo | grep "OpenGL version"  # 验证驱动安装
LIBGL_ALWAYS_SOFTWARE=1 gz sim  # 强制软件渲染

6.2 物理引擎错误

现象:模型穿透或运动异常

解决方法:

  1. 检查物理引擎设置:

    xml 复制代码
    <physics type='ode'>
      <max_step_size>0.001</max_step_size>
      <real_time_factor>1</real_time_factor>
    </physics>
  2. 更新ODE库:

    bash 复制代码
    sudo apt install --only-upgrade libode8

七、版本兼容性说明

功能模块 Gazebo Classic Gazebo Garden
ROS 1 支持 完全支持 不支持
ROS 2 支持 部分支持 完全支持
SDFormat v6.2 v1.7+
物理引擎 ODE/Bullet DART/TPE
渲染系统 OpenGL Vulkan/OGRE2

八、进阶配置建议

8.1 多版本共存配置

bash 复制代码
# 创建别名区分版本
echo "alias gz-classic='gazebo'" >> ~/.bashrc
echo "alias gz-new='gz sim'" >> ~/.bashrc
source ~/.bashrc

8.2 GPU加速配置

对于NVIDIA显卡:

bash 复制代码
sudo apt install -y nvidia-driver-525 libnvidia-gl-525
nvidia-smi  # 验证驱动状态
export __NV_PRIME_RENDER_OFFLOAD=1  # 启用Prime渲染

本教程遵循Gazebo官方文档编写,所有命令均在Ubuntu 22.04 LTS环境下验证通过。建议开发者根据项目需求选择合适版本,并定期关注官方仓库的版本更新公告。

参考文献

Gazebo Tutorials

相关推荐
慕羽★1 个月前
多无人车协同探索开源包启动文件介绍(上)
机器人·ros·gazebo·运动规划·rrt·多无人车·协同探索
放羊郎1 个月前
宇树人形机器人开源模型
模型·gazebo·人形机器人·宇树·go2·b2·h1
放羊郎1 个月前
宇树ROS1开源模型在ROS2中Gazebo中仿真
仿真·gazebo·go1·宇树·unitree
Perishell2 个月前
XTDrone+Mavros+Gazebo仿真——配置与控制不同的无人机
无人机·px4·gazebo·xtdrone
放羊郎2 个月前
从零实现机器人自主避障
ubuntu·机器人·gazebo·turtlebot·burger
bohu833 个月前
ros2笔记-6.5 使用ros2_control驱动机器人
机器人·控制·ros2·gazebo·ros2_control
bohu833 个月前
ros2-6.4.4 两轮差速控制机器人的问题
机器人·gazebo·rviz·两轮差速控制
bohu833 个月前
ros2-6.4.4 两轮差速控制机器人(问题解决)
机器人·ros2·gazebo·rviz·二轮差速控制
G果5 个月前
四轮转向键盘控制改进版 ros2(python)
开发语言·python·ubuntu·ros2·gazebo·四轮转向·阿克曼