CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

function

Estimation.StrapdownINS.ESKF.TickUpdates.OpticalFlowTick

Public declarations

Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.

RoleNameTypeDimensions / attributes / defaultDescription
inputpreviousState
inputtuningTuning
inputgravityWorldEnu_m_s2Real[3]
inputimuTimeReal
inputangularVelocityReal[3]
inputspecificForceReal[3]
inputrequestedBoolean
inputopticalFlowAvionics.OpticalFlowSample
outputnextState
outputacceptedBoolean
outputoutcomeInteger
outputnisReal

Modelica declarations and implementation

Show parameters, interfaces and source

Parameters, inputs, outputs, defaults and equations from the source file.

function OpticalFlowTick
    input State previous;
    input Tuning tuning;
    input Real gravityWorldEnu_m_s2[3];
    input Real imuTime;
    input Real angularVelocity[3];
    input Real specificForce[3];
    input Boolean requested;
    input Avionics.OpticalFlowSample opticalFlow;
    output State next;
    output Boolean accepted;
    output Integer outcome;
    output Real nis;
  algorithm
    accepted := false; outcome := CorrectionNotAttempted; nis := 0.0;
    if requested then
      (next, accepted, outcome, nis) := correctOpticalFlow(previous, opticalFlow,
        tuning.innovationGate, imuTime-opticalFlow.timestamp_s,
        angularVelocity, specificForce, gravityWorldEnu_m_s2,
        tuning.maximumAidingDelay_s, tuning.minimumOpticalFlowQuality,
        tuning.minimumOpticalFlowGroundDistance_m, tuning.useSemiDirectBias);
    else
      next := copyState(previous);
    end if;
  end OpticalFlowTick;