|
gtsam
|
Functor that implements Exponential map and its derivatives Math extends Ethan theme of elegant I + aW + bWW expressions.
See https://www.ethaneade.org/lie.pdf expmap (82) and left Jacobian (83).
Public Member Functions | |
| DexpFunctor (const Vector3 &omega) | |
| Constructor with element of Lie algebra so(3). | |
| DexpFunctor (const Vector3 &omega, double nearZeroThresholdSq, double nearPiThresholdSq) | |
| Constructor with custom thresholds (advanced). | |
| Kernel | Rodrigues () const & |
| Kernel | Jacobian () const & |
| InvJKernel | InvJacobian () const & |
| Kernel | Gamma () const & |
| Matrix3 | rightJacobian () const |
| Matrix3 | leftJacobian () const |
| Vector3 | tangentExpmap (const Vector3 &v, OptionalJacobian< 6, 6 > H={}) const |
| Apply the SO(3) left Jacobian to a tangent vector and optionally compute the complete right-trivialized Jacobian of the lifted [omega; v] exponential. | |
| Vector3 | tangentExpmap (const Vector3 &v, const Matrix3 &rotation, OptionalJacobian< 6, 6 > H={}) const |
| Apply the lifted exponential using a rotation matrix already evaluated from this functor's omega. | |
| double | C () const |
| double | D () const |
| double | E () const |
| double | dA () const |
| double | dB () const |
| double | dC () const |
| double | dE () const |
| Public Member Functions inherited from gtsam::so3::ExpmapFunctor | |
| ExpmapFunctor (const Vector3 &omega) | |
| Constructor with element of Lie algebra so(3). | |
| ExpmapFunctor (double nearZeroThresholdSq, const Vector3 &axis) | |
| Constructor with threshold (advanced). | |
| ExpmapFunctor (const Vector3 &axis, double angle) | |
| Constructor with axis-angle. | |
| Matrix3 | expmap () const |
| Rodrigues formula. | |
Public Attributes | |
| Vector3 | omega |
| The rotation vector. | |
| bool | nearPi {false} |
| Flag indicating if theta is near pi. | |
| Public Attributes inherited from gtsam::so3::ExpmapFunctor | |
| double | theta2 |
| The squared norm of the rotation vector (θ²). | |
| double | theta |
| The norm of the rotation vector (θ). | |
| Matrix3 | W |
| The skew-symmetric matrix Ω for the rotation vector. | |
| Matrix3 | WW |
| The square of the skew-symmetric matrix (Ω²). | |
| bool | nearZero {false} |
| Flag indicating if theta is near zero. | |
| double | A |
| double | B |
Additional Inherited Members | |
| Protected Member Functions inherited from gtsam::so3::ExpmapFunctor | |
| void | init (double nearZeroThresholdSq) |
| Vector3 gtsam::so3::DexpFunctor::tangentExpmap | ( | const Vector3 & | v, |
| const Matrix3 & | rotation, | ||
| OptionalJacobian< 6, 6 > | H = {} ) const |
Apply the lifted exponential using a rotation matrix already evaluated from this functor's omega.
This avoids recomputing Expmap when the caller needs both the group value and the complete tangent Jacobian.
| Vector3 gtsam::so3::DexpFunctor::tangentExpmap | ( | const Vector3 & | v, |
| OptionalJacobian< 6, 6 > | H = {} ) const |
Apply the SO(3) left Jacobian to a tangent vector and optionally compute the complete right-trivialized Jacobian of the lifted [omega; v] exponential.
This is the shared exponential kernel for both SE(3) and TSO(3), whose translational/algebra component is J_l(omega) * v.