CogniPilot

MODELICA LIBRARY · ENGINEERING REFERENCE

package

Control.Multirotor.LogLinear.Gains

Hover-linearized continuous-time LQR gains

The default matrix is the continuous-time algebraic-Riccati solution about hover with Q = 8 I, R = I, and g = 9.8 m/s2. It is exposed as a replaceable controller parameter; applications with different dynamics or cost weights should supply their own gain.

Public declarations

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

RoleNameTypeDimensions / attributes / defaultDescription
constantpositionHorizontalReal= -2.775042319292923
constantpositionVerticalReal= -2.786485597992051
constantpositionVelocityHorizontalReal= 0.4285602828231471
constantpositionVelocityVerticalReal= 0.4852813742385701
constantpositionAttitudeCouplingReal= 0.339817907297276
constantvelocityHorizontalReal= -1.9507053321251042
constantvelocityVerticalReal= -2.9555142930282465
constantvelocityAttitudeCouplingReal= 2.2064009963856357
constanttiltReal= -6.801601132247243
constantyawReal= -2.82842712474619
constantfeedbackReal[9, 9] = [ positionHorizontal, 0.0, 0.0, positionVelocityHorizontal, 0.0, 0.0, 0.0, positionAttitudeCoupling, 0.0; 0.0, positionHorizontal, 0.0, 0.0, positionVelocityHorizontal, 0.0, -positionAttitudeCoupling, 0.0, 0.0; 0.0, 0.0, positionVertical, 0.0, 0.0, positionVelocityVertical, 0.0, 0.0, 0.0; positionVelocityHorizontal, 0.0, 0.0, velocityHorizontal, 0.0, 0.0, 0.0, -velocityAttitudeCoupling, 0.0; 0.0, positionVelocityHorizontal, 0.0, 0.0, velocityHorizontal, 0.0, velocityAttitudeCoupling, 0.0, 0.0; 0.0, 0.0, positionVelocityVertical, 0.0, 0.0, velocityVertical, 0.0, 0.0, 0.0; 0.0, -positionAttitudeCoupling, 0.0, 0.0, velocityAttitudeCoupling, 0.0, tilt, 0.0, 0.0; positionAttitudeCoupling, 0.0, 0.0, -velocityAttitudeCoupling, 0.0, 0.0, 0.0, tilt, 0.0; 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, yaw]Gain K for the convention u = K zeta

Modelica declarations and implementation

Show parameters, interfaces and source

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

package Gains "Hover-linearized continuous-time LQR gains"
    constant Real positionHorizontal = -2.775042319292923;
    constant Real positionVertical = -2.786485597992051;
    constant Real positionVelocityHorizontal = 0.4285602828231471;
    constant Real positionVelocityVertical = 0.4852813742385701;
    constant Real positionAttitudeCoupling = 0.339817907297276;
    constant Real velocityHorizontal = -1.9507053321251042;
    constant Real velocityVertical = -2.9555142930282465;
    constant Real velocityAttitudeCoupling = 2.2064009963856357;
    constant Real tilt = -6.801601132247243;
    constant Real yaw = -2.82842712474619;

    constant Real feedback[9, 9] = [
      positionHorizontal, 0.0, 0.0,
        positionVelocityHorizontal, 0.0, 0.0,
        0.0, positionAttitudeCoupling, 0.0;
      0.0, positionHorizontal, 0.0,
        0.0, positionVelocityHorizontal, 0.0,
        -positionAttitudeCoupling, 0.0, 0.0;
      0.0, 0.0, positionVertical,
        0.0, 0.0, positionVelocityVertical,
        0.0, 0.0, 0.0;
      positionVelocityHorizontal, 0.0, 0.0,
        velocityHorizontal, 0.0, 0.0,
        0.0, -velocityAttitudeCoupling, 0.0;
      0.0, positionVelocityHorizontal, 0.0,
        0.0, velocityHorizontal, 0.0,
        velocityAttitudeCoupling, 0.0, 0.0;
      0.0, 0.0, positionVelocityVertical,
        0.0, 0.0, velocityVertical,
        0.0, 0.0, 0.0;
      0.0, -positionAttitudeCoupling, 0.0,
        0.0, velocityAttitudeCoupling, 0.0,
        tilt, 0.0, 0.0;
      positionAttitudeCoupling, 0.0, 0.0,
        -velocityAttitudeCoupling, 0.0, 0.0,
        0.0, tilt, 0.0;
      0.0, 0.0, 0.0,
        0.0, 0.0, 0.0,
        0.0, 0.0, yaw]
      "Gain K for the convention u = K zeta";

    annotation(Documentation(info="<html>
      <p>The default matrix is the continuous-time algebraic-Riccati solution
      about hover with <code>Q = 8 I</code>, <code>R = I</code>, and
      <code>g = 9.8 m/s2</code>. It is exposed as a replaceable controller
      parameter; applications with different dynamics or cost weights should
      supply their own gain.</p>
    </html>"));
  end Gains;