block
Tests.SyntheticLandmarkReplay
Synthetic landmark camera qualification entrypoint
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | positionWorld_m | Real | [3] | |
| input | quaternionWorldBody | Real | [4] | |
| input | landmarksWorld_m | Real | [4, 3] | |
| input | rotationBodyCamera | Real | [3, 3] | |
| input | cameraPositionBody_m | Real | [3] | |
| input | intrinsics | Real | [4] | |
| input | imageSize_pixels | Integer | [2] | |
| input | depthRange_m | Real | [2] | |
| input | measurementError | Real | [4, 3] | |
| input | detected | Boolean | [4] | |
| input | available | Boolean | | |
| output | observations | Real | [4, 3] | |
| output | visible | Boolean | [4] | |
| output | grid | Real | [4, 3] | |
| output | defaultObservations | Real | [12, 3] | |
| output | defaultVisible | Boolean | [12] | |
| output | defaultLandmarkIds | Integer | [12] |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
block SyntheticLandmarkReplay "Synthetic landmark camera qualification entrypoint"
input Real positionWorld_m[3];
input Real quaternionWorldBody[4];
input Real landmarksWorld_m[4, 3];
input Real rotationBodyCamera[3, 3];
input Real cameraPositionBody_m[3];
input Real intrinsics[4];
input Integer imageSize_pixels[2];
input Real depthRange_m[2];
input Real measurementError[4, 3];
input Boolean detected[4];
input Boolean available;
output Real observations[4, 3];
output Boolean visible[4];
output Real grid[4, 3];
output Real defaultObservations[12, 3];
output Boolean defaultVisible[12];
output Integer defaultLandmarkIds[12];
protected
SLAM.Simulation.LandmarkCamera defaultCamera(
positionWorld_m={0.0, 0.0, 4.0}, quaternionWorldBody={1.0, 0.0, 0.0, 0.0});
SLAM.Simulation.LandmarkCamera camera(landmarkCount=4,
landmarksWorld_m=landmarksWorld_m, positionWorld_m=positionWorld_m,
quaternionWorldBody=quaternionWorldBody, rotationBodyCamera=rotationBodyCamera,
cameraPositionBody_m=cameraPositionBody_m, intrinsics=intrinsics,
imageSize_pixels=imageSize_pixels, depthRange_m=depthRange_m,
measurementError=measurementError, detected=detected, available=available);
equation
observations = camera.observations;
visible = camera.visible;
defaultObservations = defaultCamera.observations;
defaultVisible = defaultCamera.visible;
defaultLandmarkIds = defaultCamera.landmarkIds;
algorithm
when sample(0.0, 0.1) then
grid := SLAM.Simulation.landmarkGrid(2, 2, 2.0);
end when;
end SyntheticLandmarkReplay;