Difference between revisions of "Adaptive"

From PaparazziUAV
Jump to navigation Jump to search
(Created page with "Implementation of stabilization adaptive === A === {{Box Code|conf/airframes/myplane.xml| <source lang="xml"> <section name="HORIZONTAL CONTROL" prefix="H_CTL_"> <def...")
 
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Implementation of stabilization adaptive
Implementation of stabilization adaptive


=== A ===


{{Box Code|conf/airframes/myplane.xml|
{{Box Code|conf/airframes/myplane.xml|
<source lang="xml">
<source lang="xml">
  <define name="USE_ANGLE_REF"/>  <!-- USING ATTITUDE REFERENCE GENERATOR -->
  <define name="USE_GYRO_PITCH_RATE" value="TRUE"/> <!--default TRUE-->
<!-- <define name="USE_KFF_UPDATE_ROLL"/> -->
<!-- <define name="USE_KFF_UPDATE_PITCH"/> -->
  <command_laws>
    <set servo="MOTOR_LEFT"  value="@THROTTLE"/>
    <set servo="MOTOR_RIGHT" value="@THROTTLE"/>
    <set servo="ELEVATOR" value="@PITCH"/>
    <let var="roll" value="@ROLL"/>
    <set servo="AILERON_LEFT" value="($roll > 0 ? AILERON_DIFF : 1) * $roll"/>
    <set servo="AILERON_RIGHT" value="($roll > 0 ? 1 : AILERON_DIFF) * $roll"/>
    <set servo="RUDDER" value="@YAW"/> <!-- with yaw damper active -->
    <!-- <set servo="RUDDER" value="@YAW" + @ROLL"/>--> <!-- without yaw damper -->
    <set servo="FLAP_LEFT" value="@CL"/>
    <set servo="FLAP_RIGHT" value="@CL"/>
  </command_laws>
  <section name="AUTO1" prefix="AUTO1_">
    <define name="MAX_ROLL" value="RadOfDeg(60)"/>
    <define name="MAX_PITCH" value="RadOfDeg(30)"/>
    <define name="MAX_YAW_RATE" value="RadOfDeg(100)"/> <!-- rad/s for yaw damper-->
  </section>
   <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
   <section name="HORIZONTAL CONTROL" prefix="H_CTL_">



Latest revision as of 09:48, 3 July 2015

Implementation of stabilization adaptive


File: conf/airframes/myplane.xml
  <define name="USE_ANGLE_REF"/>  <!-- USING ATTITUDE REFERENCE GENERATOR -->
  <define name="USE_GYRO_PITCH_RATE" value="TRUE"/> <!--default TRUE-->
 <!-- <define name="USE_KFF_UPDATE_ROLL"/> -->
 <!-- <define name="USE_KFF_UPDATE_PITCH"/> --> 

  <command_laws>
    <set servo="MOTOR_LEFT"  value="@THROTTLE"/>
    <set servo="MOTOR_RIGHT" value="@THROTTLE"/>
    <set servo="ELEVATOR" value="@PITCH"/>
    <let var="roll" value="@ROLL"/>
    <set servo="AILERON_LEFT" value="($roll > 0 ? AILERON_DIFF : 1) * $roll"/>
    <set servo="AILERON_RIGHT" value="($roll > 0 ? 1 : AILERON_DIFF) * $roll"/>
    <set servo="RUDDER" value="@YAW"/> <!-- with yaw damper active -->
    <!-- <set servo="RUDDER" value="@YAW" + @ROLL"/>--> <!-- without yaw damper -->
    <set servo="FLAP_LEFT" value="@CL"/>
    <set servo="FLAP_RIGHT" value="@CL"/>
  </command_laws>

  <section name="AUTO1" prefix="AUTO1_">
    <define name="MAX_ROLL" value="RadOfDeg(60)"/>
    <define name="MAX_PITCH" value="RadOfDeg(30)"/>
    <define name="MAX_YAW_RATE" value="RadOfDeg(100)"/> <!-- rad/s for yaw damper-->
  </section>

  <section name="HORIZONTAL CONTROL" prefix="H_CTL_">

    <define name="COURSE_PGAIN" value="0.8"/>
    <define name="COURSE_DGAIN" value="0.3"/>

    <define name="ROLL_MAX_SETPOINT" value="50" unit="deg"/>
    <define name="ROLL_ATTITUDE_GAIN" value="7400."/>
    <define name="ROLL_RATE_GAIN" value="200."/>
    <define name="ROLL_IGAIN" value="100."/>
    <define name="ROLL_KFFA" value="1."/>
    <define name="ROLL_KFFD" value="1."/>

    <define name="PITCH_MAX_SETPOINT" value="30" unit="deg"/>
    <define name="PITCH_MIN_SETPOINT" value="-30" unit="deg"/>
    <define name="PITCH_PGAIN" value="8000."/>
    <define name="PITCH_DGAIN" value="0."/>
    <define name="PITCH_IGAIN" value="100."/>
    <define name="PITCH_KFFA" value="1."/>
    <define name="PITCH_KFFD" value="1."/>

    <define name="PITCH_OF_ROLL" value="0.03"/>
    <define name="AILERON_OF_THROTTLE" value="0.0"/>

    <define name="YAW_LOOP" value="TRUE"/>
    <define name="YAW_TRIM_NY" value="TRUE"/>
    <define name="YAW_DGAIN" value="5000."/>
    <define name="YAW_NY_IGAIN" value="5000."/>

    <define name="CL_LOOP" value="TRUE"/>
    <define name="CL_LOOP_USE_AIRSPEED_SETPOINT" value="TRUE"/>
    <define name="CL_LOOP_INCREASE_FLAPS_WITH_LOADFACTOR" value="TRUE"/>
    <define name="CL_FLAPS_STALL" value="0.5"/>
    <define name="CL_FLAPS_NOMINAL" value="0."/>
    <define name="CL_FLAPS_RACE" value="-0.5"/>
    <define name="CL_DEADBAND" value="1."/>