Mastering ROS for Robotics Programming – Second Edition: Design, build, and simulate complex robots using the Robot Operating System

Discover best practices and troubleshooting solutions when working on ROS

Key Features

  • Develop complex robotic applications using ROS to interface robot manipulators and mobile robots
  • Gain insight into autonomous navigation in mobile robots and motion planning in robot manipulators
  • Discover best practices and troubleshooting solutions

Book Description

In this day and age, robotics has been gaining a lot of traction in various industries where consistency and perfection matter. Automation is achieved via robotic applications and various platforms that support robotics. The Robot Operating System (ROS) is a modular software platform to develop generic robotic applications. This book focuses on the most stable release of ROS (Kinetic Kame), discusses advanced concepts, and effectively teaches you programming using ROS.

We begin with aninformative overview of the ROS framework, which will give you a clear idea of how ROS works. During the course of this book, you’ll learn to build models of complex robots, and simulate and interface the robot using the ROS MoveIt! motion planning library and ROS navigation stacks. Learn to leverage several ROS packages to embrace your robot models.

After covering robot manipulation and navigation, you’ll get to grips with the interfacing I/O boards, sensors, and actuators of ROS. Vision sensors are a key component of robots, and an entire chapter is dedicated to the vision sensor and image elaboration, its interface in ROS and programming. You’ll also understand the hardware interface and simulation of complex robots to ROS and ROS Industrial.

At the end of this book, you’ll discover the best practices to follow when programming using ROS.

What you will learn

  • Create a robot model with a seven-DOF robotic arm and a differential wheeled mobile robot
  • Work with Gazebo and V-REP robotic simulator
  • Implement autonomous navigation in differential drive robots using SLAM and AMCL packages
  • Explore the ROS Pluginlib, ROS nodelets, and Gazebo plugins
  • Interface I/O boards such as Arduino, robot sensors, and high-end actuators
  • Simulate and motion plan an ABB and universal arm using ROS Industrial
  • Explore the latest version of the ROS framework
  • Work with the motion planning of a seven-DOF arm using MoveIt!

Who This Book Is For

If you are a robotics enthusiast or researcher who want to learn more about building robot applications using ROS, this book is for you. In order to learn from this book, you should have a basic knowledge of ROS, GNU/Linux, and C++ programming concepts. The book is also excellent for programmers who want to explore the advanced features of ROS.

Table of Contents

  1. Introduction to ROS and Its Package Management
  2. Getting started with ROS programming
  3. Working with 3D Robot Modeling in ROS
  4. Simulating Robots Using ROS and Gazebo
  5. Simulating Robots Using ROS and V-REP
  6. Using the ROS MoveIt! And Navigation Stack
  7. Working with Pluginlib, Nodelets, and Gazebo Plugins
  8. Writing ROS Controllers and Visualization Plugins
  9. Interfacing I/O Boards, Sensors, and Actuators to ROS
  10. Programming Vision Sensors using ROS, Open-CV, PCL and AR Marker Tracking
  11. Building and Interfacing Differential Drive Mobile Robot Hardware in ROS
  12. Exploring the Advanced Capabilities of ROS-MoveIt!
  13. Using ROS in Matlab and Simulink
  14. ROS for Industrial Robots
  15. Troubleshooting and Best Practices in ROS

Robotics (Cutting-Edge Technology)

Every day, robots become a bigger part of our lives. From the robots vacuuming our homes to self-scanning machines at the supermarket, robots do jobs faster than humans and often with fewer mistakes. This book takes a look at the amazing developments in robotic technology, from the early days of robots to the varied landscape of robotics we see today. Readers will learn the differences between robots being developed to look just like humans and the complex thinking machines designed to play chess or build cars, and explore the potential future robots have to change the world.

Introduction to Autonomous Mobile Robots (Intelligent Robotics and Autonomous Agents series)

The second edition of a comprehensive introduction to all aspects of mobile robotics, from algorithms to mechanisms.

