I have written a very basic tracking algorithm (using GPS data as input data) in C# 2008 which needs improving (source code attached). The basics of the current algorithm are:
• A fifo of 3D vectors is created.
• When a new gps position is reported, it is added to the head of the fifo.
• The new lookahead position is then generated by linearly extrapolating from the last reported position and the position before that. The distance in front is governed by the lookAheadFactor (controlled by the joystick).
A new tracking algorithm (such as a Kalman filter) needs to be written to more accurately predict the future position of the GPS tag. The current algorithm is not smooth between estimated future positions. Therefore I need a freelancer with a mathematics background with experience in tracking algorithms which they can translate into usable code. If this is not you please do not bid for this job.
I have source data to use for testing and I expect to receive improved tracking results by comparing the old algorithm with the new algorithm (via graphs etc).
The new algorithm should accept parameters just like the current function call:
/// Execute a FIFO add of the newPosition to the position spline
/// New object position
/// Current object position
public void addRxPosition(TV_3DVECTOR newPosition, float lookAheadFactor)
See attached files for current algorithm code