navlie.utils.common.MixtureResultList¶
- class navlie.utils.common.MixtureResultList(result_list: List[MixtureResult])¶
Bases:
GaussianResultList
- Parameters:
result_list (List[GaussianResult]) – A list of GaussianResult, intended such that each element corresponds to a different time point
Let
N = len(result_list)
- model_probabilities¶
- static from_estimates(estimate_list: List[MixtureState], state_true_list: List[State], method='nearest')¶
A convenience function that creates a MixtureResultList from a list of MixtureState and a list of true State objects
- Parameters:
estimate_list (List[MixtureState]) – A list of MixtureState objects
state_true_list (List[State]) – A list of true State objects
method ("nearest" or "linear", optional) – The method used to interpolate the true state when the timestamps do not line up exactly, by default “nearest”.
- Returns:
A MixtureResultList object
- Return type:
- stamp¶
timestamp
- Type:
numpy.ndarray with shape (N,)
- error¶
error throughout trajectory
- Type:
numpy.ndarray with shape (N, dof)
- ees¶
EES throughout trajectory
- Type:
numpy.ndarray with shape (N,)
- nees¶
NEES throughout trajectory
- Type:
numpy.ndarray with shape (N,)
- md¶
Mahalanobis distance throughout trajectory
- Type:
numpy.ndarray with shape (N,)
- three_sigma¶
three-sigma bounds
- Type:
numpy.ndarray with shape (N, dof)
- value¶
state value. type depends on implementation
- Type:
numpy.ndarray with shape (N,)
- value_true¶
true state value. type depends on implementation
- Type:
numpy.ndarray with shape (N,)
- dof¶
dof throughout trajectory
- Type:
numpy.ndarray with shape (N,)
- nees_lower_bound(confidence_interval: float)¶
Calculates the NEES lower bound throughout the trajectory.
- Parameters:
confidence_interval (float) – Single-sided cumulative probability threshold that defines the bound. Must be between 0 and 1
- Returns:
NEES value corresponding to confidence interval
- Return type:
numpy.ndarray with shape (N,)
An example of how to make a NEES plot with both upper and lower bounds:
ax.plot(results.stamp, results.nees) ax.plot(results.stamp, results.nees_lower_bound(0.99)) ax.plot(results.stamp, results.nees_upper_bound(0.99))
- nees_upper_bound(confidence_interval: float, double_sided=True)¶
Calculates the NEES upper bound throughout the trajectory
- Parameters:
- Returns:
numpy.ndarray with shape (N,) – NEES value corresponding to confidence interval
An example of how to make a NEES plot with only upper bounds
.. code-block:: python – ax.plot(results.stamp, results.nees) ax.plot(results.stamp, results.nees_upper_bound(0.99, double_sided=False))
- rmse¶
EES throughout trajectory
- Type:
numpy.ndarray with shape (N,)