Closed DestroyFX closed 9 years ago
Nope, neither MSFS nor Windows is required. What manual do you refer to? What does it say? (It may be just some bad English that made you think you have some program).
That manual : http://yurik.flightgear.ru/tu154eng.html It say to use the program that come with Project Tupolev so I got project tupolev, installed it and I got these .EXE.
./project tupolev/LMTu154 B/LMTu154.exe <- ask for an aircraft.cfg ./project tupolev/MSRP/OCS_PT_154.exe <- OCS Decryptor, take 100% of the CPU when I run it ./project tupolev/NCALC FSX/ncalc.exe <- need some db file supposed to be in the FS9 folder. I found these scenery update on the net and after that I got an OLE error
I did not find any other exe file with the package.
NOTE: I made some corrections, text below may differ from what you got by e-mail.
I'm not sure what part of the doc you are reading (and it may be long outdated), but you do not have to install anything. There are some docs in https://github.com/yuriknsk/tu154b/tree/master/Docs , but somewhat outdated too and those in PT_Docs/
are foreign (from MSFS), so you shouldn't follow them literally). I once put together https://github.com/kroki/fg-navaid , but it's not required either (though I think it's handy, just checked - still works after installing required Perl modules).
Mastering NVU has quite high entry threshold, but quite easy after that. Docs/tu154eng.pdf
(p.33) refers to Docs/PT_Docs/pttu154_94eng.pdf
(pp.41, 84) (again, you don't have to install anything, if it says otherwise than skip over that part). Better to read Docs/tu154eng.pdf
in full and at least mentioned sections from Docs/PT_Docs/pttu154_94eng.pdf
(though reading it in full may also give some insights).
Some basic concepts:
route
is a series of line segments from departure
airport to arrival
airport. Such line segments are called legs
(or so I think :)).S
coordinate is along each leg, and Z
coordinate is across, such that leg end is always at S=0, Z=0, and if leg length is 53km than leg start is at S=-53km, Z=0 (note that S is negative). If you fly to the left of the leg Z will be negative, if to the right Z will be positive, if on leg Z will be zero.true north
(direction to the north pole) often differs from magnetic north
(direction that compass points to). Such difference is called magnetic declination
(or magnetic variation
). The difference between magnetic declinations at departure airport and arrival airport is called a fork
.apply a fork
- set gyros to magnetic declination of the arrival (there's also a procedure called NVU correction
that uses true headings, but I leave it out of scope for now).I
and II
. One is active (shows current leg) and the other one is a stand-by for the next leg. Both have ЗПУ (ZPU, "leg (magnetic) heading dial") for the current and the next legs respectively. Active one shows S,Z for current leg (i.e. S will be a (negated) distance to the end of current leg and will be incremented (since it's negative) toward zero, and Z will normally be zero meaning you are on the leg). Inactive one shows the length of the next leg. When you are about IIRC 80km from the next leg the inactive computer will compute current S,Z in the coordinate system of the next leg. There's also a knob on NVU panel (the one above three switches, labeled ПРИНУД-ОТКЛ-5-10-15-20-25). This is called ЛУР
("linear turn anticipation"), it does the following: when it is set to say, 15km, then when S reaches -15km green "ЧО" light turns on on front middle panel, navigator says "podhodim k ppm" ("approaching path middle point"), NVU computers are swapped (active becomes inactive and vice versa), previously next leg becomes current and autopilot starts turning onto it. Now navigator enters the new next leg to the now inactive computer (in the model this happens automatically if "Virtual navigator" is enabled, see below), and the process repeats.My current setup prevents me from flying FG, so I didn't test the recipe below, but should work (for some values of "should" :)):
СЕТЬ
- "power") - left light should turn green (ИСПР
- "operating")).Tu-154B-2->Route Manager
. Set Departure (eg. KSFO) and Arrival (eg. KOMA), in the list below select the last point (KOMA) and press "Route" button. It should generate a non-trivial route (with many legs). Close the dialog.Tu-154B-2->NVU Calculator
. You will see the same route (BUG NOTE: if first leg S is zero instead of -42.5km this means you have a bug that I see now - FG people made another careless change - you have to apply the patch below and start over again). At the bottom check both "at location" boxes. Magnetic declination fields will be filled and fork value will be computed. Check "Virtual navigator" box - we'll allow AI to enter data into NVU. Move the dialog window (dragging by window title doesn't work, but by footer does) so that you can observe NVU counters on the panel, then select first leg in the list and press "Load selected" button. See how NVU counters are set. Try to understand where each figure from the current and the next leg goes in NVU. Manually set ЛУР depending on next turn angle (lesser value for shallow angles).СЧИСЛ
- "counting").КРЕН
("roll") channel and НАВИГАЦ.
("navigation") switch, then press СТАБ.
("stabilize") blue button) and press НВУ
("NVU") button there. The plane should follow the route now.I left NVU correction topic out, you may remind me at some point later when you master the above.
Patch for FG 3.4+:
diff --git i/Dialogs/nav.xml w/Dialogs/nav.xml
index 24f6f93..0cbd3b6 100644
--- i/Dialogs/nav.xml
+++ w/Dialogs/nav.xml
@@ -78,13 +78,13 @@
var wp0 = wpB;
var az_corr = 0;
for (var i = 1; fp_size > i; i += 1) {
- var S = -wp0.leg_distance * 1.852;
- var ZPU = wp0.leg_bearing - magvar_dep + az_corr;
+ var wp1 = fp.getWP(i);
+ var S = -wp1.leg_distance * 1.852;
+ var ZPU = wp1.leg_bearing - magvar_dep + az_corr;
if (fork_applied)
ZPU += fork;
ZPU = deg_norm(ZPU, 0, 360);
- var wp1 = fp.getWP(i);
var leg = {
from: wp0.wp_name,
to: wp1.wp_name,
@@ -132,7 +132,7 @@
var vor = vors[0];
var (b, d) = wp1.courseAndDistanceFrom(vor.lat, vor.lon);
- b = (wp0.leg_bearing - b) / 57.2958;
+ b = (wp1.leg_bearing - b) / 57.2958;
d *= 1.852;
var S = -d * math.cos(b);
var Z = d * math.sin(b);
@@ -143,7 +143,7 @@
freq: vor.frequency / 100,
S: S,
Z: Z,
- UK: deg_norm(wp0.leg_bearing, 0, 360),
+ UK: deg_norm(wp1.leg_bearing, 0, 360),
});
}
Thanks! :)
Ping for those who read the above in e-mail - I've made some corrections. Enjoy!
Oh thanks, I will try this night.
I somehow tried to follow the outdated documentation and calculator from the original project and somehow miss the fact that it was simply in the menu..
For your information, the NVU calculator window do not show in Flightgear 3.6.
I did roll back to 3.4 because I wanted to try it and it work
Edit : kroki, your instruction work perfectly! Merci!
When I tried 3.4 and used --aircraft-dir
option to fgfs
NVU Calculator dialog didn't appear for me too, and on console there was a message that <name>
tag is required in Dialogs/nav.xml
. But it does have this tag! When I used FG_AIRCRAFT
environment variable instead of --aircraft-dir
option the message disappeared and the dialog started to work. So missing dialog in 3.6 may be an instance of the same or similar problem (though I don't know why FG complains and how to solve this).
When someone fixes the missing dialog in 3.6 please do not forget to re-check if the patch above is required.
Above I forgot to mention that Virtual Navigator also updates latitude setting on gyros panel on the overhead, and applying the fork to gyros manually is also done using that panel (the procedure is much like when you setup gyros before the flight - PDF docs have a description of that).
NVU calculates airplane position in leg's coordinate system by continuous integration over velocity (i.e. a vector) relative to the ground, and such velocity comes from ДИСС
(DISS, "Doppler ground velocity meter"). DISS panel is located in the middle "top" of the overhead. Left switch is power, middle (СУША-МОРЕ
- "land"-"sea") selects between long and short wavelength radars, and the right switch (IIRC СЧИСЛЕНИЕ: ДИСС-СВС-Контроль
- "calculate using: DISS-pitot-test") selects mode. Test mode is for checks on the ground - it makes DISS output fake constant ground velocity. Pitot mode disables the radar so that NVU receives only air velocity, but not ground velocity. Finally, DISS mode enables Doppler radar and is what you normally use during the flight. However in this mode the radar may not work in some situations:
When DISS radar doesn't work on the front panel yellow light память ДИСС
("DISS memory") turns on.
When DISS radar works NVU also computes wind velocity (by subtracting air velocity from ground velocity) and outputs wind heading and speed to the wind panel (which is easy to overlook, you have to switch to the view of the panel between seats and then move the view to "below"/back). Here note that when we say "north wind" we mean that wind blows from the north (ATIS also reports winds this way IIRC), but the direction on the wind panel is where the wind blows to (and heading is obviously relative to the gyros, i.e. magnetic for departure or arrival waypoints). However when DISS radar doesn't work (when "DISS memory" light is on) NVU will compute ground velocity my summing air and wind velocities taking the latter from what is "memorized" on the wind panel, and you are supposed to update wind panel manually every 15 minutes or so. In the top right corner of the front middle panel there's a speed indicator with a knob В-П
("A(ir)-G(round)") that shows either IAS or GS (when DISS radar doesn't work GS value is what is calculated by NVU).
Next post will finally be about NVU correction.
Update: remembered that there's a dial to enter azimuth correction on wind panel. This is a mere convenience. When DISS radar doesn't work you ask traffic control for the wind. But they report wind heading in their magnetic frame of reference, which may be different from departure or arrival FOR the gyros are currently in. So you may dial the correction for current location (local fork value) so that then you can input the heading exactly as reported by traffic control.
Really good post, I appreciate :)
I think the doc should be updated for the NVU as currently it reference the doc for Project Tupolev for FSX. I did 4 completes flight with NVU and here are the results:
-1 : ukkk->uudd. NVU was working (I thought) and I got totally of course and on the wrong direction. took a while to reach the airport and I switched to the heading bug.
After flight 1 I have reverted the patch "diff --git i/Dialogs/nav.xml w/Dialogs/nav.xml" in kroki previous post. The three other flight without the patch was only, slightly off with is not a problem as I used ATC controlled airport so I deviated from the configured course as requested by ATC :)
flight 2 & 3 : ukkk-uudd : no problem, at all except the small deviation I have mentioned. Flight three deviated a little more (I did flip the kopp (the third switch on the NVU, bottom right) and I have added the rsbn station to my flightgear nav.dat.gz file).
flight 4 : cyqb->kiad : everything was like flight 3, just a small deviation, nothing bad. Reached kiad ATC range, started to make altitude change and course deviation for ILS approach until * The plane wanted to go to 0 degree, nothing to do. tried to reset the absu, tried manually... it was not possible to head anything not 0 degree except by doing a loop, reversing at 180 degree and the plane turned himself back to... 0 degree.. * For that last problem, I don't know if it's related to Flightgear (3.4, from Gentoo portage) or to the tu154b-model.
I made a video of the last problem to show for bug report : https://www.youtube.com/watch?v=eB5QeLst5PI I did post it on the flightgear forum too but did not get answer. Note : I must have at lease 50 hours on that plane, never got that issue until yesterday.
Above I set a clear criteria for whether the patch has to be applied:
BUG NOTE: if first leg S is zero instead of -42.5km this means you have a bug that I see now - FG people made another careless change - you have to apply the patch below
If you saw a zero first leg that should not be zero than you have to apply the patch. Otherwise you have not. You should not decide about the patch based on some other criteria like what direction you ended up flying, etc.
You also mention that you enabled NVU correction but it seems you did it wrong. I'm yet to write the instruction, but Flight Manual explicitly forbids flying with enabled correction. This however could not be the cause of the problem from your video - that I can't comment, too many things go wrong there. I think it will be more productive if instead of debugging 3.4 you invest your time in figuring out how to make NVU Calculator work in current version of FG (from what I know FG people changed XML validation, maybe that's related).
Also FYI: when I tried to create a route CYQB-KIAD FG generated last leg that is 4823.1nm long and has a vary strange protrusion to the right.
So maybe there's some bug in FG terrain data that messes up with geodesic computations, and causes the heading bug that you observed. But again, it's better to invest in current FG version.
NOTE: I decided to write about NVU correction only to realize that FG people changed not only semantics of leg_distance
, but also that of leg_bearing
. I didn't notice that before because I didn't fly it through, and that's why the patch didn't work for you (and without the patch you saw deviation because your route was off by one small leg). So I updated the patch above.
I also noticed that FG's Route Manager seems to always generate broken last leg, not only for CYQB-KIAD, but at least also for KSFO-KOMA.
BIG FAT UPDATE: with new FG semantics it's not quite clear what the actual value for bearing is. In general the bearing from B to A is not the reverse of the bearing from A to B. E.g. if A is at lon=0, lat=0, and B is at lon=90,lat=45 then to get from A to B in a straight line you start by moving North-East, whereas to get from B to A in a straight line you start by moving West (not South-West). Now in FG what used to be A.leg_bearing now is B.leg_bearing, but is it the same value, or the reverse of bearing from B to A? I let others look into this...
OK, finally the happy end of the NVU saga.
In the USSR a different kind of beacon was widely used instead of VOR-DME, called РСБН
(RSBN, "radio system for near-range navigation", where "near" is 200-250km). In RSBN receiver you dial a channel instead of a frequency. Also unlike VOR all RSBN stations are oriented toward the true north. RSBN receiver is located in the "top" left corner on the overhead, there are two dials: 0-10-20-30-40 and 0-1-2-3-4-5-6-7-8-9, thus allowing for channels 00-49. But since there are no RSBNs outside the former USSR and East Europe (and even those are not included in FG navdata), RSBN receiver in the model allows for tuning in to VORs. To the "North-North-East" of RSBN panel there are two switches labeled РСБН: питан.|опозн.
. Left switch is power, and right switch enables "VOR mode". In this mode instead of RSBN channel you dial VOR frequency (the value is hinted in the bottom left corner of the screen).
There are two data channels in RSBN: distance and azimuth (true heading from RSBN station to the aircraft). When there's no signal in the distance channel a yellow light дальн АВТОН
("autonomous distance") turns on on front panel. Same for azimuth, the light labeled азим АВТОН
("autonomous azimuth"). On the front panel next to Air-Ground speed indicator there's and instrument that shows RSBN bearing and distance (even in "VOR mode" the bearing is true).
When you fly long enough by NVU a certain positional error builds up (also there's often a starting error because the route is laid from the middle of the runway whereas you seldom enable NVU computer exactly at this point; normally you enable it just before takeoff and thus end up being off by half the runway length). So it is desirable to perform NVU corrections during the flight (at least once close to arrival).
On active NVU set top counter is labeled САМОЛЕТ
("airplane") and bottom counter is labeled МАЯК
("beacon"). On inactive NVU set bottom counter is labeled ПУНКТ
("waypoint"). The meaning of "airplane" and "waypoint" was described in previous post. To perform NVU correction we need to provide beacon coordinates in the coordinate system of the current leg, and true leg bearing (i.e. the true heading of vector originating at the RSBN station and parallel to the current leg). Coordinates go to "beacon", and heading is dialed into the instrument located next to booster switches cover on the panel between the seats. For the example (and because I can't fly with my current setup) we'll perform NVU correction on the ground. Here's how it's done (in the text below I assume you followed the steps from this post and NVU is ready for KSFO-KOMA route):
КОРР
green light on NVU panel and корр ВКЛ
green light on front panel will turn on).To make the correction process smooth if distance or azimuth signal is lost while the correction is turned on the yellow light will go on for the channel as said above, and NVU will compute missing value, i.e. the instrument that shows RSBN distance and azimuth will stay alive as if the signal is there (this is what "autonomous" in the light label means).
NOTE: in flight you must disable NVU autopilot mode before correction (by switching it to "heading hold mode" (СБРОС ПРОГР.
button)). Also, as I mentioned earlier, Flight Manual explicitly forbids to fly with enabled correction (that is, for prolonged periods of time).
That's it!
Ah, it's also worth noting that one shouldn't trust one particular instrument during the flight (like NVU). Instead one should constantly cross-check with other means (like VOR and NDB beacons). Note that pilot's compasses by default show magnetic heading for magnetic declination as it is in departure (before fork is applied) or arrival (after fork is applied) location. When using VOR you want to switch compass to magvar of the location you currently fly over (because VORs are supposed to be oriented by it). To do so place corresponding (left or right) switch labeled КУРС-ПНП: ГПК-ГМК
(on overhead panel) to bottom (ГМК
) position.
Also keep in mind that while VORs are supposed to be oriented on local magvar, they aren't udated timely and magnetic field drifts away. For instance:
$ kroki-fg-navaid OAK
--
Coordinates: N37°43'33.30", W122°13'24.90" (37.7259167, -122.2235833)
Magnetic declination: E13°42' (13.70) <= orientation should be this
Ident: OAK
Object: OAKLAND VORTAC
Elevation: 13'
Orientation: E17°00' (17.00) <= actual orientation
Frequency: 116.8mhz (130nm)
Update: when you use VOR in place of RSBN the actual VOR orientation is taken into account as if it was an RSBN (which are always aligned with true north), so you don't have to think about magnetic vs. actual orientation difference (but you have to when using VOR navigation natively).
kroki-fg-navaid
reports magnetic declination for World Magnetic Model version 2005, which is what FG used at least until I last checked in 2013. The script also supports 2010 and 2015 in case FG updates its own.
DestroyFX, I just built latest FG (3.7) from sources and NVU Calculator dialog opens for me without any problem (I also created #33 for the patch above). Could you please re-check your earlier statement?
I confirm that it's not loading with 3.6 & 3.7 while it's fine with 3.4.
I now suspect that it's related to my symlink ( /usr/share/game/flightgear/Aircraft/tu154b -> /mnt/repo/plane/flightgear/tu154b ).
It may relate to symlink. Try to remove it and run with
$ FG_AIRCRAFT=/mnt/repo/plane/flightgear:$FG_ROOT/Aircraft fgfs --aircraft=tu154b
Yep, it was the symlink. Somehow it work fine with 3.4 but they managed to break that.
@DestroyFX, I think you may close this report. The patch above has been merged, and the bug in route manager doesn't relate to tu154b.
BTW I was wrong saying that our artist doesn't speak English, turned out he's more proficient than I am. He's working on other stuff at the moment, but will turn to engineer panel quite soon. git show cd19b00
for his name and e-mail if you have to get in touch with him.
Yes, saving your documentation closing that :)
For the benefit of anyone reading this thread searching for info about the NVU nav computer: my R package rfgfs (GPL, source available on github) includes functions to calculate NVU data, RSBN correction data, and do manual corrections using VOR-DME or 2 VOR/NDBs.
Admittedly I need to work a bit more on the documentation, but usage is fairly simple (at least if you use R). Here's a quick example:
library(rfgfs)
plan <- planRoute("UUDD", "UMMS")
plan <- planNVU(plan, c("UUDD","BITUL","LO","WZ","IP","UK","ASKIL","MNS"), init.mag=TRUE)
RSBNs <- corrPlanRSBN(plan)
Anyone interested can study the code of the functions to see how everything is calculated.
Hi,
I want to use the NVU and also learn how it work but according to the manual, I have to take the program from Project Tupolev And it's not really usable.
Let me explain : First : it require some Microsoft Flight Simulator databases files. Second : The Jet40 Database driver in wine don't really work with that program. Third : Because of "Second", Windows is also required...
Do someone know where to find documentation of how the whole thing work so a compatible version of the program could be made or do the source exist so a port could be made?