In the past few chapters, we have used ROS to control mobile, armed, flying, and simulated robots. The similarities and differences between these robots have been discussed, and we have shown the commonalities that ROS has created between all these robot types. These commonalities are not only in the structure of the software and the communication methods, but also in the simulation environment and the tools used for visualization and analysis.
The influence of ROS goes even further by providing a common interface to control devices external to the robot. These devices include game controllers (gamepads and joystick controllers), mobile devices (smartphones and tablets), and even controller boards (Arduino and Raspberry Pi).
In this chapter, you will learn about the following topics:
Adding a game controller to a robot
Using mobile devices to control robot projects
Interfacing controller boards such as Arduino or Raspberry Pi