Preface
The practice of robotics and computer vision each involve the application of computational algorithms to data. The research community has developed a very large body of algorithms but for a newcomer to the field this can be quite daunting. MATLAB® comes with a number of Toolboxes that provide implementations of many important algorithms that empower users to work with real problems, not just trivial examples.
This new book makes the fundamental algorithms of robotics, vision and control accessible to all. It weaves together theory, algorithms and examples in a narrative that covers robotics and computer vision separately and together. Using the latest versions of the Toolboxes the authors shows how complex problems can be decomposed and solved using just a few simple lines of code. The topics covered are guided by real problems observed by the authors over many years as practitioners of both robotics and computer vision. It is written in a light but informative style, it is easy to read and absorb, and includes over 1600 MATLAB®and Simulink® examples and figures. The book is a real walk through the fundamentals of mobile robots, navigation, localization, arm-robot kinematics, dynamics and joint level control, then camera models, image processing, feature extraction and multi-view geometry, and finally bringing it all together with a discussion of visual servo systems and some case studies including self-driving cars, robotic pick and pack, and UAV autonomy.
Preface to the third edition
The first two editions of this book were based on MATLAB® in conjunction with open-source toolboxes that are now thirty years old – that’s a long time for any piece of software. Much has happened in the last decade that motivates a change to the software foundations of the book, and that has led to two third editions:
- The version you are reading, rewritten with colleagues from MathWorks®, is based on MATLAB®, and state-of-the-art toolboxes developed by MathWorks® including: Robotics System Toolbox™, Navigation Toolbox™, Computer Vision Toolbox™, and Image Processing Toolbox™.
To run the examples in this book you require appropriate software licenses and details are given in App. A.
- The alternative version, is based on Python which is a popular open-source language with strong third-party support. The old open-source MATLAB-based toolboxes have been ported to Python (Corke 2021).
In addition to changing the software underpinnings of the book, this third edition also provides an opportunity to fix errors, improve mathematical notation, and clarify the narrative throughout. Chapters 2 and 7 have been extensively rewritten. This edition also includes new topics such as graph-based path planning, Dubins and Reeds-Shepp paths, branched robots, URDF models, collision checking, task-space control, deep learning for object detection and semantic segmentation, fiducial markers, and point clouds. Chapter 16, advanced visual servoing in other editions, has been replaced with large-scale application examples that showcase advanced features of many MathWorks® toolboxes.
Software requirement
Code examples use MATLAB® (at least R2023a) and MathWorks® proprietary toolboxes including (those in bold are required to run most of the code examples, those indicated with † are only required for Chapter 16)
- MATLAB®
- Simulink®
- Automated Driving Toolbox™ †
- Computer Vision Toolbox™
- Deep Learning Toolbox™
- Image Processing Toolbox™
- Navigation Toolbox™
- Model Predictive Control Toolbox™ †
- Optimization Toolbox™
- Robotics System Toolbox™
- ROS Toolbox †
- Signal Processing Toolbox™
- Statistics and Machine Learning Toolbox™
- Symbolic Math Toolbox™
- UAV Toolbox
