Understanding the Arduino-ROS interface

Let's see what an Arduino is first. Arduino is one of the most popular open source I/O boards in the market. The easiness in programmability and the cost effectiveness of the hardware have made Arduino a big success. Most of the Arduino boards are powered by Atmel microcontrollers, which are available from 8-bit to 32-bit and clock speed from 8 MHz to 84 MHz. Arduino can be used for quick prototyping of robots and we can even use it for products as well. The main applications of Arduino in robotics are interfacing sensors and actuators, and communicating with PC for receiving high level commands and sending sensor values to PC using the UART protocol.

There are different varieties of Arduino available in the market. Selecting one board for our purpose will be dependent on the nature of our robotic application. Let's see some boards which we can use for beginners, intermediate, and high end users.

Figure 1 : Different versions of Arduino board

We will look at each Arduino board specification in brief and see where it can be deployed.

Boards

Arduino UNO

Arduino Mega 2560

Arduino Due

Processor

ATmega328P

ATmega2560

ATSAM3X8E

Operating/Input Voltage

5V / 7-12 V

5V/ 7-12V

3.3V / 7 - 12 V

CPU Speed

16 MHz

16 MHz

84 MHz

Analog In/Out

6/0

16/0

12/2

Digital IO/PWM

14/6

54/15

54/12

EEPROM[KB]

1

4

-

SRAM [KB]

2

8

96

Flash [KB]

32

256

512

USB

Regular

Regular

2 Micro

UART

1

4

4

Application

Basic robotics and sensor interfacing

Intermediate robotic application level application

High end robotics application

Let's see how to interface Arduino to ROS.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.15.1