Sign in to follow this  
arno

Calling on simmers who want a working pushback tug...

Recommended Posts

I am on a quest to create the "ultimate pushback package" one with a working TUG! A free add-on consisting of:1. - Realistic pushback control panel and smooth operation.2. - Real-time interaction hearing the ground crew talk to the cockpit during the pushback process.3. - Realistic looking tug (or tugs), that pops up and moves back in unison with the aircraft.Unfortunately, there has been no release either freeware or payware of a pushback with a working tug yet if you fly heavies you would probably use this all the time. I've heard some say it can't be done. I say it just hasn't been cracked yet.So I am calling on any and all designers to help crack this nut. No commitments required... just trying to generate initial interest. We actually have several of the major componants solved with the exception of getting a tug to "pop up and follow" (probably the hardest componant). If you have any background in this type of "dynamic or moving scenery" design and want to help towards a worthy cause for simmers, please drop me a line:socalmarcus@yahoo.commany thanks - keep flyin'

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Hi!I do not know exactly how You are doing this but if I were You I would help with external DLL (module) that would use netpipes or FSUIPC or.. to get aircraft position, size, frequencies etc. So then I would do it something like this:- check aircraft position and somehow get coordinates of nose gear- check the COM1 frequency and if it was appropriate I would use some flag, maybe user var 312-31A to trigger showing/hiding the object- the object (the tug) should be in library, stored as a dynamic scenery object with it's reference point at the point where nosewheel should be- if it should be shown, I would pass the coordinates of nose wheel via dynamic scenery variable 0000(lat, lon) and 0018 (pitch, bank, heading)Maybe this idea would help You somehow?Best regards,Goran BrumenFS Slovenija 2002 teamhttp://slovenia.avsim.net

Share this post


Link to post
Share on other sites

Good idea, but I don't see why you would need dynamic scenery. If it would just be animated by GMax it should also work. This is also the principles I am using for my active gate elements (gates, docking systems, catering trucks, etc). Hopefully I will be able to release them soon :D.For a pushback truck I think the biggest problem is to get the aircraft moving as well. You probably need a module that also writes the new position of the aircraft, but I have no idea how FS would respond to that. So I think the scenery part is not really a problem, the biggest problem is to connect the movement in the scenery with the movement of the aicraft.

Share this post


Link to post
Share on other sites

Arno,as far as I have seen pushbacks, they are all executed in slew mode. So in slew mode we get aircraft moving, now we need object to follow the aircraft. If the object is ordinary static in library, then You must somehow tell him how to position itself. Normally You would do this via API/XML. I think this would be difficult here.If You use dynamic object, then You can tell him where to show up just by writing in variable 0000 and 0018 (how to reach these variables from outside, please don't ask but I guess Oliver Pabst already knows how). And because You can easier tell the position of the object if it is in library as dynamic object, I think this is easier way.And I think this can't be solved via animation. Moving my stairs around the airport and comparing movement on EDDW makes me think, that Oliver Pabst has put movement of stairs outside although I am not 100% sure. In any case I don't know how to dictate the tug to follow the aircraft from known types of BGL format.Best regards,Goran BrumenFS Slovenija 2002 teamhttp://slovenia.avsim.net

Share this post


Link to post
Share on other sites

Hi Goran,Thanks that makes it more clear.I think we have two things in mind and both may work.I was thinking about making an animation for the truck and then just moving the aircraft in slew made so it follows this animation.While you are telling that the dynamic object should follow the aircraft. In that case I think the dynamic scenery approach sounds better.But in both cases we need some sort of DLL that reads/writes the different positions. This will probably be the tricky part :). I am trying to make a very simple DLL for my animated gates myself, but until now without much success.

Share this post


Link to post
Share on other sites

Arno,I also have been thinking about making some DLL but I haven't found anything about this theme. Since DLL's need to have some entry point to be present in FS, I haven't seen anything about that. Otherwise I think there shouldn't be any big problems (except I am more familiar in Delphi rather than VB or C).Best regards,Goran BrumenFS Slovenija 2002 teamhttp://slovenia.avsim.net

