Board index FlightGear Development Aircraft

New Boeing 787-8 GIT

Questions and discussion about creating aircraft. Flight dynamics, 3d models, cockpits, systems, animation, textures.

Re: New Boeing 787-8 GIT

Postby omega95 » Fri Feb 17, 2012 4:04 pm

jentron wrote in Fri Feb 17, 2012 3:55 pm:I noticed yesterday that there are many stereo wav files in the 787-8. fgfs 2.7 no longer loads stereo files... I did a quick batch conversion using sox...


Which probably explains why I can't hear much in the git I pulled yesterday. :oops:

Anyway, is there a way you could merge your fixes into the 787-8 repo? Thanks :mrgreen:
Merlion Virtual Airlines - the experience of a flight time...
Get high quality aircraft, airports, video tutorials or development tools from my hangar.
omega95
 
Posts: 1223
Joined: Sat Jul 30, 2011 12:59 am
Location: -unknown-
Callsign: MIA0001, OM-EGA
IRC name: omega95
Version: 2.12 git
OS: Ubuntu 13.04

Re: New Boeing 787-8 GIT

Postby jentron » Fri Feb 17, 2012 4:54 pm

omega95 wrote in Fri Feb 17, 2012 4:04 pm:
jentron wrote in Fri Feb 17, 2012 3:55 pm:I noticed yesterday that there are many stereo wav files in the 787-8. fgfs 2.7 no longer loads stereo files... I did a quick batch conversion using sox...


Which probably explains why I can't hear much in the git I pulled yesterday. :oops:

Anyway, is there a way you could merge your fixes into the 787-8 repo? Thanks :mrgreen:


My gitorious user name is jentron if you would like to add me as a commit-er, otherwise I'll make a clone on gitorious and push my changes there tonight.

Ron
Aircraft: F-4E, Cessna 182RG, Fi-156 Storch, Diamond DA20 Katana and Eclipse, Ercoupe, LZ-129, Gossamer Albatross
Airports: CYKF, CNC4, KHIF, 42U, KOXB, 4MD1
jentron
 
Posts: 453
Joined: Thu Jul 26, 2007 2:41 am
Version: custom
OS: Linux

Re: New Boeing 787-8 GIT

Postby omega95 » Fri Feb 17, 2012 5:23 pm

My gitorious user name is jentron if you would like to add me as a commit-er


Done. :wink:
Merlion Virtual Airlines - the experience of a flight time...
Get high quality aircraft, airports, video tutorials or development tools from my hangar.
omega95
 
Posts: 1223
Joined: Sat Jul 30, 2011 12:59 am
Location: -unknown-
Callsign: MIA0001, OM-EGA
IRC name: omega95
Version: 2.12 git
OS: Ubuntu 13.04

Re: New Boeing 787-8 GIT

Postby omega95 » Fri Feb 17, 2012 7:45 pm

@Hooray and Thorsten : Can I have your GIT user-names so I can add you as commiters?

And other than that, we realized that the Boeing 787-8 features an automatic Holding pattern (as Hooray suggest earlier) which lets you enter a fix (you enter the name and type and search in the mCDU) and then set Hold altitude and hold radial in the mCDU's HOLD CONFIG page. Then after you're ready, hit the 'ENTER HOLD >' button. The plane would automatically hold at that fix using calculations and phases shows at https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B2-Y_LRDSZ7uNzY0YTRmMTgtOWFkMi00YWRlLTgwNGEtOTQ4NTlhYTlkNzQy.

We're still working on it, at the moment, Dwayne and I got it to figure out what kind of entry it'll be and start the holding (get it to inbound leg) from direct and teardrop entries. We're working on Parallel entry now. :D
Merlion Virtual Airlines - the experience of a flight time...
Get high quality aircraft, airports, video tutorials or development tools from my hangar.
omega95
 
Posts: 1223
Joined: Sat Jul 30, 2011 12:59 am
Location: -unknown-
Callsign: MIA0001, OM-EGA
IRC name: omega95
Version: 2.12 git
OS: Ubuntu 13.04

Re: New Boeing 787-8 GIT

Postby AJC » Fri Feb 17, 2012 8:07 pm

Dwayne and I got it to figure out what kind of entry it'll be and start the holding (get it to inbound leg)

It would depend entirely on the direction and heading of a hold at each individual fix. If you're following charts, the headings will vary from fix to fix, they won't just go north, south, north etc. But a useful feature on Vatsim nonetheless.
ATC_AJC
DH-1748
TSA004
Proud member of Tristar Airlines, the leading airline in connecting the Caribbean...
AJC
 
Posts: 118
Joined: Mon May 30, 2011 12:00 pm
Callsign: TSA004
OS: Windows 7

