Learning Robotics Using Python
eBook - ePub

Learning Robotics Using Python

Lentin Joseph

Share book
  1. 330 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Learning Robotics Using Python

Lentin Joseph

Book details
Book preview
Table of contents
Citations

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
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 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
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 here.
Is Learning Robotics Using Python an online PDF/ePUB?
Yes, you can access Learning Robotics Using Python by Lentin Joseph in PDF and/or ePUB format, as well as other popular books in Informatica & Informatica generale. We have over one million books available in our catalogue for you to explore.

Information

Year
2015
ISBN
9781783287536

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