Extending to machine learning
Some of the smartest sounding types of robotics are those involved in machine learning. The code used throughout this book has not used machine learning and is instead used well-known algorithms. The Proportional Integral Derivative (PID) controller you used in this book is a system that makes adjustments to read a value, but it is not machine learning. However, optimizing PID values might come from a machine learning algorithm. We used Haar Cascade models to detect faces; this was also not machine learning, though OpenCV contributors probably used a machine learning system to generate these cascades.
Machine learning tends to be great at optimizing tasks and discovering and matching patterns, but poor at making fully formed intelligent-seeming behavior.
The basic overall idea of many machine learning systems involves having a set of starting examples, with some information on which are matches and which are not. The machine is expected to determine...