Jump to content
atcstager

Ошибки/неточности полетной модели X-Plane и их варианты решения.

Recommended Posts

Что-то меня потянуло на творчество. В разделе DEV писать желания не имею, туда мало кто заглядывает.
Ахтунг! Много букав.

О чем я? Практически все слышали об "модной" аэродинамической модели симулятора X-Plane, о том, как она превосходит другой известный симулятор и т. п.
На эту тему сломано немало копий, раз за разом иногда возникает холивор на эту тему. Аргументов у сторонников обычно довольно много, у противников тоже хватает.
Тут я не хочу сравнивать, обсуждать другой сим. Ограничусь, что X-Plane действительно дает больше возможностей.

Но засада в том, что проблемы действительно есть и причем они вылезают на самое видное место. Кто пробовал создавать модельки, а может и простой пользователь готовых, задумывался - ведь что-то не так...
Предлагаю выделить проблемные места и что с ними делать.

Не буду лезть в дебри и трогать относительно мелочи. 
С каким явным несоответствием сталкивается пользователь/разработчик, смоделив самолет по кое-каким данным из документации? Обычно он использует как ни банально внешний вид прототипа, его массу, приблизительно правильные профили крыла и оперения, углы отклонения управляющих поверхностей(приблизительно или даже точно). Ну и центровка выставлена эмпирическим путем.

Сталкивается, что модель летает слишком уж резво и скажем дергано (болтается, как Г. в проруби). В некоторых случаях можно списать на несовершенство джойстика или на общее представление возможности прототипа, но скорее всего разница будет слишком велика, чтобы так отмазаться :).

О том, как обычно поступает разработчик в такой ситуации напишу позже.

По своему опыту скажу, что основные проблемы это динамическая устойчивость по тангажу и гипертрофированная управляемость. Выглядит в простом понимании как болтание самолета "на резинках" (особенно по тангажу) и чрезмерная чувствительность управления.
По какой это причине происходит и что сим делает "не так".
1. Сим НЕ УЧИТЫВАЕТ фюзеляж, кроме как лобового сопротивления (задается коэффициент, поперечное сечение считает сам)
2. Сим неточно считает прирост подъемной силы управляющей поверхности при изменении угла атаки. Т.е. можно сказать, что правильно получается только при УА = 0
3. Не так явно выражено, но все. Отсутствуют демпфирующие свойства деформации конструкции, "вязкости" воздуха и т. п.

Но главные, самые заметные, это первых два пункта.
1. Рассмотрим ситуацию. Летит наша модель сбалансированная (нос не поднимает и не опускается). Мы резко дергаем джойстик на себя и сразу же отпускаем. Модель резко возвращается на прежний тангаж. С точки зрения взаимодействия стабилизатора, крыла и центра тяжести должно быть именно так, да вот в реале оно иначе. Не хватает момента которого создает фюзеляж. Оговорюсь, что это относится к длинноносым самолетам, например любимым нами лайнерам. Фюзеляж тоже взаимодействует с воздухом. В случае "сосисочной" формы фюзеляж в целом симметричен и имеет точку приращения силы приблизительно на четверти своей длины от носа. Т.е. впереди центра тяжести. И это однозначно дестабилизирующий момент. Но он слабее стабилизирующего момента стабилизатора, значит ослабляет его. На практике это выглядит, что самолет после возмущения не так резко возвращается на прежний тангаж.

2. Ситуация. Вы потянули джойстик на себя, отклонив руль высоты и увеличив угол атаки. При этом увеличивается угол атаки стабилизатора, на котором этот руль высоты расположен. По наблюдениям результирующая сила ослабевает слишком слабо при увеличении УА. Если рассмотреть элероны, то там тоже меняется угол атаки при возникающей угловой скорости.

Надо заметить, у сима есть две простых затычки на вышесказанное. Остин конечно понимал, что есть нюансы в его творении. Поэтому имеем возможность линейно уменьшать угол отклонения управляющих поверхностей по скорости, а также в настройках управления можно использовать искусственную устойчивость. По сути это автоматическое подруливание, придающее бОльшу стабильность.

