Beagle Pup experiment

Everything in connection with developing aircraft for FlightGear
bomber
Posts: 1379
Joined: Mon Nov 30, 2015 3:40 pm

Re: Beagle Pup experiment

Postby bomber » Thu Nov 17, 2016 3:42 pm

Well for me the best solution is one in which I only have to write the code once.... If I make the brakes work in JSBsim as I want then they'll work in Outerra, flightgear, a n other sim straight out of the box without having to mess around with the joystick and configure it for every sim I fly.
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchell

bomber
Posts: 1379
Joined: Mon Nov 30, 2015 3:40 pm

Re: Beagle Pup experiment

Postby bomber » Thu Nov 17, 2016 8:36 pm

Ok dumb question here...

on the ask13 and Cessna 172 when I call up the autopilot I get a different graphic to the beagle pup which seems to be a sperry...

why ?

and how can I change it to the same as the Cessna
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchell

sanhozay
Posts: 167
Joined: Fri Sep 25, 2015 5:59 pm

Re: Beagle Pup experiment

Postby sanhozay » Thu Nov 17, 2016 10:16 pm

The Pup didn't have an autopilot as standard but I chose to model the Sperry autopilot that Beagle were fitting to other aircraft. Why? Because it amuses me to do so and I only work on it for my own amusement. ;)

The generic autopilot dialog doesn't work well with this type of primitive turn knob/pitch wheel autopilot so I replaced it with a custom autopilot dialog that mirrors the controls for the Sperry SP3 autopilot in the cockpit. If you want to revert back to the generic autopilot and generic dialog, I think this should work:

1. Remove this line from Nasal/dialog.nas

Code: Select all

gui.Dialog.new("sim/gui/dialogs/autopilot/dialog", "gui/dialogs/sperry.xml");


2. Remove these lines from pup-common.xml, around line 244-247

Code: Select all

<autopilot>
  <path>Systems/autopilot.xml</path>
</autopilot>
<autopilot n="1"/>


3. Delete sperry.xml from gui/dialogs/

For anyone who has never read about Lawrence Sperry, it's well worth it ...

http://fly.historicwings.com/2012/08/ge ... autopilot/

bomber
Posts: 1379
Joined: Mon Nov 30, 2015 3:40 pm

Re: Beagle Pup experiment

Postby bomber » Fri Nov 18, 2016 4:39 pm

Cheers sanhozay I'll see what I can do...
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchell

bomber
Posts: 1379
Joined: Mon Nov 30, 2015 3:40 pm

Re: Beagle Pup experiment

Postby bomber » Fri Nov 18, 2016 5:20 pm

sanhozay, I just spawned your fdm at 10kft 50kts.... the results I'm afraid has your plane a greater death trap than Richards

You might want to look at that for yourself.
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchell

sanhozay
Posts: 167
Joined: Fri Sep 25, 2015 5:59 pm

Re: Beagle Pup experiment

Postby sanhozay » Fri Nov 18, 2016 5:33 pm

It's just a default Aeromatic++ FDM so that's not a great surprise. What happened at 10,000? I'm not sure it really gets up there in real life, not the 100 anyway. You'd certainly need some adjustment of the mixture up there.

bomber
Posts: 1379
Joined: Mon Nov 30, 2015 3:40 pm

Re: Beagle Pup experiment

Postby bomber » Fri Nov 18, 2016 5:39 pm

No I don't turn the engine on, I just use this as an exercise to determine the aerodynamic characteristics..

The plane should go nose down, pick up speed and then it's nose should gently rise as decalage takes place... there should then be a series of gentle oscillations and the plane should settle on a nice glide, even land itself.

It an 'engine off' test...
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchell

sanhozay
Posts: 167
Joined: Fri Sep 25, 2015 5:59 pm

Re: Beagle Pup experiment

Postby sanhozay » Fri Nov 18, 2016 6:46 pm

