Reader small image

You're reading from  Artificial Intelligence for Robotics - Second Edition

Product typeBook
Published inMar 2024
PublisherPackt
ISBN-139781805129592
Edition2nd Edition
Concepts
Right arrow
Author (1)
Francis X. Govers III
Francis X. Govers III
author image
Francis X. Govers III

Francis X. Govers III is an Associate Technical Fellow for Autonomy at Bell Textron, and chairman of the Textron Autonomy Council. He is the designer of over 30 unmanned vehicles and robots for land, sea, air, and space, including RAMSEE, the autonomous security guard robot. Francis helped lead the design of the International Space Station, the F-35 JSF Fighter, the US Army Future Combat Systems, and telemetry systems for NASCAR and IndyCar. He is an engineer, pilot, author, musician, artist, and maker. He received five outstanding achievement awards from NASA and recognition from Scientific American for World Changing Ideas. He has a Master of Science degree from Brandeis University and is a veteran of the US Air Force.
Read more about Francis X. Govers III

Right arrow

Preface

The definition of a robot is a machine that can do human-like tasks. In order to perform these tasks, a robot must be able to see, understand, and interact with the environment. AI is the quickest way to recognize objects and navigate. This book empowers you with the essential skills to efficiently operate your robots using AI techniques such as Convolutional Neural Networks (CNNs), computer vision, object recognition, genetic algorithms, and reinforcement learning.

So, who is writing this book? As you can see from my biography, I’ve been doing this for over 40 years, starting as a 12-year-old kid doing science fair projects, then as an Air Force enlisted person, an entry level engineer at NASA, and so on. I started doing AI in 1992 and specialized in machine decision making. Today, I design complete flying autonomous vehicles that weigh tens of thousands of pounds. I’m pleased to be putting some of that experience down on paper to share with you.

Why did I write this book? I felt that there was a gap in the available literature for someone coming up in the robotics and autonomy world who needs to move in capability from the hobbyist to the beginnings of industrial and commercial robotics. In doing this, I want to remove as many of what I perceive as barriers between you and what you want to accomplish as a next-level robotics explorer. I left out the equations, the strange jargon, and the mystery and replaced them with straightforward explanations about how to get what you want out of your robot. It is important to remember that my robot, Albert, is just a tool in this process. The objective of the book is not to design a singular robot, but rather to teach a set of skills that I think you need. The real question is where you go from here. Use this text as a springboard to continue to explore, experiment, and continue your education in robotics. From here you can read the works of the people who inspired and/or mentored me: Dr. Robin Murphy, Sebastian Thrun, Dr. Rodney Brooks, Bob Zubrin, Dr. Robert L. Forward, Isaac Asimov, Arthur C. Clarke, and many others.

Who this book is for

This book is for robotics engineers and enthusiasts who have already begun their journey of learning about robotics and wish to progress to a more advanced stage of capability by applying AI. It will be a useful reference for students and researchers looking for a practical guide to solving specific problems or approaching a difficult robot design. Basic programming skills in Python, a familiarity with electronics and wiring, and the ability to use a Linux-based command line interface (CLI) will be useful while reading this book.

What this book covers

Chapter 1, The Foundation of Robotics and Artificial Intelligence, explains what we will cover in this book, standard robot parts, concepts of control, computing in real time, and the Observe, Orient, Decide, Act (OODA) concept for how robots make decisions.

Chapter 2, Setting Up Your Robot, introduces you to motors, control systems, how to divide the robot problem into parts using the Subsumption Architecture, and the Robotics Operating System 2 (ROS 2).

Chapter 3, Conceptualizing the Practical Robot Design Process, describes systems engineering techniques for robot design, use cases, and storyboards.

Chapter 4, Recognizing Objects Using Neural Networks and Supervised Learning, explains how you can use CNNs to train object recognition and segment objects from the background.

Chapter 5, Picking Up and Putting Away Toys using Reinforcement Learning and Genetic Algorithms, covers Q-learning and genetic algorithms, which are used to teach the robot arm to move efficiently.

Chapter 6, Teaching the Robot to Listen, shows you how you can add a digital assistant to your robot and create some custom controls for it, including telling knock-knock jokes.

Chapter 7, Teaching the Robot to Navigate and Avoid Stairs, outlines how you can use another CNN to teach the robot to navigate around a house and avoid obstacles.

Chapter 8, Putting Things Away, describes how we can finish the robot’s tasks, and how to find the toybox.

Chapter 9, Giving the Robot an Artificial Personality, explains the concepts and theory around simulating a personality in a robot for added interactions.

Chapter 10, Conclusions and Reflections, talks about robotics as a career, based on the author’s own 40-year career in robot design.

To get the most out of this book

You should have a good grasp of programming with Python version 3. We use ROS 2 as the control architecture for the robot. Packt Publishing has several excellent books that explain how to use ROS 2 if you need more detailed instruction. Programming skills in Python, familiarity with electronics, wiring, and single-board computers, the ability to use a Linux-based CLI, and knowledge of AI/ML concepts will be required while using this book. If you want to follow the robot’s construction, then basic hand tools (screwdrivers, wrenches, Allen keys, and a soldering iron) will be required. All the other installation instructions are provided in the appropriate chapters as the book progresses.

Download the example code files

You can download the example code files for this book from GitHub at https://github.com/PacktPublishing/Artificial-Intelligence-for-Robotics-2e. If there’s an update to the code, it will be updated in the GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: “We create a short Python program called downloadDataset.py.”

A block of code is set as follows:

from roboflow import Roboflow
rf = Roboflow(api_key="*****************")
project = rf.workspace("toys").project("toydetector")
dataset = project.version(1).download("yolov8")

Any command-line input or output is written as follows:

cd ~/ros2_ws/src
ros2 pkg create –build-type ament-cmake ros_xarm
colcon build

Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: “Use the Generate tab on Roboflow, then click on Add Augmentation Step to select the type of operation that will affect our images.”

Tips or important notes

Appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, email us at customercare@packtpub.com and mention the book title in the subject of your message.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at copyright@packt.com with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Share Your Thoughts

Once you’ve read Artificial Intelligence for Robotics, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.

Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.

.

Download a free PDF copy of this book

Thanks for purchasing this book!

Do you like to read on the go but are unable to carry your print books everywhere?

Is your eBook purchase not compatible with the device of your choice?

Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.

Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.

The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily

Follow these simple steps to get the benefits:

  1. Scan the QR code or visit the link below

https://packt.link/free-ebook/9781805129592

  1. Submit your proof of purchase
  2. That’s it! We’ll send your free PDF and other benefits to your email directly
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Artificial Intelligence for Robotics - Second Edition
Published in: Mar 2024Publisher: PacktISBN-13: 9781805129592
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Francis X. Govers III

Francis X. Govers III is an Associate Technical Fellow for Autonomy at Bell Textron, and chairman of the Textron Autonomy Council. He is the designer of over 30 unmanned vehicles and robots for land, sea, air, and space, including RAMSEE, the autonomous security guard robot. Francis helped lead the design of the International Space Station, the F-35 JSF Fighter, the US Army Future Combat Systems, and telemetry systems for NASCAR and IndyCar. He is an engineer, pilot, author, musician, artist, and maker. He received five outstanding achievement awards from NASA and recognition from Scientific American for World Changing Ideas. He has a Master of Science degree from Brandeis University and is a veteran of the US Air Force.
Read more about Francis X. Govers III