A robot is a machine that can automatically perform a complex series of actions, especially one that can be programmed by a computer. Robots may be guided by an external controller, or they may have a controller built into them. Robots may be built to evoke the human form, but most robots are task-performing machines, designed for strict functionality rather than expressive aesthetics.
Contrary to popular belief, the three most important topics in robotics are not mechanics, electronics, and software. Rather, it is software, software, software! Many years ago I wrote a book, Embedded Robotics, which balances electronics and software while also introducing basic mechanics.
About the Book
This book will show how inexpensive mobile robots such as the EyeBot robot can be built by attaching a Raspberry Pi controller and camera to a model car or other simple mechanical drive system. We will also introduce the EyeSim simulation system, which is freely available and can simulate a variety of running robots, swimming/diving robots, and even walking robots in a very realistic way. Our focus on algorithm development ensures that all software projects can be run on real robot hardware as well as on the simulation system. In other words, we do not use unrealistic simulation assumptions that would never work in the real world.
The University of Western Australia has found that when students use Eye Sim as a robotics supplement, their rate of learning and understanding of robotics concepts increases significantly. All software used in this book (including all sample programs) can be downloaded from the links below; there are native applications for MacOS, Windows, Linux, and Raspberry Pi.
In this publication, we discuss a number of radically different mobile robots, ranging from small, basic running robots, through autonomous submarines and legged robots, to driverless cars. The Robotics and Automation Laboratory at the University of Western Australia has developed the EyeBot family (see Figure 1.1), a diverse group of mobile robots, including wheeled, tracked, legged, flying, and underwater robots [Bräunl 2008]. Each robot is equipped with a camera as the main sensor and a touch screen LCD as the user interface.