About Learning Robotics using Python

If you are an engineer, a researcher, or a hobbyist, and you are interested in robotics and want to build your own robot, this book is for you. Readers are assumed to be new to robotics but should have experience with Python..

Learning about robotics will become an increasingly essential skill as it becomes a ubiquitous part of life. Even though robotics is a complex subject, several other tools along with Python can help you design a project to create an easy-to-use interface.

Learning Robotics Using Python is an essential guide for creating an autonomous mobile robot using popular robotic software frameworks such as ROS using Python. It also discusses various robot software frameworks and how to go about coding the robot using Python and its framework. It concludes with creating a GUI-based application to control the robot using buttons and slides.

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

  • Understand the core concepts and terminologies of robotics
  • Create 2D and 3D drawings of robots using freeware such as LibreCAD and Blender
  • Simulate your robot using ROS and Gazebo
  • Build robot hardware from the requirements
  • Explore a diverse range of actuators and its interfacing
  • Interface various robotic sensors to robots
  • Set up and program OpenCV, OpenNI, and PCL to process 2D/3D visual data
  • Learn speech processing and synthesis using Python
  • Apply artificial intelligence to robots using Python
  • Integrating Robotic Hardware and Software
  • Build a robot control GUI using Qt and Python
  • Calibration and testing of robot

Book Details

  • First Published : May 2015
  • Production Reference : 1220515
  • Publisher : Packt Publishing Ltd, UK
  • ISBN : 978-1-78328-753-6
  • Author : Lentin Joseph
  • Reviewers : Avkash Chauhan, Vladimir Iakovlev
  • Reviewers : Blagoj Petrushev, Marek Suppa
  • Commissioning Editor : Rebecca Youe
  • Acquisition Editor : Rebecca Youe
  • Content Development Editor : Athira Laji
  • Technical Editors: Ankur Ghiye, Manali Gonsalves
  • Copy Editors : Pranjali Chury, Relin Hedly, Merilyn Pereira, Adithi Shetty
  • Project Coordinator : Harshal Ved
  • Proof readers : Stephen Copestake, Safis Editing
  • Indexer : Priya Sane
  • Graphics : Sheetal Aute
  • Production Coordinator : Nitesh Thakur
  • Cover : Nitesh Thakur
  • What is a robot?
  • Where do robots come from?
  • What can we find in a robot?
  • How do we build a robot?
  • Summary
  • The Requirements of a service robot
  • Robot drive mechanism
  • Installing LibreCAD, Blender, and MeshLab
  • Creating a 2D CAD drawing of the robot using LibreCAD
  • Working with a 3D model of the robot using Blender
  • Questions
  • Summary
  • Understanding robotic simulation using ROS
  • Questions
  • Summary
  • Specifications of the ChefBot hardware
  • Block diagram of the robot
  • Working of the ChefBot hardware
  • Questions
  • Summary
  • Interfacing DC geared motor with Tiva C LaunchPad
  • Interfacing quadrature encoder with Tiva C Launchpad
  • Working with Dynamixel actuators
  • Questions
  • Summary
  • Working with Ultrasonic distance sensors
  • Working with the IR proximity sensor
  • Working with Inertial Measurement Unit
  • Interfacing MPU 6050 to Launchpad with the DMP support using Energia
  • Questions
  • Summary
  • List of robotic vision sensors and image processing libraries
  • Introduction to OpenCV, OpenNI, and PCL
  • Programming Kinect with Python using ROS, OpenCV, and OpenNI
  • Working with Point Clouds using Kinect, ROS, OpenNI, and PCL
  • Conversion of Point Cloud to laser scan data
  • Working with SLAM using ROS and Kinect
  • Questions
  • Summary
  • Understanding Speech Recognition
  • Working with speech recognition and synthesis in Ubuntu 14.04.2 using Python
  • Real-time speech recognition using Pocket Sphinx, GStreamer, and Python in Ubuntu 14.04.2
  • Speech recognition using Julius and Python in Ubuntu 14.04.2
  • Working with speech recognition and synthesis in Windows using Python
  • Working with Speech recognition in ROS Indigo and Python
  • Working with Speech synthesis in ROS Indigo and Python
  • Questions
  • Summary
  • Block diagram of the communication system in ChefBot
  • Introduction to AIML
  • Introduction to PyAIML
  • Working with AIML and Python
  • Working with A.L.I.C.E. AIML files
  • Integrating PyAIML into ROS
  • Questions
  • Summary
  • Building ChefBot hardware
  • Configuring ChefBot PC and setting ChefBot ROS packages
  • Interfacing ChefBot sensors with Tiva C LaunchPad
  • Writing a ROS Python driver for ChefBot
  • Understanding ChefBot ROS launch files
  • Working with ChefBot Python nodes and launch files
  • Questions
  • Summary
  • Installing Qt on Ubuntu 14.04.2 LTS
  • Working with Python bindings of Qt
  • Working with PyQt and PySide
  • Working with ChefBot's control GUI
  • Questions
  • Summary
  • The Calibration of Xbox Kinect using ROS
  • The Calibration of Xbox Kinect using ROS
  • Calibrating the MPU 6050
  • Testing of the robot using GUI
  • Questions
  • Summary

