Robot simulation is an essential tool in every roboticist's toolbox. A well-designed simulator makes it possible to rapidly test algorithms, design robots, perform regression testing, and train AI system using realistic scenarios. Gazebo offers the ability to accurately and efficiently simulate populations of robots in complex indoor and outdoor environments. At your fingertips is a robust physics engine, high-quality graphics, and convenient programmatic and graphical interfaces. Best of all, Gazebo is free with a vibrant community.
The Space Robotics Challenge (SRC) came to a close last week with a wonderful celebration event at Space Center Houston. The celebration event brought together competitors and organizers over two days with tours of Johnson Space Center (JSC), team presentations, and an award ceremony.
The SRC tasked teams with developing and displaying the ability of the Valkyrie (R5) robot to assist in a virtual NASA Mars mission. A prize pool of $1 million was available to successful teams. The following scenario served as a backdrop for the challenge.
In the not too distant future, Valkyrie has arrived on Mars along with supplies ahead of a human mission. Overnight a dust storm damaged the habitat and solar array, and caused the primary communication antenna to become misaligned. Valkyrie must now repair an air leak in the habitat, deploy a new solar panel, and align the communication antenna.
Teams developed software to control Valkyrie in order to resolve the problems caused by the dust storm. Gazebo was used as the simulation platform, with integration to a walking controller from Florida Institute for Human and Machine Cognition (IHMC). Additional ROS interfaces were provided by JSC.
Each team was evaluated according to a scoring metric that considered the number of tasks completed and the time required to complete the tasks. Unique to SRC was a focus on completing multiple tasks sequentially, without falling. The winning teams were able to complete numerous tasks, even in the presence of significant network latency and bandwidth restrictions.
The top four teams are:First place: Coordinated Robotics
Coordinated Robotics is a one-man team from California that has previously competed in other robotics challenges. Because dexterous control of a robot requires coordination between sensors and actuators, the team name of Coordinated Robotics was formulated. Hoping to win prizes and learn more about humanoids, Coordinated Robotics will focus on manipulation of humanoids to excel in the competition.Second place: Walk Softly
Team Walk Softly joins the fray from upstate New York. The team name is reminiscent of a phrase often attributed to former President Theodore Roosevelt, "speak softly and carry a big stick - you will go far." Team members are coworkers at GE Global Research who have an interest in humanoid robots and decided to enter on their own time. The team is excited to see the innovative solutions that come out of this challenge.Third place: Olympus Mons
Ten robotics and software specialists representing six countries make up Team Olympus Mons. Olympus Mons is the name of the largest discovered volcano in the solar system and is located on Mars, where the simulated competition will take place; this is where they gained inspiration for their team name. The team members are all current or former employees at PAL Robotics who have stayed in touch throughout the years. Although they are not eligible for prize money, Team Olympus Mons entered the competition to have fun and become more involved in simulated space exploration.Fourth place: ZARJ
ZARJ is represented by four engineers and programmers based in Minnesota. The Team has been interested in NASA's Centennial Challenges for the past four years, but did not have the time or resources to enter the contests. Finally, ZARJ was able to enter the Space Robotics Challenge before the deadline arrived. If ZARJ is awarded prize money, they plan to distribute it equally between team members to defray some competition travel costs.
Congratulations to all teams that participated in the competition!
Utilizing OGRE, Gazebo provides realistic rendering of environments including high-quality lighting, shadows, and textures.
Generate sensor data, optionally with noise, from laser range finders, 2D/3D cameras, Kinect style sensors, contact sensors, force-torque, and more.
Develop custom plugins for robot, sensor, and environmental control. Plugins provide direct access to Gazebo's API.
Many robots are provided including PR2, Pioneer2 DX, iRobot Create, and TurtleBot. Or build your own using SDF.
Run simulation on remote servers, and interface to Gazebo through socket-based message passing using Google Protobufs.
Use CloudSim to run Gazebo on Amazon, Softlayer, or your own OpenStack instance.
Extensive command line tools facilitate simulation introspection and control.
A simple set of steps to get Gazebo up and running rapidly.
Description of Gazebo's hotkeys and mouse interactions.
The best way to start using Gazebo is to run through the tutorials. These tutorials cover both basic and simple concepts through a series of exercises.
If you can't find what you are looking for, try our askbot help forum located at answers.gazebosim.org.
Still need help? Send a message to the gazebosim mailing list.
A high-level description of Gazebo and its various components.
Doxygen generated documentation for the Gazebo libraries.
A complete list of all the protobuf messages used by Gazebo
SDFormat is an XML file format that defines environments and models. This specification defines all the XML elements for describing world and models.
Gazebo will release a new major version once a year on the last week of January. Even numbered releases will have a life-span of two years, and odd five years.
The following roadmap is a best guess at the available features for each version. At the time of release more or fewer features may be available.
Refer documentation in downstream applications, such as ROS, for version compatiblilty.
A tick-tock release cycle allows easy migration to new software versions. Obsolete Gazebo code is marked as deprecated for one major release. Deprecated code produces compile-time warnings. These warning serve as notification to users that their code should be upgraded. The next major release will remove the deprecated code.
Example where function foo is deprecated and replaced by function bar:
|Gazebo v1.0||Gazebo v2.0||Gazebo v3.0|
|Lines of code||186k||197k||214k||217k||231k||266k||298k|
|Lines of comments||57k||63k||68k||69k||75k||89k||99k|
|Test function coverage||45.7%||47.1%||41.3%||40.6%||48.7%||47.9%||52.9%|
|Test branch coverage||32.2%||35.5%||29.2%||27.6%||38.0%||39.1%||44.5%|
Gazebo supports the ODE, Bullet, Simbody and DART physics engines. By default Gazebo is compiled with support for ODE. In order to use the other engines, first make sure they are installed and then compile Gazebo from source.
|Physics Engine||Gazebo Version||Availability||Notes|
|ODE||1.9+||Binary,Source||Default engine. Gazebo maintains a fork of ODE which has diverged from the upstream package.|
|Bullet||3.0+||Source||Gazebo requires libbullet2.82, available in the OSRF repository and to be included in Ubuntu Utopic.|
|Simbody||3.0+||Source||Simbody packages are hosted in the OSRF repository. Expected to appear in Ubuntu Utopic official repositories.|
|DART||3.0+||Source||DART packages are hosted in dartsim PPA. DART is in the process of moving toward inclusion in Ubuntu.|
We are developing a physics plugin framework to resolve dependency issues. Each physics engine will interface to Gazebo through a plugin, avoiding the need to compile Gazebo with support for each engine.
Gazebo development began in the fall of 2002 at the University of Southern California. The original creators were Dr. Andrew Howard and his student Nate Koenig. The concept of a high-fidelity simulator stemmed from the need to simulate robots in outdoor environments under various conditions. As a complementary simulator to Stage, the name Gazebo was chosen as the closest structure to an outdoor stage. The name has stuck despite the fact that most users of Gazebo simulate indoor environments.
Over the years, Nate continued development of Gazebo while completing his PhD. In 2009, John Hsu, a Senior Research Engineer at Willow, integrated ROS and the PR2 into Gazebo, which has since become one the primary tools used in the ROS community. A few years later in the Spring of 2011, Willow Garage started providing financial support for the development of Gazebo. In 2012, Open Source Robotics Foundation (OSRF) spun out of Willow Garage and became the steward of the Gazebo project. After significant development effort by a team of talented individuals, OSRF used Gazebo to run the Virtual Robotics Challenge, a component in the DARPA Robotics Challenge, in July of 2013.
OSRF continues development of Gazebo with support from a diverse and active community. Stay tuned for more exciting developments related to robot simulation.