{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Iterative Least Squares for Sensor Fusion"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#format the book\n",
"from __future__ import division, print_function\n",
"%matplotlib inline\n",
"import sys\n",
"sys.path.insert(0, '..');\n",
"sys.path.insert(0, '../kf_book')\n",
"import book_format\n",
"book_format.set_style()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A broad category of use for the Kalman filter is *sensor fusion*. For example, we might have a position sensor and a velocity sensor, and we want to combine the data from both to find an optimal estimate of state. In this section we will discuss a different case, where we have multiple sensors providing the same type of measurement. \n",
"\n",
" The Global Positioning System (GPS) is designed so that at least 6 satellites are in view at any time at any point on the globe. The GPS receiver knows the location of the satellites in the sky relative to the Earth. At each epoch (instant in time) the receiver gets a signal from each satellite from which it can derive the *pseudorange* to the satellite. In more detail, the GPS receiver gets a signal identifying the satellite along with the time stamp of when the signal was transmitted. The GPS satellite has an atomic clock on board so this time stamp is extremely accurate. The signal travels at the speed of light, which is constant in a vacuum, so in theory the GPS should be able to produce an extremely accurate distance measurement to the measurement by measuring how long the signal took to reach the receiver. There are several problems with that. First, the signal is not traveling through a vacuum, but through the atmosphere. The atmosphere causes the signal to bend, so it is not traveling in a straight line. This causes the signal to take longer to reach the receiver than theory suggests. Second, the on board clock on the GPS *receiver* is not very accurate, so deriving an exact time duration is nontrivial. Third, in many environments the signal can bounce off of buildings, trees, and other objects, causing either a longer path or *multipaths*, in which case the receive receives both the original signal from space and the reflected signals. \n",
"\n",
"Let's look at this graphically. I will do this in 2D to make it easier to graph and see, but of course this will generalize to three dimensions. We know the position of each satellite and the range to each (the range is called the *pseudorange*; we will discuss why later). We cannot measure the range exactly, so there is noise associated with the measurement, which I have depicted with the thickness of the lines. Here is an example of four pseudorange readings from four satellites. I positioned them in a configuration which is unlikely for the actual GPS constellation merely to make the intersections easy to visualize. Also, the amount of error shown is not to scale with the distances, again to make it easier to see."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"