Board index FlightGear Development Aircraft Autopilot and route manager

F-86F Sabre Rocks Side to Side between waypoints on autopilo

Designing a stable autopilot is one of the hardest things. Need help?

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Octal450 » Mon Feb 20, 2017 5:38 pm

A: Are you positive it is now using your custom autopilot file?

B: can you paste the PID here inside a [code]
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5601
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Turnit » Tue Feb 21, 2017 5:06 am

Im sure im using the custom autopilot , unless I have done the code wrong.

Here is the autopilot code:
Code: Select all
?xml version="1.0"?>
 
<!-- Generic Autopilot Configuration -->

<!-- Each component is evaluated in the order specified.  You can make up -->
<!-- property names to pass the result of one component on to a subsequent -->
<!-- component. -->


<PropertyList>

  <!-- =============================================================== -->
  <!-- Roll Axis Modes                                                 -->
  <!-- =============================================================== -->

  <!-- Wing leveler -->
  <pid-controller>
    <name>Wing Leveler (Turn Coordinator based)</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>wing-leveler</value>
    </enable>
    <input>
      <prop>/instrumentation/turn-indicator/indicated-turn-rate</prop>
    </input>
    <reference>
      <value>0.0</value>
    </reference>
    <output>
      <prop>/controls/flight/aileron</prop>
    </output>
    <config>
      <Kp>0.001</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>20.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Heading Bug Hold.  2 stage cascade controller. -->

  <!-- Stage #1 sets target roll based on diff between current heading -->
  <!-- and heading bug. -->
  <pid-controller>
    <name>Heading Bug Hold (DG based) Stage 1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>dg-heading-hold</value>
    </enable>
    <input>
      <prop>/autopilot/internal/heading-bug-error-deg</prop>
    </input>
    <reference>
      <value>0.0</value>
    </reference>
    <output>
      <prop>/autopilot/internal/target-roll-deg</prop>
    </output>
    <config>
      <Kp>-1.0</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>     <!-- input value weighing factor -->
      <alpha>0.1</alpha>   <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>   <!-- input value weighing factor for -->
                           <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>     <!-- derivator time -->
      <u_min>-20.0</u_min> <!-- minimum output clamp -->
      <u_max>20.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Stage #2 drives the ailerons to achieve the desired roll deg. -->
  <pid-controller>
    <name>Heading Bug Hold (DG based) Stage 2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>dg-heading-hold</value>
    </enable>
    <input>
      <prop>/orientation/roll-deg</prop>
    </input>
    <reference>
      <prop>/autopilot/internal/target-roll-deg</prop>
    </reference>
    <output>
      <prop>/controls/flight/aileron</prop>
    </output>
    <config>
      <Kp>0.1</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- True Heading hold.  2 stage cascade controller. -->

  <!-- Stage #1 sets target roll based on diff between current heading -->
  <!-- and target heading. -->
  <pid-controller>
    <name>True Heading Hold (DG based) Stage 1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>true-heading-hold</value>
    </enable>
    <input>
      <prop>/autopilot/internal/true-heading-error-deg</prop>
    </input>
    <reference>
      <value>0.0</value>
    </reference>
    <output>
      <prop>/autopilot/internal/target-roll-deg</prop>
    </output>
    <config>
      <Kp>-1.0</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>     <!-- input value weighing factor -->
      <alpha>0.1</alpha>   <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>   <!-- input value weighing factor for -->
                           <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>     <!-- derivator time -->
      <u_min>-20.0</u_min> <!-- minimum output clamp -->
      <u_max>20.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Stage #2 drives the ailerons to achieve the desired roll deg. -->
  <pid-controller>
    <name>True Heading Hold (DG based) Stage 2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>true-heading-hold</value>
    </enable>
    <input>
      <prop>/orientation/roll-deg</prop>
    </input>
    <reference>
      <prop>/autopilot/internal/target-roll-deg</prop>
    </reference>
    <output>
      <prop>/controls/flight/aileron</prop>
    </output>
    <config>
      <Kp>0.1</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Nav1 hold.  2 stage cascade controller. -->

  <!-- Stage #1 sets target roll based on diff between current heading -->
  <!-- and target heading. -->
  <pid-controller>
    <name>Nav1 Hold Stage 1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>nav1-hold</value>
    </enable>
    <input>
      <prop>/autopilot/internal/nav1-heading-error-deg</prop>
    </input>
    <reference>
      <value>0.0</value>
    </reference>
    <output>
      <prop>/autopilot/internal/target-roll-deg</prop>
    </output>
    <config>
      <Kp>-1.0</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>     <!-- input value weighing factor -->
      <alpha>0.1</alpha>   <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>   <!-- input value weighing factor for -->
                           <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>     <!-- derivator time -->
      <u_min>-20.0</u_min> <!-- minimum output clamp -->
      <u_max>20.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Stage #2 drives the ailerons to achieve the desired roll deg. -->
  <pid-controller>
    <name>Nav1 Hold Stage 2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/heading</prop>
      <value>nav1-hold</value>
    </enable>
    <input>
      <prop>/orientation/roll-deg</prop>
    </input>
    <reference>
      <prop>/autopilot/internal/target-roll-deg</prop>
    </reference>
    <output>
      <prop>/controls/flight/aileron</prop>
    </output>
    <config>
      <Kp>0.1</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>


 <!-- =============================================================== -->
 <!-- Pitch Axis Modes                                                -->
 <!-- =============================================================== -->

 <!-- Simple pitch hold -->
 <pid-controller>
    <name>Pitch hold</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>pitch-hold</value>
    </enable>
    <input>
      <prop>/orientation/pitch-deg</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-pitch-deg</prop>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.05</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>1.0</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
   </pid-controller>

 <!-- Simple angle of attack hold -->
 <pid-controller>
    <name>AOA hold</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>aoa-hold</value>
    </enable>
    <input>
      <prop>/orientation/alpha-deg</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-aoa-deg</prop>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.05</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>0.5</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Altitude hold.  2 stage cascade controller. -->

  <!-- Stage #1 sets target rate of climb based on diff between current alt -->
  <!-- and target altitude. -->
  <pi-simple-controller>
    <name>Altitude Hold (Altimeter based) Stage 1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>altitude-hold</value>
    </enable>
    <input>
      <prop>/position/altitude-ft</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-altitude-ft</prop>
    </reference>
    <output>
      <prop>/autopilot/internal/target-climb-rate-fps</prop>
    </output>
    <config>
      <Kp>0.3</Kp>          <!-- proportional gain -->
      <Ki>0.0</Ki>          <!-- integral gain -->
      <u_min>-16.67</u_min> <!-- minimum output clamp -->
      <u_max>8.33</u_max>   <!-- maximum output clamp -->
    </config>
  </pi-simple-controller>

  <!-- Stage #2 drives the elevator-trim to achieve the desired climb rate. -->
  <pid-controller>
    <name>Altitude Hold (Altimeter based) Stage 2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>altitude-hold</value>
    </enable>
    <input>
      <prop>/velocities/vertical-speed-fps</prop>
    </input>
    <reference>
      <prop>/autopilot/internal/target-climb-rate-fps</prop>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.01</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- AGL hold.  2 stage cascade controller. -->

  <!-- Stage #1 sets target rate of climb based on diff between current agl -->
  <!-- and target agl. -->
  <pi-simple-controller>
    <name>AGL Hold (Altimeter based) Stage 1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>agl-hold</value>
    </enable>
    <input>
      <prop>/position/altitude-agl-ft</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-agl-ft</prop>
    </reference>
    <output>
      <prop>/autopilot/internal/target-climb-rate-fps</prop>
    </output>
    <config>
      <Kp>0.3</Kp>          <!-- proportional gain -->
      <Ki>0.0</Ki>          <!-- integral gain -->
      <u_min>-16.67</u_min> <!-- minimum output clamp -->
      <u_max>8.33</u_max>   <!-- maximum output clamp -->
    </config>
  </pi-simple-controller>

  <!-- Stage #2 drives the elevator-trim to achieve the desired climb rate. -->
  <pid-controller>
    <name>AGL Hold (Altimeter based) Stage 2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>agl-hold</value>
    </enable>
    <input>
      <prop>/velocities/vertical-speed-fps</prop>
    </input>
    <reference>
      <prop>/autopilot/internal/target-climb-rate-fps</prop>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.01</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- Glideslope hold. -->

  <!-- Stage #2 drives the elevator-trim to achieve the desired climb rate. -->
  <pid-controller>
    <name>Glideslop Hold</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>gs1-hold</value>
    </enable>
    <input>
      <prop>/velocities/vertical-speed-fps</prop>
    </input>
    <reference>
      <prop>/instrumentation/nav[0]/gs-rate-of-climb</prop>
    </reference>
     <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.01</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

  <!-- vertical speed hold -->
  <pid-controller>
    <name>Vertical Speed Hold</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/altitude</prop>
      <value>vertical-speed-hold</value>
    </enable>
    <input>
      <prop>/velocities/vertical-speed-fps</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/vertical-speed-fpm</prop>
      <scale>0.01667</scale>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.01</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>


 <!-- =============================================================== -->
 <!-- Velocity Modes                                                  -->
 <!-- =============================================================== -->

 <!-- Auto throttle -->
 <pid-controller>
    <name>Auto Throttle (5 sec lookahead)</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/speed</prop>
      <value>speed-with-throttle</value>
    </enable>
    <input>
      <!-- <prop>/autopilot/internal/lookahead-5-sec-airspeed-kt</prop> -->
      <prop>/velocities/airspeed-kt</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-speed-kt</prop>
    </reference>
    <output>
      <prop>/controls/engines/engine[0]/throttle</prop>
      <prop>/controls/engines/engine[1]/throttle</prop>
      <prop>/controls/engines/engine[2]/throttle</prop>
      <prop>/controls/engines/engine[3]/throttle</prop>
      <prop>/controls/engines/engine[4]/throttle</prop>
      <prop>/controls/engines/engine[5]/throttle</prop>
      <prop>/controls/engines/engine[6]/throttle</prop>
      <prop>/controls/engines/engine[7]/throttle</prop>
    </output>
    <config>
      <Kp>0.1</Kp>        <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>10.0</Ti>       <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>0.0</u_min>  <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

 <!-- Hold speed by varying pitch trim (Two stage cascading controller) -->
 <pid-controller>
    <name>Speed hold (vary pitch trim) Stage #1</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/speed</prop>
      <value>speed-with-pitch-trim</value>
    </enable>
    <input>
      <prop>/autopilot/internal/lookahead-5-sec-airspeed-kt</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-speed-kt</prop>
    </reference>
    <output>
      <prop>/autopilot/settings/target-pitch-deg</prop>
    </output>
    <config>
      <Kp>-1.0</Kp>       <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>1.0</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-15.0</u_min><!-- minimum output clamp -->
      <u_max>15.0</u_max> <!-- maximum output clamp -->
    </config>
  </pid-controller>

 <pid-controller>
    <name>Speed hold (vary pitch trim) Stage #2</name>
    <debug>false</debug>
    <enable>
      <prop>/autopilot/locks/speed</prop>
      <value>speed-with-pitch-trim</value>
    </enable>
    <input>
      <prop>/orientation/pitch-deg</prop>
    </input>
    <reference>
      <prop>/autopilot/settings/target-pitch-deg</prop>
    </reference>
    <output>
      <prop>/controls/flight/elevator-trim</prop>
    </output>
    <config>
      <Kp>-0.05</Kp>      <!-- proportional gain -->
      <beta>1.0</beta>    <!-- input value weighing factor -->
      <alpha>0.1</alpha>  <!-- low pass filter weighing factor -->
      <gamma>0.0</gamma>  <!-- input value weighing factor for -->
                          <!-- unfiltered derivative error -->
      <Ti>1.0</Ti>        <!-- integrator time -->
      <Td>0.00001</Td>    <!-- derivator time -->
      <u_min>-1.0</u_min> <!-- minimum output clamp -->
      <u_max>1.0</u_max>  <!-- maximum output clamp -->
    </config>
  </pid-controller>

