Closed NicoMandel closed 7 months ago
Consider using the true value for initialization. To show that performance degradation for the cases when having 2 static landmarks (where it ranges from great to bullshit) is caused by initialization errors, and not due to some mistake in the tracking algorithm. Kind of takes away the time it takes to converge and erors that may appear along the way. Down the line, this could also be used in conjunction with DATMO #9 , where first the object is tracked before it is inserted and its information is used for own location estimation.
may have to be passed down from the simulation
object. This is the only one that has access to the true values still, because others are just models.
Option B: may have to restructure code so that a model gets attached to each object that is created... this would entail a major change to the codebase, so maybe put this on the backburner.
Appears to work with 1344ea5 and 09cf868
True values have to be given in the robot map frame from t=0.
Which means, if the starting pose isn't 0,0,0, then the angle (especially for body frame) will not be correct when calculating frames. Needs an intermediate step to convert between the true
frame and the initial
robot frame estimate
P. Corke code in VehicleBase
odo is calculated from np.linalg.norm(xd)
which comes from the previous state and the current.
Now also implemented in version of EKF_Base
, but only DATMO
and DynamicEKF
derived classes have the methods called get_initial_values
where it is used.
required to pass true_states
through from step
to extend
to get _g_funcs
, so that derived classes can use too.
Reference to issue #19 and #20
Fixed now also for re-running filters from previously recorded experiments.
Currently the motion models holds
vmax
here as initialisation values that get inserted ing()
from the EKF model through the sensor here. It would be beneficial if we would find better values that we could use here.