CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

model

SLAM.Mapping.RGBDAnchoredLandmarkMap

Public declarations

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

RoleNameTypeDimensions / attributes / defaultDescription
constantimageHeightInteger= 90
constantimageWidthInteger= 160
constantmapCapacityInteger= imageHeight*imageWidth
constantfeatureCapacityInteger= 350
constantkeyframeCapacityInteger= 128
constantdimensionInteger= 3
parametercoordinateLimitReal= 1e6
parametervoxelWidthReal= 0.25
parametermergeRadiusReal= 0.15
parametermaximumDistanceReal= 80.0
parametertentativeLifetimeReal= 0.5
parameterconfirmedLifetimeReal= 5.0
parameterconfirmationObservationsReal= 3.0
parametermaximumConfidenceReal= 8.0
parametermaximumTentativeReal= 700.0
parameterconsistencyToleranceReal= 1e-6
inputpreviousPointReal[mapCapacity,dimension] = zeros(mapCapacity,dimension)
inputpreviousOccupiedReal[mapCapacity] = zeros(mapCapacity)
inputpreviousConfidenceReal[mapCapacity] = zeros(mapCapacity)
inputpreviousLastSeenReal[mapCapacity] = zeros(mapCapacity)
inputpreviousLastFrameReal[mapCapacity] = zeros(mapCapacity)
inputcandidatePointReal[featureCapacity,dimension] = zeros(featureCapacity,dimension)
inputcandidateEnabledReal[featureCapacity] = zeros(featureCapacity)
inputcandidateCountReal= 0.0
inputbodyPositionReal[dimension] = zeros(dimension)
inputposeAcceptedReal= 1.0
inputpreviousTimeReal= 0.0
inputtimeNowReal= 0.0
inputpreviousFrameReal= 0.0
inputframeNowReal= 1.0
inputpreviousWorldFrameReal= 0.0
inputworldFrameReal= 0.0
inputresetRequestedReal= 0.0
inputpreviousLocalPointReal[mapCapacity,dimension] = zeros(mapCapacity,dimension)
inputpreviousAnchorIdInteger[mapCapacity] = fill(0,mapCapacity)
inputpreviousAnchorSlotInteger[mapCapacity] = fill(0,mapCapacity)
inputpreviousGenerationInteger= 1
inputnodeEnabledBoolean[keyframeCapacity] = fill(false,keyframeCapacity)
inputnodeIdInteger[keyframeCapacity] = fill(0,keyframeCapacity)
inputnodePositionReal[keyframeCapacity,dimension] = zeros(keyframeCapacity,dimension)
inputnodeRotationReal[keyframeCapacity,dimension,dimension] = zeros(keyframeCapacity,dimension,dimension)
inputcatalogGenerationInteger= 1
inputgenerationInteger= 1
inputselectedAnchorIdInteger= 0
inputselectedAnchorSlotInteger= 0
inputrequestedBoolean= true
outputpointReal[mapCapacity,dimension]
outputoccupiedReal[mapCapacity]
outputconfidenceReal[mapCapacity]
outputlastSeenReal[mapCapacity]
outputlastFrameReal[mapCapacity]
outputconfirmedReal[mapCapacity]
outputacceptedReal
outputrejectionReasonReal
outputnextTimeReal
outputnextFrameReal
outputnextWorldFrameReal
outputoccupiedCountReal
outputconfirmedCountReal
outputtentativeCountReal
outputinsertedCountReal
outputmergedCountReal
outputprunedCountReal
outputdroppedCountReal
outputinvalidCandidateCountReal
outputlocalPointReal[mapCapacity,dimension]
outputanchorIdInteger[mapCapacity]
outputanchorSlotInteger[mapCapacity]
outputnextGenerationInteger
outputmapRejectionReasonReal
outputanchorRejectionReasonInteger
outputassignedCountInteger
outputretainedCountInteger
outputclearedCountInteger

Modelica declarations and implementation

Show parameters, interfaces and source

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

