Introduction
Welcome to this repository. This rep contains project files for the book - ROS Robotics Projects - Second edition, published by Packt. If you already bought the book, congratulations, let's get started. If not, you could buy them from the below links :
Approach
This book assumes that you have a basic knowledge about how ROS concepts such as topics, services and message definitions work, though they are touched upon in the beginning. Also given a good knowledge of working with linux environment and python programming covering concepts like functions and classes, the projects should be pretty straightforward to implement. The book consists of ROS projects that involve building and simulating robots in ROS, working with some advance ROS techniques and helps wrap up a tech solution together with multiple robots or machines using high level Learning-AI concepts.
What the book covers
- Chapter 1, Getting Started with ROS, is a basic introduction chapter on ROS for beginners : This chapter will help you get an idea of the ROS software framework and its concepts.
- Chapter 2 , Introduction to ROS-2 and Its Capabilities, introduces you to ROS-2: the newest upgraded framework that helps us use ROS in real-time applications. This chapter is organized in a way similar to chapter 1 such that users are able to differentiate between both ROS versions and understand their capabilities and limitations.
- Chapter 3 , Building an Industrial Mobile Manipulator, is where you would be able to build a mobile robot, a robot arm and combine them both to be used in a virtual environment and control them through ROS.
- Chapter 4 , Handling Complex Robot Tasks Using State Machines, introduces you to techniques in ROS that could be adapted while using robots for continuous and complicated task management.
- Chapter 5 , Building an Industrial Application, is where you would combine the skills acquired in Chapters 3 and 4 effectively to carry out an user application. Here we would see how to use the mobile manipulator to deliver products to houses in a neighborhood.
- Chapter 6 , Multirobot collaboration, you would understand how to communicate between multiple robots of same or different category, and control them separately and together in groups.
- Chapter 7 , ROS on Embedded Platform and Their Control, helps you understand the latest embedded controller and processor boards like STM32 based controllers, Tinkerboard, Jetson Nano and many more. We also see how to control their GPIOs via ROS and control them via voice based commands through Alexa.
- Chapter 8 , Reinforcement Learning and Robotics, introduces you to one of the most usedlearning techniques in robotics called reinforcement learning. In this chapter, you would understand what is reinforcement learning and the math behind it using examples. Further we see how to incorporate this learning technique with ROS through simple projects.
- Chapter 9 , Deep Learning Using ROS and TensorFlow, is a project made using a trending technology in robotics. Using the TensorFlow library and ROS, we can implement interesting deep learning applications. You can implement image recognition using deep learning, and an application using SVM can be found in this chapter.
- Chapter 10 , Creating a Self-driving Car Using ROS, is one of the more interesting projects in this book. In this chapter, we will build a simulation of self-driving car using ROS and Gazebo.
-Chapter 11 , Teleoperating Robot Using VR Headset and Leap Motion, shows you how to control a robot's actions using a VR headset and Leap Motion sensor. You can play around with virtual reality, a trending technology these days.
- Chapter 12 Face Detection and Tracking Using ROS, OpenCV and Dynamixel Servos, takes you through a cool project that you can make with ROS and the OpenCV library. This projectbasically creates a face tracker application in which your face will be tr acked in such a way that the camera will always point to your face. We will use intelligent servos such as Dynamixel to rotate the robot on its axis.
Getting started!
Project files and packages for each and every chapter are named with respect to the chapter names for easy understanding. Simply follow the instructions given in the book to run the project files successfully. You would be able to view working videos of this project here
Disclaimer
This is my first book folks, hence I'll be brutally honest with you all that there are chances of missing files, different file names or syntax errors, though they are thoroughly checked many a times, coz I'm a human too :-D. In-case you find any such troubles or problem running your project files, firstly, I'm sorry for the inconvenience. You could simply raise an issue in the issues tab such that I'll be able to track and solve the errors sytematically.