CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

model

SLAM.Mapping.RGBDAnchoredMapCorrection

Public declarations

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

RoleNameTypeDimensions / attributes / defaultDescription
constantmapCapacityInteger= RGBDMapAnchors.mapCapacity
constantkeyframeCapacityInteger= RGBDMapAnchors.keyframeCapacity
constantdimensionInteger= RGBDMapAnchors.dimension
parametercoordinateLimitReal= 1e6
inputpreviousPointReal[mapCapacity,dimension] = zeros(mapCapacity,dimension)
inputpreviousLocalPointReal[mapCapacity,dimension] = zeros(mapCapacity,dimension)
inputpreviousOccupiedReal[mapCapacity] = zeros(mapCapacity)
inputpreviousAnchorIdInteger[mapCapacity] = fill(0,mapCapacity)
inputpreviousAnchorSlotInteger[mapCapacity] = fill(0,mapCapacity)
inputmapGenerationInteger= 1
inputpreviousRevisionInteger= 0
inputnodeEnabledBoolean[keyframeCapacity] = fill(false,keyframeCapacity)
inputnodeIdInteger[keyframeCapacity] = fill(0,keyframeCapacity)
inputnodePositionReal[keyframeCapacity,dimension] = zeros(keyframeCapacity,dimension)
inputnodeRotationReal[keyframeCapacity,dimension,dimension] = zeros(keyframeCapacity,dimension,dimension)
inputgraphGenerationInteger= 1
inputgraphRevisionInteger= 1
inputgraphAcceptedBoolean= false
inputrequestedBoolean= false
outputpointReal[mapCapacity,dimension]
outputlocalPointReal[mapCapacity,dimension]
outputoccupiedReal[mapCapacity]
outputanchorIdInteger[mapCapacity]
outputanchorSlotInteger[mapCapacity]
outputnextRevisionInteger
outputacceptedBoolean
outputrejectionReasonInteger
outputprojectedCountInteger
outputprunedCountInteger

Modelica declarations and implementation

Show parameters, interfaces and source

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

model RGBDAnchoredMapCorrection
  import RGBDMapAnchors = SLAM.Mapping.RGBDMapAnchors;

  constant Integer mapCapacity = RGBDMapAnchors.mapCapacity;
  constant Integer keyframeCapacity = RGBDMapAnchors.keyframeCapacity;
  constant Integer dimension = RGBDMapAnchors.dimension;
  parameter Real coordinateLimit = 1e6;
  input Real previousPoint[mapCapacity,dimension] = zeros(mapCapacity,dimension);
  input Real previousLocalPoint[mapCapacity,dimension] = zeros(mapCapacity,dimension);
  input Real previousOccupied[mapCapacity] = zeros(mapCapacity);
  input Integer previousAnchorId[mapCapacity] = fill(0,mapCapacity);
  input Integer previousAnchorSlot[mapCapacity] = fill(0,mapCapacity);
  input Integer mapGeneration = 1; input Integer previousRevision = 0;
  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 graphGeneration = 1; input Integer graphRevision = 1;
  input Boolean graphAccepted = false; input Boolean requested = false;
  output Real point[mapCapacity,dimension]; output Real localPoint[mapCapacity,dimension];
  output Real occupied[mapCapacity];
  output Integer anchorId[mapCapacity]; output Integer anchorSlot[mapCapacity];
  output Integer nextRevision; output Boolean accepted;
  output Integer rejectionReason; output Integer projectedCount; output Integer prunedCount;
equation
  (point,localPoint,occupied,anchorId,anchorSlot,nextRevision,accepted,rejectionReason,projectedCount,prunedCount) =
    RGBDMapAnchors.Reproject(previousPoint,previousLocalPoint,previousOccupied,previousAnchorId,previousAnchorSlot,
      mapGeneration,previousRevision,nodeEnabled,nodeId,nodePosition,nodeRotation,graphGeneration,graphRevision,
      graphAccepted,requested,coordinateLimit);
end RGBDAnchoredMapCorrection;