Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Learn Robotics Programming
Learn Robotics Programming

Learn Robotics Programming: Build and control autonomous robots using Raspberry Pi 3 and Python

Arrow left icon
Profile Icon Danny Staple
Arrow right icon
Free Trial
Full star icon Full star icon Full star icon Full star icon Half star icon 4.9 (8 Ratings)
Paperback Nov 2018 472 pages 1st Edition
eBook
₱1571.99 ₱2245.99
Paperback
₱2806.99
Subscription
Free Trial
Arrow left icon
Profile Icon Danny Staple
Arrow right icon
Free Trial
Full star icon Full star icon Full star icon Full star icon Half star icon 4.9 (8 Ratings)
Paperback Nov 2018 472 pages 1st Edition
eBook
₱1571.99 ₱2245.99
Paperback
₱2806.99
Subscription
Free Trial
eBook
₱1571.99 ₱2245.99
Paperback
₱2806.99
Subscription
Free Trial

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Learn Robotics Programming

Exploring Robot Building Blocks - Code and Electronics

In this chapter, we will go over the parts and systems that make up robots. What are the parts of a robot? These parts will be both software (code, and other) and hardware. How do they go together? When starting to make a robot, it's valuable to think about the parts you want and how they relate to each other. I recommend you sketch a plan of your robot—a block diagram as a guide to the connected code and parts.

In this chapter, we will be covering the following topics:

  • What is inside a robot? We will take apart a robot and examine its parts
  • Types of motors, sensors, and actuators - details on these robot parts
  • Controllers and IO - we will look at the main controllers and input/output functions
  • Planning components and code structure—we will make block diagrams to describe code, and components anywhere
  • ...

Technical requirements

For this chapter, you will require basic drawing materials, such as a pen and paper. While software such as Draw.io, Dia, Pencil, Inkscape, or Visio could be used, a back-of-an envelope sketch of a block diagram is a great start to robot planning. Most of my robots start that way.

What is inside a robot?

We can start by looking at a robot as a physical system. However, instead of looking at it all joined together, you can see how a typical hobby rover looks when totally disassembled in the following diagram:

A hobby rover with components laid out

A robot can also be visualized as a block diagram of connected parts. Block diagrams use simple shapes to show a rough idea of how things may be connected. Refer to the following diagram:

A robot block diagram

The preceding diagram is a block diagram. This is not a formal notation; the important factor is that you can clearly see the blocks of functionality you intend in the hardware, with the high-level flow of data between them. This can be a sketch on the back of a bit of scrap paper. The key I've created is off the top of my head, but it must be something that helps distinguish sensors, outputs, and...

Types of motors, sensors, and actuators

A motor is an output device that results in rotation when power is applied. An actuator is an output device, which is any device that creates movements from an electrical signal. Examples of actuators are solenoids, valves, and pneumatic rams. Motors are a subset of actuators too.

A sensor is a device that provides input to a robot, allowing it to sense its environment. There are more sensor types than a single book can list, so we'll keep to the commonly available and fun-to-use ones.

Motors and actuators

I've laid out some of the different kinds of motors, all of which are used in robotics. Let's take a look at what each one does, and how we might use them for different...

Controllers and IO

At the center of the robot block diagram are the controllers. Robots usually have a main controller, a computer of some kind. They may also have some secondary controllers, and some more unusual robots have many controllers. Sticking with the conventional main controller, this is the system that your code will run. It is the part that connects all the other components together and forms the basis of their interactions.

IO pins

IO pins are used for input and output from the controller; they give the controller its ability to connect to real-world sensors and motors.

The number of IO pins on the controller can be a major limiting factor in what you can connect to a robot without using secondary controllers...

Planning components and code structure

You've now briefly seen some components you might use in a robot, and you've encountered a block diagram to put them together. This is where you may start taking the next step and thinking further about how things will be connected, and how the code you write for them will be structured. Code is easier to reason about when taken as logical blocks instead of one large lump. Arranging code in ways that are similar to a hardware functionality diagram will help navigate your way around as it becomes more complicated.

So, let's return to the robot block diagram seen before.

This diagram has three sensors and two outputs. Throughout this book, you will see diagrams like this, and then be adding new modules along with new bits of code to deal with them. Each component (sensor, output, and controller board) may need a few bits of code...

Planning our robot

Let's put all of this to use, and plan the robot that we are making in this book. Although as we go through chapters we will be adding new components each time, having an overall map in our minds as we go helps us to see where we are. It is quite exciting to start to picture all the things a robot will do. Let's start with a list of what our robot will do and be:

  • It will have wheels and be able to drive around the floor
  • It will have a Raspberry Pi 3 controller
  • It will have a motor controller for the wheels
  • It will be able to follow lines with a pair of line following sensors
  • It will be able to indicate its status with a set of multicolored LEDs
  • The robot will use a pair of servo motors for a pan and tilt mechanism
  • It will be able to avoid walls and navigate around obstacles with either ultrasonic or laser distance sensors
  • It will have an encoder...

Summary

In this chapter, you've been able to see a number of the different component parts that go into a robot, and through a block diagram as a plan, start to visualize how you'd combine those blocks to make a whole robot. You've seen how you can quickly sketch your robot ideas on an envelope, and that drawing tools on a computer can be used for a neater version of the same diagram.

You've had a quick tour of motors, sensors, and controllers, along with a few ways, such as analog, digital, PWM, and databuses, for controllers to communicate with the other devices connected to them.

Following on from this, you've seen a plan of the robot we will build in this book.

