0.4.1
Loading...
Searching...
No Matches
CoordinateFrames.hpp File Reference

Transformation collection. More...

Go to the source code of this file.

Namespaces

namespace  NAV
 
namespace  NAV::trafo
 
namespace  NAV::trafo::internal
 

Functions

template<typename Derived>
Eigen::Quaternion< typename Derived::Scalar > NAV::trafo::b_Quat_n (const Eigen::MatrixBase< Derived > &rollPitchYaw)
 Quaternion for rotations from navigation to body frame.
 
template<typename Scalar>
Eigen::Quaternion< Scalar > NAV::trafo::b_Quat_n (const Scalar &roll, const Scalar &pitch, const Scalar &yaw)
 Quaternion for rotations from navigation to body frame.
 
template<typename Scalar>
Eigen::Quaternion< Scalar > NAV::trafo::b_Quat_p (Scalar mountingAngleX, Scalar mountingAngleY, Scalar mountingAngleZ)
 Quaternion for rotations from platform to body frame.
 
template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 4, 4 > NAV::trafo::covQuat2QuatJacobian (const Eigen::QuaternionBase< Derived > &beta_quat_alpha)
 Calculates the Jacobian to convert an attitude represented in quaternions from one frame into another. Multiply: cov_beta = J * cov_alpha * J^T.
 
template<typename Derived, typename DerivedQ>
Eigen::Matrix3< typename Derived::Scalar > NAV::trafo::covQuat2RPY (const Eigen::MatrixBase< Derived > &covQuat, const Eigen::QuaternionBase< DerivedQ > &n_quat_b)
 Converts a covariance for an attitude represented in quaternion form into a covariance for Euler angels (yaw, pitch, roll)
 
template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 4 > NAV::trafo::covQuat2RPYJacobian (const Eigen::QuaternionBase< Derived > &n_quat_b)
 Calculates the Jacobian to convert an attitude represented in quaternions into a covariance in Euler angels (roll, pitch, yaw)
 
template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 4 > NAV::trafo::covQuatDiffJacobian (const Eigen::QuaternionBase< Derived > &quat)
 Calculates the Jacobian to convert an attitude represented in quaternions into the difference of the vector part of two quaternions.
 
template<typename Derived, typename DerivedQ>
Eigen::Matrix4< typename Derived::Scalar > NAV::trafo::covRPY2quat (const Eigen::MatrixBase< Derived > &covRPY, const Eigen::QuaternionBase< DerivedQ > &n_quat_b)
 Converts a covariance for an attitude represented in Euler angels (roll, pitch, yaw) into a covariance for a quaternion.
 
template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 4, 3 > NAV::trafo::covRPY2quatJacobian (const Eigen::QuaternionBase< Derived > &n_quat_b)
 Calculates the Jacobian to convert an attitude represented in Euler angels (roll, pitch, yaw) into a covariance for a quaternion.
 
template<typename Scalar>
Eigen::Quaternion< Scalar > NAV::trafo::e_Quat_i (Scalar time, Scalar omega_ie=InsConst::omega_ie)
 Quaternion for rotations from inertial to Earth-centered-Earth-fixed frame.
 
template<typename Scalar>
Eigen::Quaternion< Scalar > NAV::trafo::e_Quat_n (const Scalar &latitude, const Scalar &longitude)
 Quaternion for rotations from navigation to Earth-fixed frame.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::trafo::internal::ecef2lla (const Eigen::MatrixBase< Derived > &e_position, double a, double b, double e_squared)
 Converts Earth-centered-Earth-fixed coordinates into latitude, longitude and altitude.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::trafo::ecef2lla_GRS80 (const Eigen::MatrixBase< Derived > &e_position)
 Converts Earth-centered-Earth-fixed coordinates into latitude, longitude and altitude using GRS90.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::trafo::ecef2lla_WGS84 (const Eigen::MatrixBase< Derived > &e_position)
 Converts Earth-centered-Earth-fixed coordinates into latitude, longitude and altitude using WGS84.
 
template<typename DerivedA, typename DerivedB>
Eigen::Vector3< typename DerivedA::Scalar > NAV::trafo::ecef2ned (const Eigen::MatrixBase< DerivedA > &e_position, const Eigen::MatrixBase< DerivedB > &lla_position_ref)
 Converts ECEF coordinates into local NED coordinates.
 