Если в случае с ограничением углов отклонения получается еще более-менее сносно, то устойчивость носит побочный эффект в виде создания "рельс", за что постоянно ругался другой симулятор. Да и принципиально это как-то не правильно.

Разработчики зачастую пытаются решить описанные проблемы другим способом  - они добавляют инерцию, чтобы сгладить моменты. Поскольку проблема в другом, а лишней инерции нужно много, нередко получается летающий крейсер Аврора или груженный металлом железнодорожный состав. До такой степени окирпичивают.
Да, можно попытаться фюзеляж заменить моментом крыла, но тоже выходит коряво в виду ограничения диапазона задаваемых углов атаки и количеством точек в Airfoil-Maker. Результатом может оказаться, что самолет охотно делает "кобру" и т.п

К сожалению, чтобы не насиловать Plane-Maker, проще всего написать скрипт. Датарефы не зря оставили для этого (знали же).

Чуть позже напишу несколько примеров

Edited by atcstager

Share this post


Link to post
Share on other sites

О, отличная тема, спасибо. Скриптик будет очень интересно глянуть. В саму проблему пока еще полностью не въехал, надо будет спокойно прочесть в спокойной обстановке :)

Могу только сказать, что моменты инерции Плейн действительно считает достаточно похоже. Делал оценку двумя разными способами, и оба раза расхождения с плейном не превышали 20% чо довольно неплохо. Так что проблемы с управляемостью (а они есть, я тут тоже полностью согласен) действительно кроются не в моментах.

И еще 5 копеек про плейновские грабли от себя.

На оре есть очень старая тема, где обсуждают модель трения или почему "легкий" боковичек в 20 узлов может снести 737 в кювет. Вобщем Мортон (один из разрабов Иксега если не ошибаюсь) пришел к выводу что боковую составляющую трения при движении Плейн считает неверно, она занижено в несколько раз. Затычка на этот случай от Jack из FlyJSim (она же я так понял применяется в x737) - принудительное увеличение ширины покрышек шасси (но без энтузиазма - сильно большое шасси вроде как сильно увеличивает сопротивление - надо следить за скоростями и режимами на заходе).

 

Share this post


Link to post
Share on other sites

Да-да. Про шасси тоже вспомню.
По скриптам. Предвидя различные ситуации, разработчики оставили нам несколько очень полезных датарефов, вокруг которых все и вертится. 
 

sim/flightmodel/forces/M_plug_acf   -- момент по тангажу

sim/flightmodel/forces/L_plug_acf  -- момент по крену

sim/flightmodel/forces/N_plug_acf -- момент по рысканью.

Это дополнительные моменты, которые не заменяют ничего в основной полетной модели. Задаются в Ньютонах на  Метр.
Также есть силы в Ньютонах по осям

sim/flightmodel/forces/faxil_plug_acf -- продольная ось
sim/flightmodel/forces/fside_plug_acf -- поперечная ось
sim/flightmodel/forces/fnrml_plug_acf -- вертикальная ось.

По сути этих шести переменных достаточно, чтобы влиять на любую часть полетной модели.

Конечно, коэффициенты будут для каждой модели индивидуальны и будут подобраны в основном эмпирическим путем.

Момент фюзеляжа будет выглядеть как fuse_pitch_moment = get(aoa) * get(ias)^2 * k -- где "к" подборочный коеф.
Обращаю внимание, что для рысканья нужна подобная формула, только вместо угла атаки нельзя брать датареф скольжение(slip), так как это переменная для шарика, с запаздыванием, скатыванием при отрицательных перегрузках и т. п. Есть другой.

По рулям. Иногда помогает сделать рули отдельными плоскостями (как я сделал в ан-24), можно также резать с привязкой по углу атаки, скольжение и угловой скорости.

"Вязкость среды" в примитиве реализовать моментом-противовесом угловой скорости и/или угловому ускорению, свойства будут разными. 

Шасси. Да, трения не хватает. Чаще всего это проблема с рулежкой на одном двигателе. Решается аналогично с помощью моментов (в 737 ixeg так сделали).

 

delta_thrust = thrust1 - thrust2

if nose_gear_def > 0 then
 
    one_engine_moment = delta_thrust * -k

end



Что-то подобное сделано в ан-24. для ветра нечто похожее можно придумать скорей всего.