Mobile robots range from the Mars Pathfinder mission’s teleoperated Sojourner to the cleaning robots in the Paris Metro. This text offers students and other interested readers an introduction to the fundamentals of mobile robotics, spanning the mechanical, motor, sensory, perceptual, and cognitive layers the field comprises. The text focuses on mobility itself, offering an overview of the mechanisms that allow a mobile robot to move through a real world environment to perform its tasks, including locomotion, sensing, localization, and motion planning. It synthesizes material from such fields as kinematics, control theory, signal analysis, computer vision, information theory, artificial intelligence, and probability theory. The book presents the techniques and technology that enable mobility in a series of interacting modules. Each chapter treats a different aspect of mobility, as the book moves from low-level to high-level details. It covers all aspects of mobile robotics, including software and hardware design considerations, related technologies, and algorithmic techniques.

This second edition has been revised and updated throughout, with 130 pages of new material on such topics as locomotion, perception, localization, and planning and navigation. Problem sets have been added at the end of each chapter. Bringing together all aspects of mobile robotics into one volume, Introduction to Autonomous Mobile Robots can serve as a textbook or a working tool for beginning practitioners.

Curriculum developed by Dr. Robert King, Colorado School of Mines, and Dr. James Conrad, University of North Carolina-Charlotte, to accompany the National Instruments LabVIEW Robotics Starter Kit, are available. Included are 13 (6 by Dr. King and 7 by Dr. Conrad) laboratory exercises for using the LabVIEW Robotics Starter Kit to teach mobile robotics concepts.

The LEGO BOOST Activity Book

At last, fans of the LEGO BOOST robot building kit have the learning resource they’ve been missing! Enter The LEGO BOOST Activity Book: a full-color guide that will help readers learn how to build and code LEGO creations that move, explore their environment, grab and lift objects, and more.

The LEGO BOOST kit lets younger builders create fun, multifunctional robots by combining bricks with code, but it doesn’t come with a manual. With the help of this complete guide to the LEGO BOOST set, you’ll be on your way to building and programming BOOST robots in no time.

You’ll begin your exploration by building a basic rover robot called MARIO to help you learn the fundamentals of the BOOST programming environment. Next, you’ll add features to your rover to control its movement and make it repeat actions and react to colors and sounds. Once you’ve learned some programming basics, you’ll learn how to program your robot to do things like follow lines on the ground, scan its environment to decide where to go, and even play darts. As final projects, you’ll create two complete robots: BrickPecker to help you organize your bricks and CYBOT, a robot that talks, shoots objects, and executes voice commands.

As you advance through the book, optional lessons aim to deepen your understanding of basic robotics concepts. Brain BOOSter sections let you dig into the math and engineering behind your builds while a host of experiments seek to test your skills and encourage you to do more with your robots. With countless illustrations, extensive explanations, and a wealth of coding examples to guide you, The LEGO BOOST Activity Book is sure to take you from beginning builder to robotics whiz and give your robot-building brain that needed boost!

LEGO EV3 Robotics: A Guide for Educators

Lego® EV3 Robotics: A Guide for Educators provides a structured approach to teaching robotics to K-12 students. Robotics is a multi-disciplinary subject and teaching robotics can be challenging. Most robotics teachers come from very diverse educational backgrounds: Mathematics, Physics, English, History, and even Physical Education. They need an easy to use, comprehensive guide to give them a solid foundation. This book provides a structured curriculum, from learning to use correct engineering terms to mastering advanced programming techniques. It provides clear explanations, fun examples, challenging missions and sample codes. This curriculum guide covers everything needed to inspire and engage students. It also contains tips for classroom management and interaction with students. The best way to begin robotics is to build and program robots. Any individual who is interested in teaching robotics can go through this guide and follow the instructions to build and program robots. Instructions for an easy-to-build robot, MyBot, are included. For educators, parents, mentors and coaches interested in teaching EV3 robotics, this is the only book that you will ever need.

FTC Robotics: Tips, Tricks, Strategies, and Secrets:: Updated 2016-17 Edition

The best selling book on FTC Robotics just got better: Extensively updated with new material for the 2017-18 season! This edition includes information on new electrical and control systems and fabrication techniques such as 3D printing, the CNC router and more! FIRST Tech Challenge is the fastest growing FIRST robotics competition for students, but there has never before been a single volume to instruct new and veteran teams alike on how to navigate the competitions’ rich complexities. This book contains the accumulated wisdom of several champion teams who have won major state level championships as captain teams. The volume is organized into sections covering every aspect of FTC competition, each section containing bite-sized chunks of information: a single sentence describing a tip, trick, strategy, or secret used by top ranked teams, followed by a paragraph or two of examples, explanations, pictures, or diagrams. Almost four hundred of these recommendations are detailed in this book. By following these recommendations, your team is sure to improve, and maybe even become a champion team as a result!