Share this post


Link to post
Share on other sites

I have found a site some time ago that gave some examples (in C++ that was I think). But these were DLL files for Fs2002, then you get the compatibility warning on startup. I found a way to solve that, but after that I can't see if it is working. I guess I have a problem with telling FSUIPC what the key for my tool is, but because I have never made a DLL before I am a bit stuck there. For most of my tools I have used VB, so I am more familiar with that.I will try to find the link to that site back and post it here.

Share this post


Link to post
Share on other sites

Great guys...this is exactly the type of brain storming I was hoping for.gorchi - I was thinking a lot along the same lines as you (however from a non-designer point of view!). The front-end panel would be based on the panel designed by Etienne Martin. He is using FSUIP. The results are smooth and precise operation. Highly recommend you download this to see it in action (atngau11.zip). Either an event would trigger the tug to pop up or maybe I was thinking of a switch or "call button" the pilot engages to contact the ground crew. That could start the whole pushback process.Again, coordinates could be based on the nose wheel so the tug would always pop up connected without the pilot needing to make any ajustments. Wouldn't we need a second set of coordinates to keep the tug lined up in front of the aircraft?arno - my terminoligy may be incorrect when I say dynamic scenery. The only part I see moving on the tug would be the wheels turning so I was thinking the opposite of static scenery. Couldn't the TUG sort of "lock on" to it's position with the aircraft and move as one unit based on the aircraft's movement? If the TUG can stay lined up straight with the nose wheel, I believe thge effect will appear the TUG is pushing back while in reality the aircraft is towing the TUG.Now from what I understand FS9 can only control/move/have focus on one object at a time so would or could the TUG be modeled in GMAX? Should it be? Just thinking out loud. Could the TUG constantly take coordinate readings form the aircraft and move based on the readings? So we are talking a .DLL type file as an end result?

Share this post


Link to post
Share on other sites

Hi!quote:"Either an event would trigger the tug to pop up or maybe I was thinking of a switch or "call button" the pilot engages to contact the ground crew. That could start the whole pushback process."If the slew mode could be initiated via control panel, why not this be a trigger to start whole action?quote:"Again, coordinates could be based on the nose wheel so the tug would always pop up connected without the pilot needing to make any ajustments. Wouldn't we need a second set of coordinates to keep the tug lined up in front of the aircraft?"I agree, You will need another set of coordinates but these should be calculated. Now the problem arise how to calculate them? If I remember correctly, there are some variables, that tell us dimensions of the aircraft, aircraft radius and at least position of CG (376, 378, 37E) on which the type of the aircraft could be determined. And when You have these coordinates, then You can have reference point of the tug.quote:"my terminoligy may be incorrect when I say dynamic scenery. The only part I see moving on the tug would be the wheels turning so I was thinking the opposite of static scenery"When I read You want rolling wheels I rememberd even the third option although I am not 100% sure how to do it. Maybe if the tug could be made as an aircraft with weak engine and small speeds, then You could have rolling wheels. But I don't know how to move it. From scenery engine as dynamic scenery or static scenery I don't know how it is possible.quote:"Now from what I understand FS9 can only control/move/have focus on one object at a time so would or could the TUG be modeled in GMAX? Should it be?"Nope, I don't think so. Look at AI traffic, look at dynamic scenery. On my LJLJ airport I can have movement of 2 buses, fuel truck and stairs at the same time (as it was programmed to do that via dynamic scenery). Where You model the tug, it is not so important right now, but GMAX model will give You some future as it already have new XML support. But for creating the tug as dynamic scenery object I would rather use FSDS since I don't know how to change GMAX object into dyn. library object.quote:"Could the TUG constantly take coordinate readings form the aircraft and move based on the readings? So we are talking a .DLL type file as an end result?"I am afraid so. As FSUIPC/FS Connect are constantly monitoring aircraft changes, I think this is the only way. But as I said, I haven't made any DLL yet so I have no experience on this subject.Arno, is there a possibility to dig out that website for making FS2002 DLL?Best regardsGoran BrumenFS Slovenija 2002 teamhttp://slovenia.avsim.net

