ROS Robotics Projects
Second Edition
Build and control robots powered by the Robot Operating System, machine learning, and virtual reality
Ramkumar Gandhinathan
Lentin Joseph
BIRMINGHAM - MUMBAI
ROS Robotics ProjectsSecond Edition
Copyright 2019 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Commissioning Editor: Vijin Boricha
Acquisition Editor: Meeta Rajani
Content Development Editor: Pratik Andrade
Senior Editor: Rahul Dsouza
Technical Editor: Dinesh Pawar
Copy Editor: Safis Editing
Project Coordinator: Anish Daniel
Proofreader: Safis Editing
Indexer: Rekha Nair
Production Designer: Alishon Mendonsa
First published: March 2017
Second edition: December 2019
Production reference: 1181219
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-83864-932-6
www.packt.com
To my dear mother and father, for their sacrifices and for exemplifying the power of determination.
To my influential sister, for her constant love and motivation.
To my loving wife, for being supportive, understanding my passion, and accepting me the way I am throughout our life and beyond.
To all my friends and colleagues who've been by my side, encouraging and inspiring me to do more.
To Meeta, Pratik, and other Packt employees for working closely with me, bringing the best out of me, and shaping the book.
Ramkumar Gandhinathan
I dedicate this book to my parents, C. G. Joseph and Jancy Joseph, for giving me strong support in making this project happen.
Lentin Joseph
Packt.com
Subscribe to our online digital library for full access to over 7,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.
Why subscribe?
Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals
Improve your learning with Skill Plans built especially for you
Get a free eBook or video every month
Fully searchable for easy access to vital information
Copy and paste, print, and bookmark content
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.packt.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at customercare@packtpub.com for more details.
At www.packt.com , you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.
Contributors
About the authors
Ramkumar Gandhinathan is a roboticist and researcher by profession. He started building robots in the sixth grade and has been in the robotics field for over 15 years through personal and professional connections. He has personally built over 80 robots of different types. With 7 years' overall professional experience (4 years full-time and 3 years part-time/internship) in the robotics industry, he has 5 years of ROS experience. As a part of his professional career, he has built over 15 industrial robot solutions using ROS. He is also fascinated by building drones and is a drone pilot. His research interests and passion are in the fields of SLAM, motion planning, sensor fusion, multi-robot communication, and systems integration.
Lentin Joseph is an author, roboticist, and robotics entrepreneur from India. He runs a robotics software company called Qbotics Labs in Kochi, Kerala. He has 8 years of experience in the robotics domain, primarily in ROS, OpenCV, and PCL.
He has authored several books on ROS, namely Learning Robotics Using Python, first and second edition; Mastering ROS for Robotics Programming, first and second edition; ROS Robotics Projects, first edition; and Robot Operating System for Absolute Beginners.
He completed his master's degree in robotics and automation in India and has worked at Robotics Institute, CMU, USA. He is also a TEDx speaker.
Packt is searching for authors like you
If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.
Preface
Robot Operating System (ROS) is one of the most popular robotics middleware and is used by universities and industries for robot-specific applications. Ever since its introduction, many robots have been introduced to the market and users have been able to use them with ease within their applications. One of its main draws is its open source nature. ROS does not need a user to reinvent the wheel; instead, standardizing robot operations and applications is simple.
This book is an upgrade to the previous edition and introduces you to newer ROS packages, interesting projects, and some added features. This book targets projects in the latest (at the time of writing) ROS distributionROS Melodic Morenia with Ubuntu Bionic version 18.04.
Here, you will understand how robots are used in industries and will learn the step-by-step procedure of building heterogeneous robot solutions. Unlike the service call and action features in ROS, you will be introduced to cooler techniques that let robots handle intricate tasks in a smart way. This knowledge should pave the way to far more intelligent and self-performing autonomous robots. Additionally, we will also introduce ROS-2, so you can learn the differences between this version and the previous ROS version and find help in choosing a specific middleware for your application.
Next page