В общем силами по осям и моментами можно компенсировать или симулировать много вещей, будь то момент шасси, крен от реактивного момента, затенение стабилизатора и т.п. 

Edited by atcstager

Share this post


Link to post
Share on other sites
1 hour ago, atcstager said:

Но главные, самые заметные, это первых два пункта.
1. Рассмотрим ситуацию. Летит наша модель сбалансированная (нос не поднимает и не опускается). Мы резко дергаем джойстик на себя и сразу же отпускаем. Модель резко возвращается на прежний тангаж. С точки зрения взаимодействия стабилизатора, крыла и центра тяжести должно быть именно так, да вот в реале оно иначе. Не хватает момента которого создает фюзеляж. Оговорюсь, что это относится к длинноносым самолетам, например любимым нами лайнерам. Фюзеляж тоже взаимодействует с воздухом. В случае "сосисочной" формы фюзеляж в целом симметричен и имеет точку приращения силы приблизительно на четверти своей длины от носа. Т.е. впереди центра тяжести. И это однозначно дестабилизирующий момент. Но он слабее стабилизирующего момента стабилизатора, значит ослабляет его. На практике это выглядит, что самолет после возмущения не так резко возвращается на прежний тангаж.

 

Я правильно понял, что имеется в виду, когда мы увеличили тангаж, то для нашего  симметричного фюзеляжа угол атаки стал ненулевой и соответственно появилась подъемная сила фюзеляжа которая вносит возмущение и сглажевает реакцию самолета на движения стаблизатора?

Edited by Maxxe

Share this post


Link to post
Share on other sites

Фюзеляж при увеличении УА создает кабрирующий момент, если точка на его четверти от носа впереди ЦТ. Чем он дальше вперед, тем больше момент.

Edited by atcstager

Share this post


Link to post
Share on other sites
7 minutes ago, atcstager said:

Фюзеляж при увеличении УА создает кабрирующий момент, если точка на его четверти от носа впереди ЦТ. Чем он дальше вперед, тем больше момент.

Да, я это и имел в виду. По-сути это тоже крыло с симметричным профилем, с центром силы (или как там его правильно) в 25% САХ. Черт, это ведь действительно многое объясняет! Надо будет поиграться с подобным скриптом для 732 и ДС-9.  Особенно это будет полезно 732-му, он блин такой дерганный, что весь кайф портится от такого атмосферного крафта.

Share this post


Link to post
Share on other sites

Нечто подобное получается, только добавлен момент фюзеляжа (возможно несколько сильный, но для наглядности сойдет)

 

Share this post


Link to post
Share on other sites

Эмм.... Разница вроде как видно. Только я одного не пойму: чтобы подтянулись изменения из скрипта наде же САСЛ перегрузить, не?

Share this post


Link to post
Share on other sites
1 минуту назад, Maxxe пишет:

Эмм.... Разница вроде как видно. Только я одного не пойму: чтобы подтянулись изменения из скрипта наде же САСЛ перегрузить, не?

Ну да, у меня на кнопку назначено. В видео клавиатуру не видно))

Share this post


Link to post
Share on other sites

Хорошая тема!

Про рули точно можно сказать, что считаются они неверно. Для примера можно поставить максимальный угол отклонения руля направления не 30 градусов, а например 300. Тогда в воздухе самолёт сделает какую-то невероятную фигуру при нажатии на педаль.

Попробовал сделать момент от фюзеляжа, только ещё домножал на плотность воздуха. После сваливания самолёт вел себя очень смешно, всё-таки надо не линейный коэффициент, а график использовать, но в целом идея интересная.

Ещё есть подозрение, что симулятор не учитывает скос потока от крыла, соответственно может неправильно считать угол атаки на стабилизаторе и его влияние на полет. Можно попробовать на лету крутить нулевую точку стабилизатора для имитации скоса потока.

Share this post


Link to post
Share on other sites
4 часа назад, Soitanen пишет:

Хорошая тема!

Про рули точно можно сказать, что считаются они неверно. Для примера можно поставить максимальный угол отклонения руля направления не 30 градусов, а например 300. Тогда в воздухе самолёт сделает какую-то невероятную фигуру при нажатии на педаль.

