Function navtk::utils::linear_interp_pva(navtk::not_null<std::shared_ptr<aspn_xtensor::MeasurementPositionVelocityAttitude>>, navtk::not_null<std::shared_ptr<aspn_xtensor::MeasurementPositionVelocityAttitude>>, const aspn_xtensor::TypeTimestamp&)

Function Documentation

not_null<std::shared_ptr<aspn_xtensor::MeasurementPositionVelocityAttitude>> navtk::utils::linear_interp_pva(navtk::not_null<std::shared_ptr<aspn_xtensor::MeasurementPositionVelocityAttitude>> pva1, navtk::not_null<std::shared_ptr<aspn_xtensor::MeasurementPositionVelocityAttitude>> pva2, const aspn_xtensor::TypeTimestamp &t)

Performs linear interpolation between two MeasurementPositionVelocityAttitude records.

Parameters
  • pva1 – First record.

  • pva2 – Second record.

  • t – Time between pva1 and pva2 to interpolate to.

Returns

Approximate pva at time t. If pva1 and pva2 have the same time_validity, a pointer to pva2 is returned. If t is outside of the range between pva1 and pva2 the return value will be a pointer to the nearest of the inputs (constant endpoint extrapolation) with a warning. When interpolation is performed the covariance matrix is not interpolated, but copied directly from the pva input with the latest time.