Robotics is becoming an increasingly popular field for hobbyists and professionals alike. The cost of the mechanics and electronics required to build a robot are low enough that almost anybody can afford it. The hardware that used to require government funding or a large university is now available to the average person. At the same time, programming is becoming a more common skill. This book combines the most sophisticated parts of robotics and programming to fill a real gap in available information. Most robotics books today use microcontrollers as the "brains" of the robots. This approach is fine for smaller, less expensive projects, but has serious limitations. When attempting to build a robot with sophisticated movements, navigation abilities, vision, and picture-capturing abilities, it is better to use a single board computer (SBC) such as Linux as the controller.