Share this post


Link to post
Share on other sites

>Arno,>as far as I have seen pushbacks, they are all executed in slew>mode. So in slew mode we get aircraft moving, now we need>object to follow the aircraft. If the object is ordinaryThere's another way to do it, and it shouldn't be much more difficult. In the FSUIPC SDK, it describes different variables that can be read and written to. The catch is that the speed variable can only be read for some reason. To get the airplane moving using this method, you have to set the aircraft's acceleration, which can be written. This is the general technique that the old ArrCab utility used for launching and stopping aircraft on aircraft carriers.So, when the user presses a button, or whatever, the airplane accelerates backwards until it is going 5 knots or whatever. When the user presses another button, the airplane accelerates foreward until it is stopped. I think this is a more elegant way to move the airplane rather than using slew mode.Also, this is difficult to program in Visual Basic so it is preferred to use Delphi instead, since VB can't handle double precision numbers (according to the SDK anyway), and this variable requires these to send the acceleration rate to FSUIPC. I know all this stuff because I wanted to create my own ArrCab after it was sold to Abacus. It was real easy to write a short VB program that could read and write data to FSUIPC, except for that one double-number-part. So, since I'm not really a programmer, I gave up on the whole thing. I'm sure that there must be someone here more knowledgeable than I am.- Martin

Share this post


Link to post
Share on other sites

>If the slew mode could be initiated via control panel, why not>this be a trigger to start whole action?Are you saying the starting of slew mode should trigger the rest? Doesn't sound like a great idea to me, as you also use slew now and then to navigate or move around (I am actually using slew mode more then flying :)).>I agree, You will need another set of coordinates but these>should be calculated. Now the problem arise how to calculate>them? If I remember correctly, there are some variables, that>tell us dimensions of the aircraft, aircraft radius and at>least position of CG (376, 378, 37E) on which the type of the>aircraft could be determined. And when You have these>coordinates, then You can have reference point of the tug.This is indeed difficult. The 376, 378 and 37E variables are for a scenery object (so scenery refpoint to aircraft refpoint). So this can make it difficult to use them, as you are dependant on the accuracy of the aircraft designer and where he did place his gear.I would have to check, but I expect that there must be a variable for the gear position somewhere. This is also used when determining if you have touched the ground or not. I expect this is available as some sort of aircraft variable. In that case it would be relatively easy to place the scenery tug on the same position (because the attach point is the reference point of the tug).>When I read You want rolling wheels I rememberd even the third>option although I am not 100% sure how to do it. Maybe if the>tug could be made as an aircraft with weak engine and small>speeds, then You could have rolling wheels. But I don't know>how to move it. From scenery engine as dynamic scenery or>static scenery I don't know how it is possible.If we place it as scenery I think it will be very hard to let the wheels rotate with the correct speed. Making them turn all the time is easy of course. Personally I think this is not really important, I would not really care if the wheels turn or not.>Nope, I don't think so. Look at AI traffic, look at dynamic>scenery. On my LJLJ airport I can have movement of 2 buses,>fuel truck and stairs at the same time (as it was programmed>to do that via dynamic scenery). Where You model the tug, it>is not so important right now, but GMAX model will give You>some future as it already have new XML support. But for>creating the tug as dynamic scenery object I would rather use>FSDS since I don't know how to change GMAX object into dyn.>library object.I have read that people have made dynamic libraries out of GMax objects. Not sure if it is possible with the new gamepack, as that uses the RIFF BGL format.If it is better to use GMax or FSDS (or something else) depends on the way it needs to be placed I think.I would animate the travel path in GMax and then just use the DLL module to let the aircraft move along that animation (so that they look matched). The alternative is the dynamic scenery method Goran described. I guess both have their problems, we might have to think more about that.>Arno, is there a possibility to dig out that website for>making FS2002 DLL?Found it, on this site you can download some source for DLL files:http://jcboliveira.flightsimmers.net/I tried to make a Fs2004 DLL with it, but my DLL knowledge is too small, so if anyone can get it working corretly with FSUIPC (you need to pass the freeware key I think, etc) I would be happy to hear.

