CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

function

RigidBody.stateDerivativeComponents

Array outputs of the pure rigid-body vector field for equation-based models

Public declarations

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

RoleNameTypeDimensions / attributes / defaultDescription
inputstateRigidBody.State
inputwrenchRigidBody.Wrench
inputparametersRigidBody.Parameters
outputworldPositionRateReal[3]
outputbodyVelocityRateReal[3]
outputattitudeRateReal[4]
outputbodyAngularVelocityRateReal[3]

Modelica declarations and implementation

Show parameters, interfaces and source

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

function stateDerivativeComponents
  "Array outputs of the pure rigid-body vector field for equation-based models"
  input RigidBody.State state;
  input RigidBody.Wrench wrench;
  input RigidBody.Parameters parameters;
  output Real worldPositionRate[3];
  output Real bodyVelocityRate[3];
  output Real attitudeRate[4];
  output Real bodyAngularVelocityRate[3];
algorithm
  assert(RigidBody.validParameters(parameters),
    "Rigid-body vector field requires positive mass and symmetric positive-definite inertia");
  worldPositionRate := RigidBody.worldPositionRate(state);
  bodyVelocityRate := RigidBody.bodyVelocityRate(state, wrench, parameters);
  attitudeRate := RigidBody.attitudeRate(state, parameters);
  bodyAngularVelocityRate := RigidBody.bodyAngularVelocityRate(
    state, wrench, parameters);
end stateDerivativeComponents;