For safe navigation, a mobile robot must acquire information about its state and environment. This is done by doing measurements with devices called sensors. There is a variety of sensors designed for different tasks.
Mainly, these sensors are classified into two: proprioceptive sensors and exteroceptive sensors. Proprioceptive sensors are used to measure the internal state of the system, such as motor speed, wheel load, and battery voltage. In contrast, exteroceptive sensors acquire information outside the system from the environment, such as distance measurements, light intensity, and sound amplitude.
An alternative way to classify sensors is to divide them into passive and active. Passive sensors passively measure ambient environmental energy entering the sensor. Examples of these are temperature probes, microphones, and cameras. As opposed to passive sensors, active sensors send energy to the environment to do the measurements.
Active sensing can achieve superior performance compared to passive sensing due to the controllability of the measurements. However, the measurements are sometimes affected by random errors, which are difficult or impossible to model. Active sensors include wheel quadrature encoders, ultrasonic sensors, and laser rangefinders.
This post will look at some of the proprioceptive sensors used in mobile robots to measure the internal state of the system, such as motor speed, wheel load, and battery voltage.
Types of proprioceptive sensors
1. Optical encoders
Optical incremental encoders are the most popular sensor for measuring angular speed and position within a motor drive or at the shaft of a steering mechanism. In particular, they are often used to control the speed of the robot’s wheels.
An optical encoder produces a fixed number of wave pulses masked by a fixed grating as the shaft rotates. These pulses are further partially blocked by a rotor disc with a fine optical grid that rotates with the shaft. Then, the pulses that get through are received by the optical receivers for calculating the angular speed of the shaft.
The most common optical coder in mobile robotics is the quadrature encoder. It uses a second illumination and detector pair to produce twin square waves. This approach provides more information without increasing the rotation speed of the rotor disc.
Gyroscopes are heading sensors used to determine the robot’s orientation and inclination. They preserve their orientation concerning a fixed reference frame, providing an absolute measure of the robot’s heading. They can be divided into mechanical, optical, and microelectromechanical systems (MEMS) gyroscopes.
Mechanical gyroscopes utilize a fast-spinning rotor to determine the robot’s heading. They rely on the concept of a wheel’s angular momentum. Angling a fast-spinning wheel around its vertical axis is hard, as the angular momentum tries to keep it stable. This opposing torque can be measured in gyroscopes to figure out the robot’s heading.
Optical gyroscopes have different operating principles. A light beam or laser is emitted into two identical, long optical fiber coils. Depending on the robot’s rotation, the other beam will have a slightly longer path to the end of the coil. This means that the frequencies of these beams also have a slight difference, which can be utilized to figure out the robot’s heading. The principle behind MEMS gyroscopes is similar compared to mechanical gyroscopes. MEMS gyroscopes use a vibrating element that exerts opposing forces against any rotational changes to the system. This force can be used to calculate the robot’s heading.
Accelerometers are used to measure acceleration concerning the robot’s rest pose. They measure all the forces which affect it, including gravity. Physically, an accelerometer is a damped mass based on a spring system. The spring is compressed by the mass based on the acceleration it is experiencing. This compression is used to calculate the acceleration. However, as one accelerometer contains a single spring, it measures acceleration only along a single axis. This is why multiple accelerometers are often used to create an omnidirectional accelerometer.
4. Inertial measurement unit
An inertial measurement unit (IMU) utilizes gyroscopes and accelerometers to estimate a mobile robot’s relative pose, velocity, and acceleration. An IMU estimates the robot pose with six variables: x, y, z, roll, pitch, and yaw. The first three describe the position, while the latter describes the rotation. IMUs often use multiple gyroscopes and accelerometers for measuring omnidirectional orientation and acceleration.
The main problem with IMUs is that they are sensitive to measurement errors in gyroscopes and accelerometers. For instance, drift by the gyroscopes leads to misinterpretation of the robot’s orientation relative to gravity, which causes the gravity vector cancellation to be incorrect. This further causes problem in other estimates as the data are integrated multiple times, resulting in the multiplication of the error.
Due to these reasons, all IMUs eventually start to drift. The measurement values contain a tiny error that is accumulated over time. After a while of operation, the estimates cannot be trusted anymore. To fix this problem, exteroceptive sensors such as cameras or lidars are usually used to verify the position with respect to the environment.