Robotics, Vision and Control - Corke, Peter (Springer, 2017)
These are exciting times for robotics. Since the fi rst edition of this book was published we have seen much progress: the rise of the self-driving car, the Mars science laboratory rover making profound discoveries on Mars, the Philae comet landing attempt, and the DARPA Robotics Challenge. We have witnessed the drone revolution – fl ying machines that were once the domain of the aerospace giants can now be bought for just tens of dollars. All this has been powered by the continuous and relentless improvement in computer power and tremendous advances in low-cost inertial sensors and cameras – driven largely by consumer demand for better mobile phones and gaming experiences. It’s getting easier for individuals to create robots – 3D printing is now very affordable, the Robot Operating System (ROS) is both capable and widely used, and powerful hobby technologies such as the Arduino, Raspberry Pi, Dynamixel servo motors and Lego’s EV3 brick are available at low cost. This in turn has contributed to the rapid growth of the global maker community – ordinary people creating at home what would once have been done by a major corporation. We have also witnessed an explosion of commercial interest in robotics and computer vision – many startups and a lot of acquisitions by big players in the fi eld. Robotics even featured on the front cover of the Economist magazine in 2014! So how does a robot work? Robots are data-driven machines. They acquire data, process it and take action based on it. The data comes from sensors measuring the velocity of a wheel, the angle of a robot arm’s joint or the intensities of millions of pixels that comprise an image of the world that the robot is observing. For many robotic applications the amount of data that needs to be processed, in real-time, is massive. For a vision sensor it can be of the order of tens to hundreds of megabytes per second. Progress in robots and machine vision has been, and continues to be, driven by more effective ways to process data. This is achieved through new and more effi cient algorithms, and the dramatic increase in computational power that follows Moore’s law. When I started in robotics and vision in the mid 1980s, see Fig. 0.1, the IBM PC had been recently released – it had a 4.77 MHz 16-bit microprocessor and 16 kbytes (expandable to 256 k) of memory. Over the intervening 30 years computing power has perhaps doubled 20 times which is an increase by a factor of one million.
Fundamental Algorithms in MATLAB®