Re: New Boeing 787-8 GIT

Postby omega95 » Fri Feb 17, 2012 8:10 pm

AJC wrote in Fri Feb 17, 2012 8:07 pm:Dwayne and I got it to figure out what kind of entry it'll be and start the holding (get it to inbound leg)

It would depend entirely on the direction and heading of a hold at each individual fix. If you're following charts, the headings will vary from fix to fix, they won't just go north, south, north etc. But a useful feature on Vatsim nonetheless.


Dwayne says he "started" trying to figure it out with you. Anyway, it doesn't matter as we already figured out conditions for each entry and it works great so far. :P
Merlion Virtual Airlines - the experience of a flight time...
Get high quality aircraft, airports, video tutorials or development tools from my hangar.
omega95
 
Posts: 1223
Joined: Sat Jul 30, 2011 12:59 am
Location: -unknown-
Callsign: MIA0001, OM-EGA
IRC name: omega95
Version: 2.12 git
OS: Ubuntu 13.04

Re: New Boeing 787-8 GIT

Postby Hooray » Fri Feb 17, 2012 8:16 pm

Just have a look at wikipedia, there are fixed rules for each type of entry (for all hold types R/L)- depending on the "sector" you are approaching from.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11329
Joined: Tue Mar 25, 2008 8:40 am

Re: New Boeing 787-8 GIT

Postby omega95 » Fri Feb 17, 2012 8:22 pm

Aaron has uploaded https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B2-Y_LRDSZ7uNzY0YTRmMTgtOWFkMi00YWRlLTgwNGEtOTQ4NTlhYTlkNzQy from his text book, we're using that as our holding pattern guide at the moment. Aaand, we've completed defining the different phases of the hold (legs and turns), the separate pid-controller is already ready. We're still sorta stuck at 1. Parallel Entry and 2. Wind Based Hold Time Correction. But then a project of the wind on the hold radial should get us somewhere.
Merlion Virtual Airlines - the experience of a flight time...
Get high quality aircraft, airports, video tutorials or development tools from my hangar.
omega95
 
Posts: 1223
Joined: Sat Jul 30, 2011 12:59 am
Location: -unknown-
Callsign: MIA0001, OM-EGA
IRC name: omega95
Version: 2.12 git
OS: Ubuntu 13.04

Re: New Boeing 787-8 GIT

Postby redneck » Fri Feb 17, 2012 11:45 pm

Hey guys. Omega, I'm not sure anyone can see the doc I sent you. I checked the link here, and it's prompting me to log in. So, I'm pretty sure that will be VSA-exclusive content. Rest assured, it is textbook material, as Omega mentioned above, so we know what results we're supposed to get. Achieving those results is a whole other story :lol: Anyway, I decided to take a quick look at the Vspeeds calculator, and it was quite horrifying. I did a few flight tests, then did a linear regression to figure out a formula for computing Vspeeds based on weight. I then changed the virtual copilot to use those values, instead of the hard-coded values for the Vspeed callouts. I'm very confident with how it turned out for VR and V2. I'm not sure V1 is correct. Would it make sense that V1 increases with weight, even though the extra weight decreases acceleration down the runway?

Guess I'll commit and push my changes now.
Call Signs: redneck, ATCredn (unspecified freq atc)
FGFSCopilot
FGFSCopilotATCEdition
System Specs
Model: Alienware M15x, OS: Windows 7 Professional 64-bit, RAM: 3 GB, CPU: Intel i3 quad core at 2.4 GHz, GPU: Nvidea GeForce GTX 460M 1.5 GB GDDR5
redneck
 
Posts: 3630
Joined: Mon Feb 02, 2009 2:17 am
Location: Pennsylvania, USA
Version: 240

HPC

Postby Hooray » Sat Feb 18, 2012 12:13 am

I can see the doc, it's just a matter of having a google account.

It's actually not too tricky, but in RL, there are "holding pattern computers" where you can set up the bearing to the fix, and the inbound leg - and it will tell you what type of entry to fly:
Image

Image

You can also find free programs doing this on line: Image
http://www.flightutilities.com/HPC.aspx

Here's a flash applet doing the same thing: http://demonstrations.wolfram.com/Pract ... rnEntries/

And here's a JavaScript version (close enough to Nasal to be copy/paste code): http://www.flightutilities.com/HPConline.aspx

here are the steps to recreate the HPC manually in code.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11329
Joined: Tue Mar 25, 2008 8:40 am

Re: New Boeing 787-8 GIT

Postby redneck » Sat Feb 18, 2012 2:33 am

