Robots are systems that sense, actuate, and compute. So far, we have studied the basic physical principles of actuation, i.e., locomotion and manipulation. Understanding these principles is necessary to make and implement plans, e.g., using the A* or RRT for calculating shortest path for a mobile robot to travel on . Similarly, we need to understand the basic principles of robotic sensors that provide the data-basis for computation.
The goals of this lecture are
- provide an overview of sensors commonly used on robotic systems
- outline the physical principles that are responsible for uncertainty in sensor-based reasoning
The iRobot Create
The iRobot Create is the research version of iRobots “Roomba” vacuum cleaner. The Create is equipped with the following sensors:
- Wheel encoders
- Infrared “cliff” sensors detecting stairs or other edges the robot could fall off
- An infrared “wall” sensor allowing the robot to keep its distance to a wall to its left
- A front-bumper to detect collisions
- A mechanical “pick-up” sensor detecting lift of the robot
- An infrared sensor that can detect and decode infrared messages sent by the charger.
The E-Puck Robot
- infrared distance sensors that double as light sensors
- three microphones aligned in a triangle
- a three-axis accelerometer
- a VGA camera that is down-sampled to 42 x 42 pixels
The PrairieDog Robot
- an USB web-cam
- a localization system that can decipher infra-red markers mounted at the ceiling for global localization
- a scanning laser distance sensor
- encoders in each of its 5-DOF arm joints
The scanning laser consists of a laser that scans the environment by being directed via a quickly rotating mirror and the distance at which the laser is reflected sampled at regular intervals. This process, and the resulting data, is nicely animated on the the wikipedia site that is linked from this text. How the distance is calculated is fundamentally different from an infrared distance sensor. Instead of measuring the strength (aka amplitude) of the reflected signal, laser range scanners measure the phase difference of the reflected wave. In order to do this, the emitted light is modulated with a wave-length that exceeds the maximum distance the scanner can measure. If you would use visible light and do this much slower, you would see a light that keeps getting brighter, then getting darker, briefly turns off and then starts getting brighter again. Thus, if you would plot the amplitude, i.e. its brightness, of the emitted signal vs. time you would see a wave that has zero-crossings when the light is dark. As light travels with the speed of light, this wave propagates through space with a constant distance (the wavelength) between its zero crossings. When it gets reflected, the same wave travels back (or at least parts of it that get scattered right back). For example, modern laser scanners emit signals with a frequency of 5 MHz (turning off 5 million times in one second). Together with the speed of light of approximately 300,000km/s, this leads to a wavelength of 60m and makes the laser scanner useful up to 30m.
When the laser is now at a distance that corresponds exactly to one half the wave-length, the reflected signal it measures will be dark at the exact same time its emitted wave goes through a zero-crossing. Going closer to the obstacle results in an offset that can be measured. As the emitter knows the shape of the wave it emitted, it can calculate the phase difference between emitted and received signal. Knowing the wave-length it can now calculate the distance. As this process is independent from ambient light (unless it has the exact same frequency as the laser being used), the estimates can be very precise. This is in contrast to a sensor that uses signal strength. As the signal strength decays at least quadratically, small errors, e.g. due to fluctuations in the power supply that drives the emitting light, noise in the analog-digital converter, or simply differences in the reflecting surface have drastic impact on the accuracy and precision (see below for a more formal definition of this term).
The xBox Kinect
While scanning lasers have revolutionized robotics by providing a real-time view on the obstacles in the vicinity of the robot at fairly high accuracy, they could only provide a 2D slice of the world. For example a table would only be seen by its legs, not allowing the robot to judge whether it could pass underneath it. Although people have played with pivoting laser scanners, the vertical scanning speed is intrinsically limited by the horizontal scanning speed of the device. For example, a laser scanner that provides a 2D slice of the environment 10 times per second (or at 10Hz), would need 1s to provide 10 vertical slices. This is not fast enough for real-time navigation, and requires multiple lasers. For example, the Velodyne 3D laser scanner employs 64 (!) parallel scanning lasers and provides 2cm accuracy over 50m range.
An alternative solution to this problem are 3D depth sensors that work by projecting an infrared pattern into the environment (aka structured light), observe it via a camera, and quickly calculate the depth of the environment based on the observed deformation. A prominent example of this technology is the Kinect for Microsoft’s xBox, which made the technology affordable by targeting a mass-market application. Although neither the resolution nor range are comparable with state-of-the-art laser range scanners, the sensor can provide depth images of 640×480 points (resolution of a VGA camera) between 0.7 and 6m at 30Hz, which not only enables real-time navigation but also gesture recognition from people, opening up novel avenues in human robot interaction and the potential for affordable, highly capable robot platforms.
It is now time to introduce a more precise definition of terms such as “speed” and “resolution”, as well as additional taxonomy that is used in a robotic context. Roboticists differentiate between proprioceptive and exteroceptive sensors. Proprioceptive sensors measure quantities that are internal to the robot such as wheel-speed, current consumption, joint position or battery status. Exteroceptive sensors measure quantities from the environment, such as distance to a wall, the strength of ambient light or the pattern of a picture at the wall.
Roboticists also differentiate between active and passive sensors. Active sensors emit energy of some sort and measure the reaction of the environment. Passive sensors instead measure energy from the environment. For example, most distance sensors are active sensors (as they sense the reflection of a signal they emit), whereas an accelerometer, compass, or a push-button are passive sensors.
The difference between the upper and the lower limit of the quantity a sensor can measure its known as its range. This should not be confused with the dynamic range, which is the ratio between two quantities (usually used for sensors that sense light or sound). The minimal distance between two values a sensor can measure is known as its resolution. The resolution of a sensor is given by the device physics (e.g., a light detector can only count multiples of a quant), but usually limited by the analog-digital conversion process. The resolution of a sensor should not be confused with its accuracy or its precision (which are two different concepts). For example, whereas an infrared distance sensor might yield 4096 different values to encode distances from 0 to 10cm, which suggests a resolution of around 24 micrometers, its precision is far above that (in the order of millimeters) due to noise in the acquisition process.
Technically, a sensors accuracy is given by the difference between a sensors output and the true value :
A sensor’s precision instead is given by the ratio of range and statistical variance of the signal. Precision is therefore a measure of repeatability of a signal, whereas accuracy describes a systematic error that is introduced by the sensor physics.
The speed at which a sensor can provide measurements is known as its bandwidth. For example, if a sensor has a bandwidth of 10 Hz, it will provide a signal ten times a second. This is important to know, as querying the sensor more often is a waste of computational time and potentially misleading. In Webots you usually provide the bandwidth of each sensor when calling its enable function, which requires the update rate in ms.
There are a few additional sensors that are important in current robotic systems, but are not used on the platforms discussed above.
Gyroscope: a gyroscope is an electro-mechanical device that can measure rotational orientation. It is complementary to the accelerometer that measures translational acceleration. Classically, a gyroscope consists of a rotating disc that could freely rotate in a system of pivots and gimbals. When moving the system, the inertial momentum keeps the original orientation of the disc, allowing to measure the orientation of the system relative to where the system was started. A variation of the gyroscope is the rate gyro, which measures rotational speed. The rate gyro can also be implemented using optics, which allows for extreme miniaturization. Rate gyros are for example used in Apple’s iPhone IV or in Nintendo’s latest generation Wii controller.
Compass: a compass measures absolute orientation with respect to the earth’s magnetic field. Unlike the mechanical compass that measures the magnetic field only in one dimension, last generation electronic sensors can measure the earth’s magnetic field in three axes. Although this information is unreliable indoors and gets disturbed by metal parts in the environment, a compass can be helpful to determine local orientation.
Inertial-Measurement Unit (IMU): together, accelerometers, gyroscopes, and magnetometers (compass) can provide an estimate of a robots acceleration, velocity, and orientation along all 6 dimensions, and drastically improve the accuracy of odometry. As the underlying sensors are not very precise, however, absolute values provided by the IMU quickly drift and require update by some sort of global positioning system.
Global Positioning System (GPS): GPS systems triangulate the receiver’s position with meter accuracy from estimating the position of satellites in the orbit that have known position. As such, there are mostly adapt for outdoor applications. There exist a series of equivalent systems for indoor robotic systems that operate either using active or passive beacons in the environment and can provide millimeter accuracy. As of now, there is no established standard in industry.
Ultra-sound distance sensor: An ultra-sound distance sensor operates by emitting an ultra-sound pulse and measures its reflection. Unlike a light-based sensor that measures the amplitude of the reflected signal, a sound-based sensor measures the time it took the sound to travel. This is possible, because sound travels at much lower speed (300m/s) than light (300,000km/s). The fact that the sensor actually has to wait for the signal to return leads to a trade-off between range and bandwidth. (Look these definitions up above before you read on.) In other words, allowing a longer range requires waiting longer, which in turn limits how often the sensor can provide a measurement. Although US distance sensors have become less and less common in robotics, they have an advantage over light-based sensors: instead of sending out a ray, the ultra-sound pulse results in a cone with an opening angle of 20 to 40 degrees. By this, US sensors are able to detect small obstacles without the requirement of directly hitting them with a ray. This property makes them the sensor of choice in automated parking helpers in cars.
- Most of a robot’s sensors either address the problem of robot localization or localizing and recognizing objects in its vicinity
- Each sensors has advantages and drawbacks that are quantified in its range, precision, accuracy, and bandwidth. Therefore, robust solutions to a problem can only be achieved by combining multiple sensors with differing operation principles.
- Solid-state sensors (i.e. without mechanical parts) can be miniaturized and cheaply manufactured in quantity. This has enabled a series of affordable IMUs and 3D depth sensors that will provide the data basis for localization and object recognition on mass-market robotic systems