跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

Gazebo 机器人三维物理仿真平台

Gazebo 简介 **Gazebo** 是一款由 **Open Robotics**(前身为 Willow Garage 和 OSRF)开发的开源 3D 机器人仿真软件。它是目前全球主流的机器人仿真平台之一,被广泛应用于学术研究、工业开发与机器人竞赛中。 核心特性 物理仿真引擎 **ODE**(Open Dynamics Engine):默认物理引擎,支持刚体动力学。 **Bullet**:支持…

菩提发布于 2026/4/6更新于 2026/9/1170K 浏览

Gazebo 简介

Gazebo 是一款由 Open Robotics(前身为 Willow Garage 和 OSRF)开发的开源 3D 机器人仿真软件。它是目前全球主流的机器人仿真平台之一,被广泛应用于学术研究、工业开发与机器人竞赛中。

核心特性

1. 物理仿真引擎

  • ODE(Open Dynamics Engine):默认物理引擎,支持刚体动力学。
  • Bullet:支持软体动力学与复杂碰撞检测。
  • Simbody:提供生物力学级的高精度仿真。
  • DART:基于广义坐标的高效动力学仿真引擎。

2. 3D 图形渲染

  • OGRE(Object-Oriented Graphics Rendering Engine):提供高质量的 3D 可视化效果。
  • 支持逼真的光照、阴影、材质与纹理渲染。
  • 支持多摄像头视角配置与传感器数据可视化。

3. 传感器仿真

支持多种机器人传感器的仿真,包括但不限于:

  • 摄像头(Camera):RGB 相机、深度相机
  • 激光雷达(LiDAR):2D/3D 激光扫描
  • IMU(惯性测量单元)
  • GPS、气压计、磁力计
  • 接触传感器、力/力矩传感器
  • RFID、超声波传感器等

4. 机器人模型支持

  • SDF(Simulation Description Format):Gazebo 原生 XML 格式,用于描述机器人、环境及物理属性。
  • URDF(Unified Robot Description Format):ROS 标准格式,可通过插件自动转换为 SDF。
  • 内置模型数据库(Gazebo Model Database),包含数千种预置模型。

软件架构

┌─────────────────────────────────────┐
│ 用户界面层 (GUI)                    │
│ (场景视图、模型编辑器、插件面板)  │
├─────────────────────────────────────┤
│ 仿真引擎层 (Server)                 │
│ (物理引擎、传感器管理、世界状态)  │
├─────────────────────────────────────┤
│ 通信层 (Transport)                  │
│ (基于 Google Protobuf 的发布/订阅)│
├─────────────────────────────────────┤
│ 物理引擎层                          │
│ (ODE / Bullet / Simbody / DART)   │
└─────────────────────────────────────┘

主要版本演进

版本发布时间主要特性
Gazebo Classic (1.x-11.x)2002-2022基于 OGRE 1.x,与 ROS 1 深度集成
Ignition Gazebo2020-2022采用模块化架构,初步支持云端仿真
Gazebo Sim (gz-sim)2022-至今全新架构,Ignition 的延续,全面支持 ROS 2
Gazebo Harmonic2023LTS 长期支持版本,官方支持至 2028 年

注意:Gazebo Classic(11.x)已于 2025 年 1 月停止维护,官方推荐迁移至 Gazebo Sim (Ignition) 系列。

与 ROS 的集成

Gazebo 与 ROS(Robot Operating System) 实现了无缝集成:

ROS 1(Gazebo Classic)

  • gazebo_ros_pkgs:提供 ROS 1 与 Gazebo 的通信接口。
  • 支持话题发布/订阅、服务调用及自定义插件机制。

ROS 2(Gazebo Sim)

  • ros_gz(原 ros_ign):ROS 2 与 Gazebo Sim 的官方桥接包。
  • 底层使用 gz-transport 与 ROS 2 的 DDS 通信中间件。
  • 提供更优的实时性与分布式仿真支持。