Thanks, but we already figured that part out. What we're (well, actually Omega is sleeping right now) trying to do right now is get the plane to fly the course. So, I've been playing around with some numbers. The following numbers are for example only, and will NOT be hard-coded. If I want to takeoff from KLAX, and immediately start a holding pattern at SMO R-360, I take a direct entry. No problems there. Then, I turn to the outbound leg. I think we might have screwed that one up (turning 180 degrees to the right, assuming a standard pattern, will not necessarily have me on a track opposite the direction of the course). Then, we turn 180 degrees to the right again (once again, I believe to be an error - Omega was trying to teach me Nasal while tired), and then fly directly to the fix, and repeat (yes, more errors). Now, I had thought, maybe we could make the holding function generate a second route manager which will be activated when the pilot activates the auto holding pattern option. Omega wasn't too thrilled with this idea, and I really have no idea how hard it would be to replicate the route manager, which I understand to be written in the core source code, into Nasal.

One idea I came up with to solve this problem is to create gps waypoints without creating a waypoint in the route manager. This will NOT require us to create a second route manager, either. So, let's continue with the above example, since it's simple. Let's say I'm at 250 KIAS at 7000, and winds are calm. This should give me a ground speed of roughly 267 kts. Converting that to knots/minute gives us a value of 4.45. So, now, let's assume standard 1-minute legs. So, we will fly directly to SMO. Reaching SMO presents us with a problem: by how much do we turn right to get on the outbound leg? So, we reset set a new property in gps[2] to define the location of the abeam position and turn to it. It will have gps coordinates to define its location, which means, we'll be able to get the bearing. We get the coordinates by using the following formula:

r * acos[sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon2 - lon1)], where r = the radius of the earth in nm (3437.74677), and x is the following:
x = [sin(lat1/57.2958) * sin(lat2/57.2958)] + [cos(lat1/57.2958) * cos(lat2/57.2958) * cos(lon2/57.2958 - lon1/57.2958)].

I plan to take that formula and turn it around so that we have lat2 and lon2 being determined by distance and direction from SMO.

I'm starting to have doubts about my planned method of going about this. I took a look at math.nas, and found there are no functions for finding the sine or cosine. Furthermore, this method seems to be quite a daunting task. But I've always been a perfectionist, and I want this to work right. I read here a few times that anything is possible with enough time and Nasal. I'm getting a decent grasp of Nasal thanks to my previous (however limited) programming experience. If you have suggestions towards solving this problem, I will be very grateful. I'm having a blast with this plane.

OTOH, making a second route manager for the 787-8, dedicated to hold patterns still doesn't seem like a bad idea to me. If we could just have it enter a list of waypoints such as, based on the above example: SMO, SMO/090/4.45, SMO/150/8.9, SMO/180/4.45, and then have it repeatedly check the accuracy of the waypoints based on wind conditions to produce a 1 minute inbound leg, then that would be awesome.


EDIT: I just got this awesome idea. It's not perfect. But it will work for now until we can get something perfect. I need to know how to make an offset waypoint in a gps, just like you would in the roue manager like fix/rad/dist. Here's my idea. We keep changing the waypoint in the gps to make the plane fly to where we want it to fly to. The set of waypoints would be calculated as follows:

Direct

fix
fix/radial+90/groundspeed / 60
fix/radial + 150/2 * groundspeed / 60
fix/radial + 180/groundspeed / 60
repeat

Teardrop

fix
fix/radial + 150/2 * groundspeed / 60
fix/radial + 180/groundspeed / 60
stay in pattern defined by direct.

Parallel

fix
fix/radial + 210/2 * groundspeed/60
left turn to fix, and then stay in pattern as defined in direct.
Call Signs: redneck, ATCredn (unspecified freq atc)
FGFSCopilot
FGFSCopilotATCEdition
System Specs
Model: Alienware M15x, OS: Windows 7 Professional 64-bit, RAM: 3 GB, CPU: Intel i3 quad core at 2.4 GHz, GPU: Nvidea GeForce GTX 460M 1.5 GB GDDR5
redneck
 
Posts: 3630
Joined: Mon Feb 02, 2009 2:17 am
Location: Pennsylvania, USA
Version: 240

Re: New Boeing 787-8 GIT

Postby jentron » Sat Feb 18, 2012 5:10 am

The FAA takes a dim view of flying GPS fixes instead of navaids.

