Artificial Intelligence for Robotics - Second Edition

Book description

Let an AI and robotics expert help you apply AI, systems engineering, and ML concepts to create smart robots capable of interacting with their environment and 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 second edition of the book equips you with the latest tools, new and expanded topics such as object recognition and creating artificial personality, 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 using YOLO and genetic algorithms to teach your robot to identify and pick up objects, leverage natural language processing to give your robot a voice, and 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.

Table of contents

  1. Artificial Intelligence for Robotics
  2. Foreword
  3. Contributors
  4. About the author
  5. About the reviewers
  6. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
    4. Download the example code files
    5. Conventions used
    6. Get in touch
    7. Share Your Thoughts
    8. Download a free PDF copy of this book
  7. Part 1: Building Blocks for Robotics and Artificial Intelligence
  8. Chapter 1: The Foundation of Robotics and Artificial Intelligence
    1. Technical requirements
    2. The basic principle of robotics and AI
    3. What is AI and autonomy (and what is it not)?
    4. Are recent developments in AI anything new?
    5. What is a robot?
    6. Our sample problem – clean up this room!
      1. The basics of robotics
      2. The techniques used in this book
    7. When do you need AI for your robot?
    8. Introducing the robot and our development environment
      1. Software components (ROS, Python, and Linux)
      2. Robot control systems and a decision-making framework
    9. Summary
    10. Questions
    11. Further reading
  9. Chapter 2: Setting Up Your Robot
    1. Technical requirements
    2. Understanding the anatomy of a robot
    3. Introducing subsumption architecture
    4. A brief introduction to ROS
    5. Hardware and software setup
      1. Preparing the laptop
    6. Summary
    7. Questions
    8. Further reading
  10. Chapter 3: Conceptualizing the Practical Robot Design Process
    1. A systems engineering-based approach to robotics
    2. Understanding our task – cleaning up the playroom
    3. Use cases
      1. Our robot’s task – part 1
      2. Our robot’s task – part 2
      3. What is our robot to do?
    4. Using storyboards
      1. Storyboard – put away the toys
      2. Project goals
    5. Understanding the scope of our use case
    6. Identifying our hardware needs
    7. Breaking down our software needs
    8. Writing a specification
    9. Summary
    10. Questions
    11. Further reading
  11. Part 2: Adding Perception, Learning, and Interaction to Robotics
  12. Chapter 4: Recognizing Objects Using Neural Networks and Supervised Learning
    1. Technical requirements
    2. A brief overview of image processing
    3. Understanding our object recognition task
    4. Image manipulation
      1. Convolution
      2. Artificial neurons
      3. Training a CNN
    5. Using YOLOv8 – an object recognition model
      1. Understanding how to train our toy detector
      2. Building the toy detector
    6. Summary
    7. Questions
    8. Further reading
  13. Chapter 5: Picking Up and Putting Away Toys using Reinforcement Learning and Genetic Algorithms
    1. Technical requirements
    2. Task analysis
    3. Designing the software
    4. Setting up the solution
      1. Machine learning for robot arms
      2. How do we pick actions?
    5. Creating the interface to the arm
    6. Introducing Q-learning for grasping objects
      1. Writing the code
    7. Introducing GAs
      1. Understanding how the GA process works
      2. Building a GA process
    8. Alternative robot arm ML approaches
      1. Google’s SAC-X
      2. Amazon Robotics Challenge
    9. Summary
    10. Questions
    11. Further reading
  14. Chapter 6: Teaching a Robot to Listen
    1. Technical requirements
    2. Exploring robot speech recognition with NLP
      1. Briefly introducing the NLP concept
      2. Setting our goals
      3. Understanding the STT process
      4. Clarifying the intent
    3. Programming our robot
      1. Setting up the hardware
      2. Setting up the Mycroft software
      3. Adding skills
    4. Summary
    5. Questions
    6. Further reading
  15. Part 3: Advanced Concepts – Navigation, Manipulation, Emotions, and More
  16. Chapter 7: Teaching the Robot to Navigate and Avoid Stairs
    1. Technical requirements
    2. Task analysis
    3. Understanding the SLAM methodology
    4. Exploring alternative navigation techniques
    5. Introducing the Floor Finder technique
    6. Implementing neural networks
      1. Processing the image
      2. Training the neural network for navigation
      3. CNN robot control implementation
    7. Summary
    8. Questions
    9. Further reading
  17. Chapter 8: Putting Things Away
    1. Technical requirements
    2. Task analysis
    3. Introducing decision trees
      1. What do we mean by pruning?
      2. Creating self-classifying decision trees
      3. Understanding entropy
      4. Implementing one-hot encoding
    4. Random forests
    5. Introducing robot path planning
      1. Understanding the coordinate system
      2. Developing a map based on our knowledge
      3. Introducing the A* algorithm
      4. Introducing the D* (D-star or dynamic A*) algorithm
      5. GPS path finding
    6. Summary
    7. Questions
    8. Further reading
  18. Chapter 9: Giving the Robot an Artificial Personality
    1. Technical requirements
    2. What is an artificial personality?
    3. A brief introduction to the (obsolete) Turing test, chatbots, and generative AI
    4. The art and science of simulation
    5. An emotion state machine
    6. Playing the emotion game
    7. Creating a model of human behavior
      1. Integrating an artificial personality into our robot
      2. Constructing a personality
      3. Adding context
      4. Under construction
    8. Developing the robot emotion engine
      1. Creating a human emotion model
      2. Creating human information storage
      3. Context memory
    9. Summary
    10. Questions
    11. Further reading
  19. Chapter 10: Conclusions and Reflections
    1. Learning when to stop
    2. Careers in robotics
    3. Exploring the current state of AI
      1. Looking ahead in AI and robotics
      2. Is AI phobia reasonable?
      3. Comparing the needs of humans and AI
    4. Understanding risk in AI
    5. Summary
    6. Questions
    7. Further reading
  20. Answers
    1. Chapter 1
    2. Chapter 2
    3. Chapter 3
    4. Chapter 4
    5. Chapter 5
    6. Chapter 6
    7. Chapter 7
    8. Chapter 8
    9. Chapter 9
    10. Chapter 10
  21. Appendix
    1. Introducing MOSA
    2. A brief overview of ROS 2
      1. Understanding the basic concepts
      2. Comparing ROS 2 and ROS
    3. Software requirements for the robot
      1. Installing ROS 2
      2. Installing other packages
      3. Basic ROS 2 commands
    4. Introducing the hardware for the robot
      1. Effectors – base, motors, and wheels
      2. Battery
      3. DC/DC power supply
      4. CPU – the brains of the outfit
      5. Effectors – robot arm
      6. Arm controller
      7. Arduino microcontroller and motor controller
      8. Sensor – USB camera
      9. Sensor and effector – audio interface
    5. Robot safety tips
  22. Index
    1. Why subscribe?
  23. Other Books You May Enjoy
    1. Packt is searching for authors like you
    2. Share Your Thoughts
    3. Download a free PDF copy of this book

Product information

  • Title: Artificial Intelligence for Robotics - Second Edition
  • Author(s): Francis X. Govers III
  • Release date: March 2024
  • Publisher(s): Packt Publishing
  • ISBN: 9781805129592