Questions

  1. What is an IO pin?
  2. What tools do you need to make a block diagram?
  3. What are the drawbacks of the laser ranging sensor versus the ultrasonic distance sensor?
  4. What type of system is a microphone?
  5. What kind of IO pin is correct for measuring varying resistance?
  6. What type of IO pin would be suitable for detecting an on/off signal?

Further reading

  • Raspberry Pi Sensors by Rushi Gajjar: Integrate sensors into your Raspberry Pi projects and let your powerful microcomputer interact with the physical world.

  • Make Sensors: A Hands-On Primer for Monitoring the Real World with Arduino and Raspberry Pi by Tero Karvinen, Kimmo Karvinen, and Ville Valtokari. Learn to use sensors to connect a Raspberry Pi or Arduino controller with the real world.

  • Make Electronics: Learning by Discovery by Charles Platt: This is useful if you want to find out more about electronic components and dive deeper into individual components.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Get up and running with the fundamentals of robotic programming
  • Program a robot using Python and the Raspberry Pi 3
  • Learn to build a smart robot with interactive and AI-enabled behaviors

Description

We live in an age where the most difficult human tasks are now automated. Smart and intelligent robots, which will perform different tasks precisely and efficiently, are the requirement of the hour. A combination of Raspberry Pi and Python works perfectly when making these kinds of robots. Learn Robotics Programming starts by introducing you to the basic structure of a robot, along with how to plan, build, and program it. As you make your way through the book, you will gradually progress to adding different outputs and sensors, learning new building skills, and writing code for interesting behaviors with sensors. You’ll also be able to update your robot, and set up web, phone, and Wi-Fi connectivity in order to control it. By the end of the book, you will have built a clever robot that can perform basic artificial intelligence (AI) operations.

Who is this book for?

Learn Robotics Programming is for programmers, developers, and enthusiasts interested in robotics and developing a fully functional robot. No major experience required just some programming knowledge would be sufficient.

What you will learn

  • Configure a Raspberry Pi for use in a robot
  • Interface motors and sensors with a Raspberry Pi
  • Implement code to make interesting and intelligent robot behaviors
  • Understand the first steps in AI behavior such as speech recognition visual processing
  • Control AI robots using Wi-Fi
  • Plan the budget for requirements of robots while choosing parts

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Nov 29, 2018
Length: 472 pages
Edition : 1st
Language : English
ISBN-13 : 9781789340747
Category :
Languages :
Concepts :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Nov 29, 2018
Length: 472 pages
Edition : 1st
Language : English
ISBN-13 : 9781789340747
Category :
Languages :
Concepts :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just ₱260 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just ₱260 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 8,369.97
Learn Robotics Programming
₱2806.99
Artificial Intelligence for Robotics
₱3061.99
Python Robotics Projects
₱2500.99
Total 8,369.97 Stars icon

Table of Contents

19 Chapters
Introduction to Robotics Chevron down icon Chevron up icon
Exploring Robot Building Blocks - Code and Electronics Chevron down icon Chevron up icon
Introducing the Raspberry Pi - Starting with Raspbian Chevron down icon Chevron up icon
Preparing a Raspberry Pi for a Robot - Headless by Default Chevron down icon Chevron up icon
Backing Up the Code with Git and SD Card Copies Chevron down icon Chevron up icon
Building Robot Basics - Wheels, Power, and Wiring Chevron down icon Chevron up icon
Drive and Turn - Moving Motors with Python Chevron down icon Chevron up icon
Programming Line-Following Sensors Using Python Chevron down icon Chevron up icon
Programming RGB Strips in Python Chevron down icon Chevron up icon
Using Python to Control Servo Motors Chevron down icon Chevron up icon
Programming Distance Sensors with Python Chevron down icon Chevron up icon
Programming Encoders with Python Chevron down icon Chevron up icon
Robot Vision - Using a Pi Camera and OpenCV Chevron down icon Chevron up icon
Voice Communication with a Robot Using Mycroft Chevron down icon Chevron up icon
Programming a Gamepad on Raspberry Pi with Python Chevron down icon Chevron up icon
Taking Your Robot Programming Skills Further Chevron down icon Chevron up icon
Planning Your Next Robot Project - Putting It All Together Chevron down icon Chevron up icon
Assessments Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.9
(8 Ratings)
5 star 87.5%
4 star 12.5%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Jim Link May 27, 2019
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I successfully built a small robot which is controlled by a Raspberry Pi computer board, using this book! What fun!The author's explanations and instructions are very clear. Make sure you read his recommendations for the hardware devices that are attached to the robot.Please note that in the picture, are two items that I added myself, and which are NOT in the book:1) The LCD screen at the back. I'm using it to display the robot's WIFI IP address.2) The switchboard at right front. I designed and created it myself, so I can power the robot either from the onboard battery pack, or from a plug-in power supply.
Amazon Verified review Amazon
Oct 12, 2020
Full star icon Full star icon Full star icon Full star icon Full star icon 5
素晴らしい本です
Amazon Verified review Amazon
Robert Ing Sep 21, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is excellent for anyone wanting to begin their self-learning journey into robotics. Easy to read, but certainly not intended for those who just want a light read before bed, you will have to be attentive on this one. However, this get you robotic literate in no time. Recommended!
Amazon Verified review Amazon
Amazon Customer Nov 04, 2019
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Great book! Would highly recommend if you’re just getting started with robotics
Amazon Verified review Amazon
Amazon Customer Jan 12, 2019
Full star icon Full star icon Full star icon Full star icon Full star icon 5
A well written book that guides you through the process of building and programming in a fun and interesting way. Great for someone like me who is new to the building side.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.