Попробовал сделать момент от фюзеляжа, только ещё домножал на плотность воздуха. После сваливания самолёт вел себя очень смешно, всё-таки надо не линейный коэффициент, а график использовать, но в целом идея интересная.

Ещё есть подозрение, что симулятор не учитывает скос потока от крыла, соответственно может неправильно считать угол атаки на стабилизаторе и его влияние на полет. Можно попробовать на лету крутить нулевую точку стабилизатора для имитации скоса потока.

Именно сам скос потока сим как-то считает. Момент естественно для рабочих углов ( ну грубо +- 20). Потом надо вносить коррективы. Вопрос был, где косяки. Борьба остается на совести разработчика.

Share this post


Link to post
Share on other sites

Оживлю ка тему. Нужен совет. В силу обстоятельств вынужден оставаться на 10ке (хотя в стиме уже купленая 11я версия). Так вот, полетав после длительного перерыва на мелочи, понял что меня страшно раздражает постоянное заваливаение на бок в single engine piston (которое создается обратным моментом от вращения пропеллера, downwash и еще парочкой эффектов ). Какое-то слишком сильное оно в 10ке. В 11ке вроде как это фиксили, и по-моему на дефолтной цессне более-менее приемлемо. А вот в 10ке на моем любимом Центурионе 210 вообще труба. Управление нельзя бросить даже на пол минуты (я конечно в реале летал мало, но не верю что реальный центурион так заваливается на бок). Вобщем, думаю как бы лучше это исправить. Варианты:

1) Тупо добавить плагином вращающий момент в обратную сторону. 2) Создать ассиметрию в подъемной силе крыльев: сделать одно крыло больше по площади или увеличить установочный угол.

Какие будут еще варианты? Что лучше сделать чтобы не напоротся на какие-нибудь сайд-эффекты?

Share this post


Link to post
Share on other sites
3 hours ago, Maxxe said:

А вот в 10ке на моем любимом Центурионе 210 вообще труба. Управление нельзя бросить даже на пол минуты (я конечно в реале летал мало, но не верю что реальный центурион так заваливается на бок). Вобщем, думаю как бы лучше это исправить.

Я недавно приобрел Центурион + сразу REP к нему, тоже 10-ка пока. Летаю в основном на руках, пока осваиваю его после Барона, и не замечал, чтоб валился на бок. Странно... Надо присмотреться будет.

Share this post


Link to post
Share on other sites
Just now, vtos said:

Я недавно приобрел Центурион + сразу REP к нему, тоже 10-ка пока. Летаю в основном на руках, пока осваиваю его после Барона, и не замечал, чтоб валился на бок. Странно... Надо присмотреться будет.

У меня тоже с REP-ом. Просто на днях летал после долгого перерыва и обратил внимание. На заходе и в горизонтальном полете это не так ощущается, а вот в наборе, когда  движек на >=2500 RPM очень заметно.

Share this post


Link to post
Share on other sites
On 26.01.2018 at 4:09 PM, Maxxe said:

У меня тоже с REP-ом. Просто на днях летал после долгого перерыва и обратил внимание. На заходе и в горизонтальном полете это не так ощущается, а вот в наборе, когда  движек на >=2500 RPM очень заметно.

Вот здесь обсуждение не смотрели?

Share this post


Link to post
Share on other sites
2 minutes ago, vtos said:

Вот здесь обсуждение не смотрели?

Нет, не видел. Спасибо за наводку. Модель не пересохранял, но вот в настройках не рылся.

Share this post


Link to post
Share on other sites
4 часа назад, Maxxe пишет:

Нет, не видел. Спасибо за наводку. Модель не пересохранял, но вот в настройках не рылся.

Проблема по ссылке вероятно решается. Тем не менее, чтобы победить реактивный момент (не скос потока на киль) нужно просто взять переменную крутящего момента (torque), умножить на коэффициент, подобранный методом тыка и запихнуть в переменную добавочного момента по крену( sim/flightmodel/forces/L_plug_acf)

Share this post


Link to post
Share on other sites
3 minutes ago, atcstager said:

