ROS Robotics Projects

Build a variety of awesome robots that can see, sense, move, and do a lot more using the powerful Robot Operating System

ROS Robotics Projects

This ebook is included in a Mapt subscription
Lentin Joseph

Build a variety of awesome robots that can see, sense, move, and do a lot more using the powerful Robot Operating System
$0.00
$28.00
$49.99
$29.99p/m after trial
RRP $39.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 30 Day Trial
Subscribe and access every Packt eBook & Video.
 
  • 4,000+ eBooks & Videos
  • 40+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 
Preview in Mapt

Book Details

ISBN 139781783554713
Paperback452 pages

Book Description

Robot Operating System is one of the most widely used software frameworks for robotic research and for companies to model, simulate, and prototype robots. Applying your knowledge of ROS to actual robotics is much more difficult than people realize, but this title will give you what you need to create your own robotics in no time!

This book is packed with over 14 ROS robotics projects that can be prototyped without requiring a lot of hardware. The book starts with an introduction of ROS and its installation procedure. After discussing the basics, you’ll be taken through great projects, such as building a self-driving car, an autonomous mobile robot, and image recognition using deep learning and ROS. You can find ROS robotics applications for beginner, intermediate, and expert levels inside!

This book will be the perfect companion for a robotics enthusiast who really wants to do something big in the field.

Table of Contents

Chapter 1: Getting Started with ROS Robotics Application Development
Getting started with ROS
Fundamentals of ROS
ROS client libraries
ROS tools
Simulators of ROS
Installing ROS kinetic on Ubuntu 16.04 LTS
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
Interfacing Dynamixel with ROS
Creating face tracker ROS packages
Working with the face-tracking ROS package
Questions
Summary
Chapter 3: Building a Siri-Like Chatbot in ROS
Social robots
Building social robots
Prerequisites
Getting started with AIML
Questions
Summary
Chapter 4: Controlling Embedded Boards Using ROS
Getting started with popular embedded boards
Interfacing Arduino with ROS
Running ROS on Raspberry Pi and Odroid boards
Questions
Summary
Chapter 5: Teleoperate a Robot Using Hand Gestures
Teleoperating ROS Turtle using a keyboard
Teleoperating using hand gestures
Setting up the project
Interfacing the MPU-9250 with the Arduino and ROS
Visualizing IMU TF in Rviz
Converting IMU data into twist messages
Integration and final run
Teleoperating using an Android phone
Questions
Summary
Chapter 6: Object Detection and Recognition
Getting started with object detection and recognition
The find_object_2d package in ROS
Getting started with 3D object recognition
Introduction to 3D object recognition packages in ROS
Detecting and recognizing objects from 3D meshes
Recognizing objects
Questions
Summary
Chapter 7: Deep Learning Using ROS and TensorFlow
Introduction to deep learning and its applications
Deep learning for robotics
Deep learning libraries
Getting started with TensorFlow
Image recognition using ROS and TensorFlow
Introducing to scikit-learn
Introducing to SVM and its application in robotics
Questions
Summary
Chapter 8: ROS on MATLAB and Android
Getting started with the ROS-MATLAB interface
Setting Robotics Toolbox in MATLAB
Communicating from MATLAB to a ROS network
Controlling a ROS robot from MATLAB
Getting started with Android and its ROS interface
Installing the ROS-Android interface
Playing with ROS-Android applications
Code walkthrough
Creating basic applications using the ROS-Android interface
Questions
Summary
Chapter 9: Building an Autonomous Mobile Robot
Robot specification and design overview
Designing and selecting the motors and wheels for the robot
Building 2D and 3D models of the robot body
Simulating the robot model in Gazebo
Mathematical model of a differential drive robot
Designing and building actual robot hardware
Interfacing robot hardware with ROS
Gmapping and localization in Chefbot
Questions
Summary
Chapter 10: Creating a Self-Driving Car Using ROS
Getting started with self-driving cars
Functional block diagram of a typical self-driving car
Software block diagram of self-driving cars
Simulating the Velodyne LIDAR
Interfacing Velodyne sensors with ROS
Simulating a laser scanner
Explaining the simulation code
Interfacing laser scanners with ROS
Simulating stereo and mono cameras in Gazebo
Interfacing cameras with ROS
Simulating GPS in Gazebo
Simulating IMU on Gazebo
Interfacing IMUs with ROS
Simulating an ultrasonic sensor in Gazebo
Low-cost LIDAR sensors
Simulating a self-driving car with sensors in Gazebo
Interfacing a DBW car with ROS
Introducing the Udacity open source self-driving car project
Questions
Summary
Chapter 11: Teleoperating a Robot Using a VR Headset and Leap Motion
Getting started with a VR headset and Leap Motion
Project prerequisites
Design and working of the project
Installing the Leap Motion SDK on Ubuntu 14.04.5
Visualizing Leap Motion data in Rviz
Creating a teleoperation node using the Leap Motion controller
Building a ROS-VR Android application
Working with the ROS-VR application and interfacing with Gazebo
Working with TurtleBot simulation in VR
Troubleshooting the ROS-VR application
Integrating ROS-VR application and Leap Motion teleoperation
Questions
Summary
Chapter 12: Controlling Your Robots over the Web
Getting started with ROS web packages
Setting up ROS web packages on ROS Kinetic
Installing tf2_web_republisher on ROS Kinetic
Teleoperating and visualizing a robot on a web browser
Controlling robot joints from a web browser
Web-based speech-controlled robot
Running a speech-controlled robot application
Questions
Summary

