Positioning System

A positioning system is the combination of sensors and software used to generate and maintain an estimate of a robot's position and/or orientation. Positioning systems can be simple (e.g. tracking linear distance traveled using wheel encoders) or complex (e.g. tracking a robot's 6 degrees of freedom in 3D space by combining measurements from many sensors). Sensor selection is a complex topic and depends on may factors of the robot's design and desired capabilities.

The robot's software communicates with the sensors and determines the position state based on the sensor data. Performance can be greatly improved by applying filtering and sensor fusion techniques to attenuate noise and combine redundant measurements from the various sensors.

Considerations when designing a positioning system include

  • Measured states
  • Desired accuracy
  • Operating environment
  • Budget

Positioning System Theory

Positioning (also called localization) techniques fall into three categories: relative, landmark-based, and absolute.

Relative

Also known as dead reckoning or odometry, relative positioning determines the current position relative to an initial known location based on estimates of speed and heading over time. This approach works well over short distances and is easy to implement. However, odometry techniques tend to accumulate error over time/distance, degrading the accuracy of the position state estimate the longer the robot travels.

When fused with landmark or absolute positioning methods, relative positioning has a stabilizing effect as it mitigates discrete jumps in the position state estimate. The simplicity of relative positioning means that there are few ways for it fail, making it a reliable fallback option in case other components of the positioning system fail.

An example of relative positioning is using counts from wheel encoders to track heading and distance traveled. Wheel slippage and error in encoder count calibration leads to decreased position and heading accuracy over time.

Landmark

Landmark positioning techniques work by identifying features/landmarks in the environment and positioning the robot relative to them. This is analogous to how humans figure out where they are by spotting familiar sights such as buildings.

Generally requires expensive sensors (such as Lidar and depth cameras) and/or processor-intensive software operations (e.g. computer vision). The most common application of this approach is the widely used SLAM algorithm.

Absolute

An external system directly tells the robot its position state. This approach is powerful and is easy to implement on a robot. However, absolute positioning systems will require prior setup and generally have conditions that must be met for them to work properly. Examples: GPS, Marvelmind IPS, RFID.

Example Positioning Systems

List of Commonly Used Sensors