Проблема по ссылке вероятно решается. Тем не менее, чтобы победить реактивный момент (не скос потока на киль) нужно просто взять переменную крутящего момента (torque), умножить на коэффициент, подобранный методом тыка и запихнуть в переменную добавочного момента по крену( sim/flightmodel/forces/L_plug_acf)

Т.е. просто частично скомпенсировать  плагином. Где-то так и думал. Спасибо.

Share this post


Link to post
Share on other sites
1 час назад, Maxxe пишет:

Т.е. просто частично скомпенсировать  плагином. Где-то так и думал. Спасибо.

Плагином наверно проще всего и так вероятно сделано в REP.  Кстати, если его выключить, клонит также? Просто допускаю, что в силу количественных изменений в переменной крутящего момента это уже плагин заваливает.
Если без плагина, то нужно смотреть уже конкретный случай. Действительно ли крен вызывает именно крутящий момент, а не вихрь, который попадает на крыло или киль. В случае киля будет скольжение. Крыло может быть сделано так, что проходит и внутри фюзеляжа. Соответственно в левой и правой части из-за вихря будет разная подъемная сила.
Если же нет, то тут уже игра с профилем винта, а потом и характеристиками движка, т.к. они поплывут.

Как видите, если остальное настроено, то плагин это наименьшее безболезненное вмешательство, т.к. добавляет новую силу, не трогая баланс остальных.

Edited by atcstager

Share this post


Link to post
Share on other sites

Значит так. Галка в РЕП-е действительно есть, и она работает. Правда, влияние ее не такое уж и большое - на глаз я разницы вообще не увидел. Заметить это можно только если вывести на экран roll и смотреть на скорость изменения. На вскидку, плагин уменьшает скорость "заваливания" от силы на 30 процентов. На самом деле, это заваливание не такое уж и критичное как мне показалось в первый раз. Подозреваю что тогда у меня был дисбаланс топлива. Если же сделать равную загрузку, то все более-менее приемлемо.

Share this post


Link to post
Share on other sites

Так-так, у Остина дошли руки до фюзеляжа. Это конечно хорошо с одной стороны. С другой - хоть бы не пришлось новые костыли выдумывать вместо старых. Пишет что силы по величине считаются правильно, но вот место их приложения будет теперь меняться.

https://developer.x-plane.com/2018/05/better-fuselages-through-science/

Share this post


Link to post
Share on other sites
26 минут назад, Maxxe пишет:

Так-так, у Остина дошли руки до фюзеляжа. Это конечно хорошо с одной стороны. С другой - хоть бы не пришлось новые костыли выдумывать вместо старых. Пишет что силы по величине считаются правильно, но вот место их приложения будет теперь меняться.

https://developer.x-plane.com/2018/05/better-fuselages-through-science/

Хаха, неужели ему кто-то перевел мои писульки?:lmaosmiley: Очень близко по содержанию.
Конечно же нет. Но возможно ему вынесли мозг на тему "что-то с боингом не то".
Tesla wind tunnel конечно достойно, но все же он лукавит, мол нигде нет инфы. Ее меньше, но есть. Тем более занимается ракетами. 
А меня не учили этому, что вы ко мне привязались :)

Edited by atcstager

Share this post


Link to post
Share on other sites
3 minutes ago, atcstager said:

Хаха, неужели ему кто-то перевел мои писульки?:lmaosmiley:
Конечно же нет. Но возможно ему вынесли мозг на тему "что-то с боингом не то".
Tesla wind tunnel конечно достойно, но все же он лукавит, мол нигде нет инфы. Ее меньше, но есть. Тем более занимается ракетами. 
А меня не учили этому, что вы ко мне привязались :)

Да я вот тоже не верю что ну вообще нигде никакой инфы нет. С другой стороны, пусть хоть на голове стоит, главное чтобы модель была похожая на правду.

Кстати, я в симах и плейне частности относительно "недавно" (с 2013) и вот я не припомню чтобы за время жизни 10ки (точнее где-то с версии 10.15-10.20 когда я пришел) так сильно flightmodel менялась. Были мелкие изменения конечно. Но сейчас Остин что-то разошелся - в каждой версии постоянно что-то меняет.

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

  • Recently Browsing   0 members

    No registered users viewing this page.

×