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
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.
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
This tutorial is prepared by Sangjun Lee (lee1424@purdue.edu) and Tamzidul Mina (tmina@purdue.edu).
The git repository is maintained by Ramviyas Parasuraman (ramviyas@purdue.edu).
We acknowledge the following sources that were used to prepare this tutorial:
-
http://www.clearpathrobotics.com/assets/guides/ros/Drive%20a%20Husky.html
-
http://www.theconstructsim.com/create-a-ros-sensor-plugin-for-gazebo/
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
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.