model RGBDAnchoredLandmarkMap
  import UpdateAnchoredLandmarkMap = SLAM.Mapping.UpdateAnchoredLandmarkMap;

  constant Integer imageHeight = 90; constant Integer imageWidth = 160;
  constant Integer mapCapacity = imageHeight*imageWidth;
  constant Integer featureCapacity = 350; constant Integer keyframeCapacity = 128;
  constant Integer dimension = 3;
  parameter Real coordinateLimit = 1e6; parameter Real voxelWidth = 0.25;
  parameter Real mergeRadius = 0.15; parameter Real maximumDistance = 80.0;
  parameter Real tentativeLifetime = 0.5; parameter Real confirmedLifetime = 5.0;
  parameter Real confirmationObservations = 3.0; parameter Real maximumConfidence = 8.0;
  parameter Real maximumTentative = 700.0; parameter Real consistencyTolerance = 1e-6;
  input Real previousPoint[mapCapacity,dimension] = zeros(mapCapacity,dimension);
  input Real previousOccupied[mapCapacity] = zeros(mapCapacity);
  input Real previousConfidence[mapCapacity] = zeros(mapCapacity);
  input Real previousLastSeen[mapCapacity] = zeros(mapCapacity);
  input Real previousLastFrame[mapCapacity] = zeros(mapCapacity);
  input Real candidatePoint[featureCapacity,dimension] = zeros(featureCapacity,dimension);
  input Real candidateEnabled[featureCapacity] = zeros(featureCapacity); input Real candidateCount = 0.0;
  input Real bodyPosition[dimension] = zeros(dimension); input Real poseAccepted = 1.0;
  input Real previousTime = 0.0; input Real timeNow = 0.0;
  input Real previousFrame = 0.0; input Real frameNow = 1.0;
  input Real previousWorldFrame = 0.0; input Real worldFrame = 0.0; input Real resetRequested = 0.0;
  input Real previousLocalPoint[mapCapacity,dimension] = zeros(mapCapacity,dimension);
  input Integer previousAnchorId[mapCapacity] = fill(0,mapCapacity);
  input Integer previousAnchorSlot[mapCapacity] = fill(0,mapCapacity); input Integer previousGeneration = 1;
  input Boolean nodeEnabled[keyframeCapacity] = fill(false,keyframeCapacity);
  input Integer nodeId[keyframeCapacity] = fill(0,keyframeCapacity);
  input Real nodePosition[keyframeCapacity,dimension] = zeros(keyframeCapacity,dimension);
  input Real nodeRotation[keyframeCapacity,dimension,dimension] = zeros(keyframeCapacity,dimension,dimension);
  input Integer catalogGeneration = 1; input Integer generation = 1;
  input Integer selectedAnchorId = 0; input Integer selectedAnchorSlot = 0; input Boolean requested = true;
  output Real point[mapCapacity,dimension]; output Real occupied[mapCapacity];
  output Real confidence[mapCapacity]; output Real lastSeen[mapCapacity]; output Real lastFrame[mapCapacity];
  output Real confirmed[mapCapacity]; output Real accepted; output Real rejectionReason;
  output Real nextTime; output Real nextFrame; output Real nextWorldFrame;
  output Real occupiedCount; output Real confirmedCount; output Real tentativeCount;
  output Real insertedCount; output Real mergedCount; output Real prunedCount;
  output Real droppedCount; output Real invalidCandidateCount;
  output Real localPoint[mapCapacity,dimension]; output Integer anchorId[mapCapacity];
  output Integer anchorSlot[mapCapacity]; output Integer nextGeneration;
  output Real mapRejectionReason; output Integer anchorRejectionReason;
  output Integer assignedCount; output Integer retainedCount; output Integer clearedCount;
equation
  (point,occupied,confidence,lastSeen,lastFrame,confirmed,accepted,rejectionReason,nextTime,nextFrame,nextWorldFrame,
    occupiedCount,confirmedCount,tentativeCount,insertedCount,mergedCount,prunedCount,droppedCount,invalidCandidateCount,
    localPoint,anchorId,anchorSlot,nextGeneration,mapRejectionReason,anchorRejectionReason,
    assignedCount,retainedCount,clearedCount) = UpdateAnchoredLandmarkMap(
      previousPoint,previousOccupied,previousConfidence,previousLastSeen,previousLastFrame,candidatePoint,candidateEnabled,
      candidateCount,bodyPosition,poseAccepted,previousTime,timeNow,previousFrame,frameNow,previousWorldFrame,worldFrame,resetRequested,
      coordinateLimit,voxelWidth,mergeRadius,maximumDistance,tentativeLifetime,confirmedLifetime,confirmationObservations,
      maximumConfidence,maximumTentative,previousLocalPoint,previousAnchorId,previousAnchorSlot,previousGeneration,
      nodeEnabled,nodeId,nodePosition,nodeRotation,catalogGeneration,generation,selectedAnchorId,selectedAnchorSlot,
      requested,consistencyTolerance);
end RGBDAnchoredLandmarkMap;