Artificial Intelligence for Robotics: Build intelligent robots using ROS 2, Python, OpenCV, and AI/ML, 2nd Edition

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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
Year: 2024

Language: English
Pages: 344

Cover
Title Page
Copyright and Credits
Foreword
Contributors
Table of Contents
Preface
Part 1: Building Blocks for Robotics and Artificial Intelligence
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
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
Other Books You May Enjoy