bomber wrote:The plane should go nose down, pick up speed and then it's nose should gently rise as decalage takes place... there should then be a series of gentle oscillations and the plane should settle on a nice glide, even land itself.

Nose down ... check
Pick up speed ... check
Fall like a brick ... check ;)

So what's likely to be missing from the Aeromatic++ guesswork that means it just falls nose down? I pulled the elevator back a little (-0.1 on controls/flight/elevator) to give it a fighting chance and it did glide quite well.

EDIT: I'll read this ...

http://ideas-inspire.com/basic-aerodyna ... th-lesson/

bomber
Posts: 1379
Joined: Mon Nov 30, 2015 3:40 pm

Re: Beagle Pup experiment

Postby bomber » Fri Nov 18, 2016 8:01 pm

Well what I can never understand is why people don't write their flight models in such a way as to help them...

here replace the total content of your aerodynamics file with this..

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!--
**************************************************************************

Beagle Pup Aerodynamics (JSBSim)

Copyright (c) 2015 Richard Senior

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

**************************************************************************
-->

<aerodynamics>

<!--   LIFT      -->

  <function name="aero/force/Lift_propwash">
      <description>Delta lift due to propeller induced velocity</description>
      <product>
         <property>propulsion/engine[0]/thrust-coefficient</property>
          <property>aero/qbar-psf</property>
          <property>metrics/Sw-sqft</property>
          <table>
            <independentVar lookup="row">aero/alpha-rad</independentVar>
            <independentVar lookup="column">fcs/flap-pos-deg</independentVar>
            <tableData>
                     0.0     60.0
              -0.01  0.000   0.000
               0.00  0.003   0.007
               0.24  0.011   0.028
               0.48  0.000   0.000
            </tableData>
          </table>
      </product>
    </function>
   
    <function name="aero/force/Lift_alpha">
      <description>Lift due to alpha</description>
      <product>
          <property>aero/qbar-psf</property>
          <property>metrics/Sw-sqft</property>
          <table>
            <independentVar lookup="row">aero/alpha-rad</independentVar>
            <tableData>
              -0.20 -0.4365
               0.00  0.2500
               0.23  1.0288
               0.60  0.5615
            </tableData>
          </table>
      </product>
    </function>

    <function name="aero/force/Lift_pitch_rate">
        <description>Lift_due_to_pitch_rate</description>
        <product>
          <property>aero/qbar-psf</property>
          <property>metrics/Sw-sqft</property>
          <property>velocities/q-aero-rad_sec</property>
          <property>aero/ci2vel</property>
          <value> 5.3514 </value>
        </product>
      </function>

      <function name="aero/force/Lift_alpha_rate">
        <description>Lift_due_to_alpha_rate</description>
        <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>aero/alphadot-rad_sec</property>
           <property>aero/ci2vel</property>
           <value> 4.3685 </value>
        </product>
      </function>

    <function name="aero/force/Lift_elevator">
       <description>Lift due to Elevator Deflection</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>fcs/elevator-pos-rad</property>
           <value> 0.3929 </value>
       </product>
    </function>

    <function name="aero/force/Lift_flap">
       <description>Delta Lift due to flaps</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>fcs/flap-pos-deg</property>
           <value> 0.0123 </value>
       </product>
    </function>
      
    <function name="aero/force/LIFT">
       <sum>
           <property>aero/force/Lift_propwash</property>
           <property>aero/force/Lift_alpha</property>
           <property>aero/force/Lift_pitch_rate</property>
           <property>aero/force/Lift_alpha_rate</property>
           <property>aero/force/Lift_elevator</property>
         <property>aero/force/Lift_flap</property>
       </sum>
    </function>
   
