O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Artificial Intelligence for Robotics

Book Description

Bring a new degree of interconnectivity to your world by building your own intelligent robots

Key Features

  • Leverage fundamentals of AI and robotics
  • Work through use cases to implement various machine learning algorithms
  • Explore Natural Language Processing (NLP) concepts for efficient decision making in robots

Book Description

Artificial Intelligence for Robotics starts with an introduction to Robot Operating Systems (ROS), Python, robotic fundamentals, and the software and tools that are required to start out with robotics. You will learn robotics concepts that will be useful for making decisions, along with basic navigation skills.

As you make your way through the chapters, you will learn about object recognition and genetic algorithms, which will teach your robot to identify and pick up an irregular object. With plenty of use cases throughout, you will explore natural language processing (NLP) and machine learning techniques to further enhance your robot. In the concluding chapters, you will learn about path planning and goal-oriented programming, which will help your robot prioritize tasks.

By the end of this book, you will have learned to give your robot an artificial personality using simulated intelligence.

What you will learn

  • Get started with robotics and artificial intelligence
  • Apply simulation techniques to give your robot an artificial personality
  • Understand object recognition using neural networks and supervised learning techniques
  • Pick up objects using genetic algorithms for manipulation
  • Teach your robot to listen using NLP via an expert system
  • Use machine learning and computer vision to teach your robot how to avoid obstacles
  • Understand path planning, decision trees, and search algorithms in order to enhance your robot

Who this book is for

