
- 330 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
eBook - ePub
Learning Robotics Using Python
Tools to learn more effectively

Saving Books

Keyword Search

Annotating Text

Listen to it instead
Information
Learning Robotics Using Python
Table of Contents
Learning Robotics Using Python
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Introduction to Robotics
What is a robot?
History of the term robot
Modern definition of a robot
Where do robots come from?
What can we find in a robot?
The physical body
Sensors
Effectors
Controllers
How do we build a robot?
Reactive control
Hierarchical (deliberative) control
Hybrid control
Summary
2. Mechanical Design of a Service Robot
The Requirements of a service robot
Robot drive mechanism
Selection of motors and wheels
Calculation of RPM of motors
Calculation of motor torque
The design summary
Robot chassis design
Installing LibreCAD, Blender, and MeshLab
Installing LibreCAD
Installing Blender
Installing MeshLab
Creating a 2D CAD drawing of the robot using LibreCAD
The base plate design
Base plate pole design
Wheel, motor, and motor clamp design
Caster wheel design
Middle plate design
Top plate design
Working with a 3D model of the robot using Blender
Python scripting in Blender
Introduction to Blender Python APIs
Python script of the robot model
Questions
Summary
3. Working with Robot Simulation Using ROS and Gazebo
Understanding robotic simulation
Mathematical modeling of the robot
Introduction to the differential steering system and robot kinematics
Explaining of the forward kinematics equation
Inverse kinematics
Introduction to ROS and Gazebo
ROS Concepts
The ROS filesystem
The ROS Computation Graph
The ROS community level
Installing ROS Indigo on Ubuntu 14.04.2
Introducing catkin
Creating an ROS package
Hello_world_publisher.py
Hello_world_subscriber.py
Introducing Gazebo
Installing Gazebo
Testing Gazebo with the ROS interface
Installing TurtleBot Robot packages on ROS Indigo
Installing TurtleBot ROS packages using the apt package manager in Ubuntu
Simulating TurtleBot using Gazebo and ROS
Creating the Gazebo model from TurtleBot packages
What is a robot model, URDF, xacro, and robot state publisher?
Creating a ChefBot description ROS package
chefbot_base_gazebo.urdf.xacro
kinect.urdf.xacro
chefbot_base.urdf.xacro
Simulating ChefBot and TurtleBot in a hotel environment
Questions
Summary
4. Designing ChefBot Hardware
Specifications of the ChefBot hardware
Block diagram of the robot
Motor and encoder
Selecting motors, encoders, and wheels for the robot
Motor driver
Selecting a motor driver/controller
Input pins
Output pins
Power supply pins
Embedded controller board
Ultrasonic sensors
Selecting the ultrasonic sensor
Inertial Measurement Unit
Kinect
Central Processing Unit
Speakers/ mic
Power supply/battery
Working of the ChefBot hardware
Questions
Summary
5. Working with Robotic Actuators and Wheel Encoders
Interfacing DC geared motor with Tiva C LaunchPad
Differential wheeled robot
Installing the Energia IDE
Interfacing code
Interfacing quadrature encoder with Tiva C Launchpad
Processing encoder data
Quadrature encoder interfacing code
Working with Dynamixel actuators
Questions
Summary
6. Working with Robotic Sensors
Working with ultrasonic distance sensors
Interfacing HC-SR04 to Tiva C LaunchPad
Working of HC-SR04
Interfacing code of Tiva C LaunchPad
Interfacing Tiva C LaunchPad with Python
Working with the IR proximity sensor
Working with Inertial Measurement Unit
Inertial Navigation
Interfacing MPU 6050 with Tiva C LaunchPad
Setting up the MPU 6050 library in Energia
Interfacing code of Energia
Interfacing MPU 6050 to Launchpad with the DMP support using Energia
Questions
Summary
7. Programming Vision Sensors Using Python and ROS
List of robotic vision sensors and image processing libraries
Introduction to OpenCV, OpenNI, and PCL
What is OpenCV?
Installation of OpenCV from source code in Ubuntu 14.04.2
Reading and displaying an image using the Python-OpenCV interface
Capturing from web camera
What is OpenNI
Installing OpenNI in Ubuntu 14.04.2
What is PCL?
Programming Kinect with Python using ROS, OpenCV, and OpenNI
How to launch OpenNI driver
The ROS interface of OpenCV
Creating ROS package with OpenCV support
Displaying Kinect images using Python, ROS, and cv_bridge
Working with Point Clouds using Kinect, ROS, OpenNI, and PCL
Opening device and Point Cloud generation
Conversion of Point Cloud to laser scan data
Working with SLAM using ROS and Kinect
Questions
Summary
8. Working with Speech Recognition and Synthesis Using Python and ROS
Understanding speech recognition
Block diagram of a speech recognition system
Speech recognition libraries
CMU Sphinx/Pocket Sphinx
Julius
Windows Speech SDK
Speech synthesis
Speech synthesis libraries
eSpeak
Festival
Working with speech recognition and synthesis in Ubuntu 14.04.2 using Python
Setting up Pocket Sphinx and its Python binding in Ubuntu 14.04.2
Working with Pocket Sphinx Python binding in Ubuntu 14.04.2
Output
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
Installation of Julius speech recognizer and Python module
Python-Julius client code
Improving speech recognition accuracy in Pocket Sphinx and Julius
Setting up eSpeak and Festival in Ubuntu 14.04.2
Working with speech recognition and synthesis in Windows using Python
Installation of the Sp...
Table of contents
- Learning Robotics Using Python
Frequently asked questions
Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
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 990+ topics, we’ve got you covered! Learn about our mission
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 about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access Learning Robotics Using Python by Lentin Joseph in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Science General. We have over one million books available in our catalogue for you to explore.