</PropertyList>
 


Here is the code where I entered the location of the autopilot into the -set file:
<autopilot>
<path>Aircraft/F-86/Systems/autopilot.xml</path>
</autopilot>
Harbor Air Virutal - Launching 11/28/2019
Turnit
 
Posts: 518
Joined: Sun Aug 24, 2014 10:21 pm
Location: Washington State, USA
Callsign: Turnit
Version: 2017.2.1
OS: Windows 8.1

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Octal450 » Tue Feb 21, 2017 2:23 pm

You are only changing the wing leveller now right?

Try a TI of 10 and s Kp of 0.005. Test wing leveller only.
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5601
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Turnit » Tue Feb 21, 2017 4:30 pm

Yes, I have been only changing the kp value of the wing leveler. I'll try what you mentioned today and see what happens.
Harbor Air Virutal - Launching 11/28/2019
Turnit
 
Posts: 518
Joined: Sun Aug 24, 2014 10:21 pm
Location: Washington State, USA
Callsign: Turnit
Version: 2017.2.1
OS: Windows 8.1

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Octal450 » Tue Feb 21, 2017 8:01 pm

Roger.
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5601
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Turnit » Wed Feb 22, 2017 2:15 am

That fix did not do anything to help the problem. I can proceed on with shrinking the kp while keeping that ti value.
Harbor Air Virutal - Launching 11/28/2019
Turnit
 
