Now, we have understood how to use Arduino with ROS. In this section, we are prepared to connect our first actuators to ROS. There are a lot of low-cost kits for Arduino users that we can choose to make a robot controlled by ROS. During this section, we are going to use a 4 x 4 robot kit chassis.
In order to have ROS in our robot, not only an Arduino is needed, but we will also need an embedded computer with ROS installed. There is a lot of ARM based-boards compatible with ROS, such as Dragonboard, Raspberry Pi, or BeagleBone Black. In this case, there is an Odroid C1 with Ubuntu Xenial and ROS Kinetic. During the chapter, we are going to learn how to connect different sensors to the platform such as an Inertial Measurement Unit (IMU) or some wheel encoders to calculate the odometry.
The robot platform has four motors that have to be controlled. For this purpose, we are going to use an Arduino with a motor controller. There is a lot of motor controllers that can be interfaced with Arduino. In this case, we are going to use a very common board based on L298N dual motor driver. A kit of two wheels, two motors, and two magnetic encoders are shown in the figure: