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.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | state | RigidBody.State | | |
| input | wrench | RigidBody.Wrench | | |
| input | parameters | RigidBody.Parameters | | |
| output | derivative | RigidBody.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;