Posts: 518
Joined: Sun Aug 24, 2014 10:21 pm
Location: Washington State, USA
Callsign: Turnit
Version: 2017.2.1
OS: Windows 8.1

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Octal450 » Wed Feb 22, 2017 4:58 am

Hmm. I feel that either this plane is EXTREMELY SENSITIVE, or there is something else wrong.

Could you upload your aircraft.zip anywhere? I'd like to look at the FDM.
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5601
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby sanhozay » Wed Feb 22, 2017 10:07 am

I guess you could also set the debug to "true" on that controller. If it really is that controller that is running, you'll get masses of output in your console. If there's no output, it's not using that controller when you expect.
sanhozay
 
Posts: 1207
Joined: Thu Dec 26, 2013 12:57 pm
Location: EGNM
Callsign: G-SHOZ
Version: Git
OS: Ubuntu 16.04

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Octal450 » Wed Feb 22, 2017 1:37 pm

^^^^^^^
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5601
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Turnit » Wed Feb 22, 2017 5:06 pm

Okay I will try that.
Harbor Air Virutal - Launching 11/28/2019
Turnit
 
Posts: 518
Joined: Sun Aug 24, 2014 10:21 pm
Location: Washington State, USA
Callsign: Turnit
Version: 2017.2.1
OS: Windows 8.1

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Octal450 » Wed Feb 22, 2017 5:38 pm

