Book Image

ROS Robotics By Example

Book Image

ROS Robotics By Example

Overview of this book

The visionaries who created ROS developed a framework for robotics centered on the commonality of robotic systems and exploited this commonality in ROS to expedite the development of future robotic systems. From the fundamental concepts to advanced practical experience, this book will provide you with an incremental knowledge of the ROS framework, the backbone of the robotics evolution. ROS standardizes many layers of robotics functionality from low-level device drivers to process control to message passing to software package management. This book provides step-by-step examples of mobile, armed, and flying robots, describing the ROS implementation as the basic model for other robots of these types. By controlling these robots, whether in simulation or in reality, you will use ROS to drive, move, and fly robots using ROS control.
Table of Contents (17 chapters)
ROS Robotics By Example
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Creating ROS nodes on Arduino or Raspberry Pi


The 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/de-serialized 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...