Kalman Filter Help: Get Started Estimating Future Location of Mobile Device

AI Thread Summary
The discussion focuses on using the Kalman Filter to estimate the future location of a mobile device based on angle measurements from recent movements. The user seeks guidance on implementing the Kalman Filter, expressing difficulty in understanding existing literature. It is clarified that multiple measurements are necessary for accurate estimation of position, velocity, and acceleration. A mathematical model for 2D movement is provided, detailing how to structure the state transition and measurement equations. The conversation emphasizes the importance of understanding the underlying mathematics to effectively apply the Kalman Filter for location estimation.
lynchtkd
Messages
3
Reaction score
0
Hi all,

I am trying to estimate the future location of a mobile device and I was thinking of using the Kalman Filter to do this. Problem is I don't really know where to start. All the literature I have been reading gets much to advanced to quickly.

What i have is basically, I am measuring the angle between lines (measuring movements at time intervals) so we take a set of recent movements and extrapolate the likely future location of the mobile device.

Can anyone help please.
 
Mathematics news on Phys.org
lynchtkd said:
Hi all,

I am trying to estimate the future location of a mobile device and I was thinking of using the Kalman Filter to do this. Problem is I don't really know where to start. All the literature I have been reading gets much to advanced to quickly.

What i have is basically, I am measuring the angle between lines (measuring movements at time intervals) so we take a set of recent movements and extrapolate the likely future location of the mobile device.

Can anyone help please.
Is the sensor located at the mobile and measures the angles to other objects, or is the sensor located elsewhere and measures angles to the mobile?
In the second case, the system is observable only if the sensor follows an accelerated trajectory.
In order to help you I must have more informations about your system.
 
As the device moves we track its location, with say GPS. At regular intervals we read the location. So for example we have three points A,B,C. We create the lines |AB| and |BC| and measure the angle of change in direction from one line segment to another.

Am I right in thinking that using/implementing a Kalman filter we can use it to estimate the future location of the user?
 
lynchtkd said:
As the device moves we track its location, with say GPS. At regular intervals we read the location. So for example we have three points A,B,C. We create the lines |AB| and |BC| and measure the angle of change in direction from one line segment to another.

Am I right in thinking that using/implementing a Kalman filter we can use it to estimate the future location of the user?
Do you intend to estimate the motion parameters with only 3 measurements? It is not enough. But if you have several measurements at known times, you can use a Kalman filter in order to estimate the correct position (the measurements allways contain errors) as well as velocity and acceleration. Knowing those dynamic parameters you can estimate the future position.
The segments |AB|, |BC| and the angle between them are irrelevant to the use of a Kalman filter.
 
Cheers,

I only gave three points as an example, but using Kalman would be feasible to estimate future location. How would I go about implementing that model given I can know the velocity and acceleration? I have been reading and reading to try and get a greater understanding of the Kalman filter, but if I could get a more grounded example it would help greatly.
 
