Gazebo Robot Simulator Makes Version 7
Written by Nikos Vaggalis   
Monday, 15 February 2016

Ever had the urge of building a robot but found the cost and time required prohibitive? The Open Source Robotics Foundation (OSRF) offers the solution to both those problems with its free and open source Gazebo robot  simulator.

Used by both hobbyists and professionals alike, one can build models that act like real robots and move in their own world, ruled by its four, state of the art, physics engines (the default being ODE Open Dynamics Engine, for simulating rigid body dynamics).

Why that many physics engines?

They are needed for making the simulated robot behave like the real thing to the conditions imposed by the world surrounding it. ODE and Bullet suit simulating cluttered environments, while DART and Simbody are better suited to simulating articulated systems such as humanoid robots.

 

 

Gazebo is like a CAD tool, but instead of designing buildings you get to design robots. It offers a C++ API, used for programmatically controlling your robotic creations.

A prerequisite is the Robot Operating System (ROS) that Gazebo runs on. ROS is a framework for writing robot software and provides tools, libraries, drivers, and conventions for creating complex and robust robot behavior. Their integration is explained in more detail in the ROS to Gazebo integration overview whitepaper

 


The range of the models you can work with is huge, starting from a simple biped robot with leg joints up to Nasa's Robonaut 2.
More models are continuously added,recently even adding support for UAV/drones with the ArduPilot plugin, demonstrating Gazebo's ease of extensibility.

ArduPilot offers a prime example of Gazebo's power in prototyping all phases of the engineering process, before even thinking of producing a real world hardware model. It can be used in a variety of ways:

  • Virtually test various combinations of sensor payloads and flight modes before moving to real hardware

  • Debug in real-time even the communication between Ground Stations and the autopilot; ultimately validate functions are well-behaved

  • Aid new pilots to train on piloting, or enable veterans to hone their skills in parameter tuning

 

 

Building a basic robot is not difficult as demonstrated by the tutorial on building a simple two wheeled robot. Going through it we find that the instructions for building a model and its parts are specified in XML markup, i.e.  attaching a caster (sphere with no friction) along with its rules of physics :

<collision name='caster_collision'> 
<pose>-0.15 0 -0.05 0 0 0</pose>
<geometry>
<sphere>
<radius>.05</radius>
</sphere>
</geometry>
<surface>
<friction>
<code>
<mu>0</mu>
<mu2>0</mu2>
<slip1>1.0</slip1>
<slip2>1.0</slip2>
</code>
</friction>
</surface>
</collision>

<visual name='caster_visual'>
<pose>-0.15 0 -0.05 0 0 0</pose>
<geometry>
<sphere>
<radius>.05</radius>
</sphere>
</geometry>
</visual>

 

After making the model you attach sensors for monitoring its state and data gathering. Plugins process that data so you can instruct your robot based on the calculations done on them. For example, you can attach a laser sensor and then read the distance from your robot to an adjacent object or even attach a camera sensor. The plugins and the sensors communicate through the C++ API.

 

 

The latest version 7 was released on the February 4, 2016 and brings a variety of features:

After you build your robot in the simulated world, it's not that hard to port it to a real physical robot, as the code you've already written runs unaltered!  You can think of ROS as a Virtual Machine, let's say like .NET, that runs on a variety of devices,thus Gazebo generated code which is written on top of it can run everywhere ROS is supported.

 

 

More Information

Gazebo

Robot Operating System (ROS)

Gazebo Beginner: Overview

C++ API for programmatic control
Learn TurtleBot and ROS

Introduction to Robotics with ROS Course 

Related Articles

ROS - Robot Operating System Is Five!

Get Ready For RoboCup 2013

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter,subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin

 

Banner


Apollo Adds REST APIs For GraphQL
29/10/2024

Apollo has added a simpler way to integrate REST APIs into a federated GraphQL environment. Available now in public preview, can be used to map REST API endpoints to their GraphQL schema using a decla [ ... ]



Wasmer 5 Adds iOS Support
12/11/2024

The Wasmer team has released Wasmer 5.0. The WebAssembly runtime adds experimental support for more back ends including V8, Wasmi and WAMR. It also now has iOS support, and upgraded compilers includin [ ... ]


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 15 February 2016 )