Howto:Implement pushback: Difference between revisions

+ Template:Note; copy editing; +related: Autopush
(+ Template:Note; copy editing; +related: Autopush)
Line 1: Line 1:
{{Note|This system does not work over the [[Howto: Multiplayer|multiplayer]] network.}}
[[File:747-400_pushback_eham.jpg|thumb|270px|A KLM [[Boeing 747-400]] ready for pushback at [[EHAM]]. This is the Goldhofert truck.]]
[[File:747-400_pushback_eham.jpg|thumb|270px|A KLM [[Boeing 747-400]] ready for pushback at [[EHAM]]. This is the Goldhofert truck.]]
[[File:F-16 pushback.jpg|thumb|270px|A [[F-16]] being towed at [[KLSV]]. This is the military truck.]]
[[File:F-16 pushback.jpg|thumb|270px|A [[F-16]] being towed at [[KLSV]]. This is the military truck.]]
[[File:YASim-pushback.jpeg|thumb|270px|A BA [[Boeing 777-200]] being pushbacked at [[EHAM]]. 777-200 is YASim]]
[[File:YASim-pushback.jpeg|thumb|270px|A BA [[Boeing 777-200]] being pushbacked at [[EHAM]]. 777-200 is YASim]]
[[File:YASim-pushback2.jpeg|thumb|270px|A LH [[Boeing 727-230]] being pushbacked at [[EHAM]], here using the military truck]]
[[File:YASim-pushback2.jpeg|thumb|270px|A LH [[Boeing 727-230]] being pushbacked at [[EHAM]], here using the military truck]]
Currently, [[pushback]] can be used on [[JSBSim]] planes and[[YASim]] aswell, but the method differs a bit depending of type of fdm.


'''Please note: this system does not work over a [[Howto: Multiplayer|multiplay]] network.'''
Currently, pushback can be used on [[JSBSim]] planes and[[YASim]] aswell, but the method differs a bit depending of type of fdm.


== For JSBSim ==
== For JSBSim ==
=== Systems/pushback.xml ===
=== Systems/pushback.xml ===
Create the following directory, if not present <tt>[[$FG ROOT]]/Aircraft/.../Systems</tt> and create a file named pushback.xml with the following content:
Create the following directory, if not present <code>[[$FG ROOT]]/Aircraft/.../Systems</code> and create a file named <code>pushback.xml</code> with the following content:
 
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
  <?xml version='1.0' encoding='UTF-8' ?>
  <?xml version='1.0' encoding='UTF-8' ?>
Line 72: Line 73:


=== .xml (FDM) ===
=== .xml (FDM) ===
After the </propulsion> tag we add a reference to the pushback system:
After the <code><nowiki></propulsion></nowiki></code> tag we add a reference to the pushback system:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 100: Line 101:


=== -set.xml ===
=== -set.xml ===
Between the <model> tags in the -set.xml file add the definitions for the speed-hold controller:
Between the <code><nowiki><model></nowiki></code> tags in the <code><nowiki>-set.xml</nowiki></code> file add the definitions for the speed-hold controller:
 
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
  <model>
  <model>
Line 114: Line 116:
The values for kp, ki and kd control how the cruise control reacts and may be adjusted depending on the mass of the aircraft.
The values for kp, ki and kd control how the cruise control reacts and may be adjusted depending on the mass of the aircraft.


Note: if the model tags are already there, you do no need to add them again. Just place the stuff between them. If you want the truck to be connected on startup, position-norm to 1.  
Note: if the model tags are already there, you do no need to add them again. Just place the stuff between them. If you want the truck to be connected on startup, <code>position-norm</code> to 1.  


Below the </sim> tag, we add our [[Menubar|menu]] dialog. A generic one is available at <tt>$FG_ROOT/gui/Dialogs/pushback.xml</tt>. Add the following lines to include it in the Equipment menu of the aircraft. Note: if the menubar and default tags are already there, you do no need to add them again. Just place the stuff between them.
Below the <code><nowiki></sim></nowiki></code> tag, we add our [[Menubar|menu]] dialog. A generic one is available at <code>$FG_ROOT/gui/Dialogs/pushback.xml</code>. Add the following lines to include it in the Equipment menu of the aircraft. Note: if the menubar and default tags are already there, you do no need to add them again. Just place the stuff between them.


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 138: Line 140:


