𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Build Your Own Robot: Using Python, CRICKIT, and Raspberry Pi

✍ Scribed by Marwan Alsabbagh


Publisher
Manning Publications Co.
Year
2024
Tongue
English
Leaves
248
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Build your first robots with Python and some cheap, basic components. This entertaining book guides you step by step! In Build Your Own Robot you'll learn how to: Use cameras to capture photos and let your robot see Track faces using computer vision and OpenCV Control DC motors to drive your robot around Create a web-based app to control your robot over a network Write code for joysticks Read QR codes with your robot to find and identify objects Build Your Own Robot introduces you to the exciting world of robotics. Your robot isn't just theory. Beginning in chapter 2 you'll write code to make your robot move and respond to touch sensors. The book gives accessible advice on available hardware and free open source software that makes creating a robot fun and affordable. You'll soon be playing with a machine that can take photos, fetch items, search for a QR code, and more! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology There's nothing quite like watching your code come alive in the real world. Robotics is a fun, fascinating discipline that lets you do just that. In this guide, you'll build some fun robotic toys that will teach you serious robotics engineering skills like computer vision, networking, and computation. About the book Build Your Own Robot is a DIY guide for bringing your first Python-based robots to life. Start with the basics, teaching your new friend how to spin, move around, and find its way. You'll then quickly progress to controlling your robot remotely using your phone, computer, or joystick. You'll even set up a camera to broadcast what it sees right to your computer screen. Clever computer vision tricks will get your bot tracking faces, looking for QR codes, and maybe even fetching some snacks. About the reader For Python programmers. No previous experience in robotics required. About the author Marwan Alsabbagh is a seasoned software developer. He studied mathematics and computer science at McGill University, and is passionate about building projects using Python, microcontrollers, and robotics.

✦ Table of Contents


inside front cover
Build Your Own Robot
Copyright
dedication
contents
front matter
preface
acknowledgments
about this book
Who should read this book?
How this book is organized: A roadmap
About the code
liveBook discussion forum
Software/Hardware requirements
about the author
about the cover illustration
1 What is a robot?
1.1 Why robots are amazing
1.2 Our approach to making robots
1.2.1 Learning from failures
1.2.2 What will you gain?
1.2.3 Prototyping
1.2.4 Teaching
1.2.5 Production ready
1.2.6 Limitations
1.3 What are robots made of?
1.3.1 The robot building blocks
1.3.2 Servos and DC motors on a Raspberry Pi
1.3.3 Hardware stack
1.3.4 Python and Linux
1.3.5 Software stack
Summary
2 Getting started
2.1 Introducing our robotic hardware
2.1.1 Raspberry Pi
2.1.2 Adafruit CRICKIT HAT
2.2 Configuring the software for our robots
2.3 Changing Neopixel colors
2.4 Checking the touch sensor state
2.5 Controlling DC motors
2.6 Controlling motors with the touch sensor
Summary
3 Driving the robot
3.1 What’s a robot chassis kit?
3.2 Hardware stack
3.3 Software stack
3.4 Writing a move forward function
3.5 Using environment variables for configuration
3.6 Controlling the speed and duration of movements
3.7 Moving backward
3.8 Turning right
3.9 Moving left and spinning in either direction
3.10 Refactoring by finding common logic
3.11 Refactoring by using functools
Summary
4 Creating a robot shell
4.1 What’s a REPL or shell?
4.2 Benefits of a REPL
4.3 Hardware stack
4.4 Software stack
4.5 Creating the robot shell
4.6 Handling command arguments
4.7 Adding a speed argument
4.8 Running robot shell scripts
Summary
5 Controlling robots remotely
5.1 Hardware stack
5.2 Software stack
5.3 Robot testing tips
5.4 Controlling robots over SSH
5.4.1 Creating the server-side script
5.4.2 Running the script remotely
5.4.3 Creating the client-side script
5.5 Creating web services for robots
5.5.1 Creating our first web service
5.5.2 Creating web services to perform robot movements
5.6 Calling web services from Python
5.6.1 Using the read–evaluate–print loop to call web services
5.6.2 Creating a basic web service client
5.6.3 Creating a web service client with persistent connections
5.6.4 Measuring client performance
Summary
6 Creating robot web apps
6.1 Hardware stack
6.2 Software stack
6.3 Moving robots forward and backward over the web
6.3.1 Creating a basic web application
6.3.2 Detecting failed requests
6.3.3 Moving robots forward with web apps
6.4. Creating a full-movement web app
6.4.1 Creating the full-movement application
6.4.2 Web interface design
6.4.3 Measuring application performance in the browser
6.4.4 Web hardware devices
Summary
7 Joystick-controlled robots
7.1 Hardware stack
7.2 Software stack
7.3 Joystick events
7.4 Reading joystick events using Pygame
7.4.1 Detecting events in Pygame
7.4.2 Detecting joystick events
7.5 Reading Linux joystick events
7.5.1 Exploring the Linux input subsystem
7.5.2 Unpacking joystick events
7.5.3 Mapping joystick events
7.5.4 Working with axis events
7.6 Measuring the rate of joystick events
7.6.1 Calculating the event rate
7.6.2 Calculating the level rate
7.7 Moving robots with joysticks
7.7.1 Creating the joystick client
Summary
8 Keyboard-controlled camera
8.1 Hardware stack
8.2 Software stack
8.3 Capturing images using OpenCV
8.3.1 Exploring the OpenCV library
8.3.2 Drawing shapes and displaying text with OpenCV
8.3.3 Taking snapshots with OpenCV
8.4 Moving a camera with servos
8.4.1 Exploring the servo motors with the CRICKIT library
8.4.2 Performing a pan-and-tilt sweep
8.4.3 Controlling servos and the camera together
Summary
9 Face-following camera
9.1 Hardware stack
9.2 Software stack
9.3 Detecting faces in an image
9.3.1 Exploring face detection
9.3.2 Marking detected faces
9.4 Detecting faces in live video
9.4.1 Measuring face detection performance
9.4.2 Reducing the number of pixels to process
9.4.3 Optimizing face detection performance
9.4.4 Showing detected faces in live video
9.5 Creating a face-following robot
9.5.1 Zoning the face detection
9.5.2 Moving motors to follow faces
Summary
10 Robotic QR code finder
10.1 Hardware stack
10.2 Software stack
10.3 Detecting QR codes in an image
10.3.1 Exploring QR codes
10.3.2 Marking detected QR codes
10.4 Streaming live video to multiple applications
10.4.1 Saving the video stream to a ramdisk
10.4.2 Watching the filesystem for changes
10.4.3 Streaming to a graphical application
10.4.4 Detecting QR codes in a video stream
10.4.5 Streaming to a web browser
10.5 Moving the robot to a target QR code
10.5.1 Find the QR code
Summary
11 Building a snack-pushing robot
11.1 Hardware stack
11.2 Software stack
11.3 Finding and pushing snacks
11.3.1 Reading the list of snacks
11.3.2 Pushing snacks
11.4 Creating the snack-pushing application
11.4.1 Selecting snacks with the application
11.4.2 Styling the web application
11.4.3 Adding the live video stream to the application
Summary
Appendix A. Hardware purchasing guide
A.1 Raspberry Pi components
A.2 Motors, chassis kits, and joystick controllers
A.3 Power and cabling
A.4 Optional purchases
Appendix B. Configuring the Raspberry Pi
B.1 Setting up the Raspberry Pi
B.2 Setting up the Adafruit CRICKIT HAT
B.3 Activating the Python virtual environment
Appendix C. Robot assembly guide
C.1 Building a mobile robot
C.2 Building a servo camera robot
C.3 Building a pusher robot
C.4 Creating a track for the pusher robot
Appendix D. Mocking the CRICKIT library
D.1 Installing the mock CRICKIT library
index
inside back cover


