Soitanen 19 Posted April 25, 2014 Коллеги, приветствую! Я взял на доработку модель Boeing 737-300, на данный момент полностью переписал логику работы автопилота. Теперь режимы работы соответсвуют FCOM, а не высосаны из пальца. Реализованы особенности 2-х автопилотов, т.е. для автолэнда нужно реально подключать второй автопилот и иметь второй комплект NAV настроенный на ту же самую частоту и курс, что и первый комплект. Пока что полностью не работает режим VNAV ввиду отсутсвия FMS и адекватной CDU для управления всем этим. LNAV работает, ввод маршрута через штатное меню симулятора. Просьба: если вы летаете в симуляторе FlightGear и знакомы с правильной логикой работы автопилота в 737, то прошу потестировать мою модель на наличие ошибок в логике - буду исправлять. Скачать модель можно здесь: https://github.com/soitanen/737-300 В правой части страницы есть кнопка Download ZIP. Или, если используете git, то проще клонировать репозиторий для возможности оперативного обновления. Share this post Link to post Share on other sites
Bonk 5 Posted April 28, 2014 Ок, сегодня проверю. Народ там делает какой-то обобщенный FMS-mCDU для бобиков, поищи в FG_DATA/Instruments либо FG_DATA/Models/Instruments. На крайняк можно свзязаться с дорабатывающими тритопор, цду там (последний раз был)вполне адекватный. Share this post Link to post Share on other sites
Bonk 5 Posted April 28, 2014 Утянул. Для начала спасибо за работу-- в кои-то веки более-менее работающий 737 в фг. Конкретно автопилот работает как-то... странно. 1. Кнопки в кокпите периодически перестают нажиматься. Решаемо управлением через общее меню автопилота. 2. При попытке включить автопилот на 400 футах после взлета(емнимс обычно включают на этой высоте) фг просто вылетает. Режимы любые, VOR/LOC, HDG, LNAV-- пофиг. Нормально включился только на 3000, но потом все опять вылетело при отключении. Еще проведу эксперименты. 3. Вообще не работает V/S. То есть не нажимается даже через меню, только моргает и все. 4. VOR/LOC и APP ведут себя... никак они себя не ведут. Перехват локалайзера должен включаться при пересечении его луча под углом до 30 градусов, если я ничего не путаю, но ничего не происходит. APP тоже никак не реагирует на ILS, даже непосредственно на посадочном курсе/глиссаде. 5. Указатель директора работает через раз. Пока не тестировал LNAV, через некоторое время попробую на простеньком маршруте. Share this post Link to post Share on other sites
Soitanen 19 Posted April 29, 2014 Хм... очень-очень странно. В консоли может есть какие-то ошибки? Я пишу все это в девел версии, вдруг, если у тебя 3.0 что-то не поддерживается? Автопилот у меня вырубится при включении ниже 350 футов, а дальше должен бы работать. Ну и само включение его происходит только если джойстик примерно в центре стоит (не прилагаются усилия к органам управления). Но режимы и директора должны работать независимо от автопилота... Share this post Link to post Share on other sites
Bonk 5 Posted April 29, 2014 Ок, учту. Так, на свежую голову и по порядку. ФГ у меня тоже из гита, обновлялся сегодня примерно в 10 по Москве. Ничего больше не вылетает, спасибо за наводку. При запуске: Nasal runtime error: in_range: Invalid query range! at E:/games/FlightGear/data/Nasal/canvas/MapStructure.nas, line 581 called from: E:\games\FlightGear\data/Nasal/canvas/map/TFC.lcontroller, line 8 4 called from: E:/games/FlightGear/data/Nasal/canvas/MapStructure.nas, line 487 called from: E:/games/FlightGear/data/Nasal/geo.nas, line 384 called from: E:/games/FlightGear/data/Nasal/canvas/MapStructure.nas, line 436 called from: E:/games/FlightGear/data/Nasal/canvas/MapStructure.nas, line 447 called from: E:/games/FlightGear/data/Nasal/canvas/MapStructure.nas, line 427 called from: E:/games/FlightGear/data/Nasal/canvas/api.nas, line 478 called from: E:\games\FlightGear\data/Nasal/canvas/map/navdisplay.mfd, line 93 2 called from: E:/games/FlightGear/737-300_soitanen/737-300/Nasal/ND.nas, line 4 2 called from: E:/games/FlightGear/data/Nasal/globals.nas, line 110 Уже в полете, при заранее заданных частоте и радиале VOR на NAV1, нажатие на VOR/LOC выдает Nasal runtime error: nil used in numeric context at E:/games/FlightGear/737-300_soitanen/737-300/Nasal/autopilot.nas, line 778 called from: E:/games/FlightGear/data/Nasal/globals.nas, line 110 Нажатие на V/S Nasal runtime error: nil used in numeric context at E:/games/FlightGear/737-300_soitanen/737-300/Nasal/autopilot.nas, line 778 called from: E:/games/FlightGear/data/Nasal/globals.nas, line 110 Кнопка , как и кнопка APP, после нажатия уже не отжимается. На локалайзер/глиссаду не реагируют никак. Сообщений в консоль больше не пишется. Share this post Link to post Share on other sites
Soitanen 19 Posted April 29, 2014 Хм... странно, что нажатие совершенно разных кнопок дает одну и ту же ошибку. И куча ошибок по навдисплею... А, к примеру, штатный 777 нормально работает? Есть ли в фгдате в файле nasal/geo.nas описание функции normdeg180? Share this post Link to post Share on other sites
Bonk 5 Posted April 29, 2014 В последнем обновлении была куча измененных скриптов Canvas, в том числе для навдисплея. Тритопор попробую, но не ручаюсь-- больно жручий, у меня все вылетает при взгляде на пьедестал. Да, совсем забыл-- два автопилота одновременно не включаются. Share this post Link to post Share on other sites
Soitanen 19 Posted April 29, 2014 Два автопилота просто так и не включатся. Надо настроить оба наврадио на одну и туже частоту, накрутить одинаковые курсы слева и справа, вывести самолет для захвата луча и армировать режим АРР. Только теперь можно включать второй автопилот. И если высота по радиовысотомеру будет менее 800 футов, то он не включится. Да, еще какой момент есть - правильное управление должно быть с 3Д модели МСР. Менюшку (которая по кнопке F11) я не переделывал и там может быть неправильная работа режимов. Share this post Link to post Share on other sites
Bonk 5 Posted April 29, 2014 В 777 ND тоже глючит. Значит, косяк все же у авторов ФГ. Сделал автоленд по твоему совету, работает, но в первый раз вело сторого правее полосы. Попробую еще, для чистоты эксперимента. VOR/LOC и APP внезапно заработал как надо (по крайней мере, при пересечении луча под прямым углом), но как-то через раз. Иногда приходится принудительно отрубать автопилот и врубать снова, чтобы включился нормальный режим(выключился HDG). Прошу прощения за дезу в прошлых постах. VS все же работает, но при выставлении на ALT высоты отличной от текущей, тут тоже прошу прощения за дезу. Единственное-- при включении AP на 1000 футов, выставлении 3000 и нажатии FLCH рвет вверх как бешеный (~4000фт/с) и перелетает высоту примерно на 1000 футов, затем возвращается. LNAV работает, причем прямо с недоделанного CDU. То есть я прямо в полете набил маршрут, теперь по нему лечу. Поворачивает с упреждением, все ок. Share this post Link to post Share on other sites
Soitanen 19 Posted April 29, 2014 Ну и отлично! Да, философия боинга в плане автопилота - выстави на МСР трнбуемую высоту, затем выбирай режим в котором будет происходить набор или снижение. На самом деле мне надо переделывать вычислитель в режиме LVL CHG. Там сейчас простой ПИД-регулятор, а надо бы вычислитель угла наклона траектории на основании заданной и текущей скорости, массы самолета, тяги двигателей и сопротивления. Просто мозг еще не просчитал все это. Захват курсового луча вообще не должен от угла зависеть. Точнее и при меньшем отклонении должен захватываться, если стрелки отшкалились. То что вел правее - какой аэропорт и сценарий? Там часто кривовато настроено в дефолте. Попробуй Ставрополь, Сочи, Пулково и Геленджик из Проекта Россия (с установкой по инструкции, с заменой навдаты). Там точно на ось сажает. Ну и неправильно выставленный курс (или второй курс при автолэнде) тоже может уводить в сторону. Share this post Link to post Share on other sites
Soitanen 19 Posted April 30, 2014 Обновился только что у себя (сам FG плюс fgdata), ND действительно перестал работать (причем судя по буржуйскому форму скоро починят), а автопилот вроде работает без ошибок... Я подробно все функции не запускал, но все то, что попробовал - работало. Share this post Link to post Share on other sites
Bonk 5 Posted May 18, 2014 Баг с ND связан с функцией getRange, которая выдает пустое значение. В багтрекере утверждали, что уже все пофикшено, но исправлений соответствующих файлов пока не прилетало. С самой функцией я пока не разбирался, но временный костыль-- заменить Nasal/canvas/MapStructure строку 580 на var range = me.map.getRange() or 30. (по образу соседней устаревшей функции). Share this post Link to post Share on other sites
Soitanen 19 Posted May 18, 2014 Я от них фикса жду, отсутствие ND на данный момент летать не мешает. Я, вроде, перепроверил все кнопки, сейчас все функции нормально отключаются и включаются. Остается прописать функцию ухода на второй круг, а дальше надо бы делать нормальную электро и гидросистему. Пока изучаю концепции строения таких систем в симуляторе. Share this post Link to post Share on other sites
Soitanen 19 Posted July 10, 2014 Сделал логику Go-Around. По кнопке TOGA ('d' на клавиатуре) включается уход. Если уже во время ухода еще раз нажать TOGA, то режим двигателя сменится из Reduced Go-Around в Maximum Go-Around. Ну и правильная логика отключения автопилота при заходе на одном автопилоте, и автоматического ухода в случае, если были подключены оба. Также, после активного реверс-инжиниринга FCOM, FCTM, QRH и еще кое-каких документов смог родить довольно точное попадание в углы тангажа, указанные в QRH, в зависимости от скорости, массы, положения механизации. Прошу потестировать, указать мне на косяки и баги. Share this post Link to post Share on other sites
KirillG 30 Posted August 15, 2015 Запускаю модель, пишет-Model not fond 737-300.xtml. Можно как-нибудь исправить? Share this post Link to post Share on other sites
Soitanen 19 Posted August 16, 2015 Как устанавливал модель? Скорее всего ошибка в наименовании папки самолета, должна называть 737-300 Share this post Link to post Share on other sites