# Estimation of accelerating target using position measurements only

I am currently thinking about approaches to estimating the position and velocity of an accelerating target.

At this time, I have tried a few approaches that work alright. I have tried two variations of Kalman filters, the first where it estimates position and velocity given the following:

• Dynamics: \begin{align} \dot{x} &= v + \eta_1\\ \dot{v} &= \eta_2 \end{align}

• Measurement: $$y = x + \eta_3$$ where $\eta_i$ are noise from a Gaussian distribution.

The other Kalman Filter approach was based on the following:

• Dynamics: \begin{align} \dot{a_1} &= \eta_1\\ \dot{a_2} &= \eta_2 \end{align}

• Measurement: $$y_{i+1} = y_{i}+a_1 \Delta t + a_2 \frac{\Delta t^2}{2}$$

I also implemented a filter using local regression based on the last $N$ position samples in the time series.

All of these filters do fairly well, but I still question if there might be something better. I have tried looking for any papers or lectures on the subject but struggle to find anything worthwhile.

One other thing that coworker and myself discussed was potentially using Euler's Equation for Rigid Body Dynamics to add some constraints into a target's ability to turn too rapidly based on using a ballpark inertia matrix (assuming we're going after a small car).

This obviously makes the dynamics nonlinear and would push us to using something like an Unscented Kalman filter. Does anyone know whether this would be worth it? We suspect it could help our estimate not make any unrealistic jumps that it might otherwise make with the purely linear model, but don't know if this would make a big enough difference.

• Maybe running few models in parallel and fuse them? Feb 16 at 19:03
• @EricJohnson I appreciate the input! This work is now long past but one thing we did was use a gaussian mixture model for the states. The hard part was tuning free parameters. The approach I used was (1) built a distributed optimization tool and (2) constructed an objective function using our high fidelity simulator that would, on input of an instance of the tuning parameters, run monte carlo simulations for a few hundred diverse conditions and spit out a cost related to the performance of those runs. Running this for a day produced better results than hand tuned estimators we used previously. Feb 17 at 18:55

I don't have a really good answer for you, but I can see a possible problem with your second attempt: the value of $a_3$ has the potential to completely blow up the dynamics because it is multiplying $t^3$.

In cases like this, you are better off defining an interval over which you wish to do the estimation, $[T_1,T_2]$ and then choosing well-behaved polynomials on this interval (e.g. the Legendre polynomials, $P_k(x)$) and multiplying them.

That way your measurement becomes $$y(t) = \alpha_1 P_0(x;T_1, T_2) + \alpha_2 P_1(x;T_1, T_2) + \alpha_3 P_2(x;T_1, T_2)$$ where $P_k(\cdot;T_1, T_2)$ is the (scaled) $k^{\rm th}$ order Legendre polynomial: $$P_k(\cdot;T_1, T_2) = \frac{1}{T_2 - T_1} P_k\left( \frac{2t -T_1 - T_2}{T_2 - T_1} \right)$$ where $P_k(\cdot)$ is the standard Legendre polynomial.

I've used the technique in a formulation of the EKF for frequency tracking.

• Good thought! My coworker and I were actually discussing using a different basis potentially that would, in other numerical problems, have a better condition number. How much of an improvement do you see using an alternative basis? I just skimmed your paper and will need to look into it a little more since I don't know La Scala & Bitmead's technique offhand. May 9, 2016 at 14:23
• @choward When we first tried the polynomial coefficient approach, it worked fine for the first few samples and then kept blowing up --- and in general didn't actually succeed very much. The Legendre approach worked much better, though not as well as we'd hoped. The work was a while ago, so I don't recall the details (except what was in the paper!). :-)
– Peter K.
May 9, 2016 at 14:35
• Haha that's interesting. I will have to see if your paper shows the timeframe you're working with. I am working with an upper bound of around 60 seconds, with most timeframes within 30 seconds. I have tried things before like using a non-dimensional time variable scaled using the upper bound timeframe and that helps improve the polynomial basis. I will have to try it with the Legendre polynomials! May 9, 2016 at 14:50