<!--   DRAG      -->   
   
    <function name="aero/force/Drag_basic">
       <description>Drag at zero lift</description>
       <product>
          <property>aero/qbar-psf</property>
          <property>metrics/Sw-sqft</property>
          <table>
            <independentVar lookup="row">aero/alpha-rad</independentVar>
            <tableData>
             -1.57    1.5000
             -0.26    0.0294
              0.00    0.0226
              0.26    0.0294
              1.57    1.5000
            </tableData>
          </table>
       </product>
    </function>

    <function name="aero/force/Drag_induced">
       <description>Induced drag</description>
         <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>aero/cl-squared</property>
           <value> 0.0300 </value>
         </product>
    </function>

    <function name="aero/force/Drag_mach">
       <description>Drag due to mach</description>
        <product>
          <property>aero/qbar-psf</property>
          <property>metrics/Sw-sqft</property>
          <table>
            <independentVar lookup="row">velocities/mach</independentVar>
            <tableData>
                0.00    0.0000
                0.70    0.0000
                1.10    0.0230
                1.80    0.0150
            </tableData>
          </table>
        </product>
    </function>

    <function name="aero/force/Drag_beta">
       <description>Drag due to sideslip</description>
       <product>
          <property>aero/qbar-psf</property>
          <property>metrics/Sw-sqft</property>
          <table>
            <independentVar lookup="row">aero/beta-rad</independentVar>
            <tableData>
              -1.57    1.2300
              -0.26    0.0500
               0.00    0.0000
               0.26    0.0500
               1.57    1.2300
            </tableData>
          </table>
       </product>
    </function>

    <function name="aero/force/Drag_elevator">
       <description>Drag due to Elevator Deflection</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <abs><property>fcs/elevator-pos-rad</property></abs>
           <value> 0.0400 </value>
       </product>
    </function>

    <function name="aero/force/Drag_gear">
       <description>Drag due to gear</description>
         <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>gear/gear-pos-norm</property>
           <value> 0.0040 </value>
         </product>
    </function>

    <function name="aero/force/Drag_flap">
       <description>Drag due to flaps</description>
         <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>fcs/flap-pos-deg</property>
           <value> 0.0009 </value>
         </product>
    </function>
   
    <function name="aero/force/DRAG">
       <sum>
           <property>aero/force/Drag_basic</property>
           <property>aero/force/Drag_induced</property>
           <property>aero/force/Drag_mach</property>
           <property>aero/force/Drag_beta</property>
           <property>aero/force/Drag_elevator</property>
         <property>aero/force/Drag_gear</property>
         <property>aero/force/Drag_flap</property>
       </sum>
    </function>
   
    <function name="aero/force/LIFT2DRAG">
       <quotient>
           <property>aero/force/LIFT</property>
           <property>aero/force/DRAG</property>
       </quotient>
    </function>
   
   
   
