Difference between revisions of "Adaptive"
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 | ||
{{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."/>
|