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

Enabling a robot to recognize faces


This chapter has presented two abilities to make your robot more interactive. To talk to your robot and have it speak to you makes it become alive with personal characteristics. The more voice commands or phrases it responds to and the more phrases your robot can speak, the more personality it will have.

An additional customization would be to interact with your robot face-to-face. Having your robot turn when spoken to and having him find the face of the speaker will add an air of awareness. The capability to detect a face would be an advantage.

There are two primary methods available in ROS to detect faces from a camera image stream. The first method is using a cascade classifier with Haar or LBP-like features. This relies on a method provided by OpenCV. The second method uses Eigenfaces to recognize faces in an image. Descriptions of these two methods are provided in the next two sections. The best approach to test these methods is to begin by using a...