Simulating Robots Using ROS and Gazebo
After designing the 3D model of a robot, the next phase is its simulation. Robot simulation will give you an idea about the working of robots in a virtual environment.
We are going to use the Gazebo (http://www.gazebosim.org/) simulator to simulate the seven DOF arms and the mobile robot.
Gazebo is a multi-robot simulator for complex indoor and outdoor robotic simulation. We can simulate complex robots, robot sensors, and a variety of 3D objects. Gazebo already has simulation models of popular robots, sensors, and a variety of 3D objects in their repository (https://bitbucket.org/osrf/gazebo_models/). We can directly use these models without having to create new ones.
Gazebo has a good interface in ROS, which exposes the whole control of Gazebo in ROS. We can install Gazebo without ROS, and we should install the ROS-Gazebo interface to communicate from ROS to Gazebo.
In this chapter, we will discuss the simulation of seven DOF arms and differential wheeled robots. We will discuss ROS controllers that help to control the robot's joints in Gazebo.
We will cover the following topics in this chapter:
- Understanding robotic simulation and Gazebo
- Simulation a model of a robotic arm for Gazebo
- Simulating the robotic arm with an rgb-d sensor
- Moving robot joints using ROS controllers in Gazebo
- Simulating a differential wheeled robot in Gazebo
- Teleoperating a mobile robot in Gazebo