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.
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:
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'>
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 InformationC++ API for programmatic control Introduction to Robotics with ROS Course Related ArticlesROS - Robot Operating System Is Five!
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, Facebook, Google+ or Linkedin.
Comments
or email your comment to: comments@i-programmer.info |
|||
Last Updated ( Monday, 15 February 2016 ) |