ROS robotics projects
A new book by Lentin Joseph, ROS Robotics Programming, outlines more than 14 robotics projects using ROS that can be engaged with without requiring a lot of hardware. The book starts with an introduction to 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 robotic applications for beginner, intermediate, and expert levels inside.
This book is unique in that it focuses on ROS via the lens of robotics projects only. Lentin is the CEO/Founder of Qbotics Labs and the author of Learning Robotics using Python and Mastering ROS for Robotics Programming.
Below is an overview of the chapters in the book:
Chapter 1, Getting Started with ROS Robotics Application Development, is for absolute beginners to ROS. No need to worry if you don’t have experience in ROS; this chapter will help you give you an idea of the ROS software framework and its concepts.
Chapter 2, Face Detection and Tracking Using ROS, OpenCV and Dynamixel Servos, takes you through a cool project that you can do with ROS and the OpenCV library. This project basically creates a face tracker application in which your face will be tracked in such a way that the camera will always train on your face. We will use intelligent servos such as Dynamixel to rotate the robot on its axis.
Chapter 3, Building a Siri-Like Chatbot in ROS, is for those of you who want to make your robot interactive and intelligent without much hassle. This project creates a chatterbot in ROS that you can communicate with using text or speech. This project will be useful if you’re going to create social or service robots.
Chapter 4, Controlling Embedded Boards Using ROS, helps you build a robot using Arduino, an embedded compatible board, Raspberry Pi, or Odroid and an interface to ROS. In this chapter, you will see a wide variety of embedded boards and the interfacing projects made with them.
Chapter 5, Teleoperate a Robot Using Hand Gestures, will teach you how to build a gesture control device using Arduino and IMU. The gestures are translated into motion commands by ROS nodes.
Chapter 6, Object Detection and Recognition, has an interesting project for detecting objects. You will learn both 2D and 3D object recognition using powerful ROS packages.
Chapter 7, 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 8, ROS on MATLAB and Android, is intended for building robot applications using ROS, Matlab, and Android.
Chapter 9, Building an Autonomous Mobile Robot, is about creating an autonomous mobile robot with the help of ROS. You can see how to use packages such as navigation, gmapping, and AMCL to make a mobile robot autonomous.
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 the 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, Controlling Your Robots over the Web, we will see how to build interactive web applications using rosbridge in ROS.
The book uses ROS Kinetic and Indigo installed on latest Ubuntu L.T.S 16.04.01. The codes are also compatible with ROS Jade.
A basic knowledge in R.O.S, GNU/Linux, and C++ programming concepts is recommended.