Learn how to apply artificial intelligence, engineering, and machine learning to create smart robots capable of interacting with their environment, engaging with users, making decisions, and navigating autonomously
Key Features
Gain a holistic understanding of robot design, systems engineering, and task analysis
Implement AI/ML techniques to detect and manipulate objects and navigate robots using landmarks
Integrate voice and natural language interactions to create a digital assistant and artificial personality for your robot
Purchase of the print or Kindle book includes a free PDF eBook
Book Description
Unlock the potential of your robots by enhancing their perception with cutting-edge artificial intelligence and machine learning techniques. From neural networks to computer vision, this book equips you with the tools and practical use cases to create truly smart robots.
Starting with robotics basics, robot architecture, control systems, and decision-making theory, this book presents systems-engineering methods to design problem-solving robots with single-board computers. You'll explore object recognition and genetic algorithms to teach your robot to identify and pick up objects, and you'll also harness the power of natural language processing to give your robot a voice. To enhance your robot further, you'll master neural networks to classify and separate objects and navigate autonomously, before advancing to guiding your robot arms using reinforcement learning and genetic algorithms. The book also covers path planning and goal-oriented programming to prioritize your robot's tasks, showing you how to connect all software using Python and ROS 2 for a seamless experience.
By the end of this book, you'll have learned how to transform your robot into a helpful assistant with NLP and give it an artificial personality, ready to tackle real-world tasks and even crack jokes.
What you will learn
Get started with robotics and AI essentials
Understand path planning, decision trees, and search algorithms to enhance your robot
Explore object recognition using neural networks and supervised learning techniques
Employ genetic algorithms to enable your robot arm to manipulate objects
Teach your robot to listen using Natural Language Processing through an expert system
Program your robot in how to avoid obstacles and retrieve objects with machine learning and computer vision
Apply simulation techniques to give your robot an artificial personality
Who this book is for
This book is for practicing robotics engineers and enthusiasts aiming to advance their skills by applying AI and ML techniques. Students and researchers looking for practical guidance for solving specific problems or approaching a difficult robot design will find this book insightful.
Proficiency in Python programming, familiarity with electronics and wiring, single board computers, Linux-based command-line interface (CLI), and knowledge of AI/ML concepts are required to get started with this book.
Author(s): Francis X. Govers III
Edition: 2
Publisher: Packt Publishing Pvt. Ltd.
Year: 2024
Language: English
Pages: 344
Artificial Intelligence for Robotics
Foreword
Contributors
About the author
About the reviewers
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Conventions used
Get in touch
Share Your Thoughts
Download a free PDF copy of this book
Part 1: Building Blocks for Robotics and Artificial Intelligence
1
The Foundation of Robotics and Artificial Intelligence
Technical requirements
The basic principle of robotics and AI
What is AI and autonomy (and what is it not)?
Are recent developments in AI anything new?
What is a robot?
Our sample problem – clean up this room!
The basics of robotics
The techniques used in this book
When do you need AI for your robot?
Introducing the robot and our development environment
Software components (ROS, Python, and Linux)
Robot control systems and a decision-making framework
Summary
Questions
Further reading
2
Setting Up Your Robot
Technical requirements
Understanding the anatomy of a robot
Introducing subsumption architecture
A brief introduction to ROS
Hardware and software setup
Preparing the laptop
Summary
Questions
Further reading
3
Conceptualizing the Practical Robot Design Process
A systems engineering-based approach to robotics
Understanding our task – cleaning up the playroom
Use cases
Our robot’s task – part 1
Our robot’s task – part 2
What is our robot to do?
Using storyboards
Storyboard – put away the toys
Project goals
Understanding the scope of our use case
Identifying our hardware needs
Breaking down our software needs
Writing a specification
Summary
Questions
Further reading
Part 2: Adding Perception, Learning, and Interaction to Robotics
4
Recognizing Objects Using Neural Networks and Supervised Learning
Technical requirements
A brief overview of image processing
Understanding our object recognition task
Image manipulation
Convolution
Artificial neurons
Training a CNN
Using YOLOv8 – an object recognition model
Understanding how to train our toy detector
Building the toy detector
Summary
Questions
Further reading
5
Picking Up and Putting Away Toys using Reinforcement Learning and Genetic Algorithms
Technical requirements
Task analysis
Designing the software
Setting up the solution
Machine learning for robot arms
How do we pick actions?
Creating the interface to the arm
Introducing Q-learning for grasping objects
Writing the code
Introducing GAs
Understanding how the GA process works
Building a GA process
Alternative robot arm ML approaches
Google’s SAC-X
Amazon Robotics Challenge
Summary
Questions
Further reading
6
Teaching a Robot to Listen
Technical requirements
Exploring robot speech recognition with NLP
Briefly introducing the NLP concept
Setting our goals
Understanding the STT process
Clarifying the intent
Programming our robot
Setting up the hardware
Setting up the Mycroft software
Adding skills
Summary
Questions
Further reading
Part 3: Advanced Concepts – Navigation, Manipulation, Emotions, and More
7
Teaching the Robot to Navigate and Avoid Stairs
Technical requirements
Task analysis
Understanding the SLAM methodology
Exploring alternative navigation techniques
Introducing the Floor Finder technique
Implementing neural networks
Processing the image
Training the neural network for navigation
CNN robot control implementation
Summary
Questions
Further reading
8
Putting Things Away
Technical requirements
Task analysis
Introducing decision trees
What do we mean by pruning?
Creating self-classifying decision trees
Understanding entropy
Implementing one-hot encoding
Random forests
Introducing robot path planning
Understanding the coordinate system
Developing a map based on our knowledge
Introducing the A* algorithm
Introducing the D* (D-star or dynamic A*) algorithm
GPS path finding
Summary
Questions
Further reading
9
Giving the Robot an Artificial Personality
Technical requirements
What is an artificial personality?
A brief introduction to the (obsolete) Turing test, chatbots, and generative AI
The art and science of simulation
An emotion state machine
Playing the emotion game
Creating a model of human behavior
Integrating an artificial personality into our robot
Constructing a personality
Adding context
Under construction
Developing the robot emotion engine
Creating a human emotion model
Creating human information storage
Context memory
Summary
Questions
Further reading
10
Conclusions and Reflections
Learning when to stop
Careers in robotics
Exploring the current state of AI
Looking ahead in AI and robotics
Is AI phobia reasonable?
Comparing the needs of humans and AI
Understanding risk in AI
Summary
Questions
Further reading
Answers
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Appendix
Introducing MOSA
A brief overview of ROS 2
Understanding the basic concepts
Comparing ROS 2 and ROS
Software requirements for the robot
Installing ROS 2
Installing other packages
Basic ROS 2 commands
Introducing the hardware for the robot
Effectors – base, motors, and wheels
Battery
DC/DC power supply
CPU – the brains of the outfit
Effectors – robot arm
Arm controller
Arduino microcontroller and motor controller
Sensor – USB camera
Sensor and effector – audio interface
Robot safety tips
Index
Why subscribe?
Other Books You May Enjoy
Packt is searching for authors like you
Share Your Thoughts
Download a free PDF copy of this book