OK, I noticed something:


Turnit wrote:Here is the code where I entered the location of the autopilot into the -set file:
<autopilot>
<path>Aircraft/F-86/Systems/autopilot.xml</path>
</autopilot>


That needs to be inside <systems> </systems> and inside <sim> </sim>in the set file.

Example

<sim>

Random stuff like name, description, rating, other stuff etc.

<systems>
<autopilot>
<path>Aircraft/F-86/Systems/autopilot.xml</path>
</autopilot>
</systems>

</sim>
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5601
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Turnit » Wed Feb 22, 2017 6:51 pm

That is inside those, I didn't copy all the code in. If you want it, here it is:
Code: Select all
<?xml version="1.0"?>


<PropertyList>
   <combat>
         <enabled type="bool">false</enabled>
   </combat>
   <hitcount type="float">0.0</hitcount>
 <sim>

  <description>F-86F Sabre</description>
  <author>Detlef Faber</author>
  <status>early production</status>
  <rating>
    <FDM type="int">4</FDM>
    <systems type="int">3</systems>
    <model type="int">4</model>
    <cockpit type="int">4</cockpit>
  </rating>
  <startup>
    <splash-texture>Aircraft/F-86/F86splash.png</splash-texture>
  </startup>
  <flight-model>yasim</flight-model>
  <aero>f86f-yasim</aero>