πŸ“œ SIMILAR VOLUMES


Build Your Own Robot: Using Python, CRIC
✍ Marwan Alsabbagh πŸ“‚ Library πŸ“… 2024 πŸ› Manning Publications 🌐 English

A DIY guide to bringing your first robot to life with cheap and basic components. Build Your Own Robot introduces you to the exciting world of robotics in a way that’s fun and affordable! You’ll build your own real robot with easy-to-find hardware and free open source software. Plus, all the comp

Build Your Own Robot: Using Python, CRIC
✍ Marwan Alsabbagh πŸ“‚ Library πŸ“… 2024 πŸ› Manning 🌐 English

<span>A DIY guide to bringing your first robot to life with cheap and basic components.</span><span><br><br></span><span>Build Your Own Robot</span><span> introduces you to the exciting world of robotics in a way that’s fun and affordable! You’ll build your own real robot with easy-to-find hardware

Build Your Own Robot: Using Python, CRIC
✍ Marwan Alsabbagh πŸ“‚ Library πŸ“… 2024 πŸ› Simon and Schuster 🌐 English

Build your first robots with Python and some cheap, basic components. This entertaining book guides you step by step! In Build Your Own Robot you'll learn how to: Use cameras to capture photos and let your robot see Track faces using computer vision and OpenCV Control DC motors to drive your robot a

Build Your Own Robot: Using Python, CRIC
✍ Marwan Alsabbagh πŸ“‚ Library πŸ“… 2023 πŸ› Manning Publications 🌐 English

Build your first robots with Python and some cheap, basic components. This entertaining book guides you step by step! In Build Your Own Robot you’ll learn how to: Use cameras to capture photos and let your robot see Track faces using computer vision and OpenCV Control DC motors to drive your

PiBot: Build Your Own Raspberry Pi Power
✍ Wolfram Donat πŸ“‚ Library πŸ“… 2013 πŸ› CyberWolf Publishing 🌐 English

Since The Raspberry Pi Was Released In 2012, It Has Changed The Game For Both Professionals And Hobbyists Alike. Its Small Size [about The Size Of A Credit Card] And Low Price Have Made It A Popular Alternative To The Arduino Microprocessor For Projects Ranging From Home Automation To Web Servers To

Learn Robotics Programming: Build and Co
✍ Danny Staple πŸ“‚ Library πŸ“… 2018 πŸ› Packt Publishing 🌐 English

<div><p><strong>Gain experience of building a next-generation collaboration robot</strong></p> <h4>Key Features</h4> <ul> <li>Get up and running with the fundamentals of robotic programming </li> <li>Program a robot using Python and the Raspberry Pi 3 </li> <li>Learn to build a smart robot with