The basic plan for holding is to fly inbound on the radial until you pass the navaid, do a 180 degree standard rate turn (2 minutes to complete in an airliner, iirc), fly an opposite track for about 2 minutes (this is a track not a heading, you should correct for cross winds), turn a 180 degree standard rate turn (you should be back on the radial now) and fly inbound on the radial crossing the navaid at exactly 2 minutes, if you arrive early or late adjust the outbound time to correct for tailwind/headwind, repeat.
Aircraft: F-4E, Cessna 182RG, Fi-156 Storch, Diamond DA20 Katana and Eclipse, Ercoupe, LZ-129, Gossamer Albatross
Airports: CYKF, CNC4, KHIF, 42U, KOXB, 4MD1
jentron
 
Posts: 453
Joined: Thu Jul 26, 2007 2:41 am
Version: custom
OS: Linux

Re: New Boeing 787-8 GIT

Postby omega95 » Sat Feb 18, 2012 5:15 am

redneck wrote in Sat Feb 18, 2012 2:33 am:Now, I had thought, maybe we could make the holding function generate a second route manager which will be activated when the pilot activates the auto holding pattern option. Omega wasn't too thrilled with this idea, and I really have no idea how hard it would be to replicate the route manager, which I understand to be written in the core source code, into Nasal.


You're right, I'm not thrilled. :P Why would you have to do that when we've already defined all 4 of those legs? Anyway, at the moment, we have an issue from setting it to phase 1, but then when it's phase 1, it should work, right?
Merlion Virtual Airlines - the experience of a flight time...
Get high quality aircraft, airports, video tutorials or development tools from my hangar.
omega95
 
Posts: 1223
Joined: Sat Jul 30, 2011 12:59 am
Location: -unknown-
Callsign: MIA0001, OM-EGA
IRC name: omega95
Version: 2.12 git
OS: Ubuntu 13.04

Re: New Boeing 787-8 GIT

Postby omega95 » Sat Feb 18, 2012 5:19 am

jentron wrote in Sat Feb 18, 2012 5:10 am:The FAA takes a dim view of flying GPS fixes instead of navaids.

The basic plan for holding is to fly inbound on the radial until you pass the navaid, do a 180 degree standard rate turn (2 minutes to complete in an airliner, iirc), fly an opposite track for about 2 minutes (this is a track not a heading, you should correct for cross winds), turn a 180 degree standard rate turn (you should be back on the radial now) and fly inbound on the radial crossing the navaid at exactly 2 minutes, if you arrive early or late adjust the outbound time to correct for tailwind/headwind, repeat.


Right, that's what it does so far, (but you can specify the hold time in the CDU, it's 1 minute by default)... Now, we're having an issue of wind. Let's say we have a crosswind, so while turning, we'll have a head wind on 1 turn and a tail on another, getting us to deviate from the page.

How do we fix that?
Merlion Virtual Airlines - the experience of a flight time...
Get high quality aircraft, airports, video tutorials or development tools from my hangar.
omega95
 
Posts: 1223
Joined: Sat Jul 30, 2011 12:59 am
Location: -unknown-
Callsign: MIA0001, OM-EGA
IRC name: omega95
Version: 2.12 git
OS: Ubuntu 13.04

holding patterns and the route manager

Postby Hooray » Sat Feb 18, 2012 7:47 am

redneck wrote:I just got this awesome idea. It's not perfect. But it will work for now until we can get something perfect. I need to know how to make an offset waypoint in a gps, just like you would in the roue manager like fix/rad/dist. Here's my idea. We keep changing the waypoint in the gps to make the plane fly to where we want it to fly to. The set of waypoints would be calculated as follows


Offset waypoints are in fact supported by the route manager, you can check the route manager documentation, or the source code to learn more about the format.
But basically, it's [VOR][RADIAL]/[DIST] IIRC.
But obviously, you could just as well compute the new position using the helpers in geo.nas (Coord.new()), which will give you the new position for any offset/distance easily using a bunch of methods (omega95 has been using this stuff already).

Besides, I actually agree that replicating the route manager doesn't seem a very good idea.
What I previously suggested (just search for "DME ARC" or "holding") is abusing the route manager, by splitting the procedure into segments which CAN be flown by the standard route manager, i.e. by adding a bunch of waypoints to make the RM fly the procedure. That may seem like a workaround, but it's the easiest way actually, because the RM doesn't yet have any support for this stuff.

Also, the route manager is currently work in progress (zakalawe). Omega95 was actually looking into building FG from source, so I could also write another tutorial on how to add new features to the route manager code (C++), if you think that'd be useful. All of the stuff there is based on listeners that fire callbacks. That's why it can be entirely controlled using the property tree.

On the other hand, not all 787 users will be able to build from source. So, maybe the Nasal route is more promising at the moment (given the latest release).
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11329
Joined: Tue Mar 25, 2008 8:40 am

PreviousNext

Return to Aircraft

Who is online

Users browsing this forum: AhrefsBot [Bot] and 20 guests