It is as Described in Title: If the GPS Pos is read after an operation of evasion, pathfinder with start last operation (mow) was starting and taking a possible long time, after that is finished.. gps is updatet and code reacts to a false gps jump/poition shift. Simple Workaround solution in statestimator (worx):
if ((distGPS > 0.3) && (solutionTimeDelta < 350)) { //consider the last available soulution time, pathfinder will raise solutionTimeDelta up to 1000ms and more
But the better way would be: take the actual speed of motor.lineaset into account and calculate the distance the mower could have traveld in the given actual code iteration period.
anyway, all those longpassfilters everywhere should be rewritten to take code iterationtime into account. alot of problems arise with uncertain period times and time based coding with all constants.