template<int STATES>
class ScaledSphericalSimplexSigmaPoints< STATES >
Generates sigma points and weights according to the paper [1] This is very different from Wan and Merwe's formulation.
This only requires N + 2 sigma points instead of 2N + 1 sigma points. Rather than generating sigma points symmetrically around the mean, it generates them as vertices of an N-simplex.
The performance of the filter using this reduced set of sigma points is identical to the standard method, so there is no downside to using it here.
[1] A Scaled Spherical Simplex Filter (S3F) with a decreased n + 2 sigma points set size and equivalent 2n + 1 Unscented Kalman Filter (UKF) accuracy
- Template Parameters
-
| STATES | the dimension of the state. NUM_SIGMAS sigma points and weights will be generated. |
|
| | ScaledSphericalSimplexSigmaPoints (double alpha=0.001, double beta=2) |
|
int | num_sigmas () |
| | Returns the number of sigma points, for simplex sigma points this is N+2.
|
| EMat< STATES, NUM_SIGMAS > | square_root_sigma_points (const EVec< STATES > &x, const EMat< STATES, STATES > &S) |
|
const EVec< NUM_SIGMAS > & | Wm () const |
| | Returns a vector containing the weights of each sigma point for the mean.
|
|
const EVec< NUM_SIGMAS > & | Wc () const |
| | Returns a vector containing the weights of each sigma point for the covariance.
|
| double | Wm (int i) const |
| double | Wc (int i) const |