What this book covers
Chapter 1, Foundation for Robotics and AI, introduces artificial intelligence (AI) and covers the basics of robotics as applied in this book. The chapter also introduces the AI framework used, which is the Observe-Orient-Decide-Act (OODA) model, and soft real-time control.
Chapter 2, Setting Up Your Robot, covers the robot architecture, ROS, and setting up the software and hardware, including the construction of the robot example for the book.
Chapter 3, A Concept for a Practical Robot Design Process, introduces a simplified systems approach to robot design that combines use cases (from systems engineering) and storyboards (from Agile development) to give the reader a structure and a process to use when solving problems with robots and AI.
Chapter 4, Object Recognition Using Neural Networks and Supervised Learning, teaches how to build an artificial neural network. Readers will learn the basics of image recognition as well as the training and evaluation of neural networks using Keras and Python.
Chapter 5, Picking Up the Toys, introduces techniques that allow the robot to learn for itself how to user its robot arm. The key technique is to have a mechanism for the robot to score how well it does. We explore reinforcement learning and dive into Genetic Algorithms.
Chapter 6, Teaching the Robot to Listen, We develop on top of a voice-based command system, a type of digital assistant that uses AI techniques to understand words and divine the intent of the speaker. Basic concepts of speech recognition and natural language processing are introduced, such as context, knowledge bases, intent recognition, and sentence reconstruction. We teach the robot to both tell and understand knock-knock jokes.
Chapter 7, Avoiding the Stairs, helps the readers understand robot navigation, including SLAM. It will help you navigate the robot using a combination of two techniques: Floor Finding for obstacle avoidance, and Neural Network Image recognition for learned navigation without a map.
Chapter 8, Putting Things Away, covers path planning, decision trees, classification techniques, wave front, the A* (A star) and D* (D star) algorithms, and node-based planners.
Chapter 9, Giving the Robot an Artificial Personality, describes simulation and Monte Carlo modeling, the Robot Emotion Engine, the Human Emotion Model, and integrating personality rules into a chatbot-based conversation engine.
Chapter 10, Conclusions and Remarks, has some words about the future of AI and robotics, as well as advice about robotics as a career.