3D: Fix missing pushback, enable the new model for it

This commit is contained in:
Joshua Davidson 2018-06-23 11:43:08 -04:00
parent a91046ff3b
commit c7a8502893
9 changed files with 227 additions and 401 deletions

View file

@ -15,12 +15,11 @@
<z-m>1.7005004</z-m>
</offsets>
<model>
<name>Fuselage</name>
<path>Aircraft/IDG-A32X/Models/Fuselages/A320-100/fuselage.xml</path>
</model>
</model>
<!-- Separate Flightdeck to fit the modified nose -->
<model>
<name>Flightdeck</name>
@ -316,23 +315,14 @@
<!-- Other non-aircraft models -->
<model>
<name>Pushback</name>
<path>Models/Goldhofert-autopush.xml</path>
<path>Aircraft/IDG-A32X/Models/Services/Pushback/Douglas.xml</path>
<offsets>
<x-m>5.55</x-m>
<x-m>6.0</x-m>
<y-m>0</y-m>
<z-m>-4.14</z-m>
<!-- <x-m>7.55</x-m>
<y-m>0</y-m>
<z-m>-4.14</z-m> -->
<z-m>-4.24</z-m>
</offsets>
</model>
<model>
<path>Aircraft/Generic/marker.xml</path>
</model>
<!-- LIVERY SELECT -->
<!-- Animation -->
<animation>
@ -362,7 +352,7 @@
livery_update.stop();
</unload>
</nasal>
<!-- Ground Services -->
<model>
<name>ground_services</name>

View file

@ -18,8 +18,8 @@
<model>
<name>Fuselage</name>
<path>Aircraft/IDG-A32X/Models/Fuselages/A320/fuselage.xml</path>
</model>
</model>
<!-- Separate Flightdeck to fit the modified nose -->
<model>
<name>Flightdeck</name>
@ -341,27 +341,18 @@
<z-m>-1.25</z-m>
</offsets>
</model>
<model>
<path>Aircraft/Generic/marker.xml</path>
</model>
<!-- Other non-aircraft models -->
<model>
<name>Pushback</name>
<path>Models/Goldhofert-autopush.xml</path>
<path>Aircraft/IDG-A32X/Models/Services/Pushback/Douglas.xml</path>
<offsets>
<x-m>5.55</x-m>
<x-m>6.0</x-m>
<y-m>0</y-m>
<z-m>-4.14</z-m>
<!-- <x-m>7.55</x-m>
<y-m>0</y-m>
<z-m>-4.14</z-m> -->
<z-m>-4.24</z-m>
</offsets>
</model>
<!-- LIVERY SELECT -->
<!-- Animation -->
<animation>
@ -391,7 +382,7 @@
livery_update.stop();
</unload>
</nasal>
<!-- Ground Services -->
<model>
<name>ground_services</name>

View file

@ -344,23 +344,14 @@
<!-- Other non-aircraft models -->
<model>
<name>Pushback</name>
<path>Models/Goldhofert-autopush.xml</path>
<path>Aircraft/IDG-A32X/Models/Services/Pushback/Douglas.xml</path>
<offsets>
<x-m>5.55</x-m>
<x-m>6.0</x-m>
<y-m>0</y-m>
<z-m>-4.14</z-m>
<!-- <x-m>7.55</x-m>
<y-m>0</y-m>
<z-m>-4.14</z-m> -->
<z-m>-4.24</z-m>
</offsets>
</model>
<model>
<path>Aircraft/Generic/marker.xml</path>
</model>
<!-- LIVERY SELECT -->
<!-- Animation -->
<animation>
@ -390,8 +381,8 @@
livery_update.stop();
</unload>
</nasal>
<!-- Ground Services -->
<model>
<name>ground_services</name>

View file