What You Will Learn

  • Create your own self-driving car using ROS
  • Build an intelligent robotic application using deep learning and ROS
  • Master 3D object recognition
  • Control a robot using virtual reality and ROS
  • Build your own AI chatter-bot using ROS
  • Get to know all about the autonomous navigation of robots using ROS
  • Understand face detection and tracking using ROS
  • Get to grips with teleoperating robots using hand gestures
  • Build ROS-based applications using Matlab and Android
  • Build interactive applications using TurtleBot

Authors

Table of Contents

Chapter 1: Getting Started with ROS Robotics Application Development
Getting started with ROS
Fundamentals of ROS
ROS client libraries
ROS tools
Simulators of ROS
Installing ROS kinetic on Ubuntu 16.04 LTS
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
Interfacing Dynamixel with ROS
Creating face tracker ROS packages
Working with the face-tracking ROS package
Questions
Summary
Chapter 3: Building a Siri-Like Chatbot in ROS
Social robots
Building social robots
Prerequisites
Getting started with AIML
Questions
Summary
Chapter 4: Controlling Embedded Boards Using ROS
Getting started with popular embedded boards
Interfacing Arduino with ROS
Running ROS on Raspberry Pi and Odroid boards
Questions
Summary
Chapter 5: Teleoperate a Robot Using Hand Gestures
Teleoperating ROS Turtle using a keyboard
Teleoperating using hand gestures
Setting up the project
Interfacing the MPU-9250 with the Arduino and ROS
Visualizing IMU TF in Rviz
Converting IMU data into twist messages
Integration and final run
Teleoperating using an Android phone
Questions
Summary
Chapter 6: Object Detection and Recognition
Getting started with object detection and recognition
The find_object_2d package in ROS
Getting started with 3D object recognition
Introduction to 3D object recognition packages in ROS
Detecting and recognizing objects from 3D meshes
Recognizing objects
Questions
Summary
Chapter 7: Deep Learning Using ROS and TensorFlow
Introduction to deep learning and its applications
Deep learning for robotics
Deep learning libraries
Getting started with TensorFlow
Image recognition using ROS and TensorFlow
Introducing to scikit-learn
Introducing to SVM and its application in robotics
Questions
Summary
Chapter 8: ROS on MATLAB and Android
Getting started with the ROS-MATLAB interface
Setting Robotics Toolbox in MATLAB
Communicating from MATLAB to a ROS network
Controlling a ROS robot from MATLAB
Getting started with Android and its ROS interface
Installing the ROS-Android interface
Playing with ROS-Android applications
Code walkthrough
Creating basic applications using the ROS-Android interface
Questions
Summary
Chapter 9: Building an Autonomous Mobile Robot
Robot specification and design overview
Designing and selecting the motors and wheels for the robot
Building 2D and 3D models of the robot body
Simulating the robot model in Gazebo
Mathematical model of a differential drive robot
Designing and building actual robot hardware
Interfacing robot hardware with ROS
Gmapping and localization in Chefbot
Questions
Summary
Chapter 10: Creating a Self-Driving Car Using ROS
Getting started with self-driving cars
Functional block diagram of a typical self-driving car
Software block diagram of self-driving cars
Simulating the Velodyne LIDAR
Interfacing Velodyne sensors with ROS
Simulating a laser scanner
Explaining the simulation code
Interfacing laser scanners with ROS
Simulating stereo and mono cameras in Gazebo
Interfacing cameras with ROS
Simulating GPS in Gazebo
Simulating IMU on Gazebo
Interfacing IMUs with ROS
Simulating an ultrasonic sensor in Gazebo
Low-cost LIDAR sensors
Simulating a self-driving car with sensors in Gazebo
Interfacing a DBW car with ROS
Introducing the Udacity open source self-driving car project
Questions
Summary
Chapter 11: Teleoperating a Robot Using a VR Headset and Leap Motion
Getting started with a VR headset and Leap Motion
Project prerequisites
Design and working of the project
Installing the Leap Motion SDK on Ubuntu 14.04.5
Visualizing Leap Motion data in Rviz
Creating a teleoperation node using the Leap Motion controller
Building a ROS-VR Android application
Working with the ROS-VR application and interfacing with Gazebo
Working with TurtleBot simulation in VR
Troubleshooting the ROS-VR application
Integrating ROS-VR application and Leap Motion teleoperation
Questions
Summary
Chapter 12: Controlling Your Robots over the Web
Getting started with ROS web packages
Setting up ROS web packages on ROS Kinetic
Installing tf2_web_republisher on ROS Kinetic
Teleoperating and visualizing a robot on a web browser
Controlling robot joints from a web browser
Web-based speech-controlled robot
Running a speech-controlled robot application
Questions
Summary

Book Details

ISBN 139781783554713
Paperback452 pages
Read More

Read More Reviews