template<typename Scalar>
Eigen::Quaternion< Scalar > NAV::trafo::i_Quat_e (Scalar time, Scalar omega_ie=InsConst::omega_ie)
 Quaternion for rotations from Earth-centered-Earth-fixed to inertial frame.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::trafo::internal::lla2ecef (const Eigen::MatrixBase< Derived > &lla_position, double a, double e_squared)
 Converts latitude, longitude and altitude into Earth-centered-Earth-fixed coordinates.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::trafo::lla2ecef_GRS80 (const Eigen::MatrixBase< Derived > &lla_position)
 Converts latitude, longitude and altitude into Earth-centered-Earth-fixed coordinates using GRS90.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::trafo::lla2ecef_WGS84 (const Eigen::MatrixBase< Derived > &lla_position)
 Converts latitude, longitude and altitude into Earth-centered-Earth-fixed coordinates using WGS84.
 
template<typename Derived>
Eigen::Quaternion< typename Derived::Scalar > NAV::trafo::n_Quat_b (const Eigen::MatrixBase< Derived > &rollPitchYaw)
 Quaternion for rotations from body to navigation frame.
 
template<typename Scalar>
Eigen::Quaternion< Scalar > NAV::trafo::n_Quat_b (Scalar roll, Scalar pitch, Scalar yaw)
 Quaternion for rotations from body to navigation frame.
 
template<typename Scalar>
Eigen::Quaternion< Scalar > NAV::trafo::n_Quat_e (const Scalar &latitude, const Scalar &longitude)
 Quaternion for rotations from Earth-fixed to navigation frame.
 
template<typename DerivedA, typename DerivedB>
Eigen::Vector3< typename DerivedA::Scalar > NAV::trafo::ned2ecef (const Eigen::MatrixBase< DerivedA > &n_position, const Eigen::MatrixBase< DerivedB > &lla_position_ref)
 Converts local NED coordinates into ECEF coordinates.
 
template<typename Scalar>
Eigen::Quaternion< Scalar > NAV::trafo::p_Quat_b (Scalar mountingAngleX, Scalar mountingAngleY, Scalar mountingAngleZ)
 Quaternion for rotations from body to platform frame.
 
template<typename DerivedA, typename DerivedB>
Eigen::Vector3< typename DerivedA::Scalar > NAV::trafo::pz90toWGS84 (const Eigen::MatrixBase< DerivedA > &pz90, const Eigen::MatrixBase< DerivedB > &pz90_pos)
 Converts PZ-90.11 vectors to WGS84 frame.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::trafo::pz90toWGS84_pos (const Eigen::MatrixBase< Derived > &pz90_pos)
 Converts PZ-90.11 coordinates to WGS84 coordinates.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::trafo::quat2eulerZYX (const Eigen::QuaternionBase< Derived > &q)
 Converts the quaternion to Euler rotation angles with rotation sequence ZYX.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::trafo::sph2ecef (const Eigen::MatrixBase< Derived > &position_s, const typename Derived::Scalar &elevation, const typename Derived::Scalar &azimuth)
 Converts spherical Earth-centered-Earth-fixed coordinates into cartesian coordinates.
 

Detailed Description

Transformation collection.

Author
T. Topp (topp@.nosp@m.ins..nosp@m.uni-s.nosp@m.tutt.nosp@m.gart..nosp@m.de)
Date
2020-09-08

Coordinate Frames:

  • Inertial frame (i-frame) O_i: Earth center x_i: Direction to Vernal equinox y_i: In equatorial plane, complementing to Right-Hand-System z_i: Vertical on equatorial plane (North)
  • Earth-centered-Earth-fixed frame (e-frame) O_e: Earth center of mass x_e: Direction to Greenwich meridian (longitude = 0°) y_e: In equatorial plane, complementing to Right-Hand-System z_e: Vertical on equatorial plane (North)
  • Local Navigation frame (n-frame) O_n: Vehicle center of mass x_n: "North" y_n: Right-Hand-System ("East") z_n: Earth center ("Down")
  • Body frame (b-frame) O_b: Vehicle center of mass x_b: Roll-axis ("Forward") y_b: Pitch-axis ("Right") z_b: Yaw-axis ("Down")
  • Platform frame (p-frame) O_b: Center of IMU x_b: X-Axis Accelerometer/Gyrometer y_b: Y-Axis Accelerometer/Gyrometer z_b: Z-Axis Accelerometer/Gyrometer

Definition in file CoordinateFrames.hpp.