This revised edition of a pioneering book on mobile robotics includes a contribution from an additional author, significantly increasing the number of pages.
The book is about mobile robotics, from mechanical design to autonomous navigation. It consists of six chapters.
The introduction presents the various types of robot applications, outlines the organization of the book, and gives the reading schema. It also introduces, in graphical form, the control schema of the mobile robot; the rest of the book describes its main modules.
Chapter 2 is about the basic mechanics of locomotion. After introducing legged robots that are no longer developed, the book introduces the basic mechanical design of wheeled robots. It also presents a gallery of recent kinds of mobile robots.
Chapter 3 develops kinematic models for wheeled robots, and introduces the basic problems and methods of controlling them (in open and closed loops).
Chapter 4 (consisting of more than 150 pages) is about perception. It classifies the available sensors and defines the error models. It provides descriptions of the most important sensors and their uses, including those as recent as the inertial measurement unit (IMU). A large portion of the chapter is devoted to computer vision, including basic electronics, camera optics, omnidirectional cameras, and stereo cameras. It also presents algorithms for data interpretation, such as structure from motion, visual odometry, and optical flow. Half of the chapter is about the fundamentals of image processing, and covers filtering, feature extraction, and place recognition. This chapter is expanded from the first edition in its coverage of new sensors and recent feature detectors.
Chapter 5 is about robot localization. It includes an introduction to probability theory, map representation, and Markov and Kalman filter localization. It concludes with simultaneous localization and mapping (SLAM) problems and methods, and provides links to software and resources.
Chapter 6 introduces planning and navigation. The literature in this area is quite large; this chapter tries to unify the different views. It covers the geometric aspects of maps and path planning, together with the control portion of potential field methods. The description of graph-search algorithms for path planning includes the classical Dijkstra, A*, D*, and the more specific rapidly exploring random trees (RRTs). It places much emphasis on obstacle avoidance. The chapter ends with case studies.
The list of references includes 337 papers and many links to online resources and downloadable software. A well-organized index concludes the book.
A strong point of the book is its well-balanced mix of techniques and formalisms for robot developers. The collection of methods and algorithms is large, indicating that robotics solutions are still more of a challenge than a simple application of algorithms and methods. Throughout the book, however, the view of the meaning of autonomy is somehow sparse, and lacks a clear definition. The cognitive aspect of robotics is not the main target. For example, chapter 4 is titled “Perception,” implying that it covers the interpretation of sensory data. In fact, it is more about the acquisition and pre-processing of data from different types of sensors.
This book is well suited for graduate courses in robotics, where it can provide a synthesis of the solutions and rapidly introduce problems for research.