0.2.0
|
Inertial Navigation Helper Functions. More...
Go to the source code of this file.
Functions | |
template<typename Derived > | |
Derived::Scalar | NAV::calcPitchFromStaticAcceleration (const Eigen::MatrixBase< Derived > &b_accel) |
Calculates the pitch angle from a static acceleration measurement. | |
template<typename Derived > | |
Derived::Scalar | NAV::calcPitchFromVelocity (const Eigen::MatrixBase< Derived > &n_velocity) |
Calculates the Pitch angle from the trajectory defined by the given velocity. | |
template<typename Derived > | |
Derived::Scalar | NAV::calcRollFromStaticAcceleration (const Eigen::MatrixBase< Derived > &b_accel) |
Calculates the roll angle from a static acceleration measurement. | |
template<typename Derived > | |
Derived::Scalar | NAV::calcYawFromVelocity (const Eigen::MatrixBase< Derived > &n_velocity) |
Calculates the Yaw angle from the trajectory defined by the given velocity. | |
template<typename DerivedA , typename DerivedB = DerivedA> | |
Eigen::Vector3< typename DerivedA::Scalar > | NAV::e_calcCentrifugalAcceleration (const Eigen::MatrixBase< DerivedA > &e_position, const Eigen::MatrixBase< DerivedB > &e_omega_ie=InsConst< typename DerivedB::Scalar >::e_omega_ie) |
Calculates the centrifugal acceleration in [m/s^2] (acceleration that makes a body follow a curved path) | |
template<typename DerivedA , typename DerivedB > | |
Eigen::Vector3< typename DerivedA::Scalar > | NAV::e_calcCoriolisAcceleration (const Eigen::MatrixBase< DerivedA > &e_omega_ie, const Eigen::MatrixBase< DerivedB > &e_velocity) |
Calculates the coriolis acceleration in [m/s^2] (acceleration due to motion in rotating reference frame) | |
template<typename DerivedA , typename DerivedB , typename DerivedC > | |
Eigen::Vector3< typename DerivedA::Scalar > | NAV::n_calcCoriolisAcceleration (const Eigen::MatrixBase< DerivedA > &n_omega_ie, const Eigen::MatrixBase< DerivedB > &n_omega_en, const Eigen::MatrixBase< DerivedC > &n_velocity) |
Calculates the coriolis acceleration in [m/s^2] (acceleration due to motion in rotating reference frame) | |
template<typename DerivedA , typename DerivedB > | |
Eigen::Vector3< typename DerivedA::Scalar > | NAV::n_calcTransportRate (const Eigen::MatrixBase< DerivedA > &lla_position, const Eigen::MatrixBase< DerivedB > &n_velocity, const typename DerivedA::Scalar &R_N, const typename DerivedA::Scalar &R_E) |
Calculates the transport rate ω_en_n (rotation rate of the Earth frame relative to the navigation frame) | |
Inertial Navigation Helper Functions.
Derived::Scalar NAV::calcPitchFromStaticAcceleration | ( | const Eigen::MatrixBase< Derived > & | b_accel | ) |
Calculates the pitch angle from a static acceleration measurement.
[in] | b_accel | Acceleration measurement in static condition in [m/s^2] |
Derived::Scalar NAV::calcPitchFromVelocity | ( | const Eigen::MatrixBase< Derived > & | n_velocity | ) |
Calculates the Pitch angle from the trajectory defined by the given velocity.
\begin{equation} \label{eq:eq-INS-Mechanization-Pitch} P = \tan^{-1}\left(\frac{-v_D}{\sqrt{v_N^2 + v_E^2}}\right) \end{equation}
[in] | n_velocity | Velocity in [m/s] in local-navigation frame coordinates |
Derived::Scalar NAV::calcRollFromStaticAcceleration | ( | const Eigen::MatrixBase< Derived > & | b_accel | ) |
Calculates the roll angle from a static acceleration measurement.
[in] | b_accel | Acceleration measurement in static condition in [m/s^2] |
Derived::Scalar NAV::calcYawFromVelocity | ( | const Eigen::MatrixBase< Derived > & | n_velocity | ) |
Calculates the Yaw angle from the trajectory defined by the given velocity.
\begin{equation} \label{eq:eq-INS-Mechanization-Yaw} Y = \tan^{-1}\left(\frac{v_E}{v_N}\right) \end{equation}
[in] | n_velocity | Velocity in [m/s] in local-navigation frame coordinates |
Eigen::Vector3< typename DerivedA::Scalar > NAV::e_calcCentrifugalAcceleration | ( | const Eigen::MatrixBase< DerivedA > & | e_position, |
const Eigen::MatrixBase< DerivedB > & | e_omega_ie = InsConst<typename DerivedB::Scalar>::e_omega_ie ) |
Calculates the centrifugal acceleration in [m/s^2] (acceleration that makes a body follow a curved path)
\begin{equation} \label{eq:eq-INS-Mechanization-CentrifugalAcceleration} \boldsymbol{\omega}_{ie}^e \times [ \boldsymbol{\omega}_{ie}^e \times \mathbf{x}^e ] \end{equation}
[in] | e_position | Position in coordinates in [m] |
[in] | e_omega_ie | Angular rate of the Earth rotation in [rad/s] in the Earth coordinate frame |
Eigen::Vector3< typename DerivedA::Scalar > NAV::e_calcCoriolisAcceleration | ( | const Eigen::MatrixBase< DerivedA > & | e_omega_ie, |
const Eigen::MatrixBase< DerivedB > & | e_velocity ) |
Calculates the coriolis acceleration in [m/s^2] (acceleration due to motion in rotating reference frame)
\begin{equation} \label{eq:eq-INS-Mechanization-CoriolisAcceleration-e} 2 \boldsymbol{\omega}_{ie}^e \times \boldsymbol{v}^e \end{equation}
[in] | e_omega_ie | ω_ie_e Angular rate of the Earth rotation in [rad/s] in ECEF coordinates |
[in] | e_velocity | Velocity in ECEF frame coordinates in [m/s^2] |
Eigen::Vector3< typename DerivedA::Scalar > NAV::n_calcCoriolisAcceleration | ( | const Eigen::MatrixBase< DerivedA > & | n_omega_ie, |
const Eigen::MatrixBase< DerivedB > & | n_omega_en, | ||
const Eigen::MatrixBase< DerivedC > & | n_velocity ) |
Calculates the coriolis acceleration in [m/s^2] (acceleration due to motion in rotating reference frame)
\begin{equation} \label{eq:eq-INS-Mechanization-CoriolisAcceleration} (2 \boldsymbol{\omega}_{ie}^n + \boldsymbol{\omega}_{en}^n) \times \boldsymbol{v}^n \end{equation}
[in] | n_omega_ie | ω_ie_n Angular rate of the Earth rotation in [rad/s] in local-navigation coordinates |
[in] | n_omega_en | ω_en_n Transport rate in [rad/s] in local-navigation coordinates |
[in] | n_velocity | Velocity in local-navigation frame coordinates in [m/s^2] |
Eigen::Vector3< typename DerivedA::Scalar > NAV::n_calcTransportRate | ( | const Eigen::MatrixBase< DerivedA > & | lla_position, |
const Eigen::MatrixBase< DerivedB > & | n_velocity, | ||
const typename DerivedA::Scalar & | R_N, | ||
const typename DerivedA::Scalar & | R_E ) |
Calculates the transport rate ω_en_n (rotation rate of the Earth frame relative to the navigation frame)
\begin{equation} \label{eq:eq-INS-Mechanization-TransportRate} \boldsymbol{\omega}_{en}^n = \begin{bmatrix} \dfrac{v_E}{R_E + h} & \dfrac{-v_N}{R_N + h} & \dfrac{-v_E \tan{\phi}}{R_E + h} \end{bmatrix}^T \end{equation}
[in] | lla_position | [𝜙, λ, h] Latitude, Longitude and altitude in [rad, rad, m] |
[in] | n_velocity | Velocity in [m/s], in navigation coordinate |
[in] | R_N | North/South (meridian) earth radius [m] |
[in] | R_E | East/West (prime vertical) earth radius [m] |