EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
UnitQuaternion.h File Reference

The unit quaternion space (decisions.md [unit-quaternion]): UnitQuaternion, an attitude stored in Eigen::Quaternion's own coefficient order with body-frame rotation vectors as its differences, its exponential and logarithm, the closed-form reset Jacobian of [covariance-reset], and map(), which views an attitude block, such as block<Attitude>(space, x) of a state (TagPath.h), as an Eigen::Quaternion without copying it. More...

#include <concepts>
#include <type_traits>
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <EmrysFilter/Core/Forwarding.h>
#include <EmrysFilter/Core/Macros.h>
#include <EmrysFilter/Spaces/Coordinates.h>
#include <EmrysFilter/Spaces/Space.h>

Go to the source code of this file.

Classes

struct  Emrys::UnitQuaternion
 An attitude: a unit quaternion of four coordinates whose differences are three-coordinate rotation vectors in the body frame. More...

Detailed Description

The unit quaternion space (decisions.md [unit-quaternion]): UnitQuaternion, an attitude stored in Eigen::Quaternion's own coefficient order with body-frame rotation vectors as its differences, its exponential and logarithm, the closed-form reset Jacobian of [covariance-reset], and map(), which views an attitude block, such as block<Attitude>(space, x) of a state (TagPath.h), as an Eigen::Quaternion without copying it.

The four coordinates are (x, y, z, w), the order of Eigen::Quaternion::coeffs() and of an Eigen::Map over one, not the (w, x, y, z) of Eigen's four-scalar constructor Quaternion(w, x, y, z). Build a value with UnitQuaternion::identity(), UnitQuaternion::coefficientsOf(q), or by writing through map(). Reset.h describes the covariance reset this space supplies in closed form. Read Indexing.h next.