Creating ROS nodes on Arduino or Raspberry Pi
Arduino and Raspberry Pi are two of the most popular embedded systems on the market today. Sometimes, their names and capabilities are discussed interchangeably, but each platform has its own unique capabilities and usage. In robotics, it is important to know the merits of each of these powerful devices and how each one can be used with ROS to inherit the advantages of ROS.
Rosserial defines the protocol for ROS communication over serial transmission lines to ROS nodes running on microcontrollers or single-board computers. Standard ROS messages are serialized/deserialized in a prescribed format, and topics and services are multiplexed for serial ports or network sockets. For low-level details of this protocol, refer to http://wiki.ros.org/rosserial/Overview/Protocol.
In the following section, the capability of rosserial
is demonstrated in an example program using Arduino and an ultrasonic sensor.
Using Arduino
The Arduino board contains a microcontroller...