pyins.filters.run_feedforward_filter

pyins.filters.run_feedforward_filter(trajectory_nominal, trajectory, position_sd, velocity_sd, level_sd, azimuth_sd, gyro_model=None, accel_model=None, measurements=None, increments=None, time_step=0.1, with_altitude=True)

Run navigation filter with feedforward output compensation.

Also known as a linearized Kalman filter. The approach is applicable in practice only for high-end precise INS systems. It can also be used for covariance modelling given an accurate reference trajectory (called trajectory_nominal in the function).

Parameters:
trajectory_nominal, trajectoryTrajectory

Nominal and actually computed trajectories. The nominal trajectory can be set to the computed trajectory (standard practical situation) or to an accurate reference trajectory if available in a modelling scenario (“covariance analysis”). Both trajectories must have exactly the same time index.

position_sdfloat

Initial assumed position standard deviation in meters.

velocity_sdfloat

Initial assumed velocity standard deviation in m/s.

level_sdfloat

Initial assumed roll and pitch standard deviation in degrees.

azimuth_sdfloat

Initial assumed heading standard deviation in degrees.

gyro_model, accel_modelpyins.inertial_sensor.EstimationModel, optional
Sensor models for gyros and accelerometers.

If None (default), default models will be used.

measurementslist of pyins.measurements.Measurement or None, optional

List of measurements. If None (default), will be set to an empty list.

incrementsIncrements or None, optional

IMU increments to be used when gyro or accelerometers scale factor errors or misalignment are modelled. Not necessary otherwise.

time_stepfloat, optional

Time step for covariance and error state propagation. The value typically should not exceed 1 second. Default is 0.1 second.

with_altitudebool, optional

Whether to estimate altitude or vertical velocity. Default is True.

Returns:
Bunch with the following fields:
trajectory, trajectory_sdDataFrame

Estimated trajectory and its error standard deviations. Unlike run_feedback_filter both will contain rows only for time moments when the error vector and covariance are computed (controlled by time_step parameter).

gyro, gyro_sdDataFrame

Estimated gyro model parameters and its standard deviations.

accel, accel_sdDataFrame

Estimated accelerometer model parameters and its standard deviations.

innovationsdict of DataFrame

For each measurement class name contains DataFrame with normalized measurement innovations.