CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

RigidBody/stateDerivativeComponents.mo

Download original .moGitHub source

Documentation: RigidBody.stateDerivativeComponents

within RigidBody;
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;