Positioning System

Revision as of 20:51, 14 September 2020 by Brent (talk | contribs) (Changed categories.)

A positioning system is the combination of discipline_support:electrical_and_controls:sensors:sensors and discipline_support:software:1_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 is addressed in detail on these pages:

 * How To Select Parts for an Autonomous Robot
 * Sensor Support

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 discipline_support:electrical_and_controls:sensors:sensors (such as discipline_support:electrical_and_controls:sensors: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, [[[discipline_support:electrical_and_controls:sensors:RFID]].

Example Positioning Systems

List of Commonly Used Sensors

 * Wheel Encoders
 * IMU
 * GPS
 * Lidar
 * Camera
 * discipline_support:electrical_and_controls:sensors:Depth Camera
 * discipline_support:electrical_and_controls:sensors:RFID
 * [[Marvelmind IPS