For people learning robotics, the ability to have access to real robots is fun and useful, but not everyone has access to a real robot. Simulators are a great tool when we have limited access to a real robot. They were created for testing the behavior of algorithms before trying them on a real robot. This is why simulators exist.
In this chapter, you have learned how to create a 3D model of your own robot. This includes a detailed explanation that guides you in the tasks of adding textures and creating joints, and also describes how to move the robot with a node.
Then, we introduced Gazebo, a simulator where you can load the 3D model of your robot, and simulate it moving and sensing a virtual world. This simulator is widely used by the ROS community and it already supports many real robots in simulation.
Indeed, in a nutshell, we have seen how to reuse parts of other robots to design ours. In particular, we have included a gripper and added sensors, such as a laser range finder and a camera.
Hence, it is not mandatory to create a robot from scratch to start using the simulator. The community has developed a lot of robots and you can download the code, execute them in ROS and Gazebo, and modify them if it turns out to be necessary.
You can find a list of the robots supported on ROS on http://www.ros.org/wiki/Robots. Also, you can find tutorials about Gazebo on http://gazebosim.org/tutorials.
In the next chapter, we will learn about abond
packages, such as SLAM, to perform navigation with lasers.