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 distribution—ROS 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.
Industries and research institutes are focusing primarily on the fields of computer vision and natural language processing. While the previous edition of this book introduced you to some simple vision applications such as object detection and face tracking, this edition will introduce you to one of the most widely used smart speaker platforms on the market, Amazon's Alexa, and how to control robots using it. In parallel, we will introduce new hardware, such as Nvidia Jetson, Asus Tinker Board, and BeagleBone Black and explore their capabilities with ROS.
While people may know how to control robots individually, one of the most common problems faced by users in the ROS community is the use of multiple robots working in synchronization, whether they are of the same type or not. This becomes complicated, as robots may follow similar topic names and may possibly lead to confusion in a sequence of operations. This book helps in highlighting the possible conflicts and suggests solutions.
This book also touches on reinforcement learning, including how it can be used with robotics and ROS. Furthermore, you will find the most interesting projects for building a self-driving car, deep learning with ROS, and building teleoperation solutions using VR headsets and Leap Motion, as they're currently trending and are being researched continuously.