<!--   SIDE      -->

   <function name="aero/force/Side_beta">
       <description>Side force due to beta</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>aero/beta-rad</property>
           <value> -0.4194 </value>
       </product>
    </function>

    <function name="aero/force/Side_roll_rate">
       <description>Side_force_due_to_roll_rate</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>aero/bi2vel</property>
           <property>velocities/p-aero-rad_sec</property>
           <value> -0.0036 </value>
       </product>
    </function>

    <function name="aero/force/Side_yaw_rate">
       <description>Side_force_due_to_yaw_rate</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>aero/bi2vel</property>
           <property>velocities/r-aero-rad_sec</property>
           <value> 0.3339 </value>
       </product>
    </function>

    <function name="aero/force/Side_rudder">
       <description>Side_force_due_to_rudder</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>fcs/rudder-pos-rad</property>
           <value> 0.2554 </value>
       </product>
    </function>
      
    <function name="aero/force/SIDE">
       <sum>
           <property>aero/force/Side_beta</property>
           <property>aero/force/Side_roll_rate</property>
           <property>aero/force/Side_yaw_rate</property>
           <property>aero/force/Side_rudder</property>
       </sum>
    </function>
   

   <!--   PITCH      -->
   
    <function name="aero/moment/Pitch_propwash">
      <description>Pitch moment due to propeller induced velocity</description>
      <product>
          <property>propulsion/engine[0]/thrust-coefficient</property>
          <property>aero/qbar-psf</property>
          <property>metrics/Sw-sqft</property>
          <property>metrics/bw-ft</property>
          <table>
            <independentVar lookup="row">aero/alpha-rad</independentVar>
            <independentVar lookup="column">fcs/flap-pos-deg</independentVar>
            <tableData>
                     0.0     60.0
              -0.01  0.000   0.000
               0.00 -0.002  -0.004
               0.24 -0.007  -0.018
               0.31  0.000   0.000
            </tableData>
          </table>
      </product>
    </function>

    <function name="aero/moment/Pitch_alpha">
       <description>Pitch moment due to alpha</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/cbarw-ft</property>
           <property>aero/alpha-rad</property>
           <value> -0.0624 </value>
       </product>
    </function>

    <function name="aero/moment/Pitch_elevator">
       <description>Pitch moment due to elevator</description>
       <product>
          <property>aero/qbar-psf</property>
          <property>metrics/Sw-sqft</property>
          <property>metrics/cbarw-ft</property>
          <property>fcs/elevator-pos-rad</property>
          <table>
            <independentVar lookup="row">velocities/mach</independentVar>
            <tableData>
              0.0    -1.6504
              2.0    -0.4126
            </tableData>
          </table>
       </product>
    </function>

    <function name="aero/moment/Pitch_damp">
       <description>Pitch moment due to pitch rate</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/cbarw-ft</property>
           <property>aero/ci2vel</property>
           <property>velocities/q-aero-rad_sec</property>
           <!-- <value> -14.7293 </value> -->
           <value> -42.0 </value>
       </product>
    </function>

    <function name="aero/moment/Pitch_alphadot">
       <description>Pitch moment due to alpha rate</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/cbarw-ft</property>
           <property>aero/ci2vel</property>
           <property>aero/alphadot-rad_sec</property>
           <value> -12.0239 </value>
       </product>
    </function>
   
    <function name="aero/moment/PITCH">
       <sum>
           <property>aero/moment/Pitch_propwash</property>
           <property>aero/moment/Pitch_alpha</property>
           <property>aero/moment/Pitch_elevator</property>
           <property>aero/moment/Pitch_damp</property>
           <property>aero/moment/Pitch_alphadot</property>
       </sum>
    </function>
   

   <!--   ROLL      -->
   
   <function name="aero/moment/Roll_differential_propwash">
       <description>Roll moment due to differential propwash</description>
       <product>
           <property>propulsion/engine[0]/thrust-coefficient</property>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/bw-ft</property>
           <property>aero/alpha-rad</property>
           <value> 0.0052 </value>
       </product>
    </function>

    <function name="aero/moment/Roll_beta">
       <description>Roll moment due to beta</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/bw-ft</property>
           <property>aero/beta-rad</property>
           <value> -0.0882 </value>
       </product>
    </function>

    <function name="aero/moment/Roll_damp">
       <description>Roll moment due to roll rate</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/bw-ft</property>
           <property>aero/bi2vel</property>
           <property>velocities/p-aero-rad_sec</property>
           <value> -0.4743 </value>
       </product>
    </function>

    <function name="aero/moment/Roll_yaw">
       <description>Roll moment due to yaw rate</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/bw-ft</property>
           <property>aero/bi2vel</property>
           <property>velocities/r-aero-rad_sec</property>
           <value> 0.1609 </value>
       </product>
    </function>

    <function name="aero/moment/Roll_aileron">
       <description>Roll moment due to aileron</description>
       <product>
          <property>aero/qbar-psf</property>
          <property>metrics/Sw-sqft</property>
          <property>metrics/bw-ft</property>
          <property>fcs/left-aileron-pos-rad</property>
           <table>
            <independentVar lookup="row">velocities/mach</independentVar>
            <tableData>
              0.0    0.1700
              2.0    0.0425
            </tableData>
          </table>
       </product>
    </function>

    <function name="aero/moment/Roll_rudder">
       <description>Roll moment due to rudder</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/bw-ft</property>
           <property>fcs/rudder-pos-rad</property>
           <value> 0.0100 </value>
       </product>
    </function>
   
    <function name="aero/moment/ROLL">
       <sum>
           <property>aero/moment/Roll_differential_propwash</property>
           <property>aero/moment/Roll_beta</property>
           <property>aero/moment/Roll_damp</property>
           <property>aero/moment/Roll_yaw</property>
           <property>aero/moment/Roll_aileron</property>
           <property>aero/moment/Roll_rudder</property>
       </sum>
    </function>
   
   <!--   YAW      -->

   
    <function name="aero/moment/Yaw_beta">
       <description>Yaw moment due to beta</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/bw-ft</property>
           <property>aero/beta-rad</property>
           <value> 0.1670 </value>
       </product>
    </function>

    <function name="aero/moment/Yaw_rol_rate">
       <description>Yaw_moment_due_to_roll_rate</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/bw-ft</property>
           <property>aero/bi2vel</property>
           <property>velocities/p-rad_sec</property>
           <value> -0.0140 </value>
       </product>
    </function>

    <function name="aero/moment/Yaw_damp">
       <description>Yaw moment due to yaw rate</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/bw-ft</property>
           <property>aero/bi2vel</property>
           <property>velocities/r-aero-rad_sec</property>
           <value> -0.1329 </value>
       </product>
    </function>
    <function name="aero/moment/Yaw_rudder">
       <description>Yaw moment due to rudder</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/bw-ft</property>
           <property>fcs/rudder-pos-rad</property>
           <value> -0.1017 </value>
       </product>
    </function>

    <function name="aero/moment/Yaw_aileron">
       <description>Adverse yaw</description>
       <product>
           <property>aero/qbar-psf</property>
           <property>metrics/Sw-sqft</property>
           <property>metrics/bw-ft</property>
           <property>fcs/left-aileron-pos-rad</property>
           <value> -0.0100 </value>
       </product>
    </function>
   
    <function name="aero/moment/YAW">
       <sum>
           <property>aero/moment/Yaw_beta</property>
           <property>aero/moment/Yaw_rol_rate</property>
           <property>aero/moment/Yaw_damp</property>
           <property>aero/moment/Yaw_rudder</property>
           <property>aero/moment/Yaw_aileron</property>
       </sum>
    </function>

  <axis name="LIFT">

 

  </axis>

  <axis name="DRAG">



  </axis>

  <axis name="SIDE">

 

  </axis>
 
 

  <axis name="PITCH">



  </axis>
 

  <axis name="ROLL">
 

  </axis>
 

  <axis name="YAW">



  </axis>

</aerodynamics>


Now what you've got is the ability to use flightgear as a windtunnel...

set the plane heading at 0
set the wind from 0 and at 75kts
then go have a look at the LIFT, DRAG, SIDE, LIFT2DRAG, PITCH, ROLL & YAW properties...

If I was you I'd swap out your suspension for mine as yours is a bouncy ball... and so your plane can't hold an AoA.

raise the nose gear to -55... which will give you an alpha of 1.8degs...

You'll find your plane has a LIFT of 786.5lbs..... should be 1600lbs
your LIFT2DRAG is 12.47.... too high.

And your PITCH is 275.8 to fly steady it should be zero...

This is the kind of testing every plane should have before it's even taken off the ground.

Regards

Simon
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchell

User avatar
Catalanoic
Posts: 251
Joined: Sat Dec 12, 2015 11:33 am

Re: Beagle Pup experiment

Postby Catalanoic » Fri Nov 18, 2016 9:26 pm

:D


Return to “Aircraft Development”

Who is online

Users browsing this forum: No registered users and 20 guests