diff --git a/A320-100-CFM.xml b/A320-100-CFM.xml index 7d87dcdc..c2d553c8 100644 --- a/A320-100-CFM.xml +++ b/A320-100-CFM.xml @@ -16,7 +16,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> Pre V1.0 A32X FDE - + 1319.79 117.26 @@ -26,26 +26,26 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 57.88 248.79 57.33 - + 19.2274 0 0.19249 - + 0 0 0 - + 18.8499 0 -1.7005004 - + 611903 1735389 @@ -55,13 +55,13 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0 0 80431 - + 18.8231 0 0.19249 - + 380 @@ -79,7 +79,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0.19249 - + 3000 @@ -88,7 +88,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> -1.18112 - + 3000 @@ -98,7 +98,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + @@ -145,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> RIGHT 1 - + 2.6272 @@ -238,7 +238,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> NONE 0 - + 14.3962788 @@ -269,7 +269,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> NONE 0 - + 40.0923 @@ -332,7 +332,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0 - + @@ -359,7 +359,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + 14.3962788 @@ -385,7 +385,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + 18.9231 @@ -448,17 +448,18 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> JET-A1 - - + + + - + - + - + diff --git a/A320-200-CFM.xml b/A320-200-CFM.xml index f6f7fb5e..03ce5e2f 100644 --- a/A320-200-CFM.xml +++ b/A320-200-CFM.xml @@ -16,7 +16,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> Pre V1.0 A32X FDE - + 1319.79 117.26 @@ -26,26 +26,26 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 57.88 248.79 57.33 - + 19.2274 0 0.19249 - + 0 0 0 - + 18.8499 0 -1.7005004 - + 611903 1735389 @@ -55,13 +55,13 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0 0 80431 - + 18.8231 0 0.19249 - + 380 @@ -79,7 +79,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0.19249 - + 3000 @@ -88,7 +88,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> -1.18112 - + 3000 @@ -98,7 +98,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + @@ -145,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> RIGHT 1 - + 2.6272 @@ -238,7 +238,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> NONE 0 - + 14.3962788 @@ -269,7 +269,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> NONE 0 - + 40.0923 @@ -332,7 +332,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0 - + @@ -359,7 +359,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + 14.3962788 @@ -385,7 +385,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + 18.9231 @@ -448,17 +448,18 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> JET-A1 - + + - + - + - + diff --git a/A320-200-IAE.xml b/A320-200-IAE.xml index c52cfa98..af135232 100644 --- a/A320-200-IAE.xml +++ b/A320-200-IAE.xml @@ -16,7 +16,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> Pre V1.0 A32X FDE - + 1319.79 117.26 @@ -26,26 +26,26 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 57.88 248.79 57.33 - + 19.2274 0 0.19249 - + 0 0 0 - + 18.8499 0 -1.7005004 - + 611903 1735389 @@ -55,13 +55,13 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0 0 80431 - + 18.8231 0 0.19249 - + 380 @@ -79,7 +79,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0.19249 - + 3000 @@ -88,7 +88,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> -1.18112 - + 3000 @@ -98,7 +98,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + @@ -145,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> RIGHT 1 - + 2.6272 @@ -238,7 +238,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> NONE 0 - + 14.3962788 @@ -269,7 +269,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> NONE 0 - + 40.0923 @@ -332,7 +332,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0 - + @@ -359,7 +359,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + 14.3962788 @@ -385,7 +385,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + 18.9231 @@ -448,17 +448,18 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> JET-A1 - - + + + - + - + - + diff --git a/A320-main.xml b/A320-main.xml index 0420bae3..8b3c955c 100644 --- a/A320-main.xml +++ b/A320-main.xml @@ -28,27 +28,10 @@ - - 1 - - 0.0 - 5000.0 - 200.0 - 25000.0 - 500.0 - - -60.0 - 0.0 - - 5.0 - 5.0 - 5.0 - 0.05 - 1.4 - 7.0 - 0.1 - 1.5 - + 5000 + 200 + 500 + 0 @@ -247,10 +230,8 @@ - nasal - + dialog-show + pushback @@ -1474,22 +1455,6 @@ Aircraft/IDG-A32X/Nasal/icing.nas - - Nasal/autopush.nas - - - Nasal/autopush_driver.nas - - - - - - - - - - - - + diff --git a/A320neo-CFM.xml b/A320neo-CFM.xml index c2344ea8..3a0cbc76 100644 --- a/A320neo-CFM.xml +++ b/A320neo-CFM.xml @@ -16,7 +16,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> Pre V1.0 A32X FDE - + 1319.79 117.26 @@ -26,26 +26,26 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 57.88 248.79 57.33 - + 19.2274 0 0.19249 - + 0 0 0 - + 18.8499 0 -1.7005004 - + 611903 1735389 @@ -55,13 +55,13 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0 0 80431 - + 18.8231 0 0.19249 - + 380 @@ -79,7 +79,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0.19249 - + 3000 @@ -88,7 +88,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> -1.18112 - + 3000 @@ -98,7 +98,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + @@ -145,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> RIGHT 1 - + 2.6272 @@ -238,7 +238,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> NONE 0 - + 14.3962788 @@ -269,7 +269,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> NONE 0 - + 40.0923 @@ -332,7 +332,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0 - + @@ -359,7 +359,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + 14.3962788 @@ -385,7 +385,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + 18.9231 @@ -448,17 +448,18 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> JET-A1 - - + + + - + - + - + diff --git a/A320neo-PW.xml b/A320neo-PW.xml index f565b8f2..d06dfd1a 100644 --- a/A320neo-PW.xml +++ b/A320neo-PW.xml @@ -16,7 +16,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> Pre V1.0 A32X FDE - + 1319.79 117.26 @@ -26,26 +26,26 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 57.88 248.79 57.33 - + 19.2274 0 0.19249 - + 0 0 0 - + 18.8499 0 -1.7005004 - + 611903 1735389 @@ -55,13 +55,13 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0 0 80431 - + 18.8231 0 0.19249 - + 380 @@ -79,7 +79,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0.19249 - + 3000 @@ -88,7 +88,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> -1.18112 - + 3000 @@ -98,7 +98,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + @@ -145,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> RIGHT 1 - + 2.6272 @@ -238,7 +238,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> NONE 0 - + 14.3962788 @@ -269,7 +269,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> NONE 0 - + 40.0923 @@ -332,7 +332,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 0 - + @@ -359,7 +359,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + 14.3962788 @@ -385,7 +385,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - + 18.9231 @@ -448,17 +448,18 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> JET-A1 - - + + + - + - + - + diff --git a/Nasal/autopush.nas b/Nasal/autopush.nas deleted file mode 100644 index b5ea5059..00000000 --- a/Nasal/autopush.nas +++ /dev/null @@ -1,74 +0,0 @@ -# AUTOPUSH -# Basic pushback logic class. -# -# Copyright (c) 2018 Michael Danilov -# Distribute under the terms of GPLv2. - -var push_dlg = gui.Dialog.new("sim/gui/dialogs/autopush/push/dialog", "Aircraft/IDG-A32X/Systems/autopush.xml"); - -var _K_p = nil; -var _K_i = nil; -var _K_d = nil; -var _F_i = nil; -var _int = nil; -var _deltaV_old = nil; -var _t_old = nil; - -var loop = func() { - if (!getprop("/sim/model/pushback/available")) { - stop(); - return; - } - var force = 0.0; - # Rollspeed is only adequate if the wheel is touching the ground. - if (getprop("/gear/gear[0]/wow")) { - var deltaV = - getprop("/sim/model/pushback/target-speed-km_h") - - getprop("/gear/gear[0]/rollspeed-ms") * 3.6; - var dV = deltaV - _deltaV_old; - var t = getprop("/sim/time/elapsed-sec"); - var dt = math.max(t - _t_old, 0.0001); - _int = math.min(math.max(_int + dV * dt, -_F_i), _F_i); - force = (_K_p * deltaV + _K_d * dV / dt + _K_i * _int) * KG2LB; - _deltaV_old = deltaV; - _t_old = t; - var yaw = getprop("/sim/model/pushback/yaw-deg") * D2R; - setprop("/sim/model/pushback/force-x", math.cos(yaw)); - setprop("/sim/model/pushback/force-y", math.sin(yaw)); - } - setprop("/sim/model/pushback/force-lbf", force); -} - -var timer = maketimer(0.026, func{loop()}); - -var start = func() { - _K_p = getprop("/sim/model/pushback/K_p"); - _K_i = getprop("/sim/model/pushback/K_i"); - _K_d = getprop("/sim/model/pushback/K_d"); - _F_i = getprop("/sim/model/pushback/F_i"); - _int = 0.0; - _deltaV_old = 0.0; - _t_old = getprop("/sim/time/elapsed-sec"); - setprop("/sim/model/pushback/connected", 1); - if (!timer.isRunning) { - screen.log.write("(pushback): Release brakes."); - } - timer.start(); -} - -var stop = func() { - if (timer.isRunning) { - screen.log.write("(pushback): Pushback disconnected, bypass pin removed."); - } - timer.stop(); - setprop("/sim/model/pushback/force-lbf", 0.0); - setprop("/sim/model/pushback/connected", 0); -} - -var toggle = func(){ - if (getprop("/sim/model/pushback/enabled") * getprop("/sim/model/pushback/available")) { - start(); - } else { - stop(); - } -} diff --git a/Nasal/autopush_driver.nas b/Nasal/autopush_driver.nas deleted file mode 100644 index 3599e129..00000000 --- a/Nasal/autopush_driver.nas +++ /dev/null @@ -1,111 +0,0 @@ -# AUTOPUSH -# Pushback driver class. -# -# Command the pushback to tow/push the aircract facing set heading. -# -# Copyright (c) 2018 Michael Danilov -# Distribute under the terms of GPLv2. - - -# FIXME When facing, acccount for current steering position, to work without dry steering. - - -var _K_V_push = nil; -var _F_V_push = nil; -var _S_min = nil; -var _K_psi_push = nil; -var _K_V_turn = nil; -var _F_V_turn = nil; -var _K_psi_turn = nil; -var _V_min = nil; - -var _turning = nil; -var _sign = nil; -var _target = nil; -var _psi_parking = nil; -var _psi_turn = nil; - -var loop = func() { - if (!getprop("/sim/model/pushback/connected")) { - stop(); - return; - } - var V = 0.0; - var steering = 0.0; - var deltapsi = 0.0; - var psi = getprop("/orientation/heading-magnetic-deg"); - if (!_turning) { - # Initially follow a straight line parallel to our initial heading. - var (A, S) = courseAndDistance(_target); - S *= NM2M; - # Stop when the bearing flips, guarante against infinite pushing. - if ((abs(S) < _S_min) + (abs(saw180(_psi_parking - A - math.min(_sign, 0.0) * 180.0) > 90.0))) { - _turning = 1; - screen.log.write("(pushback): Turning to face heading " ~ int(_psi_turn) ~ "."); - } - deltapsi = saw180(_psi_parking - psi); - V = math.min(math.max(_K_V_push * _sign * (S / _S_min), -_F_V_push), _F_V_push); - steering = math.min(math.max(_K_psi_push * _sign * deltapsi, -1.0), 1.0); - } else { - # Turn (almost) in place. - deltapsi = saw180(_psi_turn - psi); - V = math.min(math.max(_K_V_turn * _sign * abs(deltapsi), -_F_V_turn), _F_V_turn); - # We are done when the heading error is small. - if (abs(V) < _V_min) { - stop(); - return; - } - steering = math.min(math.max(_K_psi_turn * _sign * deltapsi, -1.0), 1.0); - } - setprop("/sim/model/pushback/target-speed-km_h", V); - setprop("/sim/model/pushback/driver/steer-cmd-norm", steering); -} - -var timer = maketimer(0.051, func{loop()}); - -var start = func() { - _K_V_push = getprop("/sim/model/pushback/driver/K_V_push"); - _F_V_push = getprop("/sim/model/pushback/driver/F_V_push"); - _S_min = getprop("/sim/model/pushback/driver/S_min-m"); - _K_psi_push = getprop("/sim/model/pushback/driver/K_psi_push"); - _K_V_turn = getprop("/sim/model/pushback/driver/K_V_turn"); - _F_V_turn = getprop("/sim/model/pushback/driver/F_V_turn"); - _K_psi_turn = getprop("/sim/model/pushback/driver/K_psi_turn"); - _V_min = getprop("/sim/model/pushback/driver/V_min"); - if (!getprop("/sim/model/pushback/connected")) { - return; - } - towdist = getprop("/sim/model/pushback/driver/tow-distance-m"); - _target = geo.aircraft_position(); - _psi_parking = getprop("/orientation/heading-magnetic-deg"); - _target.apply_course_distance(_psi_parking, towdist); - _psi_turn = getprop("/sim/model/pushback/driver/face-heading-deg"); - _sign = 1.0 - 2.0 * (towdist < 0.0); - _turning = 0; - timer.start(); - if (_sign < 0.0) { - screen.log.write("(pushback): Pushing back."); - } else { - screen.log.write("(pushback): Towing."); - } -} - -var stop = func() { - if (timer.isRunning) { - screen.log.write("(pushback): Done."); - setprop("/controls/flight/rudder", 0); - } - timer.stop(); - setprop("/sim/model/pushback/target-speed-km_h", 0.0); -} - -# Sawtooth: -180..+180 deg. -var saw180 = func(p) { - while (p <= -180.0) { - p += 360.0; - } - while (p > 180.0) { - p -= 360.0; - } - return p; -} diff --git a/Resources/autopush-README.txt b/Resources/autopush-README.txt deleted file mode 100644 index 698db78e..00000000 --- a/Resources/autopush-README.txt +++ /dev/null @@ -1,117 +0,0 @@ -AUTOMATIC PUSHBACK FOR FLIGHTGEAR -Version 0.1.1 - -Copyright (c) 2018 Michael Danilov -Some of the code (c) FlightGear -Distribute under the terms of GPLv2. - - -FILES - -Nasal/autopush-README.txt this file -Models/Goldhofert-autopush.xml the animation for FGDATA's Goldhofer -Nasal/autopush.nas basic pushback logic -Nasal/autopush_driver.nas pushback driver -gui/dialogs/autopush.xml GUI dialog - - -INSTALLATION - -Only the minimal working example is covered here. Later you will have -to implement correct steering in your FDM (driving the -"/sim/model/pushback/yaw-deg") and pushback availability -("/sim/model/pushback/available") -- because those are too -aircraft-specific. - -1. Set up the pushback logic. Add the following tags in your set.xml. - Replace the "/fdm/jsbsim/gear/unit[0]/steering/pos-deg" with the - property for the front wheel steering degrees of your aircraft. - - Under : - - - - 1 - - 0.0 - 100.0 - 25.0 - 25000.0 - 0.0 - - -60.0 - 0.0 - - 10.0 - 10.0 - 5.0 - 0.05 - 1.4 - 7.0 - 0.2 - 2.5 - - - - Under : - - - Nasal/autopush.nas - - - Nasal/autopush_driver.nas - - -2. Connect the FDM's external force. - - a) JSBSim: - - a.1. Add the following under of your - JSBSim XML. Change the coordinates under to equal - those of your front bogey. - - - - 0.0 - 0.0 - 0.0 - - - 1.0 - 0.0 - 0.0 - - - - a.2. Add the following under of - your set.xml. - - - - - - - - b) YASim: TODO - -3. Copy the gui/dialogs/autopush.xml from the distribution to your - aircraft's gui/dialogs directory. Add it to the menu (see - FlightGear documentation for editing the menu). - -4. Copy the Models/Goldhofert-autopush.xml to your aircraft's Models/ - directory. Edit all the places marked by "SETTING" to match your - setup. Include it in your Model XML, with offsets equal to the - front wheel's contact point. - -5. Add the following in your Model XML. Change the coordinates under - to equal those of your front bogey. - - - Pushback - Models/Airport/Pushback/Goldhofert-autopush.xml - - 0.0 - 0.0 - 0.0 - - diff --git a/Systems/autopush.xml b/Systems/autopush.xml deleted file mode 100644 index e76df763..00000000 --- a/Systems/autopush.xml +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - - autopush - vbox - - - hbox - - - - - - - true - - - - - - - - - true - vbox - center - top - - - left - - /sim/model/pushback/enabled - - dialog-apply - - - nasal - - - - - - - - table - - - 0 - 0 - - - - - - - 0 - 2 - -15 - 15 - /sim/model/pushback/target-speed-km_h - true - - dialog-apply - - - - - - - - - 0 - 5 - 16 - /sim/model/pushback/target-speed-km_h - %3.0f - true - - - - 0 - 6 - - - - - - - - table - - - 0 - 0 - left - - - - - - - - - 0 - 3 - -100 - 100 - /sim/model/pushback/driver/tow-distance-m - true - - dialog-apply - - - - - - - - - 0 - 6 - 16 - /sim/model/pushback/driver/tow-distance-m - %4.0f - true - - - - 0 - 7 - - - - - - table - - - 0 - 0 - left - - - - - - - - - 0 - 3 - 0 - 360 - /sim/model/pushback/driver/face-heading-deg - true - - dialog-apply - - - - - - - - - 0 - 6 - 16 - /sim/model/pushback/driver/face-heading-deg - %3.0f - true - - - - 0 - 7 - - - - - - hbox - - - - - - - - - diff --git a/Systems/pushback.xml b/Systems/pushback.xml new file mode 100644 index 00000000..abb72c46 --- /dev/null +++ b/Systems/pushback.xml @@ -0,0 +1,45 @@ + + + + + + /sim/model/pushback/target-speed-fps + + + + + + /sim/model/pushback/position-norm gt 0.95 + /gear/gear/wow == 1 + gear/unit[0]/wheel-speed-fps lt 50 + + + + + /sim/model/pushback/target-speed-fps + -gear/unit[0]/wheel-speed-fps + + + + systems/pushback/speed-error + /sim/model/pushback/kp + /sim/model/pushback/ki + /sim/model/pushback/kd + systems/pushback/linked + /sim/model/pushback/force + + + + + + systems/pushback/linked == 0 + + external_reactions/pushback/magnitude + + + + diff --git a/revision.txt b/revision.txt index c3287e8c..93428e9b 100644 --- a/revision.txt +++ b/revision.txt @@ -1 +1 @@ -4319 \ No newline at end of file +4321 \ No newline at end of file