Add the possibility to set the sampling time of a state model via StateModel::setSamplingTime().
although the user could provide this parameter in the constructor of their custom class inheriting from StateModel, this does not allow changing the sampling time online. Indeed, the state model is tipically moved via a unique_ptr to a bfl predictor which allows accessing the state model via the the getStateModel() method. However, this only exposes the methods of the StateModel interface, not custom methods provided by the user.
Implement method VectorDescription::dof_size() providing the number of degrees of freedom associated to the vector
this might be different from VectorDescription::total_size() in case quaternion components are used
Filtering utilities
Support quaternions components in bfl::sigma_point::sigma_point()
Support quaternions components in bfl::sigma_points::unscented_transform()
Fix bfl::sigma_points::UTWeight constructor such that it uses the number of degrees of freedom of the vector, rather than the total size of the vector, to decide the number of sigma points to be initialized
using the total size would work for Euclidean states but not for quaternion states. Using the degrees of freedom is correct in both cases instead
Change signature of methods bfl::utils::sum_quaternion_rotation_vector(), bfl::utils::diff_quaternion and bfl::utils::mean_quaternion() such that they can support arguments inheriting from Eigen::MatrixBase<T> with different instances of T
Within this PR:
Filtering functions
Add the possibility to set the sampling time of a state model via
StateModel::setSamplingTime()
.Implement method
VectorDescription::dof_size()
providing the number of degrees of freedom associated to the vectorFiltering utilities
bfl::sigma_point::sigma_point()
bfl::sigma_points::unscented_transform()
bfl::sigma_points::UTWeight
constructor such that it uses the number of degrees of freedom of the vector, rather than the total size of the vector, to decide the number of sigma points to be initializedbfl::utils::sum_quaternion_rotation_vector()
,bfl::utils::diff_quaternion
andbfl::utils::mean_quaternion()
such that they can support arguments inheriting fromEigen::MatrixBase<T>
with different instances ofT
Changelog
Changelog has been updated accordingly