Preface Chapter 1: Getting Started with ROS Robotics Application Development Getting started with ROS ROS distributions Supported operating systems Robots and sensors supported by ROS Why ROS Fundamentals of ROS The filesystem level The computation graph level The ROS community level Communication in ROS ROS client libraries ROS tools Rviz (ROS Visualizer) rqt_plot rqt_graph Simulators of ROS Installing ROS kinetic on Ubuntu 16.04 LTS Getting started with the installation Configuring Ubuntu repositories Setting up source.list Setting up keys Installing ROS Initializing rosdep Setting the ROS environment Getting rosinstall Setting ROS on VirtualBox Setting the ROS workspace Opportunities for ROS in industries and research Questions Summary Chapter 2: Face Detection and Tracking Using ROS, OpenCV and Dynamixel Servos Overview of the project Hardware and software prerequisites Installing dependent ROS packages Installing the usb_cam ROS package Creating a ROS workspace for dependencies Interfacing Dynamixel with ROS Installing the ROS dynamixel_motor packages Creating face tracker ROS packages The interface between ROS and OpenCV Working with the face-tracking ROS package Understanding the face tracker code Understanding CMakeLists.txt The track.yaml file The launch files Running the face tracker node The face_tracker_control package The start_dynamixel launch file
he pan controller launch file The pan controller configuration file The servo parameters configuration file The face tracker controller node Creating CMakeLists.txt Testing the face tracker control package Bringing all the nodes together Fixing the bracket and setting up the circuit The final run Questions Summary Chapter 3: Building a Siri-Like Chatbot in ROS Social robots Building social robots Prerequisites Getting started with AIML AIML tags The PyAIML interpreter Installing PyAIML on Ubuntu 16.04 LTS Playing with PyAIML Loading multiple AIML files Creating an AIML hot in ROS The AIML ROS package Installing the ROS soundplay package Chapter 4: Controlling Embedded Boards Using ROS Chapter 5: Teleoperate a Robot Using Hand Gestures Chapter 6: Object Detection and Recognition Chapter 7: Deep Learning Using ROS and TensorFlow Chapter 8: ROS on MATLAB and Android Chapter 9: Building an Autonomous Mobile Robot Chapter 10: Creating a Self-Driving Car Using ROS Chapter 11: Teleoperating a Robot Using a VR Headset and Leap Motion Chapter 12: Controlling Your Robots over the Web Index