Beginning Robotics with Raspberry Pi and Arduino: Using Python and OpenCV

Learn how to use a Raspberry Pi in conjunction with an Arduino to build a basic robot with advanced capabilities. Getting started in robotics does not have to be difficult. This book is an insightful and rewarding introduction to robotics and a catalyst for further directed study. 

You’ll be led step by step through the process of building a robot that uses the power of a Linux based computer paired with the simplicity of Arduino. You’ll learn why the Raspberry Pi is a great choice for a robotics platform; its strengths as well as its shortcomings; how to overcome these limitations by implementing an Arduino; and the basics of the Python programming language as well as some of the more powerful features.

With the Raspberry Pi you can give your project the power of a Linux computer, while Arduino makes interacting with sensors and motors very easy. These two boards are complimentary in their functions; where one falters the other performs admirably.

The book also includes references to other great works to help further your growth in the exciting, and now accessible, field of smart robotics. As a bonus, the final chapter of the book demonstrates the real power of the Raspberry Pi by implementing a basic vision system. Using OpenCV and a standard USB web cam, you will build a robot that can chase a ball.

What You’ll Learn

  • Install Raspbian, the operating system that drives the Raspberry Pi
  • Drive motors through an I2C motor controller
  • Read data through sensors attached to an Arduino
Who This Book Is For

Hobbyists and students looking for a rapid start in robotics. It assumes no technical background. Readers are guided to pursue the areas that interest them in more detail as they learn.

The LEGO BOOST Idea Book: 95 Simple Robots and Hints for Making More!

The LEGO® BOOST® Idea Book contains dozens of ideas for building simple robots with the LEGO BOOST set.

The LEGO® BOOST® Idea Book explores 95 creative ways to build simple robots with the LEGO BOOST set. Each model includes a parts list, minimal text, screenshots of programs, and colorful photographs from multiple angles so you can re-create it without step-by-step instructions.

You’ll learn to build robots that can walk and crawl, shoot and grab objects, and even draw using a pen! Each model demonstrates handy mechanical principles that you can use to come up with your own creations.

Models come with building hints and ideas for putting your own spin on things. Best of all, every part you need to build these models comes in the LEGO BOOST Creative Toolbox (set #17101).

Home Robotics: Maker-Inspired Projects For Building Your Own Robots

Learn to make your own robots with this accessible, illustrated guide for robotics enthusiasts, featuring 13 unique robotics projects suitable for beginner to intermediate level. You’ve seen the sci-fi movies and dreamed of creating your very own robot. Now learn to build machines with your own hands that will move or perform tasks at your command.

Featuring brand-new projects and specially commissioned photography, this book uses easily sourced components to teach you simple electronics and programming. Learn to design and build your very own custom-made creations that can walk, draw or even guard your home.

Start with a space-age butterfly that skips along on its own or a robot that creates psychedelic patterns of amazing variety, then discover how to create a catapult bot that activates when movement is detected or construct an intelligent, all-terrain rover vehicle – the possibilities are endless.

Robotics for Young Children: STEM Activities and Simple Coding

Introduce young children to the building and programming of robots through playful, developmentally appropriate activities. Many early childhood professionals are unfamiliar with computer science, robotics, and engineering concepts. This user-friendly and accessible book gives teachers great ideas for engaging young children with 100 exciting hands-on computer science and engineering activities. The book can be easily included in a developmentally appropriate curriculum and offers a balance of adult-facilitated and child-centered activities.

Ann Gadzikowski has more than twenty-five years of experience as a teacher and director of early childhood programs, and is the Early Childhood Coordinator for Northwestern University’s Center for Talent Development and oversees the summer Leapfrog Program. Her book Creating a Beautiful Mess: Ten Essential Play Experiences for a Joyous Childhood won gold in the 2015 National Parenting Publications Awards.