=== Models/ .xml ===
=== Models/ .xml ===
In your planes model file, we add a reference to one of the generic pushback models, or a custom made truck, shipped with your plane. Edit the offsets to fit your plane; the z offset should be at ground level, while the x offset is at the nosewheel(center).
In your planes model file, we add a reference to one of the generic pushback models, or a custom made truck, shipped with your plane. Edit the offsets to fit your plane; the z offset should be at ground level, while the x offset is at the nosewheel (center).


Currently four different types are available:
Currently four different types are available:
* '''Goldhofert:''' used on medium sized to large airliners (eg. [[737]], [[747]])
* '''Douglas:''' used on medium sized to large airliners
* '''Military:''' used on military and small aircraft (eg. [[F-16]], [[Hansajet]])
* '''Forklift:''' used on general aviation or private jets
Both models can be found in the <tt>$FG_ROOT/Models/Airport/Pushback</tt> directory. The following example uses the Goldhofert, but by changing the path to {Douglas|Military|Forklift}.xml the other trucks can be implented.


Renders of the differant models (order: Goldhofert, Douglas, Military, Forklift):
; Goldhofert
: Used on medium sized to large airliners (for example [[737]], [[747]])
; Douglas
: Used on medium sized to large airliners
; Military
: Used on military and small aircraft (for example [[F-16]], [[Hansajet]])
; Forklift
: Used on general aviation or private jets
 
Both models can be found in the <code>$FG_ROOT/Models/Airport/Pushback</code> directory. The following example uses the Goldhofert, but by changing the path to <code>(Douglas|Military|Forklift).xml</code> the other trucks can be implemented.
 
Renders of the different models (order: Goldhofert, Douglas, Military, Forklift):
[[File:Pushbacks.png|thumb|left]]
[[File:Pushbacks.png|thumb|left]]


Line 166: Line 174:


=== .xml (FDM) ===
=== .xml (FDM) ===
So we add the following lines to our yasim.xml:
So we add the following lines to our <code>yasim.xml</code>:
 
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
   <thruster x="19.246"  y="0.00" z="-2.7" vx="1" vy="0" vz="0" thrust="20000">
   <thruster x="19.246"  y="0.00" z="-2.7" vx="1" vy="0" vz="0" thrust="20000">
Line 173: Line 182:
</syntaxhighlight>
</syntaxhighlight>


For the coordinates use the same as the coordinates of the Nosegear. The thrust itself is in lbs- don't set it too high! 1/3 of the aircraft's empty mass should be enough!
For the coordinates use the same as the coordinates of the nosegear. The thrust itself is in lbs- don't set it too high! 1/3 of the aircraft's empty mass should be enough!


Then we just have to add our [[Menubar|menu]] dialog. A generic one is available at <tt>$FG_ROOT/gui/Dialogs/pushback.xml</tt>. Add the following lines to include it in the Equipment menu of the aircraft. Note: if the menubar and default tags are already there, you do not need to add them again. Just place the stuff between them.
Then we just have to add our [[Menubar|menu]] dialog. A generic one is available at <code>$FG_ROOT/gui/Dialogs/pushback.xml</code>. Add the following lines to include it in the Equipment menu of the aircraft. Note: If the menubar and default tags are already there, you do not need to add them again. Just place the stuff between them.


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 197: Line 206:


=== Models/ .xml ===
=== Models/ .xml ===
And like in JSBSim, in your planes model file, we add a reference to one of the generic pushback models, or a custom made truck, shipped with your plane. Edit the offsets to fit your plane; the z offset should be at ground level, while the x offset is at the nosewheel(center).
And like in JSBSim, in your planes model file, we add a reference to one of the generic pushback models, or a custom made truck, shipped with your plane. Edit the offsets to fit your plane; the z offset should be at ground level, while the x offset is at the nosewheel (center).


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 211: Line 220:
</syntaxhighlight>
</syntaxhighlight>


Note: If the aircraft author didn't use gear/gear[0]/steering-norm for ground steering, the pushback model won't be turned with the nosegear  
Note: If the aircraft author didn't use <code>gear/gear[0]/steering-norm</code> for ground steering, the pushback model won't be turned with the nosegear  


Done! Now you have a Pushback on your favourite YASim-Model!
Done! Now you have a Pushback on your favourite YASim-Model!
== Related content ==
* [[Autopush]] - A different pushback system


[[Category:Aircraft enhancement|Implement pushback]]
[[Category:Aircraft enhancement|Implement pushback]]
[[Category:Howto|Implement pushback]]
[[Category:Howto|Implement pushback]]