典型应用场景

  1. 算法验证:在仿真环境中测试导航、感知与控制算法。
  2. 硬件在环仿真(HIL):与真实控制器或硬件进行联调测试。
  3. 多机器人仿真:支持大规模机器人集群的协同仿真。
  4. 强化学习训练:提供 Gym 接口,便于 AI 算法训练与评估。
  5. 竞赛平台:广泛应用于 DARPA 机器人挑战赛、RoboCup 等赛事。

安装方式

Ubuntu(推荐)

# 安装 Gazebo Sim (最新版)
sudo apt install gz-harmonic

# 或安装 Gazebo Classic(已停止维护,仅用于旧项目)
sudo apt install gazebo11

源码编译

支持 Linux、macOS 和 Windows(实验性)。编译前需安装以下依赖:

  • OGRE 3D 渲染引擎
  • 物理引擎(ODE/Bullet 等)
  • Qt5/Qt6(用于 GUI)
  • protobuf、Boost 等基础库

优缺点分析

✅ 优点❌ 缺点
开源免费,社区活跃度高学习曲线相对陡峭
物理仿真精度高大规模复杂场景下性能受限
与 ROS 生态深度集成图形渲染效果不及部分商业软件(如 Isaac Sim)
支持多种物理引擎切换官方文档更新有时滞后于新版本
内置丰富的模型库与插件生态多机器人仿真时易出现通信延迟

相关资源

  • 官网:https://gazebosim.org
  • 官方文档:https://gazebosim.org/docs
  • GitHub 仓库:https://github.com/gazebosim
  • 模型库 (Fuel):https://app.gazebosim.org/fuel

目录

  1. Gazebo 简介
  2. 核心特性
  3. 1. 物理仿真引擎
  4. 2. 3D 图形渲染
  5. 3. 传感器仿真
  6. 4. 机器人模型支持
  7. 软件架构
  8. 主要版本演进
  9. 与 ROS 的集成
  10. ROS 1(Gazebo Classic)
  11. ROS 2(Gazebo Sim)
  12. 典型应用场景
  13. 安装方式
  14. Ubuntu(推荐)
  15. 安装 Gazebo Sim (最新版)
  16. 或安装 Gazebo Classic(已停止维护,仅用于旧项目)
  17. 源码编译
  18. 优缺点分析
  19. 相关资源

更多推荐文章

查看全部
  • 2025 主流 AI 编程工具定价对比:Cursor、Windsurf、Kiro、Zed 与 VS Code
  • 基础数论算法详解:最大公约数、质数筛与同余方程
  • Python 爬虫实战:链家二手房数据抓取与分析
  • M2FP 多人人体解析:CPU 环境 Python API 调用实现精准识别
  • LTX-2.3:开源音视频生成新标杆,单模型同步输出视频与音频
  • 《Agent Runtime 工程化》第二章 TypeScript / Node Runtime 基础:2.4 子进程执行器:Agent 的危险地带
  • 机器人自主避障:从 A*到 RRT*的路径规划算法解析
  • C++ 哈希表原理与线性探测、哈希桶模拟实现
  • 主流后量子密码算法 PQC 技术路线解析及展望
  • 基于 DeepSeek-OCR-WEBUI 镜像的本地 OCR 部署实战
  • Cursor Remote SSH 连接服务器配置指南
  • 前端监控:错误、性能与用户行为追踪
  • ESP-SparkBot 开源 AI 桌面机器人 ESP32-S3 核心方案
  • Spring Boot 数据访问与数据库集成实战
  • MediaPipe 与 ROS 集成:机器人动作交互系统部署实战
  • 优秀程序员的 7 个关键习惯
  • Python 爬虫基础:requests 库详解
  • webdav-server 轻量级部署与实战指南
  • Python 国内常用镜像下载网址及配置方法
  • Python 转行程序员:决策逻辑与学习路径指南

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online