CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

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.

RoleNameTypeDimensions / attributes / defaultDescription
parametertargetAltitude_mReal= 3.0
parameterstraightRouteComponents.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])
outputheadingError_radReal

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;