CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

function

RigidBody.stateDerivative

Pure rigid-body vector field shared by simulation and formal analysis

Public declarations

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

RoleNameTypeDimensions / attributes / defaultDescription
inputstateRigidBody.State
inputwrenchRigidBody.Wrench
inputparametersRigidBody.Parameters
outputderivativeRigidBody.StateDerivative

Modelica declarations and implementation

Show parameters, interfaces and source

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

function stateDerivative
  "Pure rigid-body vector field shared by simulation and formal analysis"
  input RigidBody.State state;
  input RigidBody.Wrench wrench;
  input RigidBody.Parameters parameters;
  output RigidBody.StateDerivative derivative;
algorithm
  (derivative.worldPosition,
   derivative.bodyVelocity,
   derivative.attitude,
   derivative.bodyAngularVelocity) := RigidBody.stateDerivativeComponents(
    RigidBody.State(
      worldPosition=state.worldPosition,
      bodyVelocity=state.bodyVelocity,
      attitude=state.attitude,
      bodyAngularVelocity=state.bodyAngularVelocity),
    RigidBody.Wrench(
      bodyForce=wrench.bodyForce,
      bodyTorque=wrench.bodyTorque),
    RigidBody.Parameters(
      mass=parameters.mass,
      gravity=parameters.gravity,
      inertia=parameters.inertia,
      quaternionNormGain=parameters.quaternionNormGain));
end stateDerivative;