Learning Robotics using Python: Design, simulate, program, and prototype an autonomous mobile robot using ROS, OpenCV, PCL, and Python, 2nd Edition

Lentin Joseph



Design, simulate, and program interactive robots

Key Features

  • Design, simulate, build, and program an interactive autonomous mobile robot
  • Leverage the power of ROS, Gazebo, and Python to enhance your robotic skills
  • A hands-on guide to creating an autonomous mobile robot with the help of ROS and Python

Book Description

Robot Operating System (ROS) is one of the most popular robotics software frameworks in research and industry. It has various features for implementing different capabilities in a robot without implementing them from scratch.

This book starts by showing you the fundamentals of ROS so you understand the basics of differential robots. Then, you'll learn about robot modeling and how to design and simulate it using ROS. Moving on, we'll design robot hardware and interfacing actuators. Then, you'll learn to configure and program depth sensors and LIDARs using ROS. Finally, you'll create a GUI for your robot using the Qt framework.

By the end of this tutorial, you'll have a clear idea of how to integrate and assemble everything into a robot and how to bundle the software package.

What you will learn

  • Design a differential robot from scratch
  • Model a differential robot using ROS and URDF
  • Simulate a differential robot using ROS and Gazebo
  • Design robot hardware electronics
  • Interface robot actuators with embedded boards
  • Explore the interfacing of different 3D depth cameras in ROS
  • Implement autonomous navigation in ChefBot
  • Create a GUI for robot control

Who This Book Is For

This book is for those who are conducting research in mobile robotics and autonomous navigation. As well as the robotics research domain, this book is also for the robot hobbyist community. You're expected to have a basic understanding of Linux commands and Python.

Table of Contents

  1. Getting started with ROS
  2. Understanding basics of differential robots
  3. Modeling the Differential Drive Robot
  4. Simulating a Differential Drive Robot Using ROS
  5. Designing ChefBot Hardware and Circuits
  6. Interfacing Actuators and Sensors to the Robot Controller
  7. Interfacing Vision Sensors with ROS
  8. Building ChefBot Hardware and the Integration of Software
  9. Designing a GUI for a Robot Using Qt and Python
  10. Assessments