If you have basic knowledge about robotics and want to build or enhance your existing robot's intelligence, then Artificial Intelligence for Robotics is for you. This book is also for enthusiasts who want to gain knowledge of AI and robotics.

Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Title Page
  2. Copyright and Credits
    1. Artificial Intelligence for Robotics
  3. Dedication
  4. Packt Upsell
    1. Why subscribe?
    2. PacktPub.com
  5. Contributors
    1. About the author
    2. About the reviewers
    3. Packt is searching for authors like you
  6. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
    4. Code in Action
      1. Conventions used
    5. Get in touch
      1. Reviews
  7. Foundation for Advanced Robotics and AI
    1. Technical requirements
    2. The basic principle of robotics and AI
      1. What is AI (and what is it not)?
      2. There is nothing new under the sun
      3. The example problem – clean up this room!
      4. What you will learn
      5. Artificial intelligence and advanced robotics techniques
      6. Introducing the robot and our development environment
      7. Software components (ROS, Python, and Linux)
      8. Robot control systems and a decision-making framework
        1. Soft real-time control
        2. Control loops
      9. The robot control system – a control loop with soft real-time control
        1. Reading serial ports in a real-time manner
    3. Summary
    4. Questions
    5. Further reading
  8. Setting Up Your Robot
    1. Technical requirements
    2. What is a robot?
      1. Robot anatomy – what are robots made of?
    3. Subsumption architecture
    4. Software setup
      1. Laptop preparation
      2. Installing Python
      3. Installing ROS on the laptop
      4. Setup of Raspberry Pi 3
        1. VNC
        2. Setting up catkin workspaces
    5. Hardware
      1. Beginning at the beginning – knolling
      2. Assembling the tracks
      3. Mounting the tracks
      4. Arm base assembly (turntable)
      5. Arm assembly
      6. Wiring
    6. Summary
    7. Questions
    8. Further reading
  9. A Concept for a Practical Robot Design Process
    1. A systems engineering-based approach to robotics
      1. Our task – cleaning up the playroom
    2. Use cases
      1. The problem – part 1
        1. Who – the robot
        2. What – pick up toys and put them in the toy box
        3. What – pick up and put away in the toy box the items that were not previously in the room
        4. When – after the grandchildren have visited and they have left, continue to pick up toys until there are none left
        5. When – when I (the user) tell you to, and don’t stop until there are no more toys to be found
        6. Where – the game room upstairs
      2. The problem – part 2
        1. Who – the robot, the user (granddad), and the grandchildren
        2. What – receive commands and verbally interact (hold a conversation) with children, which must include knock-knock jokes
        3. When – as requested by the robot controller, then when the child speaks to the robot
        4. Where – in the game room, within about six feet of the robot
      3. What is our robot to do?
    3. Storyboards
      1. Storyboard – put away the toys
        1. Project goals
      2. Decomposing hardware needs
      3. Breaking down software needs
        1. Writing a specification
    4. Summary
    5. Questions
    6. Further reading
  10. Object Recognition Using Neural Networks and Supervised Learning
    1. Technical requirements
    2. The image recognition process
      1. The image recognition training and deployment process – step by step
      2. Image processing
      3. Convolution
      4. Artificial neurons
      5. The convolution neural network process
      6. Build the toy/not toy detector
      7. Using the neural network
    3. Summary
    4. Questions
    5. Further reading
  11. Picking up the Toys
    1. Technical requirements
    2. Task analysis
      1. Setting up the solution
        1. How do we pick actions?
      2. Summary of robot arm learning process
    3. Teaching the robot arm
      1. Version one – action state reinforcement learning
        1. Adaptive learning rate
      2. Q-learning implementation
      3. Version 2 – indexed states and actions
      4. Genetic algorithms
    4. Other robot arm machine-learning approaches
      1. Google’s SAC-X
      2. Amazon Robotics Challenge
    5. Summary
    6. Questions
    7. Further reading
  12. Teaching a Robot to Listen
    1. Technical requirements
    2. Robot speech recognition
      1. What are we doing?
      2. Speech to text
      3. Intent
      4. Mycroft
        1. Hardware
        2. Mycroft software
        3. Skills
          1. Dialogs
      5. Telling jokes – knock, knock
      6. Receiving jokes – who’s there?
    3. Summary
    4. Questions
    5. Further reading
  13. Avoiding the Stairs
    1. Technical requirements
    2. Task analysis
      1. What is SLAM?
      2. Alternatives for navigation
      3. Neural networks
      4. Processing the image
      5. Training the neural network for navigation
      6. Convolutional neural network robot control implementation
    3. Summary
    4. Questions
    5. Further reading
  14. Putting Things Away
    1. Technical requirements
    2. Task analysis
      1. Decision trees
        1. What do we mean by pruning?
        2. Self-classifying decision trees and AI tools
      2. Entropy
      3. One hot encoding
        1. Random forests
      4. Grid searching and A* (A-Star)
      5. The A* algorithm
      6. D* (D-Star or Dynamic A*)
      7. GPS path finding does not use a map!
    3. Summary
    4. Questions
    5. Further reading
  15. Giving the Robot an Artificial Personality
    1. Technical requirements
    2. What is an artificial personality?
      1. The Turing test
      2. The art and science of simulation
      3. An emotion state machine
      4. Playing the emotion game
      5. Creating a model of human behavior
      6. Integrating artificial personality into our robot
      7. Personality construction – building blocks
        1. Context
      8. Under construction
      9. The robot emotion engine
      10. The human emotion model
        1. Human information storage
        2. Context memory
    3. Questions
    4. Further reading
  16. Conclusions and Reflections
    1. Conclusions about our journey
      1. Careers in robotics
    2. Issues in AI – real and not real
      1. Some very brief words about robots and AI phobia
    3. Understanding risk in AI
      1. Final words
    4. Summary
    5. Questions
    6. Further reading
  17. Assessments
    1. Chapter 1, Foundation for Advanced Robotics and AI
    2. Chapter 2, Setting Up Your Robot
    3. Chapter 3, A Concept for a Practical Robot Design Process
    4. Chapter 4, Object Recognition Using Neural Networks and Supervised Learning
    5. Chapter 5, Picking up the Toys
    6. Chapter 6, Teaching a Robot to Listen
    7. Chapter 7, Avoiding the Stairs
    8. Chapter 8, Putting Things Away
    9. Chapter 9, Giving the Robot an Artificial Personality
    10. Chapter 10, Conclusions and Reflections
  18. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think