function
RigidBody.powerBalanceResidual
Mechanical-energy rate minus wrench supply; zero certifies lossless passivity
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 | derivative | RigidBody.StateDerivative | | |
| input | wrench | RigidBody.Wrench | | |
| input | parameters | RigidBody.Parameters | | |
| output | residual | Real | |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function powerBalanceResidual
"Mechanical-energy rate minus wrench supply; zero certifies lossless passivity"
input RigidBody.State state;
input RigidBody.StateDerivative derivative;
input RigidBody.Wrench wrench;
input RigidBody.Parameters parameters;
output Real residual;
algorithm
residual := parameters.mass * state.bodyVelocity * derivative.bodyVelocity
+ state.bodyAngularVelocity
* (parameters.inertia * derivative.bodyAngularVelocity)
+ parameters.mass * parameters.gravity * derivative.worldPosition[3]
- RigidBody.wrenchPower(state, wrench);
end powerBalanceResidual;