model
SLAM.Inertial.ES15SchmidtPrediction
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | position | Real | [3] = zeros(3) | |
| input | velocity | Real | [3] = zeros(3) | |
| input | rotation | Real | [3,3] = identity(3) | |
| input | accelBias | Real | [3] = zeros(3) | |
| input | gyroBias | Real | [3] = zeros(3) | |
| input | covariance | Real | [15,15] | |
| input | crossCovariance | Real | [15,6] | |
| input | referenceCovariance | Real | [6,6] | |
| input | referencePosition | Real | [3] = zeros(3) | |
| input | referenceRotation | Real | [3,3] = identity(3) | |
| input | referenceAvailable | Real | = 0.0 | |
| input | accel | Real | [3] = {0.0,0.0,9.81} | |
| input | gyro | Real | [3] = zeros(3) | |
| input | gravity | Real | [3] = {0.0,0.0,-9.81} | |
| input | h | Real | = 1.0/90.0 | |
| input | density | Real | [12] = {0.06,0.06,0.06,0.006,0.006,0.006,0.002,0.002,0.002,0.0002,0.0002,0.0002} | |
| output | accepted | Real | | |
| output | transition | Real | [15,15] | |
| output | processCovariance | Real | [15,15] | |
| output | nextPosition | Real | [3] | |
| output | nextVelocity | Real | [3] | |
| output | nextRotation | Real | [3,3] | |
| output | nextAccelBias | Real | [3] | |
| output | nextGyroBias | Real | [3] | |
| output | nextCovariance | Real | [15,15] | |
| output | nextCrossCovariance | Real | [15,6] | |
| output | nextReferenceCovariance | Real | [6,6] | |
| output | nextReferencePosition | Real | [3] | |
| output | nextReferenceRotation | Real | [3,3] | |
| output | nextReferenceAvailable | Real | | |
| output | substeps | Integer | | Numerical substeps within this unchanged held measurement |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
model ES15SchmidtPrediction
import ES15PredictHeldInterval = SLAM.Inertial.ES15PredictHeldInterval;
input Real position[3] = zeros(3);
input Real velocity[3] = zeros(3);
input Real rotation[3,3] = identity(3);
input Real accelBias[3] = zeros(3);
input Real gyroBias[3] = zeros(3);
input Real covariance[15,15];
input Real crossCovariance[15,6];
input Real referenceCovariance[6,6];
input Real referencePosition[3] = zeros(3);
input Real referenceRotation[3,3] = identity(3);
input Real referenceAvailable = 0.0;
input Real accel[3] = {0.0,0.0,9.81};
input Real gyro[3] = zeros(3);
input Real gravity[3] = {0.0,0.0,-9.81};
input Real h = 1.0/90.0;
input Real density[12] = {0.06,0.06,0.06,0.006,0.006,0.006,0.002,0.002,0.002,0.0002,0.0002,0.0002};
output Real accepted;
output Real transition[15,15];
output Real processCovariance[15,15];
output Real nextPosition[3];
output Real nextVelocity[3];
output Real nextRotation[3,3];
output Real nextAccelBias[3];
output Real nextGyroBias[3];
output Real nextCovariance[15,15];
output Real nextCrossCovariance[15,6];
output Real nextReferenceCovariance[6,6];
output Real nextReferencePosition[3];
output Real nextReferenceRotation[3,3];
output Real nextReferenceAvailable;
output Integer substeps "Numerical substeps within this unchanged held measurement";
algorithm
(accepted,transition,processCovariance,nextPosition,nextVelocity,nextRotation,
nextCovariance,nextCrossCovariance,substeps) := ES15PredictHeldInterval(
position,velocity,rotation,accelBias,gyroBias,covariance,crossCovariance,
referenceCovariance,referencePosition,referenceRotation,referenceAvailable,
accel,gyro,gravity,h,density);
nextAccelBias := accelBias;
nextGyroBias := gyroBias;
nextReferenceCovariance := referenceCovariance;
nextReferencePosition := referencePosition;
nextReferenceRotation := referenceRotation;
nextReferenceAvailable := referenceAvailable;
end ES15SchmidtPrediction;