CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

block

Avionics.PartialNavigationEstimator

Stable boundary implemented by interchangeable navigation algorithms

Public declarations

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

RoleNameTypeDimensions / attributes / defaultDescription
parametersamplePeriodReal(unit = "s", min = 1.0e-9) = 0.001
inputresetBoolean

Modelica declarations and implementation

Show parameters, interfaces and source

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

block PartialNavigationEstimator
    "Stable boundary implemented by interchangeable navigation algorithms"
    parameter Real samplePeriod(unit = "s", min = 1.0e-9) = 0.001;
    input Boolean reset;
    Avionics.ImuSampleInput imu;
    Avionics.MocapSampleInput mocap;
    Avionics.GpsSampleInput gps;
    Avionics.MagnetometerSampleInput magnetometer;
    Avionics.BarometerSampleInput barometer;
    Avionics.OpticalFlowSampleInput opticalFlow;
    discrete Avionics.NavigationEstimateOutput estimate(
      valid(start = false, fixed = true),
      timestamp_s(start = 0.0, fixed = true),
      positionWorldEnu_m(each start = 0.0, each fixed = true),
      velocityWorldEnu_m_s(each start = 0.0, each fixed = true),
      accelerationWorldEnu_m_s2(each start = 0.0, each fixed = true),
      quaternionWorldBody(
        start = {1.0, 0.0, 0.0, 0.0}, each fixed = true),
      rotationWorldBody(
        start = [1.0, 0.0, 0.0;
                 0.0, 1.0, 0.0;
                 0.0, 0.0, 1.0], each fixed = true),
      eulerRpy_rad(each start = 0.0, each fixed = true),
      angularVelocityBodyFlu_rad_s(each start = 0.0, each fixed = true),
      angularVelocityWorldEnu_rad_s(each start = 0.0, each fixed = true));
    discrete Avionics.EstimatorStatusOutput status(
      initialized(start = false, fixed = true),
      predictionAccepted(start = false, fixed = true),
      mocapCorrectionAccepted(start = false, fixed = true),
      gpsPositionCorrectionAccepted(start = false, fixed = true),
      gpsVelocityCorrectionAccepted(start = false, fixed = true),
      magnetometerCorrectionAccepted(start = false, fixed = true),
      barometerCorrectionAccepted(start = false, fixed = true),
      terrainCorrectionAccepted(start = false, fixed = true),
      opticalFlowCorrectionAccepted(start = false, fixed = true),
      consecutiveRejectedCorrections(start = 0, fixed = true),
      rejectionElapsed_s(start = 0.0, fixed = true),
      mocapConsecutiveRejections(start = 0, fixed = true),
      gpsConsecutiveRejections(start = 0, fixed = true),
      opticalFlowConsecutiveRejections(start = 0, fixed = true),
      correctionOutcome(start = 0, fixed = true),
      acceptedCorrectionCount(start = 0, fixed = true),
      correctionSource(start = 0, fixed = true),
      recoveryStage(start = 0, fixed = true),
      anchorSource(start = 0, fixed = true),
      imuPayloadHeld(start = false, fixed = true));
  end PartialNavigationEstimator;