@ -15,12 +15,11 @@
<z-m>1.7005004</z-m>
</offsets>
<model>
<name>Fuselage</name>
<path>Aircraft/IDG-A32X/Models/Fuselages/A320neo/fuselage.xml</path>
</model>
</model>
<!-- Separate Flightdeck to fit the modified nose -->
<model>
<name>Flightdeck</name>
@ -325,23 +324,14 @@
<!-- Other non-aircraft models -->
<model>
<name>Pushback</name>
<path>Models/Goldhofert-autopush.xml</path>
<path>Aircraft/IDG-A32X/Models/Services/Pushback/Douglas.xml</path>
<offsets>
<x-m>5.55</x-m>
<x-m>6.0</x-m>
<y-m>0</y-m>
<z-m>-4.14</z-m>
<!-- <x-m>7.55</x-m>
<y-m>0</y-m>
<z-m>-4.14</z-m> -->
<z-m>-4.24</z-m>
</offsets>
</model>
<model>
<path>Aircraft/Generic/marker.xml</path>
</model>
<!-- LIVERY SELECT -->
<!-- Animation -->
<animation>
@ -371,8 +361,8 @@
livery_update.stop();
</unload>
</nasal>
<!-- Ground Services -->
<model>
<name>ground_services</name>

View file

@ -15,12 +15,11 @@
<z-m>1.7005004</z-m>
</offsets>
<model>
<name>Fuselage</name>
<path>Aircraft/IDG-A32X/Models/Fuselages/A320neo/fuselage.xml</path>
</model>
</model>
<!-- Separate Flightdeck to fit the modified nose -->
<model>
<name>Flightdeck</name>
@ -325,23 +324,14 @@
<!-- Other non-aircraft models -->
<model>
<name>Pushback</name>
<path>Models/Goldhofert-autopush.xml</path>
<path>Aircraft/IDG-A32X/Models/Services/Pushback/Douglas.xml</path>
<offsets>
<x-m>5.55</x-m>
<x-m>6.0</x-m>
<y-m>0</y-m>
<z-m>-4.14</z-m>
<!-- <x-m>7.55</x-m>
<y-m>0</y-m>
<z-m>-4.14</z-m> -->
<z-m>-4.24</z-m>
</offsets>
</model>
<model>
<path>Aircraft/Generic/marker.xml</path>
</model>
<!-- LIVERY SELECT -->
<!-- Animation -->
<animation>
@ -378,7 +368,7 @@
livery_update.stop();
</unload>
</nasal>
<!-- Ground Services -->
<model>
<name>ground_services</name>

View file

