Sensor Selection
This is a practical guide to selecting sensors for your project. For each sensor there is a breakdown of what physical parameters the sensor is measuring, the conditions the sensor works best in, and some things the sensor does well and poorly.
Contents
Positioning System Sensors
These sensors are used to generate estimates of the robot’s position state (position, orientation/heading, speed, and/or acceleration).
Wheel Encoders
Rotary encoders are devices that generate electrical pulses as they rotate. The angle or rate of rotation that the encoder is experiencing can be measured by monitoring the number or frequency of the pulses. In robotics, encoders are commonly attached to the robot's drive motors and used to measure the robot's linear speed, angular speed, and distance traveled.
- Measurement: When attached to the drive motors, measures wheel speed. This information can then be used to track the robot’s linear and angular/rotational speed and subsequently the robot’s position and heading by integrating the data over time
- Ideal operating conditions: Robot operating on smooth/even ground where wheels maintain constant rolling contact with no slip.
- Sensor Pros:
- Quite accurate over short time periods/distances
- Works indoors and outdoors, day or night
- Good for mitigating discrete jumps in position and orientation when fused with other sensors
- Great fallback sensor when things go wrong
- Can be used for speed control of the wheels
- Sensor Cons:
- Requires initial calibration between encoder counts and amount of robot movement
- Assumes no slip between robot wheel and ground. An unstable or inconsistent surface beneath the robot can lead to wheel slippage. Skid-steer robots also experience wheel slippage while turning. This causes error in the estimated robot position because the wheel moves but the robot doesn’t.
- Position errors from wheel slippage and imperfect calibration accumulate over time/distance to give a progressively worse position estimate. When used to measure speed instead of position this is less of an issue.
- Additional electronics are often needed to keep track of the encoder counts. However, some motor controllers (such as Roboteq models) have this functionality built-in.
Inertial Measurement Unit (IMU)
The IMU is typically a combination of three sensors: accelerometer, gyroscope, and magnetometer.
- Measurement: Linear acceleration (accelerometer), angular velocity (gyroscope), heading (magnetometer/compass). 3D orientation (roll/pitch/yaw) when values are combined using sensor fusion techniques.
Ideal operating conditions: Can be used in nearly any conditions. Magnetometer needs to avoid EM noise and ferrous materials.
- Sensor Pros:
- Can be used in nearly any conditions – indoor/outdoor, day/night, uneven surfaces. Requires few assumptions to use. This versatility makes the IMU a useful addition to any sensor setup.
- Good for mitigating discrete jumps in position and orientation measurement when fused with other sensors.
- Useful in both 2D and 3D applications.
- Produces a reasonable 3D orientation estimate.
- Acceleration measurements can be integrated to estimate velocity and position. However, these estimates are noisy and will accumulate error over time. Fusing the acceleration data with other sensors is a better approach.
- Very inexpensive. Decent IMUs are available for less than $20.
- Sensor Cons:
- Requires initial calibration
- It is difficult to work directly with raw IMU data due mainly to noise. Filtering algorithms are needed to extract useful information. Higher end IMUs can filter the data before outputting it.
- Gyroscopes are susceptible to drift.
- Magnetometer/compass output is unreliable. Must be corrected based on where it is being used in the world. Even then the compass heading is inaccurate (+-20 degrees or worse). Also vulnerable to external magnetic sources.
GPS
Marvelmind Indoor Positioning System (IPS)
This is a positioning system that uses a set of stationary ultrasonic beacons to track the position of a mobile beacon attached to the robot.
- Measurement: Linear acceleration (accelerometer), angular velocity (gyroscope), heading (magnetometer/compass). 3D orientation (roll/pitch/yaw) when values are combined using sensor fusion techniques.
- Ideal operating conditions: Can be used in nearly any conditions.
- Sensor Pros:
- Directly provides accurate 3D position data (about 1-2” error) with no additional data processing required. This is a big deal since generating reliable position data is one of the main goals of the robot’s positioning system (you still need orientation though).
- No computational load is required from the robot which allows the use of a less powerful microcontroller.
- Despite the name, can be used outdoors.
- Sensor Cons:
- Setup required. Must place stationary beacons beforehand which limits portability of the robot. Marvelmind PC software and stationary beacon self-arrangement algorithm make it so setup isn’t too much of a hassle though.
- Beacons have batteries that must be recharged from time to time.
- Position is subject to discrete jumps. Fusion with encoder or imu measurements helps with this.
- Line of sight requirements are hard to meet in a cluttered environment.
Simple Obstacle Detection Sensors
These sensors are able to detect obstacles at a point, in a line, or in a small cone. Some may also be used as one-dimensional positioning sensors, e.g. to track the distance between the robot and a wall.