You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
(64) |
May
(260) |
Jun
(65) |
Jul
(28) |
Aug
(13) |
Sep
(46) |
Oct
(55) |
Nov
(25) |
Dec
(57) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(97) |
Feb
(13) |
Mar
(90) |
Apr
(25) |
May
(97) |
Jun
(124) |
Jul
(39) |
Aug
(16) |
Sep
(62) |
Oct
(13) |
Nov
(32) |
Dec
(258) |
2006 |
Jan
(87) |
Feb
(67) |
Mar
(27) |
Apr
(19) |
May
(42) |
Jun
(12) |
Jul
(31) |
Aug
(51) |
Sep
(7) |
Oct
(4) |
Nov
(27) |
Dec
(6) |
2007 |
Jan
(23) |
Feb
(41) |
Mar
(6) |
Apr
(14) |
May
(31) |
Jun
(6) |
Jul
(9) |
Aug
(13) |
Sep
(41) |
Oct
(26) |
Nov
(13) |
Dec
(11) |
2008 |
Jan
(75) |
Feb
(24) |
Mar
(32) |
Apr
(103) |
May
(49) |
Jun
(15) |
Jul
(45) |
Aug
(61) |
Sep
(6) |
Oct
(12) |
Nov
(18) |
Dec
(32) |
2009 |
Jan
(77) |
Feb
(33) |
Mar
(33) |
Apr
(19) |
May
(52) |
Jun
(43) |
Jul
(14) |
Aug
(80) |
Sep
(32) |
Oct
(81) |
Nov
(20) |
Dec
(12) |
2010 |
Jan
(15) |
Feb
(50) |
Mar
(28) |
Apr
(49) |
May
(12) |
Jun
(19) |
Jul
(78) |
Aug
(49) |
Sep
(52) |
Oct
(22) |
Nov
(108) |
Dec
(33) |
2011 |
Jan
(47) |
Feb
(3) |
Mar
(7) |
Apr
(3) |
May
(7) |
Jun
(43) |
Jul
(80) |
Aug
(55) |
Sep
(34) |
Oct
(33) |
Nov
(33) |
Dec
(20) |
2012 |
Jan
(16) |
Feb
(18) |
Mar
(29) |
Apr
(26) |
May
(4) |
Jun
(5) |
Jul
(13) |
Aug
(14) |
Sep
(47) |
Oct
(29) |
Nov
(19) |
Dec
(66) |
2013 |
Jan
(55) |
Feb
(46) |
Mar
|
Apr
(1) |
May
|
Jun
(32) |
Jul
|
Aug
(1) |
Sep
(40) |
Oct
(3) |
Nov
(43) |
Dec
(26) |
2014 |
Jan
(63) |
Feb
(30) |
Mar
(2) |
Apr
(3) |
May
(51) |
Jun
(18) |
Jul
(4) |
Aug
(6) |
Sep
(10) |
Oct
|
Nov
(17) |
Dec
(3) |
2015 |
Jan
(13) |
Feb
(36) |
Mar
(12) |
Apr
(37) |
May
(8) |
Jun
|
Jul
(29) |
Aug
(23) |
Sep
(55) |
Oct
(82) |
Nov
(57) |
Dec
(72) |
2016 |
Jan
(61) |
Feb
(6) |
Mar
(1) |
Apr
(18) |
May
(59) |
Jun
(42) |
Jul
(24) |
Aug
(20) |
Sep
(6) |
Oct
|
Nov
(8) |
Dec
(1) |
2017 |
Jan
(2) |
Feb
(20) |
Mar
(14) |
Apr
(4) |
May
(9) |
Jun
(7) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Erik H. <eh...@us...> - 2016-05-19 12:59:59
|
Update of /cvsroot/jsbsim/JSBSim/scripts In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2516 Modified Files: paraglider_rotate_test.xml Log Message: Fine tune the problem time and area: around 4.7 seconds rdot-rad_sec2 and a-pilot-y-ft_sec2 spin out of control Index: paraglider_rotate_test.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/scripts/paraglider_rotate_test.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** paraglider_rotate_test.xml 19 May 2016 12:37:03 -0000 1.3 --- paraglider_rotate_test.xml 19 May 2016 12:59:56 -0000 1.4 *************** *** 26,29 **** --- 26,30 ---- <property>accelerations/a-pilot-y-ft_sec2</property> <property>accelerations/a-pilot-z-ft_sec2</property> + <property>velocities/vg-fps</property> </notify> </event> *************** *** 37,40 **** --- 38,47 ---- <property>accelerations/a-pilot-y-ft_sec2</property> <property>accelerations/a-pilot-z-ft_sec2</property> + <property>accelerations/pdot-rad_sec2</property> + <property>accelerations/qdot-rad_sec2</property> + <property>accelerations/rdot-rad_sec2</property> + <property>accelerations/udot-ft_sec2</property> + <property>accelerations/vdot-ft_sec2</property> + <property>accelerations/wdot-ft_sec2</property> <property>velocities/vg-fps</property> </notify> *************** *** 42,46 **** <event name="Rotate"> ! <condition>simulation/sim-time-sec ge 5.11</condition> <set name="fcs/aileron-cmd-norm" value="1.0" action="FG_RAMP" tc="0.5"/> <notify> --- 49,71 ---- <event name="Rotate"> ! <condition>simulation/sim-time-sec ge 4.7</condition> ! <set name="fcs/aileron-cmd-norm" value="1.0" action="FG_RAMP" tc="0.5"/> ! <notify> ! <property>position/geod-alt-ft</property> ! <property>accelerations/a-pilot-x-ft_sec2</property> ! <property>accelerations/a-pilot-y-ft_sec2</property> ! <property>accelerations/a-pilot-z-ft_sec2</property> ! <property>accelerations/pdot-rad_sec2</property> ! <property>accelerations/qdot-rad_sec2</property> ! <property>accelerations/rdot-rad_sec2</property> ! <property>accelerations/udot-ft_sec2</property> ! <property>accelerations/vdot-ft_sec2</property> ! <property>accelerations/wdot-ft_sec2</property> ! <property>velocities/vg-fps</property> ! </notify> ! </event> ! ! <event name="Rotate"> ! <condition>simulation/sim-time-sec ge 4.9</condition> <set name="fcs/aileron-cmd-norm" value="1.0" action="FG_RAMP" tc="0.5"/> <notify> *************** *** 58,93 **** <property>accelerations/vdot-ft_sec2</property> <property>accelerations/wdot-ft_sec2</property> - <property>velocities/h-dot-fps</property> - <property>velocities/v-north-fps</property> - <property>velocities/v-east-fps</property> - <property>velocities/v-down-fps</property> - <property>velocities/u-fps</property> - <property>velocities/v-fps</property> - <property>velocities/w-fps</property> - <property>velocities/p-rad_sec</property> - <property>velocities/q-rad_sec</property> - <property>velocities/r-rad_sec</property> - <property>velocities/pi-rad_sec</property> - <property>velocities/qi-rad_sec</property> - <property>velocities/ri-rad_sec</property> - <property>velocities/eci-velocity-mag-fps</property> - <property>velocities/vc-fps</property> - <property>velocities/vc-kts</property> - <property>velocities/ve-fps</property> - <property>velocities/ve-kts</property> - <property>velocities/vtrue-fps</property> - <property>velocities/vtrue-kts</property> - <property>velocities/machU</property> - <property>velocities/p-aero-rad_sec</property> - <property>velocities/q-aero-rad_sec</property> - <property>velocities/r-aero-rad_sec</property> - <property>velocities/phidot-rad_sec</property> - <property>velocities/thetadot-rad_sec</property> - <property>velocities/psidot-rad_sec</property> - <property>velocities/u-aero-fps</property> - <property>velocities/v-aero-fps</property> - <property>velocities/w-aero-fps</property> - <property>velocities/vt-fps</property> - <property>velocities/mach</property> <property>velocities/vg-fps</property> </notify> --- 83,86 ---- |
From: Erik H. <eh...@us...> - 2016-05-19 12:37:06
|
Update of /cvsroot/jsbsim/JSBSim/scripts In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv1390 Modified Files: paraglider_rotate_test.xml Log Message: Show that after 5.1 seconds everything goes haywire Index: paraglider_rotate_test.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/scripts/paraglider_rotate_test.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** paraglider_rotate_test.xml 19 May 2016 09:37:31 -0000 1.2 --- paraglider_rotate_test.xml 19 May 2016 12:37:03 -0000 1.3 *************** *** 6,10 **** <description>For testing Paraglider rotate</description> <use aircraft="paraglider" initialize="reset00"/> ! <run start="0.0" end="10" dt="0.00833333"> <event name="Trim"> --- 6,10 ---- <description>For testing Paraglider rotate</description> <use aircraft="paraglider" initialize="reset00"/> ! <run start="0.0" end="1000" dt="0.00833333"> <event name="Trim"> *************** *** 17,22 **** <description>The starter for the engine is turned on.</description> <condition>simulation/sim-time-sec ge 1.0</condition> ! <set name="fcs/throttle-cmd-norm" action="FG_RAMP" value="1.0" tc ="0.05"/> ! <set name="fcs/mixture-cmd-norm" action="FG_RAMP" value="1.0" tc="0.05"/> <set name="propulsion/magneto_cmd" value="3"/> <set name="propulsion/starter_cmd" value="1"/> --- 17,22 ---- <description>The starter for the engine is turned on.</description> <condition>simulation/sim-time-sec ge 1.0</condition> ! <set name="fcs/throttle-cmd-norm" action="FG_RAMP" value="1.0" tc ="1.0"/> ! <set name="fcs/mixture-cmd-norm" action="FG_RAMP" value="1.0" tc="1.0"/> <set name="propulsion/magneto_cmd" value="3"/> <set name="propulsion/starter_cmd" value="1"/> *************** *** 41,44 **** --- 41,97 ---- </event> + <event name="Rotate"> + <condition>simulation/sim-time-sec ge 5.11</condition> + <set name="fcs/aileron-cmd-norm" value="1.0" action="FG_RAMP" tc="0.5"/> + <notify> + <property>accelerations/a-pilot-x-ft_sec2</property> + <property>accelerations/a-pilot-y-ft_sec2</property> + <property>accelerations/a-pilot-z-ft_sec2</property> + <property>accelerations/n-pilot-x-norm</property> + <property>accelerations/n-pilot-y-norm</property> + <property>accelerations/n-pilot-z-norm</property> + <property>accelerations/Nz</property> + <property>accelerations/pdot-rad_sec2</property> + <property>accelerations/qdot-rad_sec2</property> + <property>accelerations/rdot-rad_sec2</property> + <property>accelerations/udot-ft_sec2</property> + <property>accelerations/vdot-ft_sec2</property> + <property>accelerations/wdot-ft_sec2</property> + <property>velocities/h-dot-fps</property> + <property>velocities/v-north-fps</property> + <property>velocities/v-east-fps</property> + <property>velocities/v-down-fps</property> + <property>velocities/u-fps</property> + <property>velocities/v-fps</property> + <property>velocities/w-fps</property> + <property>velocities/p-rad_sec</property> + <property>velocities/q-rad_sec</property> + <property>velocities/r-rad_sec</property> + <property>velocities/pi-rad_sec</property> + <property>velocities/qi-rad_sec</property> + <property>velocities/ri-rad_sec</property> + <property>velocities/eci-velocity-mag-fps</property> + <property>velocities/vc-fps</property> + <property>velocities/vc-kts</property> + <property>velocities/ve-fps</property> + <property>velocities/ve-kts</property> + <property>velocities/vtrue-fps</property> + <property>velocities/vtrue-kts</property> + <property>velocities/machU</property> + <property>velocities/p-aero-rad_sec</property> + <property>velocities/q-aero-rad_sec</property> + <property>velocities/r-aero-rad_sec</property> + <property>velocities/phidot-rad_sec</property> + <property>velocities/thetadot-rad_sec</property> + <property>velocities/psidot-rad_sec</property> + <property>velocities/u-aero-fps</property> + <property>velocities/v-aero-fps</property> + <property>velocities/w-aero-fps</property> + <property>velocities/vt-fps</property> + <property>velocities/mach</property> + <property>velocities/vg-fps</property> + </notify> + </event> + </run> |
From: Erik H. <eh...@us...> - 2016-05-19 09:37:34
|
Update of /cvsroot/jsbsim/JSBSim/scripts In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26003/scripts Modified Files: paraglider_rotate_test.xml Log Message: Get the paraglider script in a running state Index: paraglider_rotate_test.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/scripts/paraglider_rotate_test.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** paraglider_rotate_test.xml 18 May 2016 13:24:09 -0000 1.1 --- paraglider_rotate_test.xml 19 May 2016 09:37:31 -0000 1.2 *************** *** 1,12 **** <?xml version="1.0" encoding="UTF-8"?> ! <?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSimScript.xsl"?> ! <!DOCTYPE runscript [ ! <!ENTITY none "0"> <!-- No magnetos --> ! <!ENTITY left "1"> <!-- Left magnetos --> ! <!ENTITY right "2"> <!-- Right magnetos --> ! <!ENTITY both "3"> <!-- Both magnetos --> ! <!ENTITY on "1"> ! <!ENTITY off "0"> ! ]> <runscript xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jsbsim.sf.net/JSBSimScript.xsd" --- 1,4 ---- <?xml version="1.0" encoding="UTF-8"?> ! <?xml-stylesheet type="text/xsl" href="http://jsbsim.sf.net/JSBSimScript.xsl"?> <runscript xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jsbsim.sf.net/JSBSimScript.xsd" *************** *** 14,80 **** <description>For testing Paraglider rotate</description> <use aircraft="paraglider" initialize="reset00"/> ! <run start="0.0" end="200" dt="0.00833333"> - <property value="1"> simulation/run_id </property> <event name="Start engine: Starter"> <description>The starter for the engine is turned on.</description> <condition>simulation/sim-time-sec ge 1.0</condition> ! <set name="fcs/throttle-cmd-norm" value="1.0" action="FG_RAMP" tc ="0.5"/> ! <set name="propulsion/magneto_cmd" value="&both;"/> ! <set name="propulsion/starter_cmd" value="&on;"/> ! <notify/> </event> <event name="Rotate"> ! <condition>simulation/sim-time-sec ge 2.0</condition> ! <set name="fcs/aileron-cmd-norm" value="1.0" action="FG_RAMP" tc="1.0"></set> <notify> - <property caption="Sim Run ID: ">simulation/run_id</property> <property>position/geod-alt-ft</property> <property>accelerations/a-pilot-x-ft_sec2</property> <property>accelerations/a-pilot-y-ft_sec2</property> <property>accelerations/a-pilot-z-ft_sec2</property> - <property>accelerations/n-pilot-x-norm</property> - <property>accelerations/n-pilot-y-norm</property> - <property>accelerations/n-pilot-z-norm</property> - <property>accelerations/Nz</property> - <property>accelerations/pdot-rad_sec2</property> - <property>accelerations/qdot-rad_sec2</property> - <property>accelerations/rdot-rad_sec2</property> - <property>accelerations/udot-ft_sec2</property> - <property>accelerations/vdot-ft_sec2</property> - <property>accelerations/wdot-ft_sec2</property> - <property>velocities/h-dot-fps</property> - <property>velocities/v-north-fps</property> - <property>velocities/v-east-fps</property> - <property>velocities/v-down-fps</property> - <property>velocities/u-fps</property> - <property>velocities/v-fps</property> - <property>velocities/w-fps</property> - <property>velocities/p-rad_sec</property> - <property>velocities/q-rad_sec</property> - <property>velocities/r-rad_sec</property> - <property>velocities/pi-rad_sec</property> - <property>velocities/qi-rad_sec</property> - <property>velocities/ri-rad_sec</property> - <property>velocities/eci-velocity-mag-fps</property> - <property>velocities/vc-fps</property> - <property>velocities/vc-kts</property> - <property>velocities/ve-fps</property> - <property>velocities/ve-kts</property> - <property>velocities/vtrue-fps</property> - <property>velocities/vtrue-kts</property> - <property>velocities/machU</property> - <property>velocities/p-aero-rad_sec</property> - <property>velocities/q-aero-rad_sec</property> - <property>velocities/r-aero-rad_sec</property> - <property>velocities/phidot-rad_sec</property> - <property>velocities/thetadot-rad_sec</property> - <property>velocities/psidot-rad_sec</property> - <property>velocities/u-aero-fps</property> - <property>velocities/v-aero-fps</property> - <property>velocities/w-aero-fps</property> - <property>velocities/vt-fps</property> - <property>velocities/mach</property> <property>velocities/vg-fps</property> </notify> --- 6,40 ---- <description>For testing Paraglider rotate</description> <use aircraft="paraglider" initialize="reset00"/> ! <run start="0.0" end="10" dt="0.00833333"> ! ! <event name="Trim"> ! <condition>simulation/sim-time-sec gt 0.1</condition> ! <set name="fcs/aileron-cmd-norm" value="0.0"/> ! <!-- <set name="simulation/do_simple_trim" value="1"/> --> ! </event> <event name="Start engine: Starter"> <description>The starter for the engine is turned on.</description> <condition>simulation/sim-time-sec ge 1.0</condition> ! <set name="fcs/throttle-cmd-norm" action="FG_RAMP" value="1.0" tc ="0.05"/> ! <set name="fcs/mixture-cmd-norm" action="FG_RAMP" value="1.0" tc="0.05"/> ! <set name="propulsion/magneto_cmd" value="3"/> ! <set name="propulsion/starter_cmd" value="1"/> ! <notify> ! <property>position/geod-alt-ft</property> ! <property>accelerations/a-pilot-x-ft_sec2</property> ! <property>accelerations/a-pilot-y-ft_sec2</property> ! <property>accelerations/a-pilot-z-ft_sec2</property> ! </notify> </event> <event name="Rotate"> ! <condition>simulation/sim-time-sec ge 2.0</condition> ! <set name="fcs/aileron-cmd-norm" value="1.0" action="FG_RAMP" tc="0.5"/> <notify> <property>position/geod-alt-ft</property> <property>accelerations/a-pilot-x-ft_sec2</property> <property>accelerations/a-pilot-y-ft_sec2</property> <property>accelerations/a-pilot-z-ft_sec2</property> <property>velocities/vg-fps</property> </notify> |
From: Erik H. <eh...@us...> - 2016-05-19 09:37:34
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/paraglider In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26003/aircraft/paraglider Modified Files: reset00.xml Log Message: Get the paraglider script in a running state Index: reset00.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/aircraft/paraglider/reset00.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** reset00.xml 18 May 2016 13:24:09 -0000 1.1 --- reset00.xml 19 May 2016 09:37:31 -0000 1.2 *************** *** 5,15 **** from the runway in preparation for takeoff. --> ! <ubody> 0.0 </ubody> ! <vbody> 0.0 </vbody> ! <wbody> 0.0 </wbody> <latitude unit="DEG"> 47.0 </latitude> <longitude unit="DEG"> 122.0 </longitude> <phi unit="DEG"> 0.0 </phi> ! <theta unit="DEG"> 0.0 </theta> <psi unit="DEG"> 0.0 </psi> <altitude unit="FT"> 3000.0 </altitude> --- 5,15 ---- from the runway in preparation for takeoff. --> ! <ubody unit="FT/SEC"> 25.0 </ubody> ! <vbody unit="FT/SEC"> 0.0 </vbody> ! <wbody unit="FT/SEC"> 0.0 </wbody> <latitude unit="DEG"> 47.0 </latitude> <longitude unit="DEG"> 122.0 </longitude> <phi unit="DEG"> 0.0 </phi> ! <theta unit="DEG"> 20.0 </theta> <psi unit="DEG"> 0.0 </psi> <altitude unit="FT"> 3000.0 </altitude> |
From: Erik H. <eh...@us...> - 2016-05-18 13:27:02
|
Update of /cvsroot/jsbsim/JSBSim/examples In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24037/examples Modified Files: FlightGear.cxx FlightGear.hxx Log Message: Backport from FlightGear Index: FlightGear.cxx =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/examples/FlightGear.cxx,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** FlightGear.cxx 9 Dec 2015 04:28:17 -0000 1.23 --- FlightGear.cxx 18 May 2016 13:26:59 -0000 1.24 *************** *** 76,80 **** #include <FDM/JSBSim/input_output/FGPropertyManager.h> #include <FDM/JSBSim/input_output/FGGroundCallback.h> - #include <FDM/JSBSim/math/FGLocation.h> using namespace JSBSim; --- 76,79 ---- *************** *** 231,234 **** --- 230,235 ---- // end of sim-time-sec deprecation patch + terrain = fgGetNode("/sim/fdm/surface", true); + fdmex->Setdt( dt ); *************** *** 594,599 **** FCS->SetPitchTrimCmd( globals->get_controls()->get_elevator_trim() ); FCS->SetDrCmd( -globals->get_controls()->get_rudder() ); - FCS->SetYawTrimCmd( -globals->get_controls()->get_rudder_trim() ); FCS->SetDsCmd( globals->get_controls()->get_rudder() ); FCS->SetDfCmd( globals->get_controls()->get_flaps() ); FCS->SetDsbCmd( globals->get_controls()->get_speedbrake() ); --- 595,600 ---- FCS->SetPitchTrimCmd( globals->get_controls()->get_elevator_trim() ); FCS->SetDrCmd( -globals->get_controls()->get_rudder() ); FCS->SetDsCmd( globals->get_controls()->get_rudder() ); + FCS->SetYawTrimCmd( -globals->get_controls()->get_rudder_trim() ); FCS->SetDfCmd( globals->get_controls()->get_flaps() ); FCS->SetDsbCmd( globals->get_controls()->get_speedbrake() ); *************** *** 1354,1359 **** *agl = dot(hlToEc.rotate(SGVec3d(0, 0, 1)), SGVec3d(contact) - SGVec3d(pt)); - static SGPropertyNode_ptr terrain = fgGetNode("/sim/fdm/surface", true); - #ifdef JSBSIM_USE_GROUNDREACTIONS bool terrain_active = (terrain->getIntValue("override-level", -1) > 0) ? false : true; --- 1355,1358 ---- Index: FlightGear.hxx =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/examples/FlightGear.hxx,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -r1.21 -r1.22 *** FlightGear.hxx 7 Dec 2015 10:01:48 -0000 1.21 --- FlightGear.hxx 18 May 2016 13:26:59 -0000 1.22 *************** *** 239,245 **** --- 239,248 ---- JSBSim::FGPropertyManager* PropertyManager; + // disabling unused members + /* int runcount; double trim_elev; double trim_throttle; + */ SGPropertyNode_ptr startup_trim; *************** *** 289,292 **** --- 292,297 ---- SGPropertyNode_ptr slaved; + SGPropertyNode_ptr terrain; + static std::map<std::string,int> TURBULENCE_TYPE_NAMES; |
From: Erik H. <eh...@us...> - 2016-05-18 13:24:13
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/paraglider In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23818/aircraft/paraglider Added Files: reset00.xml Log Message: Prepare a test script for the paraglider --- NEW FILE --- <?xml version="1.0"?> <initialize name="reset00"> <!-- This file sets up the aircraft to start off from the runway in preparation for takeoff. --> <ubody> 0.0 </ubody> <vbody> 0.0 </vbody> <wbody> 0.0 </wbody> <latitude unit="DEG"> 47.0 </latitude> <longitude unit="DEG"> 122.0 </longitude> <phi unit="DEG"> 0.0 </phi> <theta unit="DEG"> 0.0 </theta> <psi unit="DEG"> 0.0 </psi> <altitude unit="FT"> 3000.0 </altitude> </initialize> |
From: Erik H. <eh...@us...> - 2016-05-18 13:24:13
|
Update of /cvsroot/jsbsim/JSBSim/scripts In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23818/scripts Added Files: paraglider_rotate_test.xml Log Message: Prepare a test script for the paraglider --- NEW FILE --- <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSimScript.xsl"?> <!DOCTYPE runscript [ <!ENTITY none "0"> <!-- No magnetos --> <!ENTITY left "1"> <!-- Left magnetos --> <!ENTITY right "2"> <!-- Right magnetos --> <!ENTITY both "3"> <!-- Both magnetos --> <!ENTITY on "1"> <!ENTITY off "0"> ]> <runscript xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jsbsim.sf.net/JSBSimScript.xsd" name="Paraglider rotate test"> <description>For testing Paraglider rotate</description> <use aircraft="paraglider" initialize="reset00"/> <run start="0.0" end="200" dt="0.00833333"> <property value="1"> simulation/run_id </property> <event name="Start engine: Starter"> <description>The starter for the engine is turned on.</description> <condition>simulation/sim-time-sec ge 1.0</condition> <set name="fcs/throttle-cmd-norm" value="1.0" action="FG_RAMP" tc ="0.5"/> <set name="propulsion/magneto_cmd" value="&both;"/> <set name="propulsion/starter_cmd" value="&on;"/> <notify/> </event> <event name="Rotate"> <condition>simulation/sim-time-sec ge 2.0</condition> <set name="fcs/aileron-cmd-norm" value="1.0" action="FG_RAMP" tc="1.0"></set> <notify> <property caption="Sim Run ID: ">simulation/run_id</property> <property>position/geod-alt-ft</property> <property>accelerations/a-pilot-x-ft_sec2</property> <property>accelerations/a-pilot-y-ft_sec2</property> <property>accelerations/a-pilot-z-ft_sec2</property> <property>accelerations/n-pilot-x-norm</property> <property>accelerations/n-pilot-y-norm</property> <property>accelerations/n-pilot-z-norm</property> <property>accelerations/Nz</property> <property>accelerations/pdot-rad_sec2</property> <property>accelerations/qdot-rad_sec2</property> <property>accelerations/rdot-rad_sec2</property> <property>accelerations/udot-ft_sec2</property> <property>accelerations/vdot-ft_sec2</property> <property>accelerations/wdot-ft_sec2</property> <property>velocities/h-dot-fps</property> <property>velocities/v-north-fps</property> <property>velocities/v-east-fps</property> <property>velocities/v-down-fps</property> <property>velocities/u-fps</property> <property>velocities/v-fps</property> <property>velocities/w-fps</property> <property>velocities/p-rad_sec</property> <property>velocities/q-rad_sec</property> <property>velocities/r-rad_sec</property> <property>velocities/pi-rad_sec</property> <property>velocities/qi-rad_sec</property> <property>velocities/ri-rad_sec</property> <property>velocities/eci-velocity-mag-fps</property> <property>velocities/vc-fps</property> <property>velocities/vc-kts</property> <property>velocities/ve-fps</property> <property>velocities/ve-kts</property> <property>velocities/vtrue-fps</property> <property>velocities/vtrue-kts</property> <property>velocities/machU</property> <property>velocities/p-aero-rad_sec</property> <property>velocities/q-aero-rad_sec</property> <property>velocities/r-aero-rad_sec</property> <property>velocities/phidot-rad_sec</property> <property>velocities/thetadot-rad_sec</property> <property>velocities/psidot-rad_sec</property> <property>velocities/u-aero-fps</property> <property>velocities/v-aero-fps</property> <property>velocities/w-aero-fps</property> <property>velocities/vt-fps</property> <property>velocities/mach</property> <property>velocities/vg-fps</property> </notify> </event> </run> </runscript> |
From: Erik H. <eh...@us...> - 2016-05-18 13:22:50
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/paraglider/Systems In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23668/aircraft/paraglider/Systems Modified Files: Controls.xml Log Message: Prepare a test script for the paraglider Index: Controls.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/aircraft/paraglider/Systems/Controls.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Controls.xml 18 May 2016 12:24:16 -0000 1.1 --- Controls.xml 18 May 2016 13:22:47 -0000 1.2 *************** *** 3,7 **** <system name="Parahute Controls"> ! <channel name="Pit and Roll"> <summer name="Pitch Trim Summer"> --- 3,7 ---- <system name="Parahute Controls"> ! <channel name="Pitch and Roll"> <summer name="Pitch Trim Summer"> |
From: Erik H. <eh...@us...> - 2016-05-18 13:22:50
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/paraglider In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23668/aircraft/paraglider Modified Files: paraglider.xml Log Message: Prepare a test script for the paraglider Index: paraglider.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/aircraft/paraglider/paraglider.xml,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** paraglider.xml 18 May 2016 12:24:16 -0000 1.11 --- paraglider.xml 18 May 2016 13:22:47 -0000 1.12 *************** *** 23,30 **** <wingspan unit="FT"> 32 </wingspan> <chord unit="FT"> 7 </chord> ! <htailarea unit="FT2"> 0 </htailarea> ! <htailarm unit="FT"> 0 </htailarm> ! <vtailarea unit="FT2"> 0 </vtailarea> ! <vtailarm unit="FT"> 0 </vtailarm> <location name="AERORP" unit="IN"> <x> 0 </x> --- 23,30 ---- <wingspan unit="FT"> 32 </wingspan> <chord unit="FT"> 7 </chord> ! <htailarea unit="FT2"> 1 </htailarea> ! <htailarm unit="FT"> 1 </htailarm> ! <vtailarea unit="FT2"> 1 </vtailarea> ! <vtailarm unit="FT"> 1 </vtailarm> <location name="AERORP" unit="IN"> <x> 0 </x> *************** *** 40,44 **** <x> 0 </x> <y> 0 </y> ! <z> -330 </z> </location> </metrics> --- 40,44 ---- <x> 0 </x> <y> 0 </y> ! <z> 0 </z> </location> </metrics> *************** *** 70,75 **** </location> </pointmass> <pointmass name="DT Propeller"> ! <weight unit="LBS"> 25.13 </weight> <location name="POINTMASS" unit="IN"> <x> 10 </x> --- 70,76 ---- </location> </pointmass> + <!-- <pointmass name="DT Propeller"> ! <weight unit="LBS"> 2.425 </weight> <location name="POINTMASS" unit="IN"> <x> 10 </x> *************** *** 78,81 **** --- 79,83 ---- </location> </pointmass> + --> </mass_balance> |
From: Erik H. <eh...@us...> - 2016-05-18 12:24:19
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/paraglider/Systems In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv13019/Systems Added Files: Controls.xml Log Message: Update the paraglider to a true ram-air parachute FDM with a pilot at an offset and an added small piston egnine for propulsion --- NEW FILE --- <?xml version="1.0"?> <system name="Parahute Controls"> <channel name="Pit and Roll"> <summer name="Pitch Trim Summer"> <input>fcs/elevator-cmd-norm</input> <input>fcs/pitch-trim-cmd-norm</input> <clipto> <min> 0 </min> <max> 1 </max> </clipto> <output>fcs/elevator-pos-norm</output> </summer> <summer name="Roll Trim Summer"> <input>-fcs/aileron-cmd-norm</input> <input>-fcs/roll-trim-cmd-norm</input> <clipto> <min> -1 </min> <max> 1 </max> </clipto> <output>fcs/aileron-pos-norm</output> </summer> <summer name="Left Elevon Control"> <input>fcs/elevator-pos-norm</input> <input>fcs/aileron-pos-norm</input> <clipto> <min> 0 </min> <max> 1 </max> </clipto> <output>fcs/left-elevon-pos-norm</output> </summer> <aerosurface_scale name="Left Aileron Control"> <input>fcs/left-elevon-pos-norm</input> <range> <min> 0.000 </min> <max> 0.785 </max> </range> <output>fcs/left-aileron-pos-rad</output> </aerosurface_scale> <summer name="Right Elevon Control"> <input>fcs/elevator-pos-norm</input> <input>-fcs/aileron-pos-norm</input> <clipto> <min> 0 </min> <max> 1 </max> </clipto> <output>fcs/right-elevon-pos-norm</output> </summer> <aerosurface_scale name="Right Aileron Control"> <input>-fcs/aileron-pos-norm</input> <range> <min> 0.000 </min> <max> 0.785 </max> </range> <output>fcs/right-aileron-pos-rad</output> </aerosurface_scale> </channel> </system> |
From: Erik H. <eh...@us...> - 2016-05-18 12:24:19
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/paraglider/Engines In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv13019/Engines Added Files: DT_Propeller.xml Polini_THOR80.xml Log Message: Update the paraglider to a true ram-air parachute FDM with a pilot at an offset and an added small piston egnine for propulsion --- NEW FILE --- <?xml version="1.0"?> <!-- Generated by Aero-Matic v 3.2.5 See: http://wiki.flightgear.org/JSBSim_Thrusters#FGPropeller Inputs: horsepower: 17.1997 max engine rpm: 10450 prop diameter (ft): 4.10105 prop chord (ft): 0.76954 pitch: fixed at 45 inch Outputs: max prop rpm: 4575.17 gear ratio: 2.28407 Cp0: 0.00773442 Ct0: 0.0108282 static thrust (lbs): 45.3692 --> <propeller version="1.01" name="prop"> <ixx> 0.433486 </ixx> <diameter unit="IN"> 49.2126 </diameter> <numblades> 2 </numblades> <gearratio> 3.58 </gearratio> <cp_factor> 1.00 </cp_factor> <ct_factor> 1.00 </ct_factor> <table name="C_THRUST" type="internal"> <tableData> 0.00 0.0863 0.05 0.0824 0.10 0.0788 0.15 0.0753 0.20 0.0720 0.25 0.0689 0.30 0.0659 0.35 0.0630 0.40 0.0602 0.45 0.0576 0.50 0.0550 0.55 0.0526 0.60 0.0502 0.65 0.0478 0.70 0.0455 0.75 0.0433 0.80 0.0411 0.85 0.0390 0.90 0.0369 0.95 0.0348 1.00 0.0327 1.05 0.0306 1.10 0.0286 1.15 0.0265 1.20 0.0244 1.25 0.0224 1.30 0.0203 1.35 0.0182 1.40 0.0161 1.50 0.0119 1.60 0.0075 1.70 0.0031 1.80 -0.0015 1.90 -0.0063 2.00 -0.0112 2.10 -0.0163 2.20 -0.0215 2.30 -0.0270 2.40 -0.0326 </tableData> </table> <table name="C_POWER" type="internal"> <tableData> 0.00 0.0704 0.05 0.0700 0.10 0.0695 0.15 0.0689 0.20 0.0683 0.25 0.0675 0.30 0.0667 0.35 0.0658 0.40 0.0649 0.45 0.0639 0.50 0.0628 0.55 0.0616 0.60 0.0604 0.65 0.0591 0.70 0.0577 0.75 0.0562 0.80 0.0546 0.85 0.0529 0.90 0.0512 0.95 0.0493 1.00 0.0474 1.05 0.0453 1.10 0.0432 1.15 0.0409 1.20 0.0385 1.25 0.0360 1.30 0.0333 1.35 0.0305 1.40 0.0276 1.50 0.0214 1.60 0.0146 1.70 0.0071 1.80 -0.0010 1.90 -0.0098 2.00 -0.0192 2.10 -0.0294 2.20 -0.0404 2.30 -0.0521 2.40 -0.0646 </tableData> </table> <!-- thrust effects of helical tip Mach --> <table name="CT_MACH" type="internal"> <tableData> 0.85 1.0 1.05 0.8 </tableData> </table> <!-- power-required effects of helical tip Mach --> <table name="CP_MACH" type="internal"> <tableData> 0.85 1.0 1.05 1.8 2.00 1.4 </tableData> </table> </propeller> --- NEW FILE --- <?xml version="1.0"?> <!-- File: THOR80.xml Author: AeromatiC++ v 3.2.5 See: http://wiki.flightgear.org/JSBSim_Engines#FGPiston Inputs: name: THOR80 type: Piston Engine power: 17.1997 hp --> <piston_engine name="THOR80"> <minmp unit="INHG"> 10.0 </minmp> <maxmp unit="INHG"> 28.5 </maxmp> <displacement unit="IN3"> 2.248 </displacement> <maxhp> 17.1997 </maxhp> <cycles> 2.0 </cycles> <idlerpm> 700.0 </idlerpm> <maxrpm> 10450.0 </maxrpm> <sparkfaildrop> 0.1 </sparkfaildrop> <volumetric-efficiency> 0.85 </volumetric-efficiency> <man-press-lag> 0.1 </man-press-lag> <static-friction unit="HP"> 0.0859983 </static-friction> <starter-torque> 13.7597 </starter-torque> <starter-rpm> 1400 </starter-rpm> <!-- Defining <bsfc> over-rides the built-in horsepower calculations --> <!--<bsfc> 0.45 </bsfc>--> <stroke unit="IN"> 1.732 </stroke> <bore unit="IN"> 1.969 </bore> <cylinders> 1 </cylinders> <compression-ratio> 14.0 </compression-ratio> </piston_engine> |
From: Erik H. <eh...@us...> - 2016-05-18 12:24:19
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/paraglider In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv13019 Modified Files: paraglider.xml Log Message: Update the paraglider to a true ram-air parachute FDM with a pilot at an offset and an added small piston egnine for propulsion Index: paraglider.xml =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/aircraft/paraglider/paraglider.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** paraglider.xml 22 Dec 2012 15:22:22 -0000 1.10 --- paraglider.xml 18 May 2016 12:24:16 -0000 1.11 *************** *** 2,276 **** <?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSim.xsl"?> <fdm_config name="paraglider" version="2.0" release="BETA" ! xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ! xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> ! <fileheader> ! <author> Unknown </author> ! <filecreationdate> 2001-01-01 </filecreationdate> ! <version> $Revision$ </version> ! <description> Paraglider </description> ! <note> ! This model was created using publicly available data, publicly available ! technical reports, textbooks, and guesses. It contains no proprietary or ! restricted data. If this model has been validated at all, it would be ! only to the extent that it seems to "fly right", and that it possibly ! complies with published, publicly known, performance data (maximum speed, ! endurance, etc.). Thus, this model is meant for educational and entertainment ! purposes only. ! ! This simulation model is not endorsed by the manufacturer. This model is not ! to be sold. ! </note> ! </fileheader> ! ! <metrics> ! <wingarea unit="FT2"> 160 </wingarea> ! <wingspan unit="FT"> 20 </wingspan> ! <chord unit="FT"> 8 </chord> ! <htailarea unit="FT2"> 1 </htailarea> ! <htailarm unit="FT"> 1 </htailarm> ! <vtailarea unit="FT2"> 1 </vtailarea> ! <vtailarm unit="FT"> 0 </vtailarm> ! <location name="AERORP" unit="IN"> ! <x> 48 </x> ! <y> 0 </y> ! <z> 0 </z> ! </location> ! <location name="EYEPOINT" unit="IN"> ! <x> 48 </x> ! <y> 0 </y> ! <z> -120 </z> ! </location> ! <location name="VRP" unit="IN"> ! <x> 0 </x> ! <y> 0 </y> ! <z> 0 </z> ! </location> ! </metrics> ! ! <mass_balance> ! <ixx unit="SLUG*FT2"> 2000 </ixx> ! <iyy unit="SLUG*FT2"> 2000 </iyy> ! <izz unit="SLUG*FT2"> 100 </izz> ! <emptywt unit="LBS"> 200 </emptywt> ! <location name="CG" unit="IN"> ! <x> 48 </x> ! <y> 0 </y> ! <z> -144 </z> ! </location> ! </mass_balance> ! ! <ground_reactions> ! <contact type="BOGEY" name="LMLG"> ! <location unit="IN"> ! <x> 48 </x> ! <y> -10 </y> ! <z> -180 </z> ! </location> ! <static_friction> 0.8 </static_friction> ! <dynamic_friction> 0.5 </dynamic_friction> ! <rolling_friction> 0.5 </rolling_friction> ! <spring_coeff unit="LBS/FT"> 200 </spring_coeff> ! <damping_coeff unit="LBS/FT/SEC"> 50 </damping_coeff> ! <max_steer unit="DEG"> 0.0 </max_steer> ! <brake_group> NONE </brake_group> ! <retractable>0</retractable> ! </contact> ! <contact type="BOGEY" name="RMLG"> ! <location unit="IN"> ! <x> 48 </x> ! <y> 10 </y> ! <z> -180 </z> ! </location> ! <static_friction> 0.8 </static_friction> ! <dynamic_friction> 0.5 </dynamic_friction> ! <rolling_friction> 0.5 </rolling_friction> ! <spring_coeff unit="LBS/FT"> 200 </spring_coeff> ! <damping_coeff unit="LBS/FT/SEC"> 50 </damping_coeff> ! <max_steer unit="DEG"> 0.0 </max_steer> ! <brake_group> NONE </brake_group> ! <retractable>0</retractable> ! </contact> ! <contact type="BOGEY" name="NOSE_LG"> ! <location unit="IN"> ! <x> 30 </x> ! <y> 0 </y> ! <z> -180 </z> ! </location> ! <static_friction> 0.8 </static_friction> ! <dynamic_friction> 0.5 </dynamic_friction> ! <rolling_friction> 0.5 </rolling_friction> ! <spring_coeff unit="LBS/FT"> 200 </spring_coeff> ! <damping_coeff unit="LBS/FT/SEC"> 50 </damping_coeff> ! <max_steer unit="DEG"> 80 </max_steer> ! <brake_group> NONE </brake_group> ! <retractable>0</retractable> ! </contact> ! </ground_reactions> ! <propulsion> ! </propulsion> ! <flight_control name="FCS: paraglider_FCS"> ! <channel name="Pitch"> ! <summer name="Pitch Trim Sum"> ! <input>fcs/elevator-cmd-norm</input> ! <input>fcs/pitch-trim-cmd-norm</input> ! <clipto> ! <min>-1</min> ! <max>1</max> ! </clipto> ! </summer> ! ! <aerosurface_scale name="Elevator Control"> ! <input>fcs/pitch-trim-sum</input> ! <gain>0.018</gain> ! <range> ! <min>-25</min> ! <max>35</max> ! </range> ! <output>fcs/elevator-pos-rad</output> ! </aerosurface_scale> ! </channel> ! <channel name="Roll"> ! <summer name="Roll Trim Sum"> ! <input>fcs/aileron-cmd-norm</input> ! <input>fcs/roll-trim-cmd-norm</input> ! <clipto> ! <min>-1</min> ! <max>1</max> ! </clipto> ! </summer> ! ! <aerosurface_scale name="Left Aileron Control"> ! <input>fcs/roll-trim-sum</input> ! <gain>0.02</gain> ! <range> ! <min>-20</min> ! <max>15</max> ! </range> ! <output>fcs/left-aileron-pos-rad</output> ! </aerosurface_scale> ! ! <aerosurface_scale name="Right Aileron Control"> ! <input>-fcs/roll-trim-sum</input> ! <gain>0.02</gain> ! <range> ! <min>-20</min> ! <max>15</max> ! </range> ! <output>fcs/right-aileron-pos-rad</output> ! </aerosurface_scale> ! </channel> ! </flight_control> ! <aerodynamics> ! ! <axis name="DRAG"> ! <function name="aero/coefficient/CD0"> ! <description>Drag_at_zero_lift</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <value>0.05</value> ! </product> ! </function> ! <function name="aero/coefficient/CDalpha"> ! <description>Drag_due_to_alpha</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <property>aero/alpha-rad</property> ! <value>0.5</value> ! </product> ! </function> ! <function name="aero/coefficient/CDde"> ! <description>Drag_due_to_Elevator_Deflection</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <property>fcs/elevator-pos-norm</property> ! <value>0.03</value> ! </product> ! </function> ! </axis> ! ! <axis name="LIFT"> ! <function name="aero/coefficient/CLalpha"> ! <description>Lift_due_to_alpha</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <property>aero/alpha-rad</property> ! <value>10</value> ! </product> ! </function> ! </axis> ! ! <axis name="ROLL"> ! <function name="aero/coefficient/Clt"> ! <description>Roll_moment_due_to_roll_angle</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>-5</value> ! </product> ! </function> ! <function name="aero/coefficient/Clp"> ! <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>-3</value> ! </product> ! </function> ! <function name="aero/coefficient/Clda"> ! <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> ! <value>0.2</value> ! </product> ! </function> ! </axis> ! ! <axis name="PITCH"> ! <function name="aero/coefficient/Cmalpha"> ! <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>-3</value> ! </product> ! </function> ! <function name="aero/coefficient/Cmde"> ! <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> ! <value>-2</value> ! </product> ! </function> ! <function name="aero/coefficient/Cmq"> ! <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>-30</value> ! </product> ! </function> ! </axis> ! </aerodynamics> </fdm_config> --- 2,634 ---- <?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSim.xsl"?> <fdm_config name="paraglider" version="2.0" release="BETA" ! xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ! xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> ! <fileheader> ! <author> David Culp, Erik Hofman </author> ! <filecreationdate> 2001-01-01 </filecreationdate> ! <version> 2.1 </version> ! <description> (Powered) Paraglider </description> ! <!-- ! Reference: ! CFD Calculation of Stability and Control Derivatives ! For Ram-Air Parachutes ! ! http://www.cobaltcfd.com/pdfs/2016/AIAA-2016-1536.pdf ! --> ! </fileheader> ! ! <metrics> ! <wingarea unit="FT2"> 300 </wingarea> ! <wingspan unit="FT"> 32 </wingspan> ! <chord unit="FT"> 7 </chord> ! <htailarea unit="FT2"> 0 </htailarea> ! <htailarm unit="FT"> 0 </htailarm> ! <vtailarea unit="FT2"> 0 </vtailarea> ! <vtailarm unit="FT"> 0 </vtailarm> ! <location name="AERORP" unit="IN"> ! <x> 0 </x> ! <y> 0 </y> ! <z> 0 </z> ! </location> ! <location name="EYEPOINT" unit="IN"> ! <x> 0 </x> ! <y> 0 </y> ! <z> -330 </z> ! </location> ! <location name="VRP" unit="IN"> ! <x> 0 </x> ! <y> 0 </y> ! <z> -330 </z> ! </location> ! </metrics> ! ! <mass_balance> ! <ixx unit="SLUG*FT2">1.703</ixx> ! <iyy unit="SLUG*FT2">1.898</iyy> ! <izz unit="SLUG*FT2">1.360</izz> ! <emptywt unit="LBS"> 10</emptywt> ! <location name="CG" unit="IN"> ! <x> 0 </x> ! <y> 0 </y> ! <z> 0 </z> ! </location> ! <pointmass name="Pilot"> ! <weight unit="LBS"> 180 </weight> ! <location name="POINTMASS" unit="IN"> ! <x> 0 </x> ! <y> 0 </y> ! <z> -330 </z> ! </location> ! </pointmass> ! <pointmass name="Polini Engine"> ! <weight unit="LBS"> 25.13 </weight> ! <location name="POINTMASS" unit="IN"> ! <x> 4 </x> ! <y> 0 </y> ! <z> -330 </z> ! </location> ! </pointmass> ! <pointmass name="DT Propeller"> ! <weight unit="LBS"> 25.13 </weight> ! <location name="POINTMASS" unit="IN"> ! <x> 10 </x> ! <y> 0 </y> ! <z> -330 </z> ! </location> ! </pointmass> ! </mass_balance> ! ! <ground_reactions> ! <contact type="BOGEY" name="LMLG"> ! <location unit="IN"> ! <x> 0 </x> ! <y> -10 </y> ! <z> -180 </z> ! </location> ! <static_friction> 0.8 </static_friction> ! <dynamic_friction> 0.5 </dynamic_friction> ! <rolling_friction> 0.5 </rolling_friction> ! <spring_coeff unit="LBS/FT"> 200 </spring_coeff> ! <damping_coeff unit="LBS/FT/SEC"> 50 </damping_coeff> ! <max_steer unit="DEG"> 0.0 </max_steer> ! <brake_group> NONE </brake_group> ! <retractable>0</retractable> ! </contact> ! <contact type="BOGEY" name="RMLG"> ! <location unit="IN"> ! <x> 0 </x> ! <y> 10 </y> ! <z> -180 </z> ! </location> ! <static_friction> 0.8 </static_friction> ! <dynamic_friction> 0.5 </dynamic_friction> ! <rolling_friction> 0.5 </rolling_friction> ! <spring_coeff unit="LBS/FT"> 200 </spring_coeff> ! <damping_coeff unit="LBS/FT/SEC"> 50 </damping_coeff> ! <max_steer unit="DEG"> 0.0 </max_steer> ! <brake_group> NONE </brake_group> ! <retractable>0</retractable> ! </contact> ! </ground_reactions> ! ! <system file="Controls.xml"/> ! ! <propulsion> ! <engine file="Polini_THOR80"> ! <location unit="IN"> ! <x> 4.00 </x> ! <y> 0.00 </y> ! <z> -330.00 </z> ! </location> ! <orient unit="DEG"> ! <pitch> 0.00 </pitch> ! <roll> 0.00 </roll> ! <yaw> 0.00 </yaw> ! </orient> ! <feed> 0 </feed> ! ! <thruster file="DT_Propeller"> ! <sense> 1 </sense> ! <location unit="IN"> ! <x> 10.00 </x> ! <y> 0.00 </y> ! <z> -330.00 </z> ! </location> ! <orient unit="DEG"> ! <pitch> 0.00 </pitch> ! <roll> 0.00 </roll> ! <yaw> 0.00 </yaw> ! </orient> ! </thruster> ! </engine> ! ! <tank type="FUEL" number="0"> ! <location unit="IN"> ! <x> 8.00 </x> ! <y> 0.00 </y> ! <z> -250.00 </z> ! </location> ! <capacity unit="LBS"> 3.5 </capacity> ! <contents unit="LBS"> 1.0 </contents> ! </tank> ! </propulsion> ! ! <flight_control name="FCS: paraglider_FCS"> ! </flight_control> ! ! <aerodynamics> ! ! <!-- ! Drag of a spehere: 0.5 ! Re CD(rough) CD(clean) ! 10^2 1.2 1.2 ! 10^3 0.5 0.5 ! 10^4 0.5 0.5 ! 10^5 0.2 0.5 ! 50^5 0.1 ! 10^6 0.4 0.35 ! 10^7 0.5 0.48 ! --> ! <!-- Pilot area (area of a circle with a diameter of 1.25 meter) --> ! <property type="float" value="13.2">metrics/Sp-sqft</property> ! ! <!-- Pilot arm (-330 inches equals to 27.5 foot --> ! <property type="float" value="27.5">metrics/bp-ft</property> ! ! <axis name="DRAG"> ! <function name="aero/coefficient/CDalpha"> ! <description>Drag_due_to_alpha</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <table> ! <independentVar lookup="row">aero/alpha-deg</independentVar> ! <independentVar lookup="column">fcs/elevator-pos-norm</independentVar> ! <tableData> ! 0.0 2.0 ! 0.0 0.065 0.144 ! 2.5 0.065 0.168 ! 5.0 0.085 0.206 ! 7.5 0.109 0.236 ! 9.0 0.137 0.322 ! 11.0 0.160 0.386 ! 12.5 0.199 0.434 ! 15.0 0.237 0.578 ! 17.5 0.328 0.706 ! 19.0 0.339 0.786 ! 20.0 0.358 0.866 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/coefficient/CDpilot"> ! <description>Drag_due_to_pilot</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sp-sqft</property> ! <value>0.5</value> ! </product> ! </function> ! </axis> ! ! <axis name="SIDE"> ! <function name="aero/coefficient/CYDa"> ! <description>Side_force_due_to_aileron</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <table> ! <independentVar lookup="row">aero/alpha-deg</independentVar> ! <independentVar lookup="column">fcs/aileron-pos-norm</independentVar> ! <tableData> ! -1.0 0.0 1.0 ! 0.0 0.004 0.000 -0.004 ! 2.5 0.005 0.000 -0.005 ! 5.0 0.006 0.000 -0.006 ! 7.5 0.007 0.000 -0.007 ! 9.0 0.008 -0.000 -0.008 ! 11.0 0.003 -0.001 -0.003 ! 12.5 0.002 -0.002 -0.002 ! 15.0 -0.006 0.002 0.006 ! 17.5 0.001 -0.001 -0.001 ! 19.0 -0.009 -0.002 0.009 ! 20.0 -0.004 -0.002 0.004 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/coefficient/CYb"> ! <description>Side_force_due_to_beta</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <property>aero/beta-rad</property> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0 -0.053 ! 2 -0.035 ! 4 -0.020 ! 6 -0.039 ! 8 -0.072 ! 10 -0.056 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/coefficient/CYpilot"> ! <description>Side_force_due_to_pilot</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sp-sqft</property> ! <property>aero/beta-rad</property> ! <value>-0.5</value> ! </product> ! </function> ! <function name="aero/coefficient/CYp"> ! <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> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0 -0.040 ! 2 -0.061 ! 4 -0.086 ! 6 -0.150 ! 8 -0.193 ! 10 -0.179 ! </tableData> ! </table> ! </product> ! </function> ! </axis> ! ! <axis name="LIFT"> ! <function name="aero/coefficient/CLalpha"> ! <description>Lift_due_to_alpha</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <table> ! <independentVar lookup="row">aero/alpha-deg</independentVar> ! <independentVar lookup="column">fcs/elevator-pos-norm</independentVar> ! <tableData> ! 0.0 2.0 ! 0.0 0.275 0.642 ! 2.5 0.395 0.924 ! 5.0 0.495 1.166 ! 7.5 0.609 1.410 ! 9.0 0.628 1.546 ! 11.0 0.628 1.546 ! 12.5 0.649 1.450 ! 15.0 0.614 1.636 ! 17.5 0.789 1.726 ! 19.0 0.669 1.902 ! 20.0 0.705 2.026 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/force/CLadot"> ! <description>Lift_due_to_alpha_rate</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <property>aero/ci2vel</property> ! <property>aero/alphadot-rad_sec</property> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0.0 8.1 ! 2.0 11.1 ! 4.0 1.2 ! 6.0 0.5 ! 8.0 2.4 ! 10.0 10.1 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/force/CLq"> ! <description>Lift_due_to_pitch_rate</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <property>aero/ci2vel</property> ! <property>velocities/q-aero-rad_sec</property> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0.0 11.9 ! 2.0 13.6 ! 4.0 0.8 ! 6.0 0.9 ! 8.0 2.4 ! 10.0 14.9 ! </tableData> ! </table> ! </product> ! </function> ! </axis> ! ! <axis name="ROLL"> ! <function name="aero/coefficient/ClDa"> ! <description>Roll_moment_due_to_aileron</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <property>metrics/bw-ft</property> ! <table> ! <independentVar lookup="row">aero/alpha-deg</independentVar> ! <independentVar lookup="column">fcs/aileron-pos-norm</independentVar> ! <tableData> ! -1.0 0.0 1.0 ! 0.0 -0.018 0.000 0.018 ! 2.5 -0.020 0.000 0.020 ! 5.0 -0.021 0.000 0.021 ! 7.5 -0.022 0.000 0.022 ! 9.0 -0.021 0.002 0.021 ! 11.0 -0.004 0.002 0.004 ! 12.5 0.003 -0.003 -0.003 ! 15.0 -0.008 -0.008 0.008 ! 17.5 -0.015 0.012 0.015 ! 19.0 -0.004 0.008 0.004 ! 20.0 0.000 0.018 0.000 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/moment/Clb"> ! <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> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0 -0.080 ! 2 -0.051 ! 4 -0.088 ! 6 -0.107 ! 8 -0.133 ! 10 -0.152 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/moment/Clpilot"> ! <description>Roll moment due to pilot</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sp-sqft</property> ! <property>metrics/bp-ft</property> ! <property>aero/beta-rad</property> ! <value>-0.5</value> ! </product> ! </function> ! <function name="aero/coefficient/Clp"> ! <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> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0 -0.320 ! 2 -0.348 ! 4 -0.200 ! 6 -0.358 ! 8 -0.393 ! 10 -0.367 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/moment/Clr"> ! <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> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0 -0.050 ! 2 0.110 ! 4 0.077 ! 6 0.080 ! 8 0.061 ! 10 0.039 ! </tableData> ! </table> ! </product> ! </function> ! </axis> ! ! <axis name="PITCH"> ! <function name="aero/coefficient/CmDe"> ! <description>Pitch_moment_due_to_elevator</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <property>metrics/cbarw-ft</property> ! <table> ! <independentVar lookup="row">aero/alpha-deg</independentVar> ! <independentVar lookup="column">fcs/elevator-pos-norm</independentVar> ! <tableData> ! 0.0 2.0 ! 0.0 0.000 -0.046 ! 2.5 -0.006 -0.062 ! 5.0 -0.007 -0.084 ! 7.5 -0.008 -0.084 ! 9.0 -0.056 -0.176 ! 11.0 -0.070 -0.196 ! 12.5 -0.082 -0.242 ! 15.0 -0.104 -0.242 ! 17.5 -0.113 -0.296 ! 19.0 -0.119 -0.284 ! 20.0 -0.115 -0.296 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/coefficient/Cmpilot"> ! <description>Pitch_moment_due_to_pilot</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sp-sqft</property> ! <property>metrics/bp-ft</property> ! <value>-0.5</value> ! </product> ! </function> ! <function name="aero/moment/Cmadot"> ! <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> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0.0 -2.5 ! 2.0 -0.5 ! 4.0 2.8 ! 6.0 0.1 ! 8.0 -0.4 ! 10.0 0.0 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/moment/Cmq"> ! <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>-30</value> ! <!-- ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0.0 -1.9 ! 2.0 0.5 ! 4.0 0.0 ! 6.0 2.9 ! 8.0 -0.5 ! 10.0 0.5 ! </tableData> ! </table> ! --> ! </product> ! </function> ! </axis> ! ! <axis name="YAW"> ! <function name="aero/coefficient/CnDa"> ! <description>Yaw_moment_due_to_aileron</description> ! <product> ! <property>aero/qbar-psf</property> ! <property>metrics/Sw-sqft</property> ! <property>metrics/bw-ft</property> ! <table> ! <independentVar lookup="row">aero/alpha-deg</independentVar> ! <independentVar lookup="column">fcs/aileron-pos-norm</independentVar> ! <tableData> ! -1.0 0.0 1.0 ! 0.0 0.007 0.001 -0.007 ! 2.5 0.007 -0.001 -0.007 ! 5.0 0.007 0.001 -0.007 ! 7.5 0.010 -0.001 -0.010 ! 9.0 0.010 0.001 -0.010 ! 11.0 0.012 0.002 -0.012 ! 12.5 0.016 0.000 -0.016 ! 15.0 0.016 0.000 -0.016 ! 17.5 0.007 -0.001 -0.007 ! 19.0 0.011 0.001 -0.011 ! 20.0 0.014 0.001 -0.014 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/moment/Cnb"> ! <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> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0 0.0009 ! 2 -0.0176 ! 4 -0.0040 ! 6 0.0000 ! 8 0.0224 ! 10 0.0176 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/moment/Cnp"> ! <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-aero-rad_sec</property> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0 -0.320 ! 2 -0.348 ! 4 -0.200 ! 6 -0.358 ! 8 -0.393 ! 10 -0.367 ! </tableData> ! </table> ! </product> ! </function> ! <function name="aero/moment/Cnr"> ! <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> ! <table> ! <independentVar>aero/alpha-deg</independentVar> ! <tableData> ! 0 -0.070 ! 2 -0.112 ! 4 -0.156 ! 6 -0.036 ! 8 -0.072 ! 10 -0.072 ! </tableData> ! </table> ! </product> ! </function> ! </axis> ! </aerodynamics> </fdm_config> |
From: Erik H. <eh...@us...> - 2016-05-18 12:22:43
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/paraglider/Engines In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv12821/Engines Log Message: Directory /cvsroot/jsbsim/JSBSim/aircraft/paraglider/Engines added to the repository |
From: Erik H. <eh...@us...> - 2016-05-18 12:22:43
|
Update of /cvsroot/jsbsim/JSBSim/aircraft/paraglider/Systems In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv12821/Systems Log Message: Directory /cvsroot/jsbsim/JSBSim/aircraft/paraglider/Systems added to the repository |
From: Erik H. <er...@eh...> - 2016-05-18 11:29:55
|
Hi, For FlightGear I've updated the paraglider model (a ram-air parachute FDM with an added pilot at an offset) with a small engine. If I do not use the engine and turn left or right everything is within limits. However, once I start the engine (which is also at an offset, strapped to the back of the pilot) something happens which causes Auxiliary->GetPilotAccel(2) to oscillate between about 0.0 and a rather high value. Which eventually leads to NaN's spreading across and FlgithGear crashing. Does anybody have any clue what might be going on? Since the pilot (with engine) is basically a pendulum I've been thinking it might be a Gimbal lock of some sort but that's a wild guess. Erik -- http://www.adalin.com - High performance virtual reality audio software. |
From: Erik H. <eh...@us...> - 2016-05-18 08:07:00
|
Update of /cvsroot/jsbsim/JSBSim/src/models In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25749/models Modified Files: FGFCS.cpp FGFCS.h Log Message: Unfortunatelly it turns out GroundREactions may not yet be initialized, so keep a pointer to fdmex instead Index: FGFCS.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGFCS.cpp,v retrieving revision 1.96 retrieving revision 1.97 diff -C2 -r1.96 -r1.97 *** FGFCS.cpp 18 May 2016 07:21:16 -0000 1.96 --- FGFCS.cpp 18 May 2016 08:06:57 -0000 1.97 *************** *** 78,82 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! FGFCS::FGFCS(FGFDMExec* fdmex) : FGModel(fdmex), ChannelRate(1) { int i; --- 78,82 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! FGFCS::FGFCS(FGFDMExec* fdm) : FGModel(fdm), ChannelRate(1) { int i; *************** *** 84,88 **** systype = stFCS; ! gr = fdmex->GetGroundReactions(); DaCmd = DeCmd = DrCmd = DfCmd = DsbCmd = DspCmd = 0; PTrimCmd = YTrimCmd = RTrimCmd = 0.0; --- 84,88 ---- systype = stFCS; ! fdmex = fdm; DaCmd = DeCmd = DrCmd = DfCmd = DsbCmd = DspCmd = 0; PTrimCmd = YTrimCmd = RTrimCmd = 0.0; Index: FGFCS.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGFCS.h,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -r1.52 -r1.53 *** FGFCS.h 18 May 2016 07:21:16 -0000 1.52 --- FGFCS.h 18 May 2016 08:06:57 -0000 1.53 *************** *** 228,232 **** /** Gets the steering command. @return steering command in range from -1.0 - 1.0 */ ! double GetDsCmd(void) const { return gr->GetDsCmd(); } /** Gets the flaps command. --- 228,232 ---- /** Gets the steering command. @return steering command in range from -1.0 - 1.0 */ ! double GetDsCmd(void) const { return fdmex->GetGroundReactions()->GetDsCmd(); } /** Gets the flaps command. *************** *** 389,393 **** /** Sets the steering command @param cmd steering command in percent*/ ! void SetDsCmd(double cmd) { gr->SetDsCmd( cmd ); } /** Sets the flaps command --- 389,393 ---- /** Sets the steering command @param cmd steering command in percent*/ ! void SetDsCmd(double cmd) { fdmex->GetGroundReactions()->SetDsCmd( cmd ); } /** Sets the flaps command *************** *** 574,578 **** SystemType systype; int ChannelRate; ! FGGroundReactions *gr; typedef std::vector <FGFCSChannel*> Channels; --- 574,578 ---- SystemType systype; int ChannelRate; ! FGFDMExec* fdmex; typedef std::vector <FGFCSChannel*> Channels; |
From: Erik H. <er...@eh...> - 2016-05-18 07:22:29
|
On 05/17/2016 07:13 PM, Bertrand Coconnier wrote: > Oops ! All my tests were conducted on JSBSim stand-alone and I focused > my efforts on making the XML interface unchanged. I completely > overlooked the interface with FlightGear: No problem, it just a minor inconvenience. I've added the patch to CVS. Erik -- http://www.adalin.com - High performance virtual reality audio software. |
From: Erik H. <eh...@us...> - 2016-05-18 07:21:19
|
Update of /cvsroot/jsbsim/JSBSim/src/models In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23559/models Modified Files: FGFCS.cpp FGFCS.h Log Message: Add SetDsCmd and GetDsCmd back to FCS (so all commands are accessable from the same place) Index: FGFCS.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGFCS.cpp,v retrieving revision 1.95 retrieving revision 1.96 diff -C2 -r1.95 -r1.96 *** FGFCS.cpp 16 May 2016 18:19:57 -0000 1.95 --- FGFCS.cpp 18 May 2016 07:21:16 -0000 1.96 *************** *** 84,87 **** --- 84,88 ---- systype = stFCS; + gr = fdmex->GetGroundReactions(); DaCmd = DeCmd = DrCmd = DfCmd = DsbCmd = DspCmd = 0; PTrimCmd = YTrimCmd = RTrimCmd = 0.0; Index: FGFCS.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGFCS.h,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -r1.51 -r1.52 *** FGFCS.h 16 May 2016 18:19:57 -0000 1.51 --- FGFCS.h 18 May 2016 07:21:16 -0000 1.52 *************** *** 45,48 **** --- 45,49 ---- #include "models/FGModel.h" #include "models/FGLGear.h" + #include "models/FGGroundReactions.h" /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *************** *** 225,228 **** --- 226,233 ---- double GetDrCmd(void) const { return DrCmd; } + /** Gets the steering command. + @return steering command in range from -1.0 - 1.0 */ + double GetDsCmd(void) const { return gr->GetDsCmd(); } + /** Gets the flaps command. @return flaps command in range from 0 to 1.0 */ *************** *** 382,385 **** --- 387,394 ---- void SetDrCmd(double cmd) { DrCmd = cmd; } + /** Sets the steering command + @param cmd steering command in percent*/ + void SetDsCmd(double cmd) { gr->SetDsCmd( cmd ); } + /** Sets the flaps command @param cmd flaps command in percent*/ *************** *** 565,568 **** --- 574,578 ---- SystemType systype; int ChannelRate; + FGGroundReactions *gr; typedef std::vector <FGFCSChannel*> Channels; |
From: Jon B. <jon...@co...> - 2016-05-18 03:29:57
|
> Bertrand, > > I think you are doing a great job at making JSBSim more robust. > > Erik I'll second that sentiment. Jon |
From: Bertrand C. <bco...@gm...> - 2016-05-17 17:13:18
|
Oops ! All my tests were conducted on JSBSim stand-alone and I focused my efforts on making the XML interface unchanged. I completely overlooked the interface with FlightGear: As far as I am concerned your patch is ok so you can go ahead and commit it. Thank you for testing and reporting that. Bertrand. 2016-05-17 16:11 GMT+02:00 Erik Hofman <er...@eh...>: > On 05/17/2016 03:34 PM, Erik Hofman wrote: > >> All the other controls, like flaps, speedbrakes and spoilers are >> settable in FCS. Maybe it would be a good idea to also add SetDsCmd() >> again? >> > > I therefore propose this patch. > > > Erik > > -- > http://www.adalin.com - High performance virtual reality audio software. > > > ------------------------------------------------------------------------------ > Mobile security can be enabling, not merely restricting. Employees who > bring their own devices (BYOD) to work are irked by the imposition of MDM > restrictions. Mobile Device Manager Plus allows you to control only the > apps on BYO-devices by containerizing them, leaving personal data > untouched! > https://ad.doubleclick.net/ddm/clk/304595813;131938128;j > _______________________________________________ > Jsbsim-cvslogs mailing list > Jsb...@li... > https://lists.sourceforge.net/lists/listinfo/jsbsim-cvslogs > > |
From: Erik H. <er...@eh...> - 2016-05-17 14:11:53
|
On 05/17/2016 03:34 PM, Erik Hofman wrote: > All the other controls, like flaps, speedbrakes and spoilers are > settable in FCS. Maybe it would be a good idea to also add SetDsCmd() again? I therefore propose this patch. Erik -- http://www.adalin.com - High performance virtual reality audio software. |
From: Erik H. <er...@eh...> - 2016-05-17 13:35:27
|
On 05/16/2016 08:19 PM, Bertrand wrote: > Update of /cvsroot/jsbsim/JSBSim/src/models > In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv18420/src/models > > Modified Files: > FGFCS.cpp FGFCS.h FGGroundReactions.cpp FGGroundReactions.h > FGLGear.cpp FGLGear.h > Log Message: > The steering angle of each landing gear is now managed by FGGroundReactions and FGLGear. FGFCS no longer needs to know how many gears there are, which ones are steerable, which are not, etc. The steering angle was also stored in 3 different locations FGFCS::SteerPosDeg, FGLGear::in::SteerPosDeg and FGLGear::SteerAngle. Now the data is stored in FGLGear::SteerAngle only. This results in a better encapsulation of the landing gears code. The code is also simpler since information no longer need to be exchanged back and forth between FGLGear and FGFCS. Bertrand, I think you are doing a great job at making JSBSim more robust. Only, this change prevented FligtGear to call FCS->SetDsCmd() which now requires us to get fdmex->GetGroundReactions() for just setting steering. All the other controls, like flaps, speedbrakes and spoilers are settable in FCS. Maybe it would be a good idea to also add SetDsCmd() again? Erik -- http://www.adalin.com - High performance virtual reality audio software. |
From: Bertrand <bco...@us...> - 2016-05-16 18:20:01
|
Update of /cvsroot/jsbsim/JSBSim/src/models In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv18420/src/models Modified Files: FGFCS.cpp FGFCS.h FGGroundReactions.cpp FGGroundReactions.h FGLGear.cpp FGLGear.h Log Message: The steering angle of each landing gear is now managed by FGGroundReactions and FGLGear. FGFCS no longer needs to know how many gears there are, which ones are steerable, which are not, etc. The steering angle was also stored in 3 different locations FGFCS::SteerPosDeg, FGLGear::in::SteerPosDeg and FGLGear::SteerAngle. Now the data is stored in FGLGear::SteerAngle only. This results in a better encapsulation of the landing gears code. The code is also simpler since information no longer need to be exchanged back and forth between FGLGear and FGFCS. Index: FGFCS.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGFCS.cpp,v retrieving revision 1.94 retrieving revision 1.95 diff -C2 -r1.94 -r1.95 *** FGFCS.cpp 3 Apr 2016 11:13:19 -0000 1.94 --- FGFCS.cpp 16 May 2016 18:19:57 -0000 1.95 *************** *** 84,88 **** systype = stFCS; ! DaCmd = DeCmd = DrCmd = DsCmd = DfCmd = DsbCmd = DspCmd = 0; PTrimCmd = YTrimCmd = RTrimCmd = 0.0; GearCmd = GearPos = 1; // default to gear down --- 84,88 ---- systype = stFCS; ! DaCmd = DeCmd = DrCmd = DfCmd = DsbCmd = DspCmd = 0; PTrimCmd = YTrimCmd = RTrimCmd = 0.0; GearCmd = GearPos = 1; // default to gear down *************** *** 109,113 **** PropAdvanceCmd.clear(); PropAdvance.clear(); - SteerPosDeg.clear(); PropFeatherCmd.clear(); PropFeather.clear(); --- 109,112 ---- *************** *** 136,140 **** for (i=0; i<PropFeather.size(); i++) PropFeather[i] = 0.0; ! DaCmd = DeCmd = DrCmd = DsCmd = DfCmd = DsbCmd = DspCmd = 0; PTrimCmd = YTrimCmd = RTrimCmd = 0.0; TailhookPos = WingFoldPos = 0.0; --- 135,139 ---- for (i=0; i<PropFeather.size(); i++) PropFeather[i] = 0.0; ! DaCmd = DeCmd = DrCmd = DfCmd = DsbCmd = DspCmd = 0; PTrimCmd = YTrimCmd = RTrimCmd = 0.0; TailhookPos = WingFoldPos = 0.0; *************** *** 173,182 **** for (i=0; i<PropFeather.size(); i++) PropFeather[i] = PropFeatherCmd[i]; - // Set the default steering angle - for (i=0; i<SteerPosDeg.size(); i++) { - FGLGear* gear = FDMExec->GetGroundReactions()->GetGearUnit(i); - SteerPosDeg[i] = gear->GetDefaultSteerAngle( GetDsCmd() ); - } - // Execute system channels in order for (i=0; i<SystemChannels.size(); i++) { --- 172,175 ---- *************** *** 504,509 **** Debug(2); - if (systype == stFCS) bindModel(); - Element* channel_element = document->FindElement("channel"); --- 497,500 ---- *************** *** 689,700 **** //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - void FGFCS::AddGear(unsigned int NumGear) - { - SteerPosDeg.clear(); - for (unsigned int i=0; i<NumGear; i++) SteerPosDeg.push_back(0.0); - } - - //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - double FGFCS::GetDt(void) const { --- 680,683 ---- *************** *** 755,759 **** PropertyManager->Tie("fcs/right-brake-cmd-norm", this, &FGFCS::GetRBrake, &FGFCS::SetRBrake); PropertyManager->Tie("fcs/center-brake-cmd-norm", this, &FGFCS::GetCBrake, &FGFCS::SetCBrake); - PropertyManager->Tie("fcs/steer-cmd-norm", this, &FGFCS::GetDsCmd, &FGFCS::SetDsCmd); PropertyManager->Tie("gear/tailhook-pos-norm", this, &FGFCS::GetTailhookPos, &FGFCS::SetTailhookPos); --- 738,741 ---- *************** *** 797,815 **** //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - void FGFCS::bindModel(void) - { - unsigned int i; - string tmp; - - for (i=0; i<SteerPosDeg.size(); i++) { - if (FDMExec->GetGroundReactions()->GetGearUnit(i)->GetSteerable()) { - tmp = CreateIndexedPropertyName("fcs/steer-pos-deg", i); - PropertyManager->Tie( tmp.c_str(), this, i, &FGFCS::GetSteerPosDeg, &FGFCS::SetSteerPosDeg); - } - } - } - - //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // The bitmasked value choices are as follows: // unset: In this case (the default) JSBSim would only print --- 779,782 ---- Index: FGFCS.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGFCS.h,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -r1.50 -r1.51 *** FGFCS.h 27 Feb 2016 16:54:15 -0000 1.50 --- FGFCS.h 16 May 2016 18:19:57 -0000 1.51 *************** *** 225,232 **** double GetDrCmd(void) const { return DrCmd; } - /** Gets the steering command. - @return steering command in range from -1.0 - 1.0 */ - double GetDsCmd(void) const { return DsCmd; } - /** Gets the flaps command. @return flaps command in range from 0 to 1.0 */ --- 225,228 ---- *************** *** 334,343 **** const std::vector<double>& GetMixturePos() const {return MixturePos;} - /** Gets the steering position. - @return steering position in degrees */ - double GetSteerPosDeg(int gear) const { return SteerPosDeg[gear]; } - - const std::vector<double>& GetSteerPosDeg() const {return SteerPosDeg;} - /** Gets the gear position (0 up, 1 down), defaults to down @return gear position (0 up, 1 down) */ --- 330,333 ---- *************** *** 392,399 **** void SetDrCmd(double cmd) { DrCmd = cmd; } - /** Sets the steering command - @param cmd steering command in percent*/ - void SetDsCmd(double cmd) { DsCmd = cmd; } - /** Sets the flaps command @param cmd flaps command in percent*/ --- 382,385 ---- *************** *** 485,492 **** void SetMixturePos(int engine, double cmd); - /** Sets the steering position - @param cmd steering position in degrees*/ - void SetSteerPosDeg(int gear, double pos) { SteerPosDeg[gear] = pos; } - /** Set the gear extend/retract position, defaults to down @param gear position 0 up, 1 down */ --- 471,474 ---- *************** *** 557,561 **** void AddThrottle(void); - void AddGear(unsigned int NumGear); double GetDt(void) const; --- 539,542 ---- *************** *** 566,570 **** private: ! double DaCmd, DeCmd, DrCmd, DsCmd, DfCmd, DsbCmd, DspCmd; double DePos[NForms], DaLPos[NForms], DaRPos[NForms], DrPos[NForms]; double DfPos[NForms], DsbPos[NForms], DspPos[NForms]; --- 547,551 ---- private: ! double DaCmd, DeCmd, DrCmd, DfCmd, DsbCmd, DspCmd; double DePos[NForms], DaLPos[NForms], DaRPos[NForms], DrPos[NForms]; double DfPos[NForms], DsbPos[NForms], DspPos[NForms]; *************** *** 578,582 **** std::vector <bool> PropFeatherCmd; std::vector <bool> PropFeather; - std::vector <double> SteerPosDeg; //double LeftBrake, RightBrake, CenterBrake; // Brake settings std::vector <double> BrakePos; // left, center, right - defined by FGLGear:: enum --- 559,562 ---- *************** *** 589,593 **** Channels SystemChannels; void bind(void); - void bindModel(void); void bindThrottle(unsigned int); void Debug(int from); --- 569,572 ---- Index: FGGroundReactions.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGGroundReactions.cpp,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -r1.51 -r1.52 *** FGGroundReactions.cpp 9 Jun 2014 11:52:07 -0000 1.51 --- FGGroundReactions.cpp 16 May 2016 18:19:57 -0000 1.52 *************** *** 58,62 **** FGGroundReactions::FGGroundReactions(FGFDMExec* fgex) : FGModel(fgex), ! FGSurface(fgex) { Name = "FGGroundReactions"; --- 58,63 ---- FGGroundReactions::FGGroundReactions(FGFDMExec* fgex) : FGModel(fgex), ! FGSurface(fgex), ! DsCmd(0.0) { Name = "FGGroundReactions"; *************** *** 85,88 **** --- 86,90 ---- vForces.InitMatrix(); vMoments.InitMatrix(); + DsCmd = 0.0; multipliers.clear(); *************** *** 139,142 **** --- 141,153 ---- //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + void FGGroundReactions::SetDsCmd(double cmd) + { + DsCmd = cmd; + for (unsigned int i=0; i<lGear.size(); ++i) + lGear[i]->SetSteerCmd(cmd); + } + + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + bool FGGroundReactions::Load(Element* document) { *************** *** 259,262 **** --- 270,275 ---- PropertyManager->Tie("gear/num-units", this, &FGGroundReactions::GetNumGearUnits); PropertyManager->Tie("gear/wow", this, &FGGroundReactions::GetWOW); + PropertyManager->Tie("fcs/steer-cmd-norm", this, &FGGroundReactions::GetDsCmd, + &FGGroundReactions::SetDsCmd); } Index: FGGroundReactions.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGGroundReactions.h,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -r1.29 -r1.30 *** FGGroundReactions.h 16 Jan 2014 12:31:49 -0000 1.29 --- FGGroundReactions.h 16 May 2016 18:19:57 -0000 1.30 *************** *** 110,113 **** --- 110,121 ---- FGLGear* GetGearUnit(int gear) const { return lGear[gear]; } + /** Gets the steering command. + @return steering command in range from -1.0 - 1.0 */ + double GetDsCmd(void) const { return DsCmd; } + + /** Sets the steering command + @param cmd steering command in percent*/ + void SetDsCmd(double cmd); + void RegisterLagrangeMultiplier(LagrangeMultiplier* lmult) { multipliers.push_back(lmult); } std::vector <LagrangeMultiplier*>* GetMultipliersList(void) { return &multipliers; } *************** *** 120,123 **** --- 128,132 ---- FGColumnVector3 vMoments; std::vector <LagrangeMultiplier*> multipliers; + double DsCmd; void bind(void); Index: FGLGear.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGLGear.cpp,v retrieving revision 1.122 retrieving revision 1.123 diff -C2 -r1.122 -r1.123 *** FGLGear.cpp 16 May 2016 17:47:14 -0000 1.122 --- FGLGear.cpp 16 May 2016 18:19:57 -0000 1.123 *************** *** 81,85 **** SteerAngle(0.0), Castered(false), ! StaticFriction(false) { kSpring = bDamp = bDampRebound = dynamicFCoeff = staticFCoeff = rollingFCoeff = maxSteerAngle = 0; --- 81,86 ---- SteerAngle(0.0), Castered(false), ! StaticFriction(false), ! eSteerType(stSteer) { kSpring = bDamp = bDampRebound = dynamicFCoeff = staticFCoeff = rollingFCoeff = maxSteerAngle = 0; *************** *** 254,257 **** --- 255,259 ---- MaximumStrutForce = MaximumStrutTravel = 0.0; SinkRate = GroundSpeed = 0.0; + SteerAngle = 0.0; vWhlVelVec.InitMatrix(); *************** *** 447,451 **** void FGLGear::ComputeSlipAngle(void) { ! // Check that the speed is non-null otherwise use the current angle if (vGroundWhlVel.Magnitude(eX,eY) > 1E-3) WheelSlip = -atan2(vGroundWhlVel(eY), fabs(vGroundWhlVel(eX)))*radtodeg; --- 449,453 ---- void FGLGear::ComputeSlipAngle(void) { ! // Check that the speed is non-null otherwise keep the current angle if (vGroundWhlVel.Magnitude(eX,eY) > 1E-3) WheelSlip = -atan2(vGroundWhlVel(eY), fabs(vGroundWhlVel(eX)))*radtodeg; *************** *** 458,480 **** void FGLGear::ComputeSteeringAngle(void) { ! switch (eSteerType) { ! case stSteer: ! SteerAngle = degtorad * in.SteerPosDeg[GearNumber]; ! break; ! case stFixed: ! SteerAngle = 0.0; ! break; ! case stCaster: ! if (!Castered) ! SteerAngle = degtorad * in.SteerPosDeg[GearNumber]; ! else { ! // Check that the speed is non-null otherwise use the current angle if (vWhlVelVec.Magnitude(eX,eY) > 0.1) SteerAngle = atan2(vWhlVelVec(eY), fabs(vWhlVelVec(eX))); - } - break; - default: - cerr << "Improper steering type membership detected for this gear." << endl; - break; } } --- 460,467 ---- void FGLGear::ComputeSteeringAngle(void) { ! if (Castered) { ! // Check that the speed is non-null otherwise keep the current angle if (vWhlVelVec.Magnitude(eX,eY) > 0.1) SteerAngle = atan2(vWhlVelVec(eY), fabs(vWhlVelVec(eX))); } } *************** *** 832,835 **** --- 819,830 ---- PropertyManager->Tie( property_name.c_str(), &GearPos ); } + + if (eSteerType != stFixed) { + // This property allows the FCS to override the steering position angle that + // is set by the property fcs/steer-cmd-norm. The prefix fcs/ has been kept + // for backward compatibility. + string tmp = CreateIndexedPropertyName("fcs/steer-pos-deg", GearNumber); + PropertyManager->Tie(tmp.c_str(), this, &FGLGear::GetSteerAngleDeg, &FGLGear::SetSteerAngleDeg); + } } Index: FGLGear.h =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGLGear.h,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -r1.64 -r1.65 *** FGLGear.h 28 Jan 2014 09:42:21 -0000 1.64 --- FGLGear.h 16 May 2016 18:19:57 -0000 1.65 *************** *** 211,215 **** FGColumnVector3 vXYZcg; // CG coordinates expressed in the structural frame FGLocation Location; - std::vector <double> SteerPosDeg; std::vector <double> BrakePos; double FCSGearPos; --- 211,214 ---- *************** *** 276,280 **** bool GetReport(void) const { return ReportEnable; } double GetSteerNorm(void) const { return radtodeg/maxSteerAngle*SteerAngle; } ! double GetDefaultSteerAngle(double cmd) const { return cmd*maxSteerAngle; } double GetstaticFCoeff(void) const { return staticFCoeff; } --- 275,279 ---- bool GetReport(void) const { return ReportEnable; } double GetSteerNorm(void) const { return radtodeg/maxSteerAngle*SteerAngle; } ! void SetSteerCmd(double cmd) { SetSteerAngleDeg(cmd * maxSteerAngle); } double GetstaticFCoeff(void) const { return staticFCoeff; } *************** *** 316,319 **** --- 315,322 ---- double GetGearUnitPos(void) const; double GetSteerAngleDeg(void) const { return radtodeg*SteerAngle; } + void SetSteerAngleDeg(double angle) { + if (eSteerType != stFixed && !Castered) + SteerAngle = degtorad * angle; + } const struct Inputs& in; |
From: Bertrand <bco...@us...> - 2016-05-16 18:20:00
|
Update of /cvsroot/jsbsim/JSBSim/src In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv18420/src Modified Files: FGFDMExec.cpp Log Message: The steering angle of each landing gear is now managed by FGGroundReactions and FGLGear. FGFCS no longer needs to know how many gears there are, which ones are steerable, which are not, etc. The steering angle was also stored in 3 different locations FGFCS::SteerPosDeg, FGLGear::in::SteerPosDeg and FGLGear::SteerAngle. Now the data is stored in FGLGear::SteerAngle only. This results in a better encapsulation of the landing gears code. The code is also simpler since information no longer need to be exchanged back and forth between FGLGear and FGFCS. Index: FGFDMExec.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/FGFDMExec.cpp,v retrieving revision 1.190 retrieving revision 1.191 diff -C2 -r1.190 -r1.191 *** FGFDMExec.cpp 1 May 2016 18:25:57 -0000 1.190 --- FGFDMExec.cpp 16 May 2016 18:19:57 -0000 1.191 *************** *** 447,451 **** GroundReactions->in.Temperature = Atmosphere->GetTemperature(); GroundReactions->in.TakeoffThrottle = (FCS->GetThrottlePos().size() > 0) ? (FCS->GetThrottlePos(0) > 0.90) : false; - GroundReactions->in.SteerPosDeg = FCS->GetSteerPosDeg(); GroundReactions->in.BrakePos = FCS->GetBrakePos(); GroundReactions->in.FCSGearPos = FCS->GetGearPos(); --- 447,450 ---- *************** *** 752,759 **** result = ((FGGroundReactions*)Models[eGroundReactions])->Load(element); if (!result) { ! cerr << endl << "Aircraft ground_reactions element has problems in file " << aircraftCfgFileName << endl; return result; } - ((FGFCS*)Models[eSystems])->AddGear(((FGGroundReactions*)Models[eGroundReactions])->GetNumGearUnits()); } else { cerr << endl << "No ground_reactions element was found in the aircraft config file." << endl; --- 751,759 ---- result = ((FGGroundReactions*)Models[eGroundReactions])->Load(element); if (!result) { ! cerr << endl << element->ReadFrom() ! << "Aircraft ground_reactions element has problems in file " ! << aircraftCfgFileName << endl; return result; } } else { cerr << endl << "No ground_reactions element was found in the aircraft config file." << endl; |
From: Bertrand <bco...@us...> - 2016-05-16 17:47:17
|
Update of /cvsroot/jsbsim/JSBSim/src/models In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv16941/src/models Modified Files: FGLGear.cpp Log Message: Shortened the succession of tests that determine if a landing gear is fixed, castered or steered Index: FGLGear.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/models/FGLGear.cpp,v retrieving revision 1.121 retrieving revision 1.122 diff -C2 -r1.121 -r1.122 *** FGLGear.cpp 29 Sep 2015 13:22:47 -0000 1.121 --- FGLGear.cpp 16 May 2016 17:47:14 -0000 1.122 *************** *** 155,159 **** maxSteerAngle = el->FindElementValueAsNumberConvertTo("max_steer", "DEG"); ! if (maxSteerAngle == 360) { eSteerType = stCaster; Castered = true; --- 155,162 ---- maxSteerAngle = el->FindElementValueAsNumberConvertTo("max_steer", "DEG"); ! Element* castered_el = el->FindElement("castered"); ! ! if ((maxSteerAngle == 360 && !castered_el) ! || (castered_el && castered_el->GetDataAsNumber() != 0.0)) { eSteerType = stCaster; Castered = true; *************** *** 165,185 **** eSteerType = stSteer; - Element* castering = el->FindElement("castered"); - if (castering) { - if (castering->GetDataAsNumber() != 0.0) { - eSteerType = stCaster; - Castered = true; - } - else { - if (maxSteerAngle == 0.0) { - eSteerType = stFixed; - } - else { - eSteerType = stSteer; - } - Castered = false; - } - } - GroundReactions = fdmex->GetGroundReactions(); --- 168,171 ---- |