@ -1,130 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
AUTOPUSH
Copyright (c) 2018 Michael Danilov <mike.d.ft402 -eh- gmail.com>
Original code (c) FlightGear
Distribute under the terms of GPLv2.
-->
<PropertyList>
<path>Models/Airport/Pushback/Goldhofert.ac</path>
<!-- Trucks models and artworks courtesy of XPGoodWay Team
(http://www.xpgoodwayteam.org/site_xpushback/) -->
<model>
<path>Models/Airport/Pushback/Goldhofert-warning-light.xml</path>
<offsets>
<x-m>-2.908</x-m>
<y-m>0.260</y-m>
<z-m>1.326</z-m>
<heading-deg>0</heading-deg>
</offsets>
</model>
<model>
<path>Models/Airport/Pushback/Goldhofert-warning-light.xml</path>
<offsets>
<x-m>-1.781</x-m>
<y-m>0.260</y-m>
<z-m>1.326</z-m>
<heading-deg>90</heading-deg>
</offsets>
</model>
<animation>
<type>spin</type>
<object-name>wheelfl</object-name>
<object-name>wheelfr</object-name>
<!-- SETTING The aircraft's front wheel rollspeed in m/s. -->
<property>gear/gear[0]/rollspeed-ms</property>
<factor>-16.3</factor>
<center>
<x-m>-2.8976</x-m>
<y-m>0</y-m>
<z-m>0.5809</z-m>
</center>
<axis>
<x>0</x>
<y>1</y>
<z>0</z>
</axis>
</animation>
<animation>
<type>spin</type>
<object-name>wheelrl</object-name>
<object-name>wheelrr</object-name>
<!-- SETTING The aircraft's front wheel rollspeed in m/s. -->
<property>gear/gear[0]/rollspeed-ms</property>
<factor>-16.3</factor>
<center>
<x-m>2.0501</x-m>
<y-m>0</y-m>
<z-m>0.5735</z-m>
</center>
<axis>
<x>0</x>
<y>1</y>
<z>0</z>
</axis>
</animation>
<animation>
<type>select</type>
<condition>
<!-- SETTING Whether connected. -->
<property>sim/model/pushback/connected</property>
</condition>
</animation>
<animation>
<type>rotate</type>
<!-- SETTING Normalized steering. -->
<property>gear/gear/steering-norm</property>
<!-- SETTING Max steering. -->
<factor>70.0</factor>
<center>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>0</y>
<z>-1</z>
</axis>
</animation>
<animation>
<type>translate</type>
<!-- SETTING Gear compression. -->
<property>gear/gear[0]/compression-ft</property>
<factor>0.3048</factor>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<animation>
<type>rotate</type>
<!-- SETTING Aircraft pitch. -->
<property>orientation/pitch-deg</property>
<!-- SETTING Average ground pitch. -->
<offset-deg>2.0</offset-deg>
<center>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>1</y>
<z>0</z>
</axis>
</animation>
</PropertyList>

View file

@ -1,198 +1,195 @@
<?xml version="1.0"?>
<PropertyList>
<path>Douglas.ac</path>
<!-- Trucks models and artworks courtesy of XPGoodWay Team
(http://www.xpgoodwayteam.org/site_xpushback/) -->
<!-- Trucks models and artworks courtesy of XPGoodWay Team
(http://www.xpgoodwayteam.org/site_xpushback/) -->
<path>Douglas.ac</path>
<!-- switch to night/day textures -->
<!-- switch to night/day textures -->
<animation>
<type>textranslate</type>
<property>/sim/time/sun-angle-rad</property>
<step>1.60</step>
<factor>0.318471338</factor>
<center>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>-1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
<animation>
<type>textranslate</type>
<property>/sim/time/sun-angle-rad</property>
<step>1.60</step>
<factor>0.318471338</factor>
<center>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>-1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
<animation>
<type>material</type>
<condition>
<greater-than>
<property>/sim/time/sun-angle-rad</property>
<value>1.60</value>
</greater-than>
</condition>
<emission>
<red>1</red>
<green>1</green>
<blue>1</blue>
</emission>
</animation>
<animation>
<type>material</type>
<condition>
<greater-than>
<property>/sim/time/sun-angle-rad</property>
<value>1.60</value>
</greater-than>
</condition>
<emission>
<red>1</red>
<green>1</green>
<blue>1</blue>
</emission>
</animation>
<animation>
<type>material</type>
<condition>
<less-than-equals>
<property>/sim/time/sun-angle-rad</property>
<value>1.60</value>
</less-than-equals>
</condition>
<emission>
<red>0</red>
<green>0</green>
<blue>0</blue>
</emission>
</animation>
<animation>
<type>material</type>
<condition>
<less-than-equals>
<property>/sim/time/sun-angle-rad</property>
<value>1.60</value>
</less-than-equals>
</condition>
<emission>
<red>0</red>
<green>0</green>
<blue>0</blue>
</emission>
</animation>
<animation>
<type>select</type>
<condition>
<property>sim/model/pushback/enabled</property>
<property>gear/gear[0]/wow</property>
</condition>
</animation>
<animation>
<type>select</type>
<condition>
<property>sim/model/pushback/enabled</property>
<property>gear/gear[0]/wow</property>
</condition>
</animation>
<animation>
<type>rotate</type>
<property>fdm/jsbsim/fcs/pushback-steer-deg</property>
<factor>-1</factor>
<center>
<x-m>1.53665</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<animation>
<type>rotate</type>
<condition>
<greater-than>
<property>sim/model/pushback/position-norm</property>
<value>0.99</value>
</greater-than>
</condition>
<property>gear/gear[0]/steering-norm</property>
<factor>-70</factor>
<center>
<x-m>3</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<!-- change heading of the pushback when driving the arc -->
<animation>
<type>rotate</type>
<property>sim/model/pushback/position-norm</property>
<factor>-90</factor>
<offset-deg>90</offset-deg>
<center>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<!-- change heading of the pushback when driving the arc -->
<animation>
<type>rotate</type>
<property>sim/model/pushback/position-norm</property>
<factor>-90</factor>
<offset-deg>90</offset-deg>
<center>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<!-- compensate for gear compression -->
<animation>
<type>translate</type>
<property>gear/gear[0]/compression-ft</property>
<factor>0.3048</factor>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<!-- compensate for gear compression -->
<animation>
<type>translate</type>
<property>gear/gear[0]/compression-ft</property>
<factor>0.3048</factor>
<axis>
<x>0</x>
<y>0</y>
<z>1</z>
</axis>
</animation>
<!-- precalculated sin and asin to move the pushback on a 90deg arc, 25m radius -->
<animation>
<type>translate</type>
<property>sim/model/pushback/position-norm</property>
<interpolation>
<entry><ind>1.000000</ind><dep>0.000000</dep></entry>
<entry><ind>0.950000</ind><dep>1.961477</dep></entry>
<entry><ind>0.900000</ind><dep>3.910862</dep></entry>
<entry><ind>0.850000</ind><dep>5.836134</dep></entry>
<entry><ind>0.800000</ind><dep>7.725425</dep></entry>
<entry><ind>0.750000</ind><dep>9.567086</dep></entry>
<entry><ind>0.700000</ind><dep>11.349763</dep></entry>
<entry><ind>0.650000</ind><dep>13.062464</dep></entry>
<entry><ind>0.600000</ind><dep>14.694631</dep></entry>
<entry><ind>0.550000</ind><dep>16.236201</dep></entry>
<entry><ind>0.500000</ind><dep>17.677670</dep></entry>
<entry><ind>0.450000</ind><dep>19.010149</dep></entry>
<entry><ind>0.400000</ind><dep>20.225425</dep></entry>
<entry><ind>0.350000</ind><dep>21.316004</dep></entry>
<entry><ind>0.300000</ind><dep>22.275163</dep></entry>
<entry><ind>0.250000</ind><dep>23.096988</dep></entry>
<entry><ind>0.200000</ind><dep>23.776413</dep></entry>
<entry><ind>0.150000</ind><dep>24.309248</dep></entry>
<entry><ind>0.100000</ind><dep>24.692209</dep></entry>
<entry><ind>0.050000</ind><dep>24.922933</dep></entry>
<entry><ind>0.000000</ind><dep>25.000000</dep></entry>
</interpolation>
<axis>
<x>-1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
<animation>
<type>translate</type>
<property>sim/model/pushback/position-norm</property>
<interpolation>
<entry><ind>1.000000</ind><dep>0.000000</dep></entry>
<entry><ind>0.950000</ind><dep>0.077067</dep></entry>
<entry><ind>0.900000</ind><dep>0.307791</dep></entry>
<entry><ind>0.850000</ind><dep>0.690752</dep></entry>
<entry><ind>0.800000</ind><dep>1.223587</dep></entry>
<entry><ind>0.750000</ind><dep>1.903012</dep></entry>
<entry><ind>0.700000</ind><dep>2.724837</dep></entry>
<entry><ind>0.650000</ind><dep>3.683996</dep></entry>
<entry><ind>0.600000</ind><dep>4.774575</dep></entry>
<entry><ind>0.550000</ind><dep>5.989851</dep></entry>
<entry><ind>0.500000</ind><dep>7.322330</dep></entry>
<entry><ind>0.450000</ind><dep>8.763799</dep></entry>
<entry><ind>0.400000</ind><dep>10.305369</dep></entry>
<entry><ind>0.350000</ind><dep>11.937536</dep></entry>
<entry><ind>0.300000</ind><dep>13.650238</dep></entry>
<entry><ind>0.250000</ind><dep>15.432914</dep></entry>
<entry><ind>0.200000</ind><dep>17.274575</dep></entry>
<entry><ind>0.150000</ind><dep>19.163866</dep></entry>
<entry><ind>0.100000</ind><dep>21.089138</dep></entry>
<entry><ind>0.050000</ind><dep>23.038523</dep></entry>
<entry><ind>0.000000</ind><dep>25.000000</dep></entry>
</interpolation>
<axis>
<x>0</x>
<y>-1</y>
<z>0</z>
</axis>
</animation>
<!-- compensate for pitch of aircraft, keep pushback level -->
<animation>
<type>rotate</type>
<property>orientation/pitch-deg</property>
<factor>-1</factor>
<center>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>1</y>
<z>0</z>
</axis>
</animation>
</PropertyList>
<!-- precalculated sin and asin to move the pushback on a 90deg arc, 25m radius -->
<animation>
<type>translate</type>
<property>sim/model/pushback/position-norm</property>
<interpolation>
<entry><ind>1.000000</ind><dep>0.000000</dep></entry>
<entry><ind>0.950000</ind><dep>1.961477</dep></entry>
<entry><ind>0.900000</ind><dep>3.910862</dep></entry>
<entry><ind>0.850000</ind><dep>5.836134</dep></entry>
<entry><ind>0.800000</ind><dep>7.725425</dep></entry>
<entry><ind>0.750000</ind><dep>9.567086</dep></entry>
<entry><ind>0.700000</ind><dep>11.349763</dep></entry>
<entry><ind>0.650000</ind><dep>13.062464</dep></entry>
<entry><ind>0.600000</ind><dep>14.694631</dep></entry>
<entry><ind>0.550000</ind><dep>16.236201</dep></entry>
<entry><ind>0.500000</ind><dep>17.677670</dep></entry>
<entry><ind>0.450000</ind><dep>19.010149</dep></entry>
<entry><ind>0.400000</ind><dep>20.225425</dep></entry>
<entry><ind>0.350000</ind><dep>21.316004</dep></entry>
<entry><ind>0.300000</ind><dep>22.275163</dep></entry>
<entry><ind>0.250000</ind><dep>23.096988</dep></entry>
<entry><ind>0.200000</ind><dep>23.776413</dep></entry>
<entry><ind>0.150000</ind><dep>24.309248</dep></entry>
<entry><ind>0.100000</ind><dep>24.692209</dep></entry>
<entry><ind>0.050000</ind><dep>24.922933</dep></entry>
<entry><ind>0.000000</ind><dep>25.000000</dep></entry>
</interpolation>
<axis>
<x>-1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
<animation>
<type>translate</type>
<property>sim/model/pushback/position-norm</property>
<interpolation>
<entry><ind>1.000000</ind><dep>0.000000</dep></entry>
<entry><ind>0.950000</ind><dep>0.077067</dep></entry>
<entry><ind>0.900000</ind><dep>0.307791</dep></entry>
<entry><ind>0.850000</ind><dep>0.690752</dep></entry>
<entry><ind>0.800000</ind><dep>1.223587</dep></entry>
<entry><ind>0.750000</ind><dep>1.903012</dep></entry>
<entry><ind>0.700000</ind><dep>2.724837</dep></entry>
<entry><ind>0.650000</ind><dep>3.683996</dep></entry>
<entry><ind>0.600000</ind><dep>4.774575</dep></entry>
<entry><ind>0.550000</ind><dep>5.989851</dep></entry>
<entry><ind>0.500000</ind><dep>7.322330</dep></entry>
<entry><ind>0.450000</ind><dep>8.763799</dep></entry>
<entry><ind>0.400000</ind><dep>10.305369</dep></entry>
<entry><ind>0.350000</ind><dep>11.937536</dep></entry>
<entry><ind>0.300000</ind><dep>13.650238</dep></entry>
<entry><ind>0.250000</ind><dep>15.432914</dep></entry>
<entry><ind>0.200000</ind><dep>17.274575</dep></entry>
<entry><ind>0.150000</ind><dep>19.163866</dep></entry>
<entry><ind>0.100000</ind><dep>21.089138</dep></entry>
<entry><ind>0.050000</ind><dep>23.038523</dep></entry>
<entry><ind>0.000000</ind><dep>25.000000</dep></entry>
</interpolation>
<axis>
<x>0</x>
<y>-1</y>
<z>0</z>
</axis>
</animation>
<!-- compensate for pitch of aircraft, keep pushback level -->
<animation>
<type>rotate</type>
<property>orientation/pitch-deg</property>
<factor>-1</factor>
<center>
<x-m>0</x-m>
<y-m>0</y-m>
<z-m>0</z-m>
</center>
<axis>
<x>0</x>
<y>1</y>
<z>0</z>
</axis>
</animation>
</PropertyList>

View file

@ -1919,6 +1919,13 @@
<rate_limit>70</rate_limit>
<output>fcs/steer-pos-deg[0]</output>
</actuator>
<switch name="fcs/pushback-steer-deg">
<default value="0"/>
<test value="fcs/steer-deg">
/sim/model/pushback/position-norm gt 0.999
</test>
</switch>
</channel>

View file

@ -1 +1 @@
4510
4511