ROS tutorial by Purdue SMART lab: Gazebo simulation - autonomous mobile robot navigation and creating custom robots and sensor plugins

SMARTlab-Purdue SMARTlab-Purdue Last update: Oct 24, 2023

ROS Tutorial on Robot Simulation in Gazebo

ROS tutorial by Purdue SMART lab: Husky mobile robot navigation and creating custom robots with sensor plugins in Gazebo simulation.

The tutorial instructions are also available in the wiki page of this repository: https://github.com/SMARTlab-Purdue/ros-tutorial-gazebo-simulation/wiki

Objectives

Gazebo is a powerful robotic simulator that allows us to customize robot models to fit your research. Gazebo offers physics simulation at a much higher degree of fidelity, a suite of sensors, and interfaces.

This tutorial serves as an introduction to driving and controlling robots (e.g. Husky robot) on Gazebo (Section 2), building custom robots with custom sensors from scratch and publishing sensor readings on ROS topic (Sections 3 and 4) and provides instructions required for Gazebo and ROS installation (Section 1).

All the following steps successfully worked with ROS-indigo on Ubuntu 14.04.

Demonstration video:

Please watch the videos below to get an idea of what you can expect to achieve from this tutorial.

https://www.youtube.com/watch?v=Hqur3fG99Ug

IMAGE ALT TEXT HERE

Credits

This tutorial is prepared by Sangjun Lee ([email protected]) and Tamzidul Mina ([email protected]).

The git repository is maintained by Ramviyas Parasuraman ([email protected]).

We acknowledge the following sources that were used to prepare this tutorial:

Prerequisites

Fundamental background of using Linux-based OS and ROS will be required to fully understand the following tutorial. For more information, please visit:

http://wiki.ros.org/ROS/Tutorials

and

http://files.ubuntu-manual.org/manuals/getting-started-with-ubuntu/14.04e2/en_US/screen/Getting%20Started%20with%20Ubuntu%2014.04%20-%20Second%20edition.pdf

Tutorial

Summary

In this tutorial, we presented an introduction to using Gazebo simulation for robot navigation and control. Also, we saw how to create a custom robot with a custom sensor and able to publish the sensor outputs on ROS topics.

The tutorials are summarized and adapted from the sources mentioned in Section 2. We hope this tutorial will be helpful to anyone starting out with Gazebo and ROS.

Subscribe to our newsletter