为什么选择Gazebo?

机器人仿真系统是每个机器人领域的工程师必不可少的工具。良好的机器人模拟器可以模拟真实的物理环境,快速测试机器人设计、执行回归测试以及训练AI系统等相关算法的可用性。 Gazebo提供了在复杂的室内和室外环境中,准确地模拟多个数量机器人的功能。 值得称赞的是其强大的物理引擎,高质量的图形以及便捷的图形编程界面。 最重要的是,Gazebo是一个充满活力的社区的免费场所。

最新版本

Gazebo 11.0.0 发行版

2019-01-30

Download (11.0.0)

更新日志 | 迁移指南

版本特性

  • 支持SDFormat 1.7框架语义, 详情请看 ROSCon 2019 talk
  • 支持 BVH 骨骼动画
  • 动作慢速/快速回放
  • 支持履带式车辆模型
  • 传感器的动态偏置噪声
  • 支持STLB网格模型和改进的SVG解析
  • 添加球形声纳
  • 碰撞网络依赖 Ignition Citadel:

我们很荣幸地宣布发布Gazebo 11。这个版本的Gazebo支持至2025年1月29日结束。

我们还发布了Gazebo 9和10的新版本:

Gazebo的首次稳定发布于2012年10月。现在,将近8年和10个主要版本之后,gazebo11标志着osrf/Gazebo代码库主要版本的结束。所有发布的版本都将得到支持,直到它们的生命周期结束,接收向后兼容的特性和错误修复。

我们要感谢过去一年为Gazebo做出贡献的社区开发人员:

  • Silvio Traversaro
  • Martin Pecka
  • Mingfei Sun
  • Sean Yen
  • Jennifer Buehler
  • Olivier Crave
  • Víctor López
  • Tan Benjamin
  • Wei Xu
  • Timo K
  • Eric Timmons
  • Stephen Just
  • Jonathan Noyola
  • Thomas Hines
  • Terry Welsh
  • Carlos Miguel Correia da Costa
  • Yedhin Kizhakkethara
  • Samuel Lekieffre

ignition logo color

迁移至Ignition

接下来,openrobotics的仿真团队将专注于Ignition仿真框架的开发。

并不是Gazebo11所有的功都能移植到Ignition,就好比Ignition也有一些功能在Gazebo11上不可用。这里提供了Gazebo 11与Ignition的功能比较。 .

Gazebo和Ignition都使用SDFormat作为世界与模型的描述格式。因此,在Gazebo上工作的世界和模型可以很容易地移植到Ignition。

Ignition Gazebo支持Gazebo classic的不同插件类型。查看本教程查看插件类型和如何从Gazebo移植插件的示例。

改进了迁移指南和API,以便于在接下来的几个月从Gazebo过渡到Ignition。

  Gazebo 研发团队

技术链接

answers
community
robot_models
source code

Top

特征

Dynamics Simulation

动力学仿真


支持多种物理仿真引擎,其中包括 ODE, Bullet, Simbody, 和 DART.

Advanced 3D Graphics

高级3D图形引擎


通过使用OGRE技术, Gazebo 提供真实的环境渲染,包括高质量的照明,阴影和纹理.

Sensors and Noise

传感器和噪声


支持激光雷达、激光测距(可含噪音)、2D/3D相机、Kinect深度相机、接触式传感器和力学传感器等.

Plugins

插件


可为机器人、传感器和环境控制开发自定义插件,插件可以通过API直接访问Gazebo内部的数据.

Robot Models

机器人模型


内置了多种机器人模型,其中包括PR2、Pioneer2 DX、 iRobot Create和TurtleBot,当然你也可以通过SDF建立自己的机器人模型.

TCP/IP Transport

TCP/IP传输协议


可以在服务器上运行Gazebo模拟器并使用基于Protobufs的Socket接口进行开发.

Cloud Simulation

云端模拟


可使用CloudSim在amazonaws和GzWeb上运行Gazebo,通过浏览器与模拟进行交互.

Command Line Tools

命令行工具


提供了大量的命令行工具,这十分有助于模拟的调试和控制.


Top

开始使用

新手入门

  1. 快速开始

    几步简单操作快速运行Gazebo.

  2. 桌面快捷键

    介绍如何使用快捷键和鼠标高效的工作.

  3. 学习教程

    入门教程 是学习Gazebo最好的途径. 这些教程通过一些列的练习让你掌握Gazebo一些基本的概念.

  4. 例程

    验证例程中的虚拟仿真环境测试源码.

  5. 问答

    如果没有你需要的内容, 你可以在 answers.gazebosim.org 发起求助.

  6. 交流社区

    想分享你的想法? 欢迎加入 Gazebo社区.

信息资源

  1. Gazebo 概述

    Gazebo及其各种组件的详细描述.

  2. Gazebo API

    使用Doxygen为Gazebo生成文档库.

  3. Protobuf 消息协议

    Gazebo使用Protobuf协议.

  4. SDFormat 规范

    SDFormat是一种XML文件格式,用于定义环境和模型。此规范用于描述世界和模型的XML元素。


Top

项目概述

发布计划和路线图

Gazebo11 是Gazebo最新一个发行版本。当前所有的Gazebo版本均在维护,并可能收到向后兼容功能与错误修复补丁直到超过该版本维护时间.

目前,团队正在重构新的Gazebo模拟器。你可以通过Ignition Robotics学习了解它.

有关各个版本兼容性对其他应用程序的兼容性(如ROS),请参阅下面文档。.