<!--
  <fuel-fraction>1.0</fuel-fraction>
-->
   <failure-manager>
         <controls>
               <flight>
                     <aileron>
                           <fail-norm type="float">0.0</fail-norm>
                     </aileron>
               </flight>
         </controls>
         <fail-type type="int">0</fail-type>
         <smoking type="bool">false</smoking>
         <burning type="bool">false</burning>
   </failure-manager>
  <systems>
   <electrical>
    <path>Aircraft/Generic/generic-electrical.xml</path>
   </electrical>
   <autopilot>
    <path>Aircraft/F-86/Systems/autopilot.xml</path>
   </autopilot>
</systems>
 
  <virtual-cockpit archive="y">true</virtual-cockpit>
  <allow-toggle-cockpit archive="y">true</allow-toggle-cockpit>

  <sound>
   <path>Aircraft/F-86/Sounds/F-86-sounds.xml</path>
  </sound>

  <submodels>
    <serviceable type="bool">true</serviceable>
    <path>Aircraft/F-86/Models/submodels.xml</path>
  </submodels>
   <armament include="Dialogs/armament.xml">
   </armament>
  <panel>
  <path>Aircraft/Generic/Panels/generic-vfr-panel.xml</path>
  <visibility>false</visibility>
  </panel>

  <model>
      <crew include="Dialogs/crew.xml">
      </crew>
      <livery>
        <name type="string">USAF, 39th FIS (McConnell)</name>
            <texture type="string">Liveries/F-86f/39FIS.jpg</texture>
      </livery>
   <path>Aircraft/F-86/Models/F-86F.xml</path>
  </model>
   <rendering>
      <redout>
         <parameters>
            <blackout-complete-g type="float">7</blackout-complete-g>
            <blackout-onset-g type="float">5</blackout-onset-g>
            <redout-complete-g type="float">-5.5</redout-complete-g>
            <redout-onset-g type="float">-3.5</redout-onset-g>


         </parameters>
      </redout>
   </rendering>
  <view n="0">
   <internal archive="y">true</internal>
   <config>
    <x-offset-m archive="y" type="double">0.0</x-offset-m>
    <y-offset-m archive="y" type="double">0.822</y-offset-m>
    <z-offset-m archive="y" type="double">2.75</z-offset-m>
    <pitch-offset-deg>-7.5</pitch-offset-deg>
   </config>
  </view>

  <view n="1">
   <config>
    <target-z-offset-m archive="y" type="double">4.5</target-z-offset-m>
   </config>
  </view>

  <view n="2">
   <config>
    <target-z-offset-m archive="y" type="double">4.5</target-z-offset-m>
   </config>
  </view>

  <view n="3">
   <config>
    <target-z-offset-m archive="y" type="double">4.5</target-z-offset-m>
   </config>
  </view>

  <view n="4">
   <config>
    <target-z-offset-m archive="y" type="double">4.5</target-z-offset-m>
   </config>
  </view>
  <view n="5">
   <config>
    <target-z-offset-m archive="y" type="double">4.5</target-z-offset-m>
   </config>
  </view>
  <view n="6">
   <config>
    <target-z-offset-m archive="y" type="double">4.5</target-z-offset-m>
   </config>
  </view>
  <view n="7">
   <config>
    <target-z-offset-m archive="y" type="double">4.5</target-z-offset-m>
   </config>
  </view>

  <view n="100">
   <name>Pilot Cam</name>
   <type>lookfrom</type>
   <internal archive="y">true</internal>
    <config>
        <from-model type="bool">true</from-model>
        <from-model-idx type="int">0</from-model-idx>
        <ground-level-nearplane-m type="double">0.01</ground-level-nearplane-m>
        <default-field-of-view-deg type="double">70.0</default-field-of-view-deg>
        <default-pitch-deg type="double">0</default-pitch-deg>
        <default-heading-deg type="double">0</default-heading-deg>
        <front-direction-deg type="double">0</front-direction-deg>
     <x-offset-m archive="y" type="double">-0.2</x-offset-m>
     <y-offset-m archive="y" type="double">0.6</y-offset-m>
     <z-offset-m archive="y" type="double">1.98</z-offset-m>
     <pitch-offset-deg>10</pitch-offset-deg>
       <heading-offset-deg>190</heading-offset-deg>
    </config>
  </view>

 <autopilot>
   <config>
     <min-climb-speed-kt type="float">70.0</min-climb-speed-kt>
     <best-climb-speed-kt type="float">75.0</best-climb-speed-kt>
     <target-climb-rate-fpm type="float">500.0</target-climb-rate-fpm>
     <target-descent-rate-fpm type="float">1000.0</target-descent-rate-fpm>
     <elevator-adj-factor type="float">4000.0</elevator-adj-factor>
     <integral-contribution type="float">0.01</integral-contribution>
     <zero-pitch-throttle type="float">0.45</zero-pitch-throttle>
     <zero-pitch-trim-full-throttle type="float">0.14</zero-pitch-trim-full-throttle>
   </config>
 </autopilot>

  <hud>
   <enable3d>false</enable3d>
  </hud> 

    <help>
    <key>
      <name>Ctrl+b</name>
      <desc>extend/retract Speedbrake</desc>
    </key>
    <key>
      <name>d/D</name>
      <desc>toggle Master Arm on/off</desc>
    </key>
    <key>
      <name>e</name>
      <desc>fire MGs</desc>
    </key>
    <key>
      <name>E</name>
      <desc>release Bombs/Rockets</desc>
    </key>
    <text>---Take Off---
