CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

function

LieGroups.Analysis.inPrincipalLogDomain

True when an SO(3) matrix stays a requested margin away from the log cut locus

Public declarations

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

RoleNameTypeDimensions / attributes / defaultDescription
inputRReal[3, 3]
inputmarginReal(min=0.0) = 1.0e-6
outputvalidBoolean

Modelica declarations and implementation

Show parameters, interfaces and source

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

function inPrincipalLogDomain
  "True when an SO(3) matrix stays a requested margin away from the log cut locus"
  input Real R[3, 3];
  input Real margin(min=0.0) = 1.0e-6;
  output Boolean valid;
protected
  constant Real pi = 2.0 * asin(1.0);
algorithm
  valid := margin < pi and
    LieGroups.Analysis.rotationAngle(R) < pi - margin;
end inPrincipalLogDomain;