Skip to content
UoL CS Notes

Sensors & Perception

COMP329 Lectures

Exteroceptive Sensors

This is a class of sensors that measure information about a robot’s external environment. They are characterised by a number of different attributes:

Field of View & Range

Every sensor has a region of space that it can cover:

  • The width of that region is the field of view $\beta$
  • The range $R$ is how far the field of view extends.

Sensor Performance

Sensitivity
Measure of the degree to which incremental changes in the target input change the output signal.

The ratio of output change to input change.

Cross-sensitivity
Sensitivity to environmental parameters that are orthogonal to the target parameters.

An example is that a compass is sensitive to magnetic north, but also to ferrous materials.

Accuracy & Precision

Accuracy (Error)
Difference between the sensor’s measured value, $m$ and the true value $v$, such that: \[\begin{align} \text{error}&=m-v\\ \text{accuracy}&=1-\frac{\lvert m-v\rvert}v \end{align}\]
Precision
Reproducibility sensor results. If the random error of a sensor is characterised by some mean $\mu$ and standard deviation $\sigma$, the the precision is the ration of the sensors output range to $\sigma$.

precision vs accuracy1

Systematic & Random Error

Systematic errors are deterministic:

  • Caused by factors that can be modelled and corrected.

Random errors are non-deterministic:

  • No prediction is possible.
  • They can be described probabilistically, like errors in wheel odometry.

Resolution, Linearity & Frequency

Resolution
The minimum difference between two values.
Bandwidth (Frequency)
The speed which which a sensor can provide readings.

Responsiveness

Most sensors work poorly in certain domains. Therefore we should use sensors that have a good signal-to-noise ratio in their application.

For example, sonar works poorly in environments with large amounts of glass due to the large amount of specular reflection.

Behavioural Sensor Function

Sensor Fusion
The combination of information from multiple sensors into a single percept.

We want to use multiple sensors for the following reasons:

  • Redundancy
  • Complementary - Difference percepts that support each-other.
    • Touch sensors when objects are too close to be detected by sonar.
  • Coordinated - Using one sensor as a consequence of a percept detected by another.
    • Detecting a possible obstacle using a range sensor and verifying it’s existence using a tactile sensor.
  Observed Feature No Feature Observed
Feature Exists True Positive False Negative
Nothing to Perceive False Positive True Negative

Sensor Fusion

Sensor fusion ca be combined with behaviours in different ways:

  • Sensor Fission
    • One sensor per behaviour.
    • Behaviours can share sensor streams.
      graph LR
      s1[sensor] -->|percept| b1[behaviour] -->|action| cm[combination mechanism]
      s2[sensor] -->|percept| b2[behaviour] -->|action| cm[combination mechanism]
      s3[sensor] -->|percept| b3[behaviour] -->|action| cm[combination mechanism]
      cm -->|action| x(( ))
    
  • Action-Oriented Sensor Fusion
    • The combination of sensor data may trigger different different behaviours.
    • An abstract percept emerges form the fusion of several percepts.
      graph LR
      s1[sensor] -->|percept| fusion
      s2[sensor] -->|percept| fusion
      s3[sensor] -->|percept| fusion
      fusion -->|percept| behaviour
      behaviour -->|action| x(( ))