Flaps down 10 degrees, Apply full power. Beware, the Engine takes long time to spool up. Lift Nosegear at 120-130 knots Lift off at about 150 knots.  A high AOA during takeoff is normal. Leading edge slats extend and retract automatically.

---Landing---
Start Approach by opening speedbrakes and slow down. Flaps and Gear can be lowered below 185 kts. Downwind should be at about 170 kts. To ensure enough power for a go around maintain at least 60-70% RPM. Reduce speed further to 135 kts at final. Cut Power when landing is ensured. Don't try a full stall landing because the AOA would be so high that the aft fuselage section would drag.

---Credits---
Many thanks to Gary Brown and Robert Maheu for the default Liveries.</text>
  </help>




  <weight n="0">
      <name>outer left Wing</name>
         <tank>4</tank>
      <weight-lb type="double">0</weight-lb>
      <selected>none</selected>
      <opt><name>none</name><lbs>0</lbs></opt>
      <opt><name>Droptank</name>
            <lbs>150.0</lbs>
               <gals>120</gals>
      </opt>
      <opt>
               <name>Bomb 500 lbs</name>
            <lbs>500.0</lbs>
      </opt>
      <opt>
               <name>Bomb 1000 lbs</name>
            <lbs>500.0</lbs>
      </opt>
  </weight>

  <weight n="1">
      <name>outer right Wing</name>
         <tank>5</tank>
      <weight-lb type="double">0</weight-lb>
      <selected>none</selected>
      <opt><name>none</name><lbs>0</lbs></opt>
      <opt><name>Droptank</name>
      <lbs>150.0</lbs>
         <gals>120</gals>
      </opt>
      <opt>
               <name>Bomb 500 lbs</name>
            <lbs>500.0</lbs>
      </opt>
      <opt>
               <name>Bomb 1000 lbs</name>
            <lbs>500.0</lbs>
      </opt>
  </weight>
  <weight n="2">
      <name>inner left Wing</name>
         <tank>6</tank>
      <weight-lb type="double">0</weight-lb>
      <selected>none</selected>
      <opt><name>none</name><lbs>0</lbs></opt>
      <opt><name>Droptank</name>
      <lbs>150.0</lbs>
         <gals>120</gals>
      </opt>
      <opt>
               <name>Bomb 500 lbs</name>
            <lbs>500.0</lbs>
      </opt>
      <opt>
               <name>Bomb 1000 lbs</name>
            <lbs>500.0</lbs>
      </opt>
  </weight>

  <weight n="3">
      <name>inner right Wing</name>
         <tank>7</tank>
      <weight-lb type="double">0</weight-lb>
      <selected>none</selected>
      <opt><name>none</name><lbs>0</lbs></opt>
      <opt><name>Droptank</name>
      <lbs>150.0</lbs>
         <gals>120</gals>
      </opt>
      <opt>
               <name>Bomb 500 lbs</name>
            <lbs>500.0</lbs>
      </opt>
      <opt>
               <name>Bomb 1000 lbs</name>
            <lbs>500.0</lbs>
      </opt>
  </weight>
   <menubar>
       <default>
       <menu n="10">
            <label>Sabre</label>
            <enabled type="bool">true</enabled>
            <!--
            <item>
           <label>Magically start engine</label>
           <binding>
               <command>nasal</command>
               <script>R2800.magicstart();</script>
           </binding>
            </item>
