model
Vehicles.Cubs2.Test.Scenarios.HeadingHold
Base classes
Vehicles.Cubs2.ClosedLoopVehicle
Follow base classes for inherited declarations; this page lists explicit declarations only.
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| parameter | targetAltitude_m | Real | = 3.0 | |
| parameter | straightRoute | Components.RouteParameters | = Components.RouteParameters(
cruiseSpeed = 4.0,
waypointSwitchingDistance = 3.0,
waypoints = [
0.0, 0.0, targetAltitude_m;
30.0, 0.0, targetAltitude_m;
60.0, 0.0, targetAltitude_m;
90.0, 0.0, targetAltitude_m;
120.0, 0.0, targetAltitude_m;
150.0, 0.0, targetAltitude_m;
180.0, 0.0, targetAltitude_m]) | |
| output | headingError_rad | Real | |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
model HeadingHold
parameter Real targetAltitude_m = 3.0;
parameter Components.RouteParameters straightRoute = Components.RouteParameters(
cruiseSpeed = 4.0,
waypointSwitchingDistance = 3.0,
waypoints = [
0.0, 0.0, targetAltitude_m;
30.0, 0.0, targetAltitude_m;
60.0, 0.0, targetAltitude_m;
90.0, 0.0, targetAltitude_m;
120.0, 0.0, targetAltitude_m;
150.0, 0.0, targetAltitude_m;
180.0, 0.0, targetAltitude_m]);
extends Vehicles.Cubs2.ClosedLoopVehicle(
route = straightRoute,
initialPosition_m = {0.0, 0.0, targetAltitude_m},
initialVelocityBody_m_s = {4.0, 0.0, 0.0},
initialQuaternion = {0.9689124217106447, 0.0, 0.0, -0.24740395925452294},
engaged = true,
armed = true,
stickOverrideActive = false,
stickOverride = zeros(4));
output Real headingError_rad;
equation
headingError_rad = MathUtilities.wrapAngle(setpoints.heading - euler_rad[3]);
end HeadingHold;