About the Author

Lentin Joseph

CEO/Founder of Qboticslabs

Lentin Joseph is an electronics engineer, Robotics enthusiast, Machine vision expert, Embedded programmer, and the Founder and CEO of Qbotics Labs in India. He got his bachelor's degree in electronics and communication engineering at the Federal Institute of Science and Technology (FISAT), Kerala.

In his final year engineering project, he created a Social robot, which can interact with people. The project was a huge success and got mentioned in visual and print media. The main feature of this robot was that it could communicate with people and reply intelligently. It also has some image-processing capabilities, such as face, motion, and color detection. The entire project was implemented using the Python programming language. His interest in robotics, image processing, and Python began this project.

After graduation, he worked at a start-up company based on robotics and image processing for 3 years. In the meantime, he learned famous robotic software platforms—such as Robot Operating system (ROS), V-REP, and Actin (a robotic simulation tool)—and image processing libraries, such as OpenCV, OpenNI, and PCL. He also knows about robot 3D designing, embedded programming on Arduino, and Stellaris Launchpad.

After 3 years of work experience, he started a new company called Qbotics Labs, which is mainly focused on research to build great products in domains such as wearable technology, robotics, machine vision, green technology, and online education. He maintains a personal website and a technology blog called Technolabsz. He publishes his works on his tech blog. He was a speaker at PyCon2013 India, and he spoke on the topic of Learning Robotics using Python.

Chapters Preview

You can see the details explanations of contents in each Chapters on this book.


Details, simplified !!

A good veneer of both hardware and software and a great 101 for dummies and enthusiasts of robotics community. Book is crafted to a good extent of detail while keeping it easy to read!

Parshad Patel, Robotics Engineer at KnightScope, M.S in Robotics from C.M.U,

Worth a Buy!

Have been always fascinated by the 'Dummies' series for the fact that only a person with an in-depth knowledge of the subject can explain otherwise hard to comprehend concepts in a crisp n easy to understand style; building from the basics and going to advance topics. Learning Robotics Using Python is just that! .

Dibu John Philip Phd Student, I.I.T Madras

A well-crafted Work!

Every reader who goes through, or I'd say experiences, this book would delve into the artistic world of robots. Lentin's comprehensive, yet simple approach guides even a beginner to confidence. A great book to learn robotics - the right mix of theoretical and practical knowledge. .

Arun Baby, Student pursuing M.S in Computer Vision from I.I.T Madras

Easy to Learn!

It is a complete well detailed and pratical guide to robotics for beginners. Very easy to follow and must have for ones starting with real robotics .

Jit Ray Chowdhury, CEO/Founder of Auro Robotics, Robotics Researcher at C.M.U

Must Read!

This is one of the best books for learning robotics practically. The highlight of this book is that it deals with all the realms of robotics, mechanical CAD design, electronics circuit design, embedded firmware development, high level image and speech processing, autonomous navigation using AI techniques ,and much more. It also gives an intro to using ROS for a beginner. a MUST READ BOOK.

Achu Wilson , C.T.O of Sastra Robotics


This is a really nice book that covers everything that you need to know to build your robot from the hardware design to the software and the sensors in a systematic way.

Nithish R Warrior, Student of Technical University of Munich

1000+ Happy Readers!