-->
           <item>
         <label>Configuration</label>
         <binding>
             <command>nasal</command>
             <script>f86.config.open()</script>
         </binding>
          </item>
           <item>
         <label>Payload (only on Ground)</label>
         <binding>
             <command>nasal</command>
             <script><![CDATA[   if (getprop("/velocities/groundspeed-kt") <=0.1) {
                                                f86.payload.open();
                                          }
                           ]]></script>
         </binding>
          </item>
      </menu>
         </default>
   </menubar>
   <multiplay include="Dialogs/multiplay.xml">
   </multiplay>
 </sim>

 <consumables>
  <fuel>
   <tank n="0">
    <name>Internal 1</name>
    <selected type="bool">true</selected>
   </tank>
   <tank n="1">
    <name>Internal 2</name>
    <selected type="bool">true</selected>
   </tank>
   <tank n="2">
    <name>Wing left</name>
    <selected type="bool">true</selected>
   </tank>
   <tank n="3">
    <name>Wing right</name>
    <selected type="bool">true</selected>
   </tank>
   <tank n="4">
    <name>outer Droptank left</name>
    <selected type="bool">false</selected>
      <level-gal_us>120</level-gal_us>
   </tank>
   <tank n="5">
    <name>outer Droptank right</name>
    <selected type="bool">false</selected>
      <level-gal_us>120</level-gal_us>
   </tank>
   <tank n="6">
    <name>inner Droptank left</name>
    <selected type="bool">false</selected>
      <level-gal_us>120</level-gal_us>
   </tank>
   <tank n="7">
    <name>inner Droptank right</name>
    <selected type="bool">false</selected>
      <level-gal_us>120</level-gal_us>
   </tank>
  </fuel>
 </consumables>

 <!-- set prop for the manual "bookmark" arrow on the remote compas -->
 <instrumentation>
    <magnetic-compass>
       <bookmark-heading-deg type="double">43.0</bookmark-heading-deg>
    </magnetic-compass>
 </instrumentation>

 <!-- set up control properties for YASim -->
 <controls>
      <armament>
            <trigger1 type="bool">false</trigger1>
      </armament>
   <engines>

   </engines>
   <gear>
         <gear n="0">
               <gear-down type="bool">true</gear-down>
         </gear>
         <gear n="1">
               <gear-down type="bool">true</gear-down>
         </gear>
         <gear n="2">
               <gear-down type="bool">true</gear-down>
         </gear>
         <brake-parking type="bool">true</brake-parking>
   </gear>
   <canopy>
      <canopy-pos-norm type="float">1.0</canopy-pos-norm>
   </canopy>
 

 </controls>

 <yasim>
   <weights>
     <pilot-lb>210</pilot-lb>
   </weights>
 </yasim>
 <!-- Map Keys -->
 <input>
    <keyboard>
      <key n="67">
        <name>C</name>
        <desc>Toggle Canopy</desc>
        <binding n="0">
          <command>nasal</command>
          <script>f86.toggle_canopy()</script>
        </binding>
      </key>


     <key n="100">
        <name>d</name>
        <desc>Toggle Master Arm on</desc>
        <binding>
          <command>property-adjust</command>
          <property>/controls/armament/master-arm</property>
          <step type="double">1</step>
          <min type="double">0</min>
          <max type="double">1</max>
        </binding>
      </key>
      <key n="68">
        <name>D</name>
        <desc>Toggle Master Arm off</desc>
        <binding>
          <command>property-adjust</command>
          <property>/controls/armament/master-arm</property>
          <step type="double">-1</step>
          <min type="double">0</min>
          <max type="double">1</max>
        </binding>
      </key>
     <key n="101">
        <name>e</name>
        <desc>Fire MG</desc>
        <binding>
            <command>property-toggle</command>
            <property>controls/armament/trigger</property>
        </binding>
        <mod-up>
          <binding>
            <command>property-toggle</command>
            <property>controls/armament/trigger</property>
          </binding>
        </mod-up>
      </key>
      <key n="69">
        <name>E</name>
        <desc>drop Bombs/fire Rockets</desc>
        <binding>
            <command>property-toggle</command>
            <property>controls/armament/trigger1</property>
        </binding>
        <mod-up>
          <binding>
            <command>property-toggle</command>
            <property>controls/armament/trigger1</property>
          </binding>
        </mod-up>
      </key>
     </keyboard>
 </input>

