This book bridges the gap between playing with robots in school and studying robotics at the upper undergraduate and graduate levels to prepare for careers in industry and research. Robotic algorithms are presented formally, but using only mathematics known by high-school and first-year college students, such as calculus, matrices and probability. Concepts and algorithms are explained through detailed diagrams and calculations.
The book presents an overview of different types of robots and the components used to build robots, but focuses on robotic algorithms: simple algorithms like odometry and feedback control, as well as algorithms for advanced topics like localization, mapping, image processing, machine learning and swarm robotics. These algorithms are demonstrated in simplified contexts that enable detailed computations to be performed and feasible activities to be posed. Students who study these simplified demonstrations will be well prepared for advanced study of robotics.
The algorithms are presented at a relatively abstract level, not tied to any specific robot. Instead a generic robot is defined that uses elements common to most educational robots: differential drive with two motors, proximity sensors and some method of displaying output to the use.
The theory is supplemented with over 100 activities, most of which can be successfully implemented using inexpensive educational robots. Activities that require more computation can be programmed on a computer. Archives are available with suggested implementations for the Thymio robot and standalone programs in Python.
The book can be obtained from Springer's website.
An ebook (ISBN 978-3-319-62533-1) can be downloaded for free under the Springer OpenAccess program.
Printed copies (ISBN 978-3-319-62532-4) can be purchased.
You can download the preface and table of contents separately for an overview of the book.
Most of the activities have been implemented with the Thymio educational robot. There are Python programs for some of the activities that could not be implemented on the robot. We will be happy to add implementations for other robots.
Errata (18 October 2017).
Last update on 7 November 2017.