Gazebo 1.9 2013-07-24 EOL 2015-07-27

  • 将SDFormat拆分为一个单独的包
  • 改进对ROS系统的支持
  • 添加声纳、力矩和压力传感器
  • 允许用户相机跟踪对象
  • 基本OS X支持

Gazebo 2.2 2013-11-07 EOL 2016-01-25

  • 改进阴影贴图功能
  • 添加可以被打破的墙体,例如玻璃
  • 惯性数据可视化
  • 通过图形界面调整简单物体的大小
  • 无线数据传输模块
  • 支持OpenAL音频
  • Terrain paging

Gazebo 3.0 2014-04-11 EOL 2015-07-27

  • 统一命令行工具
  • 提高渲染真实感的光照贴图
  • 简单物体的可破坏属性
  • 支持导入DEM
  • 支持Debian系统
  • 支持Beta OSX系统
  • 支持子弹类具有破坏属性的模型

Gazebo 4.0 2014-07-28 EOL 2016-01-25

  • 支持车辆悬挂系统模型
  • 完善教程与文档
  • 支持Oculus Rift头戴式设备
  • 支持Razer Hydra
  • 可以在图形界面复制粘贴模型
  • 自定义道路纹理
  • 支持 DART 4.1
  • 添加可拉伸的几何模型
  • 修复角色动画系统
  • 添加KMeans算法

Gazebo 5.0 2015-01-26 EOL 2017-01-25

  • 支持C++11规范
  • 支持GUI覆盖
  • 支持复制正在运行的模拟器
  • 改进Building Editor
  • 添加Javascript接口

Gazebo 7.1 2016-01-25 EOL 2021-01-25

Gazebo 8.2 2017-12-10 EOL 2019-01-25

  • 图形用户界面绘图工具及系统检查
  • GUI模型编辑器
  • 生成人物动画
  • 支持QT5
  • 支持导入OBJ文件
  • 添加对风的仿真
  • 四旋翼无人机的仿真
  • 支持视频录制功能

Gazebo 9.0 2018-01-25 EOL 2023-01-25

Gazebo 10.0 2019-01-24 EOL 2021-01-24

Gazebo 11.0 2020-01-30 EOL 2025-01-29

版本迭代

Gazebo版本控制使用语义化版本号(SemVer),是一种指定版本间ABI/API兼容性的版本号规则方案,由小数点分隔的三个数字组成,分为MAJOR.MINOR.PATCH:
  • MAJOR :当有不兼容的ABI/API产生的时候产生的更新
  • MINOR :以向后兼容的形式发生功能更新的时候产生的更新
  • PATCH :当修复程序中兼容性或功能性的问题时产生的更新

Tick-tock发布策略

Tick Tock发布策略可以让用户轻松地将代码迁移到新的软件版本中使用。旧的Gazebo代码在其下一个发行版本中被标记为不推荐使用,不推荐使用的代码在编译时会产生警告。这些警告用于通知用户他们的代码应该升级。而再下一个发行版本将删除不推荐使用的代码。

举例 foo 函数被停用并被 bar 函数代替的历程.

Gazebo v1.0 Gazebo v2.0 Gazebo v3.0
void foo();
// 不赞成使用, 可以尝试使用 void bar()
void foo() GAZEBO_DEPRECATED(2.0);
void bar();
void bar();
Statistics

支持的物理引擎

Gazebo支持 ODE、Bullet、Simbody和DART物理引擎。默认情况是支持ODE物理引擎。如果需要使用其他引擎,首先要 安装 需要使用的引擎然后重新编译 Gazebo源码.

物理引擎 Gazebo版本 可用性 备注
ODE 1.9+ Binary,Source 默认引擎. Gazebo 维护了一个使用ODE引擎的顶部分支.
Bullet 3.0+ Source Gazebo需要libbullet 2.82组件, 可以在 OSRF仓库或者是Ubuntu Utopic中下载安装.
Simbody 3.0+ Source 机器人仿真包被托管在OSRF仓库中,接下来可能会出现在Ubuntu Utopic官方资源库中.
DART 3.0+ Source DART包托管在dartsim仓库中. DART也将进入Ubuntu系统仓库中.
Ignition版本的Gazebo模拟器使用物理引擎插件框架来解决依赖性问题。每个物理引擎通过一个插件与Gazebo对接,避免了对不同物理引擎支持的模拟器均需要编译一次。

Top

起源

Gazebo开发工作始于2002年南加州大学. 最初的创作者是Andrew Howard博士和他的学生Nate Koenig. 高度仿真模拟器的概念源于需要在各种条件下模拟室外环境中的机器人,作为一款辅助性的仿真平台,选择Gazebo作为它的名称就是为了贴近室外仿真平台。尽管Gazebo的大多数用户都模拟室内环境,但这个名字一直在使用。

多年来,Nate在完成博士学位的同时,继续开发Gazebo。 2009年,John Hsu高级研究工程师将ROS和PR2整合到Gazebo中,该应用成为ROS社区的主要工具之一。 在2011年春天,Willow Garage开始为Gazebo的发展提供财政支持。2012 年,开源机器人基金会 (OSRF)从Willow Garage中剥离出来,成为 Gazebo 项目的管理者。 经过一群才华横溢的人才团队的重大开发努力,OSRF于2013年7月使用Gazebo运行虚拟机器人挑战赛, 这是DARPA Robotics Challenge的一个组成部分。

OSRF 在多元化和活跃社区的支持下,继续开发 Gazebo。敬请期待更多与机器人模拟相关的精彩发展.