Share this post


Link to post
Share on other sites

>my terminoligy may be incorrect when I say dynamic scenery. >The only part I see moving on the tug would be the wheels>turning so I was thinking the opposite of static scenery. I think that is more a naming thing. I would also call the movement of the entire tug as dynamic/animation. As I wrote in my other reply I think turning wheels are not really important.>Couldn't the TUG sort of "lock on" to it's position with the>aircraft and move as one unit based on the aircraft's>movement? If the TUG can stay lined up straight with the nose>wheel, I believe thge effect will appear the TUG is pushing>back while in reality the aircraft is towing the TUG.Yes, that should be possible. This depends on the way we place them I guess. With Gorans dynamic approach we would have to write both the position of the tug and aircraft from the DLL file. If this is done correct they will look connected.I was more thinking about using a predefined tug animation (which we know, some variants might be needed for different conditions) and then only the position of the aircraft is written, so that it follows this predefined animation.I guess both approaches have their pros and cons and we need to think a bit more about that.

Share this post


Link to post
Share on other sites

>So, when the user presses a button, or whatever, the airplane>accelerates backwards until it is going 5 knots or whatever. >When the user presses another button, the airplane accelerates>foreward until it is stopped. I think this is a more elegant>way to move the airplane rather than using slew mode.Sounds like a good idea. Is a lot better then slew mode I think, also because engine sounds are lost in slew mode for example.Would it be necesairy to enter slew mode to be able to write the lat/lon of the aircraft btw? Maybe it is just possible to write these without slew mode. That could even be easier.>Also, this is difficult to program in Visual Basic so it is>preferred to use Delphi instead, since VB can't handle double>precision numbers (according to the SDK anyway), and this>variable requires these to send the acceleration rate to>FSUIPC. I know all this stuff because I wanted to create my>own ArrCab after it was sold to Abacus. It was real easy to>write a short VB program that could read and write data to>FSUIPC, except for that one double-number-part. So, since I'm>not really a programmer, I gave up on the whole thing. I'm>sure that there must be someone here more knowledgeable than I>am.I would not suggest using VB indeed. I have never seen an example of a DLL in VB yet, most are in C++. I mentioned VB because I use it a lot for my other tools. I have made the functionality of the other DLL I want to make in VB now, but then it runs as an EXE with a GUI and I would like to let it run in the background as a DLL. If someone has knowledge about this I would be happy to come in contact :D.

Share this post


Link to post
Share on other sites

Since I have seen the slew mode mentioned... I don't believe Etienne is using that as I can hear all sounds when I push back and the aircraft wheels turn and move.Here is a quote from an email responce I got from him:"Let me comment on how the gauge works first relating to pushback:The pushback function does not use the internal FS9 pushback mechanism at all. I always thought the built-in pushback was more a last minute addition by the dev team that didn

Share this post


Link to post
Share on other sites

Hi all,since Marcus has been beating me with a week old wet carp, let me weigh in:1) Slew is not used for my pushback implementation because it caused more problems than I wanted to handle. In particular, it disabled the physics models for the a/c and collisions and dissociated inputs which made a realistic pushback including things like wing tilt and shock absorber type motion impossible to realize. So, slew was not in the running for very long.2) I have no idea how dynamic scenery works, but the idea is this: - similar to what SimFlyer does for their "service" vehicles.- know the reference of the front gear - position view from the tug (tower mode appears to be the favorite viewpoint these days with add-ons, which in itself may be a problem- the plane does move normally (except it's going backwards), so all vars should be updated.If the scenery sees position and heading, and can read yaw rates, it should be possible to do this. I need to read more on scenery design on the physics access, but yeah, anything is possible with time, even on FS... (albeit at heavy hair loss in some cases)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this