<!-- Nasal files/scripts -->
  <nasal>
    <f86>
      <file>Aircraft/F-86/Nasal/f86f.nas</file>
      <script>ext_slats();</script>
    </f86>
      <livery>
            <file>Aircraft/F-86/Nasal/F-86f_livs.nas</file>
      </livery>
    <chronograph>
      <file>Aircraft/Instruments-3d/chronograph/chronograph.nas</file>
    </chronograph>
      <weapons>
         <file>Aircraft/F-86/Nasal/weapons.nas</file>
      </weapons>
      <hitcheck>
         <file>Aircraft/F-86/Nasal/hitcheck.nas</file>
      </hitcheck>
      <failure>
         <file>Aircraft/F-86/Nasal/failure.nas</file>
      </failure>
      <pilot>
         <file>Aircraft/F-86/Nasal/pilot.nas</file>
      </pilot>
      <gunsight>
         <file>Aircraft/F-86/Models/Instruments/A4Sight/a4sight.nas</file>
      </gunsight>
  </nasal>

</PropertyList>
Harbor Air Virutal - Launching 11/28/2019
Turnit
 
Posts: 518
Joined: Sun Aug 24, 2014 10:21 pm
Location: Washington State, USA
Callsign: Turnit
Version: 2017.2.1
OS: Windows 8.1

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Octal450 » Wed Feb 22, 2017 10:39 pm

Hmm, that's correct. It should work....

Can I see the aircraft in a zip somewhere?
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5601
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Turnit » Thu Feb 23, 2017 12:25 am

Here is a zip including the changes I have done on it so far:
https://www.dropbox.com/s/rslcubvniogs2jr/F-86.zip?dl=0
Harbor Air Virutal - Launching 11/28/2019
Turnit
 
Posts: 518
Joined: Sun Aug 24, 2014 10:21 pm
Location: Washington State, USA
Callsign: Turnit
Version: 2017.2.1
OS: Windows 8.1

Re: F-86F Sabre Rocks Side to Side between waypoints on auto

Postby Octal450 » Wed Mar 15, 2017 8:16 pm

OK I find some time to mess around
I find in the wing leveller a Kp of 0.35 works OK

This FDM is VERY weird. Roll is slowish, and unstable, pitch is really jerky, thrust is no very effective in either increasing or deceasing power.

I suggest fixing the FDM, before trying to tune an AP. The HDG mode seems to work fine.

J
Skillset: JSBsim Flight Dynamics, Systems, Canvas, Autoflight/Control, Instrumentation, Animations
Aircraft: A320-family, MD-11, MD-80, Contribs in a few others

Octal450's GitHub|Launcher Catalog
|Airbus Dev Discord|Octal450 Hangar Dev Discord
User avatar
Octal450
 
Posts: 5601
Joined: Tue Oct 06, 2015 1:51 pm
Location: Huntsville, AL
Callsign: WTF411
Version: next
OS: Windows 11

PreviousNext

Return to Autopilot and route manager

Who is online

Users browsing this forum: No registered users and 0 guests