Program Listing for File inertial_functions.hpp
↰ Return to documentation for file (src/navtk/inertial/inertial_functions.hpp)
#pragma once
#include <navtk/aspn.hpp>
#include <navtk/inertial/AidingAltData.hpp>
#include <navtk/navutils/wgs84.hpp>
#include <navtk/tensors.hpp>
namespace navtk {
namespace inertial {
Vector3 calc_force_ned(const Matrix3& C_s_to_n, double dt, const Vector3& dth, const Vector3& dv);
Vector3 calc_force_ned(const aspn_xtensor::MeasurementPositionVelocityAttitude& pva1,
const aspn_xtensor::MeasurementPositionVelocityAttitude& pva2);
Vector3 calc_rot_rate(const Matrix3& C_s_to_n0,
double r_e,
double r_n,
double alt0,
double cos_l,
double dt,
const Vector3& dth,
double sin_l,
double tan_l,
const Vector3& v_ned0,
double omega = navutils::ROTATION_RATE);
Vector3 calc_rot_rate(const aspn_xtensor::MeasurementPositionVelocityAttitude& pva,
double dt,
const Vector3& dth);
// TODO: #690 Implement a more robust alternative which doesn't make a small angle assumption.
Vector3 calc_rot_rate(const aspn_xtensor::MeasurementPositionVelocityAttitude& pva1,
const aspn_xtensor::MeasurementPositionVelocityAttitude& pva2);
double apply_aiding_alt_accel(double r_zero,
Vector3* accel_vector,
AidingAltData* aiding_alt_data,
double alt0,
double dt,
const Vector3& g);
Vector3 calc_force_and_acceleration_offset(double r_e,
double r_n,
double alt0,
double cos_l,
const Vector3& g,
double sec_l,
double sin_l,
const Vector3& v_ned0,
double omega = navutils::ROTATION_RATE);
} // namespace inertial
} // namespace navtk