You can model your 2D movement as:
x_{k+1} = x_k + vx_k T + \frac{1}{2}ax_k T^2 + \nu_x
y_{k+1} = y_k + vy_k T + \frac{1}{2}ay_k T^2 + \nu_y
vx_{k+1} = vx_k + ax_k T + \nu_vx
vy_{k+1} = vy_k + ay_k T + \nu_vy
ax_{k+1} = ax_k + \nu_ax
ay_{k+1} = ay_k + \nu_ay
Or,in matrix form:
\mathbf{x_{k+1}} = \mathbf{\Phi} \mathbf{x_k} + \mathbf{w_k}
Where
\mathbf{x_k} = \left[ \begin{array}{c}<br /> x_k\\vx_k\\ax_k\\y_k\\vy_k\\ay_k<br /> \end{array} \right]
\mathbf{\Phi} = \left[ \begin{array}{cccccc}<br /> 1 &amp; T &amp; \frac{1}{2}T^2 &amp; 0 &amp; 0 &amp; 0\\<br /> 0 &amp; 1 &amp; T &amp; 0 &amp; 0 &amp; 0\\<br /> 0 &amp; 0 &amp; 1 &amp; 0 &amp; 0 &amp; 0\\<br /> 0 &amp; 0 &amp; 0 &amp; 1 &amp; T &amp; \frac{1}{2}T^2\\<br /> 0 &amp; 0 &amp; 0 &amp; 0 &amp; 1 &amp; T\\<br /> 0 &amp; 0 &amp; 0 &amp; 0 &amp; 0 &amp; 1 <br /> \end{array} \right]
\mathbf{w_k}= \left[ \begin{array}{c}<br /> \nu_x\\<br /> \nu_vx\\<br /> \nu_ax\\<br /> \nu_y\\<br /> \nu_vy\\<br /> \nu_ay<br /> \end{array} \right]
\mathbf{w_k} represents the process noise (uncertainties in the movement).
The measurement equation, if I understand correctly is:
\mathbf{z_k} = \left[ \begin{array}{c}<br /> x_k\\y_k<br /> \end{array} \right]
or
\mathbf{z_k} = \mathbf{H} \mathbf{x_k}
with
\mathbf{H} = \left[ \begin{array}{ccccc}<br /> 1 &amp; 0 &amp; 0 &amp; 0 &amp; 0 &amp; 0\\<br /> 0 &amp; 0 &amp; 0 &amp; 1 &amp; 0 &amp; 0<br /> \end{array} \right]
If you know an estimate \mathbf{\hat{x}_{k|k}} of \mathbf{x_k} at the instant t_k and have a measurement \mathbf{z_{k+1}} at instant t_{k+1} , the best estimate \mathbf{\hat{x}_{k+1|k+1}} of \mathbf{x_{k+1}} is given by the Kalman filter:
\mathbf{\hat{x}_{k+1|k+1}} = \mathbf{\hat{x}_{k+1|k}} + \mathbf{K_{k+1}}(\mathbf{z_{k+1}} - \mathbf{H} \mathbf{\hat{x}_{k+1|k}})<br /> with<br /> \mathbf{\hat{x}_{k+1|k}} = \mathbf{\Phi} \mathbf{\hat{x}_{k|k}}<br /> \mathbf{K_{k+1}} = \mathbf{P_{k+1|k}}.\mathbf{H^T} (\mathbf{H} .\mathbf{P_{k+1|k}}.\mathbf{H^T} + \mathbf{R})^{-1}<br /> \mathbf{P_{k+1|k+1}} = (I - \mathbf{K_{k+1}}.\mathbf{H}). \mathbf{P_{k+1|k}}<br /> \mathbf{P_{k+1|k}} = \mathbf{\Phi}.\mathbf{P_{k|k}}.\mathbf{\Phi^T} + \mathbf{Q}<br /> where<br /> \mathbf{\hat{x}_{k|j}} is the best estimate of \mathbf{x_k} given the measurements until the instant t_j.
\mathbf{P_{k|j}} = E[(\mathbf{x_k}-\mathbf{\hat{x}_{k|j}}).(\mathbf{x_k}-\mathbf{\hat{x}_{k|j}})^T]
is the estimation error covariance matrix.
\mathbf{Q} is the process noise covariance matrix
and
\mathbf{R} is the measurement noise covariance matrix.
 
Last edited by a moderator:
Suppose ,instead of the usual x,y coordinate system with an I basis vector along the x -axis and a corresponding j basis vector along the y-axis we instead have a different pair of basis vectors ,call them e and f along their respective axes. I have seen that this is an important subject in maths My question is what physical applications does such a model apply to? I am asking here because I have devoted quite a lot of time in the past to understanding convectors and the dual...
Insights auto threads is broken atm, so I'm manually creating these for new Insight articles. In Dirac’s Principles of Quantum Mechanics published in 1930 he introduced a “convenient notation” he referred to as a “delta function” which he treated as a continuum analog to the discrete Kronecker delta. The Kronecker delta is simply the indexed components of the identity operator in matrix algebra Source: https://www.physicsforums.com/insights/what-exactly-is-diracs-delta-function/ by...

Similar threads

Back
Top