We are proud to announce the release of Gazebo 9. This version of Gazebo has long term support with an end-of-life on January 25, 2023.
An ongoing effort over the past few years has been to break out Gazebo's internal libraries into a set of libraries under the Ignition Robotics project. These libraries will move Gazebo away from a large monolithic code base. An additional goal is to increase development transparency and adoption of features that may have been hidden behind the veil of Gazebo.
While still in the early stages of development, a few of the Ignition libraries are ready for broad public consumption. These libraries include Ignition Math, Messages, and Transport. Libraries higher on the dependency stack, such as Rendering, Sensors, Physics, and GUI will see progress toward 1.0 releases over this year.
The 2018 roadmap for Gazebo and the Ignition libraries will be forthcoming in the next couple weeks.
The sections below describe a few projects in a bit more detail. Enjoy the new release, and thanks for all the contributions,
Gazebo Development Team
An updated documentation platform has been created for Ignition Robotics at ignitionrobotics.org. This website details the available libraries, along with a brief description for each and links to API documentation and tutorials, which are sparse at this point. A version history for each library is also displayed with links to the version's documentation.
Around the time of the DARPA Robotics Challenge, Gazebo faced the problem of where and how to host simulation models and related assets. At the time, we opted to use a Bitbucket repository along with a clone backed by Apache.
Gazebo has since outgrown the Bitbucket and Apache approach. Key problems that we have encountered are scalability, up-time, hosting meta-data, inclusion of worlds and other assets, and ease of use. After studying available options, such as using S3, we decided to provide a new simulation asset hosting service called Ignition Fuel.
Ignition Fuel is in Beta, and does not replace the existing Bitbucket+Apache solution. When Fuel moves out of beta, there will be an extended transition period where both hosting solutions will be active and maintained. The exact time frame will be determined when we are comfortable with the state of Fuel.
On Ignition Fuel you can find a list of available models. Logging into the site allows you to upload new models. There is also information about how to access the models programmatically through a REST API. Gazebo 9 optionally uses this API to list and download models from Fuel. In the tutorial section of Ignition Fuel Tools, you can find examples of how to manage models from a Fuel server programmatically.
The primary difference between Fuel and other asset hosting sites is that the models hosted on Fuel will contain not only visual information but also simulation information, such as links, joint, and inertia. Fuel will also move toward inclusion of worlds and potentially simulation plugins.
Gazebo makes heavy use of asynchronous message passing. For example, the Gazebo GUI operates in a separate process from the server and relies on message passing to display information and transmit user requests. Gazebo's current internal communication uses a home-grown strategy based on Protobuf and boost::asio. This has performed well but requires maintenance and has become a bit outdated.
Development of Ignition Transport provided the opportunity to choose a new strategy that would reduce our maintenance effort and offer new features. ZeroMQ has been chosen as a replacement to boost::asio, and Protobuf remains as the message definition. ZeroMQ is an open source communication library that is used across numerous domains, and has a large and active community. In addition to these aspects, ZeroMQ has a well established feature and change process, known performance, numerous language bindings, cross-platform support , and security through authentication and encryption.In addition to the features provided by ZeroMQ, Ignition Transport provides discovery, and command line tools for topic introspection and publication of messages. Upcoming features include data logging, and integration of encryption and UDP provided in ZeroMQ. A series of benchmark tests of Ignition Transport were recently performed to evaluate the library's performance and establish a baseline. We will start with a few definitions for clarity.
Tests were performed on Ubuntu Xenial with the Linux 4.5.2 kernel, on a Intel i7-5930K desktop PC. The test program, called bench, is publicly available. Use the `-h` command line option with bench for usage information. Latency and throughput results are below. Click on dataset label, such as "Interprocess", to enable or disable the data.
These results can be used as one reference point, but they are by no means an exhaustive or comprehensive study of Ignition Transport.
Autonomous vehicles, and the hardware and software required to operate these vehicles, are a hot topic of conversation. At Open Robotics, we thought it would be a great time to showcase Gazebo in the autonomous vehicle domain.
We built a fictitious world consisting of a handcrafted (via GIMP) terrain, and numerous freely available models on the Gazebo Model Database. Our vehicle of choice is a Prius Hybrid, the model of which consists of a power-train and full kinematic and dynamic simulation. Human models were also placed in the world to act as pedestrians.
You can find the source code for the city environment at https://bitbucket.org/osrf/citysim. This repository contains the world description, and a few plugins for traffic light control and visual effects.
The citysim code is a work in progress. It will be ready for public consumption when Gazebo 9 is released in January 2018.
While most of the capabilities required to run this demonstration exist in Gazebo8, we did leverage a few new capabilities, such as a joystick interface, that will appear in Gazebo9. Therefore, the citysim branch of Gazebo is also required.
Gazebo has many other tools and features to support autonomous vehicle testing and development. One such tool is real-time plotting of simulation data, as demonstrated in the following video.
Have fun simulating your world!
Gazebo's mailing list which used to be hosted on Google Groups is officially retired!
From now on, we invite the community to join us at community.gazebosim.org for general discussion and announcements regarding Gazebo and related projects.
Gazebo Answers, at answers.gazebosim.org, will continue to be the place for technical questions and answers.
See you at the 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!
Reposted from the OSRF Blog.
We are happy to announce the final results of the Agile Robotics for Industrial Automation Competition (ARIAC).
ARIAC is a simulation-based competition designed to promote agility in industrial robot systems by utilizing the latest advances in artificial intelligence and robot planning. The goal is to enable industrial robots on the shop floors to be more productive, more autonomous, and more responsive to the needs of shop floor workers. The virtual nature of the competition enabled participation of teams affiliated with companies and research institutions from across three continents.
While autonomously completing pick-and-place kit assembly tasks, teams were presented with various agility challenges developed based on input from industry representatives. These challenges include failing suction grippers, notification of faulty parts, and reception of high-priority orders that would prompt teams to decide whether or not to reuse existing in-progress kits.
Teams had control over their system’s suite of sensors positioned throughout the workcell, made up of laser scanners, intelligent vision sensors, quality control sensors and interruptible photoelectric break-beams. Each team participating in the finals chose a unique sensor configuration with varying associated costs and impact on the team’s strategy.
The diversity in the teams’ strategies and the impact of their sensor configurations can be seen in the video of highlights from the finals:
Scoring was performed based on a combination of performance, efficiency and cost metrics over 15 trials. The overall standings of the top teams are as follows.
First place: Realization of Robotics Systems, Center for Advanced Manufacturing, University of Southern California
Second place: FIGMENT, Pernambuco Federal Institute of Education, Science, and Technology / Federal University of Pernambuco
Third place: TeamCase, Case Western Reserve University
Top-performing teams will be presenting at IROS 2017 in Vancouver, Canada in a workshop held on Sunday, September 24th. Details for interested parties are available at https://www.nist.gov/el/intelligent-systems-division-73500/agile-robotics-industrial-automation-competition-ariac
The IROS workshop is open to all, even those that did not compete. In addition to having presentations about approaches used in the competition, we will also be exploring plans for future competitions. If you would like to give a presentation about agility challenges you would like to see in future competitions, please contact Craig Schlenoff (firstname.lastname@example.org).
Congratulations to all teams that participated in the competition. We look forward to seeing you in Vancouver!