Robot Operating System Cookbook
eBook - ePub

Robot Operating System Cookbook

Over 70 recipes to help you master advanced ROS concepts

Kumar Bipin

Share book
  1. 484 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Robot Operating System Cookbook

Over 70 recipes to help you master advanced ROS concepts

Kumar Bipin

Book details
Book preview
Table of contents
Citations

About This Book

Leverage the power of ROS to build exciting collaborative robots.About This Book• Delve into an open source, meta-operating system for your robot• Get acquainted with tools and libraries for building and running code on multiple platforms• Use Gazebo to model your robot and create a virtual environmentWho This Book Is ForIf you're a researcher or engineer with an interest in the problems, solutions, and future research issues that you may encounter in the development of robotic applications, this book is for you. Basic knowledge of C++ and Python programming with the GNU/Linux environment is strongly recommended to assist with understanding the key concepts covered in the book.What You Will Learn• Explore advanced concepts, such as ROS pluginlib, nodelets, and actionlib• Work with ROS visualization, profiling, and debugging tools• Gain experience in robot modeling and simulation using Gazebo• Understand the ROS Navigation Stack for mobile robots• Configure a MoveIt! package for a manipulator robot• Develop an autonomous navigation framework for MAV using ORB SLAM and MoveIt• Integrate sensors, actuators, and robots into the ROS ecosystem• Get acquainted with the ROS-Industrial package with hardware support, capabilities, and applicationsIn DetailThis book will leverage the power of ROS with an introduction to its core and advanced concepts through exciting recipes. You will get acquainted with the use of different synchronous and asynchronous communication methods, including messages, services, and actions. You will learn how to use the various debugging and visualization tools used in development and how to interface sensors and actuators with the ROS framework.Firstly, you will get to grips with ROS simulation frameworks, such as Gazebo and RotorS for modeling and simulating any physical robot and virtual environment. You will also cover mobile robotics, micro-aerial vehicles, and robotic arms, which are the leading branches of robotic applications. Robot Operating System Cookbook will also guide you in the development of an autonomous navigation framework for both mobile robots and micro-aerial vehicles.Finally, you will explore ROS-Industrial, an open source project that extends the advanced capabilities of ROS software to manufacturing industries.Style and approachThe goal of this book is to provide an integrated overview of the concepts and techniques. ROS is not an operating system in the traditional sense of process management and scheduling; rather, it provides a structured communications layer above the host operating systems of a heterogeneous compute cluster.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Robot Operating System Cookbook an online PDF/ePUB?
Yes, you can access Robot Operating System Cookbook by Kumar Bipin in PDF and/or ePUB format, as well as other popular books in Computer Science & Home Automation. We have over one million books available in our catalogue for you to explore.

Information

Year
2018
ISBN
9781783987450
Edition
1

Micro Aerial Vehicles in ROS

In this chapter, we will discuss the following recipes:
  • Overview of MAV system design
  • A generic mathematical model of an MAV/drone
  • Simulation of an MAV/drone using RotorS/Gazebo
  • Autonomous navigation framework for an MAV/drone
  • Working with a real MAV/drone – Parrot, Bebop

Introduction

In this chapter, we will learn about a modular micro aerial vehicle (MAV) simulator framework, which enables us to quick start performing research and development on MAVs. After completing this chapter, we will have a ready-to-use MAV simulator, including control and state estimation. The simulator will be designed in a modular way, where different controllers and state estimators can be implied interchangeably to incorporate any new MAVs in a few steps by only changing a parameter file. Moreover, we will also compare different controllers and state estimators with the provided evaluation framework.
The simulator framework is a good starting point for handling higher-level tasks such as collision avoidance and path planning with Simultaneous Localization and Mapping (SLAM). We will discuss the design of all components, which will be analogous to their real world counterparts. Thus, this enables the usage of the same controllers and state estimators, including their configuration parameters, in the simulation as well as in the real MAV.

Overview of MAV system design

The research and development of algorithms on MAVs needs access to expensive hardware, and field experiments usually consume a considerable amount of time, as well as requiring a trained pilot for execution. However, most of the errors, occurring on real platforms, are tough to reproduce, which usually results in damaging the vehicle. Hence, the RotorS simulator framework has been developed to reduce field experiment times, which makes debugging easier and finally reduces the crashes of real MAVs. Moreover, this is also useful for student projects, where access to an expensive real platform may not be permitted.
To perform high-level experiments such as collision avoidance and path planning, including SLAM for autonomous navigation, the simulator framework could be used for the provided model of MAVs. In addition, the framework also includes a position controller and a state estimator.

Getting ready

In this chapter, we will describe in detail the steps required to set up the RotorS simulator framework, shown in the following screenshot, including the Robot Operating System (ROS) and Gazebo. Once this chapter has been completed, we will be able to set up the simulator, attach basic sensors to a MAV, and make it able to navigate autonomously in the virtual world:
RotorS simulator
We will also be able to compare the algorithms using the evaluation scripts. Finally, we will discuss how all the aspects learned and methods developed in this chapter could be then applied to a real MAV.
An overview of the primary components of the RotorS simulator is shown in the following diagram. Although, in this chapter, we will focus on the simulation parts, which are shown on the left side in the following diagram, a lot of effort has been made to keep the structure of the simulator similar to the real system. Ideally, all high-level components used in a simulated environment could be run on the real platform without any major changes:
MAV system design
All components, used on real MAVs, can be simulated by Gazebo plugins and a physics engine. We have developed the simulator as a modular way of assembling MAVs, where an MAV consists of a body frame, a fixed number of rotors, which can be placed at specified locations, and several sensors, which can be attached to the body as required. Each rotor has its own motor dynamics, the parameters of which can be identified on a real MAV, a Firefly from Ascending Technology using recorded flight data. Similarly, several sensors, such as an Inertial Measurement Unit (IMU), a stereo camera, GPS, and sensors developed by the user can be attached to the body frame. Moreover, we will also implement noise models for the applied sensors to simulate realistic conditions.
We will discuss an implementation of a geometric controller with a simple interface to facilitate the development of different contro...

Table of contents