model
Tests.AidingHorizonRefusals.Arm
One buffer, driven, with nothing asserted
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| parameter | samplePeriod | Real | = 0.00125 | |
| parameter | fusionPeriod_s | Real | = 0.01 | |
| parameter | fusionHorizon_s | Real | = 0.02 | |
| parameter | maximumResidualAge_s | Real | = fusionPeriod_s | |
| parameter | maximumSourceDelay_s | Real | = 0.0 | |
| parameter | horizonJitterMargin_s | Real | = 0.0 |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
model Arm "One buffer, driven, with nothing asserted"
parameter Real samplePeriod = 0.00125;
parameter Real fusionPeriod_s = 0.01;
parameter Real fusionHorizon_s = 0.02;
parameter Real maximumResidualAge_s = fusionPeriod_s;
parameter Real maximumSourceDelay_s = 0.0;
parameter Real horizonJitterMargin_s = 0.0;
Real elapsed_s(start = 0.0, fixed = true);
Estimation.FusionHorizon.AidingBuffer buffer(
samplePeriod=samplePeriod,
fusionPeriod_s=fusionPeriod_s,
fusionHorizon_s=fusionHorizon_s,
maximumResidualAge_s=maximumResidualAge_s,
maximumSourceDelay_s=maximumSourceDelay_s,
horizonJitterMargin_s=horizonJitterMargin_s);
equation
der(elapsed_s) = 1.0;
buffer.reset = false;
buffer.horizonValid = false;
buffer.horizonEpoch_s = 0.0;
buffer.horizonReleased = false;
buffer.mocap.valid = false;
buffer.mocap.fresh = false;
buffer.mocap.timestamp_s = time;
buffer.mocap.positionWorldEnu_m = zeros(3);
buffer.mocap.quaternionWorldBody = {1.0, 0.0, 0.0, 0.0};
buffer.mocap.positionCovarianceWorld_m2 = identity(3);
buffer.mocap.attitudeCovarianceBody_rad2 = identity(3);
buffer.gps.valid = false;
buffer.gps.fresh = false;
buffer.gps.positionValid = false;
buffer.gps.velocityValid = false;
buffer.gps.timestamp_s = time;
buffer.gps.geodetic_deg_m = zeros(3);
buffer.gps.positionWorldEnu_m = zeros(3);
buffer.gps.velocityWorldEnu_m_s = zeros(3);
buffer.gps.positionCovarianceWorld_m2 = identity(3);
buffer.gps.velocityCovarianceWorld_m2_s2 = identity(3);
buffer.magnetometer.valid = false;
buffer.magnetometer.fresh = false;
buffer.magnetometer.timestamp_s = time;
buffer.magnetometer.magneticFieldBodyFlu_T = zeros(3);
buffer.magnetometer.covarianceBody_T2 = identity(3);
buffer.barometer.valid = false;
buffer.barometer.fresh = false;
buffer.barometer.timestamp_s = time;
buffer.barometer.altitudeWorldEnu_m = 0.0;
buffer.barometer.variance_m2 = 1.0;
buffer.opticalFlow.valid = false;
buffer.opticalFlow.fresh = false;
buffer.opticalFlow.timestamp_s = time;
buffer.opticalFlow.integratedLineOfSight_rad = zeros(2);
buffer.opticalFlow.integratedLineOfSightCovariance_rad2 = identity(2);
buffer.opticalFlow.integratedGyroscopeBodyFlu_rad = zeros(3);
buffer.opticalFlow.integratedGyroscopeCovariance_rad2 = identity(3);
buffer.opticalFlow.integrationTime_s = 0.01;
buffer.opticalFlow.groundDistance_m = 1.0;
buffer.opticalFlow.groundDistanceVariance_m2 = 0.01;
buffer.opticalFlow.quality = 1.0;
end Arm;