Book Image

Robot Operating System Cookbook

By : Kumar Bipin
Book Image

Robot Operating System Cookbook

By: Kumar Bipin

Overview of this book

This 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.
Table of Contents (12 chapters)

Interfacing 9DoF Razor IMU-Arduino-ROS

In this section, we will learn how to use a low-cost sensor with the 9 Degrees of Freedom (DoF) Razor IMU M0 with the ROS framework. The SparkFun 9DoF Razor IMU M0 combines a SAMD21 microprocessor with an MPU-9250 9DoF (nine degrees of freedom) sensor to create a tiny, re-programmable, multi-purpose inertial measurement unit (IMU).

The 9DoF Razor IMU M0 incorporates three sensor: an accelerometer, a gyroscope, and a magnetometer, which gives it the ability to sense linear acceleration, angular rotation velocity, and magnetic field vectors.

The onboard microprocessor, Atmel's SAMD21G18A, is an Arduino-compatible, 32-bit ARM Cortex-M0+ microcontroller, which is also featured on the Arduino Zero and SAMD21 Mini Breakout boards. We can update the firmware or develop our own code easily using Arduino IDE. Alternatively, we can also use our...