There are a vast number of
different sensors being used in robotics, applying different measurement
techniques, and using different inter- faces to a controller. This,
unfortunately, makes sensors a difficult subject to cover. We will, however,
select a number of typical sensor systems and discuss their details in hardware
and software. The scope of this chapter is more on interfacing sensors to
controllers than on understanding the internal construction of sensors
themselves. What is important is to find the right sensor for a particular
application. This involves the right measurement technique, the right size and
weight, the right operating temperature range and power consumption, and of
course the right price range. Data transfer from the sensor to the CPU can be
either CPU-initiated (polling) or sensor-initiated (via interrupt). In case it
is CPU-initiated, the CPU has to keep checking whether the sensor is ready by
reading a status line in a loop. This is much more time consuming than the
alternative of a sensor-initiated data transfer, which requires the
availability of an interrupt line. The sensor signals via an interrupt that
data is ready, and the CPU can react immediately to this request.
·
Binary signal (0 or 1) - Tactile sensor
·
Analog signal (e.g. 0..5V) - Inclinometer
·
Timing signal (e.g. PWM) - Gyroscope
·
Serial link (RS232 or USB) - GPS module
·
Parallel link - Digital camera