Robotics, Vision and Control
Abstract
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.