FS-Troubles — журнал разработки — Малая авиация

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

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

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

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

Начать хочу именно с этого типа поломки, а если получится, можно будет заняться другими.

FSX обледенение кое-как симулирует — возрастает масса самолета и (похоже) паразитное сопротивление из-за которого падает скорость. Замерзание трубки pitot и карбюратора пока оставляем в стороне. Обсуждаем только обледенение плоскостей, рулей, закрылков.

Что происходит с самолетом, когда он начинает постепенно обрастать льдом? Как меняется поведение? Как быстро все это происходит (в условиях сильного обледенения)?

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

Давайте представим для начала, что мы говорим об обычной Цессне 172 — на ней и будем испытывать.

Сообщение отредактировано crum: 25 April 2012 — 14:28


Ответов: 59

fspassengers? не, не слышал :)
там же вроде как все это реализовано как раз на таком уровне?

Интересная мысль! Про обледенение планера — всё верно. Возрастает вес, сопротивление. Кроме этого, ухудшаются свойства несущих поверхностей. Проще говоря, падает коэффициент подъёмной силы. Выражается это в том, что растёт скорость сваливания. Заклинение рулей и элеронов льдом — очень редкий случай, почти не встречающийся: лёд нарастает, в основном, на передних поверхностях. А вот продольная балансировка нарушается, при выпуске закрылков может появиться огромный момент на пикирование, например.

Закрылки при превышении скорости на Цессне не оторвёт, просто заклинит. Ну, может, ассиметрично заклинит.

А как насчёт отказов и перебоев в работе силовой установки? На поршне это самое интересное :)

FSPassengers — это хорошо, но там много чего нет. Она, например, не имитирует забрасывание свечей маслом, «детонацию» в случае останова двигателя отключением зажигания, плохую приемистость на холодном двигателе, да много чего. Так что идея классная — лишь бы заработало.

Я так понимаю, эта идея исключительно для FSX? (т.к. LINDA не поддерживает FS9)

FSP не обсуждаем. Штука хорошая, но со своими минусами. Хочется сделать что-то погибчее и поинтереснее.

Двигатели пока тоже не обсуждаем. Наверняка можно будет имитировать какие-то поломки, но это потом. Для тех кто в теме, мы можем повлиять и сломать все, что так или иначе доступно через оффсеты FSUIPC… а там доступно много чего интересного. Но пока давайте все-таки обледенение реализуем.

Илья, у меня пока сценарий такой вырисовывается (от малого к большому):
— FSX сам наращивает вес и паразитное сопротивление — процесс медленный
— пропорционально накопленному весу льда добавляем паразитное отклонение на руль высоты, так чтобы направить нос вниз
— после достижения какого-то порогового значения добавляем паразитное постепенно возрастающее отклонение элеронов, чтобы создать уход в сторону (можно и руль направления «погнуть», чтобы был не простой крен, а со скольжением)
— если лед продолжает нарастать увеличиваем паразитные отклонения до упора, и в итоге самолет просто падает

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

Пока рассматриваем случай полета без автопилота — с ним как-то отдельно воевать придется.

В таком виде оно будет убедительно или надо сразу что-то более сложное планировать?

Я так понимаю, эта идея исключительно для FSX, т.к. LINDA не поддерживает FS9?

На начальном этапе — да, только FSX. Но FS9/FSUIPC тоже позволяет запускать скрипты, так что при желании можно будет адаптировать (не всю ЛИНДУ, а конкретно скрипт поломок).

Сообщение отредактировано crum: 12 April 2012 — 19:06

Из того, что в голову приходит, можно еще на загрузку самолета влиять… на динамику прямо повлиять нельзя, но можно добавить веса, допустим, передним или, наоборот, задним «пассажирам» — сместить центр тяжести и таким образом повлиять на управляемость.

Надо только это как-то в общий более-менее реалистичный сценарий все вписать…

…»детонацию» в случае останова двигателя отключением зажигания…

Напрашивается такая вещь, как накопление ошибок пилотирования и эксплуатации от полета к полету. Было бы круто.

Напрашивается такая вещь, как накопление ошибок пилотирования и эксплуатации от полета к полету. Было бы круто.

Потенциально реализуемо, если из Lua под FSUIPC можно осуществлять запись в файлы (не уверен, возможно ли это). Но опять-таки, не надо сразу замахиваться на великие свершения… сделаем одно — можно будет сделать что-то следующее.

Что происходит с самолетом, когда он начинает постепенно обрастать льдом? Как меняется поведение? Как быстро все это происходит (в условиях сильного обледенения)?

те, кто это узнал, уже ничего никому не расскажут

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

Как уже сказали, лучше по отказам поработать

Сообщение отредактировано someone1: 12 April 2012 — 21:45

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

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

Погода в FSX тоже довольно условная, но обледенение слабое от обледенения интенсивного (например, дождь при минусовой температуре) отличить можно, а значит можно и в развитии событий это учесть.

Существует XML-приборчик, который эту задачу уже решает, но там все сделано очень топорно — 3 ступени обледенения и на 2 этапе руль высоты тупо выставляется в фиксированное положение, на 3 этапе угол еще резче.

Здесь в скрипте общая начальная концепция та же, но хочется сделать это более красиво… для разминки. Другие отказы — потом.

Сообщение отредактировано crum: 12 April 2012 — 21:55

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

нет, не укладывается.

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

Погода в FSX тоже довольно условная, но обледенение слабое от обледенения интенсивного (например, дождь при минусовой температуре) отличить можно,

отличить можно, но к настоящему это мало отношения имеет.
Вы ж спрашивали, каково оно в реале, правильно?

Сообщение отредактировано someone1: 12 April 2012 — 22:07

Потенциально реализуемо, если из Lua под FSUIPC можно осуществлять запись в файлы (не уверен, возможно ли это).

В LUA есть средства ввода/вывода (ссылко). По идее можно читать из файла/писать в файл.

Вы ж спрашивали, каково оно в реале, правильно?

Да, хорошо бы составить представление о типовых сценариях в реале. Понятно, что реал непредсказуем и каждая ситуация уникальна, но ведь есть какие-то общие тенденции. Здесь и сейчас задача в том, чтобы выработать ПРИЕМЛЕМЫЙ с точки зрения реалистичности сценарий развития событий в рамках тех ограничений, которые установлены имеющимся симулятором. Чудес не бывает и реал смоделировать не получится — но такой задачи и не стоит… Задача в том, чтобы условия обледенения в симе оказывали хоть какое-то заметное влияние — чтобы пришлось думать, куда летишь, а не тупо включать «обогрев всего» и забывать о потенциальной проблеме.

В LUA есть средства ввода/вывода (ссылко). По идее можно читать из файла/писать в файл.

В Lua-то они есть… вопрос в том, есть ли они в той реализации Lua, которая зашита в FSUIPC. На крайний случай там можно внешние Lua-библиотеки подключать, но лучше бы конечно, если бы родными средствами можно было это сделать.

— после достижения какого-то порогового значения добавляем паразитное постепенно возрастающее отклонение элеронов, чтобы создать уход в сторону (можно и руль направления «погнуть», чтобы был не простой крен, а со скольжением)

Я думаю, это лишнее. Не встречал никакой инфы о таком поведении.

someone1
В чём вы пытаетесь всех убедить? :) Реал из сима всё равно не сделать, и это нет необходимости кому-либо объяснять или доказывать. То, что ни один полёт вообще не укладывается ни в какие типовые сценарии, мы знаем. А вот сделать сим интереснее всегда можно. Сэр crum взялся и делает, а это… того… не мешки ворочить :)

Я думаю, это лишнее. Не встречал никакой инфы о таком поведении.

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

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

Обледенение вообще процесс до сих пор остается малоизученным.
Все так, только эта масса льда может нарасти где угодно и как угодно, отсюда непредсказуемо в какую сторону тебя потащит и с какой силой, а может быть заклинит или вообще приведет к срыву и полной неуправляемости…. рулетка одним словом)
Посмотрите вот этот фильм, если не смотрели. Думаю некоторые моменты пригодятся.
http://video.mail.ru…html?autoplay=1

someone1
В чём вы пытаетесь всех убедить?

Я пытаюсь убедить в том, что если есть возможность, то гораздо продуктивнее сделать адекватный частичный отказ двигателя (конкретного, например, М-14П), чем пытаться сделать обледенение.

Потому как в первом случае мы получим хороший продукт, а во втором «чуть лучше, чем было»
Это сугубо мое мнение. Решать, конечно, автору…

Обледенение вообще процесс до сих пор остается малоизученным.
Все так, только эта масса льда может нарасти где угодно и как угодно, отсюда непредсказуемо в какую сторону тебя потащит и с какой силой, а может быть заклинит или вообще приведет к срыву и полной неуправляемости…. рулетка одним словом)
Посмотрите вот этот фильм, если не смотрели. Думаю некоторые моменты пригодятся.
http://video.mail.ru…html?autoplay=1

Ну, вот я собственно о том же… значит добавление кренов и скольжений при большой массе накопленного льда будет вполне уместно. Видео посмотрю…
Вот еще толковый ролик на ту же тему (про ТУ154):
http://www.youtube.com/watch?v=HZYikJyd_O8

Идеи для реализации (чтоб не забыть):
— наземное обледенение
— изменение балансировки самолета за счет увеличения/уменьшения загрузки в передних и задних payload stations
— увеличение общей массы загрузки для имитации уменьшения подъемной силы крыла (то есть, масса загрузки должна увеличиваться не только на массу накопленного льда, но и ее на какое-то дополнительно значение)
— обход косяка FSX, при котором мгновенно сбрасывается весь лед, как только включается обогрев плоскостей (лед должен уходить постепенно, а при некоторых условиях ПОС может и не справляться со скоростью обледенения)
— вибрация при большом количестве льда

Я пытаюсь убедить в том, что если есть возможность, то гораздо продуктивнее сделать адекватный частичный отказ двигателя (конкретного, например, М-14П), чем пытаться сделать обледенение.

По двигателям тоже сначала придется делать очень упрощенную модель отказов.. так что до моделирования отказов какого-то конкретного движка еще ой как далеко.

Идея скрипта в гораздо большей степени развлекательная, чем «симуляционная»… Всегда хотелось, чтобы самолет в FSX не был «железным» и неразрушимым — это слишком уж расхолаживает. Хочется, чтобы он требовал внимания к имеющимся паспортным ограничениям, погодным условиям и, в идеале, действительно увеличивал бы вероятность поломок в результате систематических ошибочных действий и чрезмерных нагрузок. Но в то же время не хочется доводить все до такого занудства, как в аэрософтовской Katan’e.

Сообщение отредактировано crum: 13 April 2012 — 10:04

Итак… первые эксперименты проведены. Отслеживать количество льда можно, вносить паразитные отклонения тоже можно. Но возникла загвоздка — при работающем (дефолтном) автопилоте эти фокусы не срабатывают, поскольку углы отклонения управляющих поверхностей программно ограничены — соответственно, автопилот легко справляется с любым паразитным отклонением.. Это значит, что при включенном автопилоте нарастающее обледенение ничем не грозит и повлиять на это толком нельзя. Масса будет расти, скорость падать, но в целом самолет будет продолжать нормально лететь, пока хватает мощности движка.

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

Еще есть вариант при возникновении сильного обледенения вырубать каналы автопилота и не давать их включать, но не знаю, насколько это будет «реалистично».

Что происходит, если пилот «спит», автопилот держит курс/высоту, а самолет попадает в зону обледенения? По логике, до поры до времени автопилот будет справляться с управлением, но в какой-то момент произойдет сваливание. Или автопилот раньше отключится из-за сильной нагрузки?

Сообщение отредактировано crum: 13 April 2012 — 16:07

— изменение балансировки самолета за счет увеличения/уменьшения загрузки в передних и задних payload stations
— увеличение общей массы загрузки для имитации уменьшения подъемной силы крыла (то есть, масса загрузки должна увеличиваться не только на массу накопленного льда, но и ее на какое-то дополнительно значение)

Выходит, с паксами не полетать? А жаль… Летают то многие и если не будет возможности — опробуют и забудут. Хотя, еще Economy есть…

Мне, в свое время, хватило гауги ice, прикрученной к скауту. Ужас! :)
Выбрал соответствующую погоду. Летел недолго…
Скаут и иже с ним, очень хорошо валятся, а гауга добавила и ужесточила. Шансов не было.
Давайте Вашу испытаем!

Мне, в свое время, хватило гауги ice, прикрученной к скауту. Ужас! :)
Выбрал соответствующую погоду. Летел недолго…
Скаут и иже с ним, очень хорошо валятся, а гауга добавила и ужесточила. Шансов не было.
Давайте Вашу испытаем!

«Моя» делает сейчас ровно то же самое (тот же принцип), но не так резко. В той гауге в какой-то момент просто клинит руль высоты на пикирование и больше она ничего не делает. Я пытаюсь сделать влияние обледенения более постепенным и разнообразным, чтоб поинтереснее было.

Собственно, proof of concept уже готов, но надо бы сейчас определиться, что делать на случай включенного автопилота (вопрос задан выше, пост #20). Потом это отполирую все и можно будет выложить на всеобщее обозрение.

Выходит, с паксами не полетать? А жаль… Летают то многие и если не будет возможности — опробуют и забудут. Хотя, еще Economy есть…

Почему не полетать? Вряд ли будет серьезный конфликт. Рано пока об этом говорить… Вот лично меня паксы утомили — мне от них интересны только поломки, а экономическая составляющая уж слишком там условная. Вот FSEconomy поинтереснее, но запускать каждый раз экономию, паксов и еще радар контакт — достало. Поэтому поломки отказы хочу автоматизировать, чтобы сами собой работали.

Update…

1. Написал первую версию скрипта
— отслеживает обледенение
— вносит помехи в управление
— увеличивает вес (загрузку)
— отрубает каналы автопилота при определенном уровне паразитных отклонений
— коэффициенты влияния массы льда на рули управления пока подобраны на глаз (плюс в них есть случайный компонент… для разнообразия)

2. Отказался от использования LINDA в качестве базовой инфраструктуры. Скрипт представляет из себя один единственный файл, который запускается через ipcReady.lua и дальше живет своей жизнью. В теории, должно работать и в FS9.

3. Интенсивность обледенения определятся симулятором. Скрипт просто берет массу накопленного льда, умножает ее на разные коэффициенты, вносит случайную поправку, а затем добавляет паразитные отклонения на рули и меняет вес загрузки.

4. При включении обогрева крыльев весь лед исчезает мгновенно, соответственно исчезает и весь эффект от скрипта… В этой части скрипт еще надо будет доработать.

5. В условиях интенсивного обледенения (t < 0C + дождь + сильное обледенение в параметрах погоды) дефолтная Цессна взлетает и с постепенным ухудшением положения держится в воздухе 5 минут, после чего окончательно теряет управление и уходит носом в землю. Это много или мало? (исходя из того, что наземное обледенение нулевое). Если пару минут запускаться и рулить со стоянки, то взлететь становится уже проблематично.

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

Заинтересованным предлагаю записываться на бета-тестирование.

__________

Проверил только что работу ПОС на Carenado C90B — там она борется со льдом с переменным успехом — лед исчезает постепенно и даже иногда снова начинает нарастать. Круто! То есть, все-таки FSX моделирует ПОС более адекватно, чем предполагалось.

Сообщение отредактировано crum: 14 April 2012 — 01:04

В настоящее время делаю перелет через Южную Америку. Лечу на Carenado C340 (RAM VII mod) c FSPassX и реальной погодой ASE. Недавно, в районе SBGM-SLSA-SLSB-SLLP, словил обледенение с дождем при температуре около 0. Сейчас следую по марщруту SLOR-SLSU-SLAG-SLVM-SASO-SASJ-… погода ужасная, сильная болтанка, темература на FL180-FL210 ниже нуля. С радостью протестирую утилиту с FSPass в сложных метеоусловиях :sarcastic:
мой мэйл: nickbe(сцобако)mail(тчк)ru

5. В условиях интенсивного обледенения (t < 0C + дождь + сильное обледенение в параметрах погоды) дефолтная Цессна взлетает и с постепенным ухудшением положения держится в воздухе 5 минут, после чего окончательно теряет управление и уходит носом в землю. Это много или мало?

Это не много и не мало, это не корректно.
Если верить практической аэродинамике, то интенсивным обледенение становится, условно, от 1 мм льда за 1 мин. В скоростном выражении это будет выглядеть примерно так = 1 мм льда = 1 мин = 1 км/ч. Т.е. если при неизменных режимах работы двигателя самолет теряет скорость за 10 мин 10 км/ч, то мы имеем интенсивное обледенение.

Далее ситуация станет развиваться неизвестно как, потому как скорость сваливания увеличится ( и продолжит увеличиватся — насколько тоже неизвестно), а скорость самолета продолжит падать.

Поэтому константа в 5 минут совсем некорректна. Если и вводить какой-то промежуток времени, то завязанный на:

1. Интенсивности обледенения
2. Приборной скорости
3. Увеличения скорости сваливания

Поэтому константа в 5 минут совсем некорректна. Если и вводить какой-то промежуток времени, то завязанный на:

1. Интенсивности обледенения
2. Приборной скорости
3. Увеличения скорости сваливания

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

FSX моделирует падение скорости, но происходит это очень медленно и нет того эффекта, о котором говорят, что даже образование инея на крыльях ведет к потере подъемной силы на 30 процентов. В FSX подъемная сила крыла, судя по всему, не изменяется от обледенения, и как раз эту работу берет на себя скрипт — криво и условно имитирует поведение самолета обрастающего льдом — потеря управляемости, уменьшение подъемной силы (за счет увеличения массы загрузки), вибрация, и в итоге все это приводит либо непосредственно к сваливанию, либо сваливания как такового нет, но из-за потери управляемости самолет все равно падает.

Исходя из этого вопрос про 5 минут был к тому, чтобы правильно настроить коэффициенты. Нужен какой-то простой эксперимент, который бы помог их отрегулировать. Без скрипта цессна в условиях сильного обледенения (по меркам симулятора!) может лететь минут 20-30 (а может и больше), пока скорость постепенно не упадет до критической, а потом просто начнет разменивать высоту на скорость безо всякой опасности сваливания. Со скриптом, это время сокращается до примерно 5-10 минут, а если тянуть до последнего, то наступит неизбежное сваливание или полная потеря управления, и никакая высота уже не спасет… и даже набор скорости в снижении не поможет, потому что приведет к превышению скоростной нагрузки, и самолет просто развалится.

Так вот, 5 минут — это много или мало с момента входа в зону интенсивного обледенения до полной потери управляемости? Перебои в работе двигателя пока не рассматриваем, считаем, что он неуязвим к обледенению. Загрузка средняя, ПОС на крыльях отсутствует.

Сообщение отредактировано crum: 14 April 2012 — 09:35

В свете недавних событий (катастрофа под Тюменью) — 5 минут для Цессны вполне адекватно. Для меня, как новичка и лоховатого пользователя, интересен вопрос обнаружения обледенения. Понятно, что если дождь и минус, а я лечу, как ни в чем ни бывало — это не айс. Но ведь коварность процесса в том, что он может возникнуть и при отсутствии таких явных внешних признаков.. Хотелось бы иметь признаки начавшегося обляденения. Вы упоминали, например, про вибрацию, можно реализовать?

Сэр someone1 тут прав. Думаю, из тех цифр, что он указал, и следует исходить. Но чисто практически, Цессна, которая упала с неба через 5 минут — это какое-то вообще бешеное обледенение.

Вы упоминали, например, про вибрацию, можно реализовать?

Вибрация уже есть, правда ее не очень заметно, если в VC штурвал скрыт. Самолет тоже вибрирует, но на глаз это не очень заметно.

Сэр someone1 тут прав. Думаю, из тех цифр, что он указал, и следует исходить. Но чисто практически, Цессна, которая упала с неба через 5 минут — это какое-то вообще бешеное обледенение.

someone1, говорит о темпе падения скорости самолета, но нет никакой информации о скорости снижения подъемной силы крыла. Если 5 минут — это слишком резко, можно и уменьшить — вопрос изменения нескольких переменных. Но все равно, нужен какой-то ориентир, за который мне можно зацепиться (хотя, в принципе, каждый потом сам под себя сможет параметры подкрутить).

нет никакой информации о скорости снижения подъемной силы крыла

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

Скажем, пусть при интенсивном обледенении скорость сваливания растёт на 1 км/ч в минуту.

А теперь нужен финт ушами — нужно это нарастание скорости сваливания в 1 км/ч в минуту обеспечить за счет увеличения массы загрузки. Притом желательно это выразить в виде общей формулы, где в качестве точки отсчета берется масса пустого самолета. То есть, нужно вывести скорость прироста массы самолета в фунтах в минуту, чтобы обеспечить увеличение скорости сваливания на 1 км/ч в минуту.

Я в физике/математике не силен, поэтому, если кому интересно, попробуйте посчитать и расскажите, что получилось…

Если же прикидывать на глаз, то… допустим, скорость сваливания в нормальных условиях и с выпущенной механизацией — 60 узлов. Скорость полета — 100 узлов. Самолет попадает в интенсивное обледенение и скорости начинают двигаться навстречу друг другу.

100 — 60 / 2 = 20 минут до неизбежного сваливания, при условиях, что лед нарастает равномерно и симметрично и не создает всяких непредсказуемых эффектов. Но если мы считаем, что нам нужно еще и механизацию выпустить, то скорость полета у нас сходу снизится еще на 10-15 узлов (а если не выпускать, на те же 10-15 узлов вырастет скорость сваливания). Тогда нынешние 5 минут до неизбежного сваливания — это не так уж и далеко от истины… но можно и снизить коэффициенты, чтобы при самых суровых условиях сваливание наступало через 10-15 минут.

____________

В общем, продолжаю работу пока. Скрипт уже действует, но есть некоторые глюки не связанные с самой симуляцией обледенения… Как только разберусь, где косяк, выложу на тестирование.

Сообщение отредактировано crum: 14 April 2012 — 18:08

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

Интересно и как конструктора догадались, где ПОС ставить. Лёд ведь где угодно растёт. :o

Очередной вопрос назрел…

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

То есть, с точки зрения FSX ситуации с (t = -5C) и (t = -5C + дождь) ничем не отличаются в плане интенсивности обледенения. Насколько я понимаю, это не совсем правильно — наличие осадков должно ускорять процесс образования льда.

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

Пока что в голову пришло только три градации:

1. Обычные условия обледенения (определяются погодным движком FSX) — коэффициенты минимальные
2. Средние условия: -10C < t < 2C + снег — коэффициенты увеличенные
3. Максимальные условия: -5C < t < 2C + дождь — коэффициенты максимальные

Условия высосаны из пальца. Если у кого-то есть более обоснованные соображения по поводу условий обледенения, прошу высказаться.

Если у кого-то есть более обоснованные соображения по поводу условий обледенения

У FAA есть :)
Вот здесь. Даже с графиками. По-моему, исчерпывающе.

У FAA есть :)
Вот здесь. Даже с графиками. По-моему, исчерпывающе.

Не, это, конечно, круто, но я не готов впутываться в математическое моделирование условий обледенения.. этим Микрософт должен был заниматься. У меня задача условно-игровая все-таки, поэтому надо что-то более простое и наглядное. На пальцах желательно. 🙂

Не, ну необязательно так уж… Можно и упростить. Просто я нашёл это, ну можно попробовать порыть гугль на предмет «icing conditions».

В копилку учебных роликов по обледенению:

Скрипт симулирует примерно те же эффекты — тряску и увод органов управления в зависимости от интенсивности обледенения и скорости полета. К слову, потихоньку уже начинаем закрытое тестирование…

Следующая «фича» по плану:
— реакция на выпуск/уборку закрылков в условиях обледенения

Для тех, кто следит за темой…

  • Работа по написанию скрипта идет
  • Уже сделано:
  • Написан общий модульный каркас, позволяющий прикручивать библиотеки различных категорий отказов (обледенение, превышение скоростных нагрузок, износ и проч).
  • По теме обледенения уже готово:
  • Ухудшение общей управляемости в условиях обледенения
  • Имитация падения подъемной силы крыла
  • Возрастающая тряска по мере нарастания льда
  • Клевок при выпуске закрылков в условиях сильного обледения
  • Все эффекты рассчитываются исходя из массы накопленного льда, скорости полета, массы самолета, погодных условий и тп.
  • Скрипт подходит для любого самолета и не требует настройки, но при желании позволяет изменить любые настройки для каких-то отдельных моделей
  • В ближайших планах моделирование работы ПОС

[*]Сейчас потихоньку тестируем…
[/list]Если у кого-то есть пожелания по моделированию каких-то конкретных отказов, вносите предложения. Только не надо общих фраз, описывайте свои пожелания на пальцах — при таких-то и таких-то условиях или при такой последовательности действий должен происходить такой-то отказ.

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

на чистом крыле — сколько времени можно лететь на скорости в 10-15 узлов выше допустимой до наступления очевидных последствий?

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

тот же вопрос с выпущенными закрылками — что произойдет и как быстро, если мы превышаем скорость на 10-15 узлов? понятно что сценарии бывают разные — какие?

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

Э… это я сам спросил, сам себе ответил? :)

1. По поводу прямого полета и маневрирования понятно.. внесу поправку, чтобы интенсивность повреждения нарастала вместе с перегрузкой. Маневрирование в буквальном смысле отслеживать муторно, а по перегрузке есть готовая переменная.

2. На данный момент скрипт отслеживает превышение скорости только для закрылков находящихся в какой-то конкретной позиции (транзитные состояния отслеживать сложнее, но если очень надо будет — тоже сделаю). А пока модель поломок закрылков максимально упрощенная:

  • если закрылки убраны и превышена максимальная скорость для чистого крыла, идет вибрация, накапливается счетчик повреждения и в какой-то момент полный отказ управления (условно говоря, планер разрушен, самолет падает)
  • если закрылки выпущены на какую-то позицию и превышена скорость, точно так же сначала накапливается счетчик повреждения, а затем происходит одно из:
  • обрыв обоих закрылков (закрылки перемещаются в нулевое положения и больше их оттуда не сдвинуть)
  • блокировка обоих закрылков (закрылки застревают в текущей позиции и никуда больше не двигаются)
  • обрыв левого или правого закрылка с соответствующим влиянием на управление — крены в сторону оторванного закрылка… лечится полной уборкой закрылков — тогда крен исчезает, повторный выпуск снова создаст крен, и тем сильнее, чем дальше выпущен действующий закрылок
  • блокировка левого или правого закрылка — в этом случае полет без кренов возможен только в той позиции закрылков, на которой произошла поломка, попытка довыпусть или убрать закрылки приводит к соответствующим кренам

Сообщение отредактировано crum: 18 April 2012 — 14:37

Э… это я сам спросил, сам себе ответил? :)

Нет. Это я из-за природной криворукости вместо «Ответить» нажал «Изменить». Простите уж :)

1. По поводу прямого полета и маневрирования понятно.. внесу поправку, чтобы интенсивность повреждения нарастала вместе с перегрузкой. Маневрирование в буквальном смысле отслеживать муторно, а по перегрузке есть готовая переменная.

Это логичнее всего звучит. От перегрузки ведь и ломается. Причём, степень повреждений прямо пропорциональна 1) квадрату скорости, 2) величине нормальной перегрузки.

обрыв обоих закрылков (закрылки перемещаются в нулевое положения и больше их оттуда не сдвинуть)

Ну это надо превысить на стопицот миллионов узлов.

блокировка обоих закрылков (закрылки застревают в текущей позиции и никуда больше не двигаются)

Самый вероятный отказ.

обрыв левого или правого закрылка с соответствующим влиянием на управление — крены в сторону оторванного закрылка… лечится полной уборкой закрылков — тогда крен исчезает, повторный выпуск снова создаст крен, и тем сильнее, чем дальше выпущен действующий закрылок

Уборкой лечиться не должно.

То есть, имеет смысл сделать разные вероятности отдельных сценариев? С возможностью регулирования под разные модели… Я так понимаю, на некоторых самолетах привод закрылков чисто механический, на тросах и трос вполне может лопнуть — тогда они встанут в нулевое положение. А на других самолетах мотор или гидравлика и полного обрыва там скорее всего не случится — скорее заклинит.

Уборкой лечиться не должно.

Это как это? Если левый закрылок оторвало (не физически, а в смысле, что он ушел в нулевое положение), а правый закрылок на месте и он остается в выпущенном состоянии, самолет начнет кренить влево. Если мы уберем оставшийся правый закрылок в нулевое положение, крен уйдет. Или я что-то не учитываю?

Это как это? Если левый закрылок оторвало (не физически, а в смысле, что он ушел в нулевое положение), а правый закрылок на месте и он остается в выпущенном состоянии, самолет начнет кренить влево. Если мы уберем оставшийся правый закрылок в нулевое положение, крен уйдет. Или я что-то не учитываю?

«Оторвало» я воспринял как «Отделило от остального самолёта».

А.. ну я везде под «обрывом» понимал переход в нулевое положение, а не физический отрыв от крыла.

  • Добавил настройку вероятности типа поломки — блокировка или обрыв привода закрылков (и сама вероятность поломки здесь же).
  • Сделал учет перегрузки — если лететь с превышением скорости не дергаясь, счетчик повреждения набегает в обычном темпе, но если дернуть за штурвал, значение счетчика перемножается на возникшую перегрузку и может мгновенно допрыгнуть до порогового значения — и происходит поломка или даже крушение.

— превышение скорости полета с выпущенными шасси

Тут примерно, как закрылками: будут деформации, могут не убраться потом.

— превышение скорости в процессе выпуска и уборки

Поломка механизма выпуска/уборки. Если шасси убирается против полёта, то может и не убраться. Если выпускается против полёта, то может не встать на замок выпущенного положения -> сложится при касании.

— превышение скорости на пробеге

Разрыв пневматика.

— превышение нагрузки в момент касания

Так это сим, вроде, имитирует.

— перегрев тормозов

Проявляется, как снижение эффективности тормозов.

— лопнувший пневматик… не знаю как это изобразить — если только тормозное усилие на колесо давать

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

— эффективность тормозов на различных поверхностях

Вот это вообще мастхэв! :good: Причём, надо сделать вкупе с коэффициентом сцепления на разных поверхностях. Сим ведь учитывает характер поверхности (мокрая/сухая и т. п.), но почему-то не меняет коэффициент сцепления.

Следующий вопрос — какие очевидные поломки/отказы бывают с шасси?

Мне в голову приходит следующее:
— превышение скорости полета с выпущенными шасси
— превышение скорости в процессе выпуска и уборки
— превышение скорости на пробеге
— превышение нагрузки в момент касания
— перегрев тормозов

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

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

Дополнительно
— эффективность тормозов на различных поверхностях

Еще более дополнительно
— бёрд страйк 🙂

Ребята, сделайте ICING на реальном уровне + сделайте прогу платной.

Лайт версия обледенения для аркадщиков пойдет.. у нас еще куча любителей реализма есть :)

Ребята, сделайте ICING на реальном уровне + сделайте прогу платной.

Лайт версия обледенения для аркадщиков пойдет.. у нас еще куча любителей реализма есть :)

Скриптом особого реализма не добиться, да и движок FSX уж больно… простенький. То, чего сходу не предусмотрено, можно сделать только через очень задний проход. А чтобы был реализм, надо делать модель самолета со всеми этими фичами. Скрипт может только сымитировать имитацию… Увы. Тут надо тогда морочиться с SimConnect’ом — он позволяет поглубже в потроха залезть, но лично я с этим связываться не хочу — мне хватит и простой модели.

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

Сообщение отредактировано crum: 18 April 2012 — 23:10

Илья, ага-ага, спасибо… займусь потихоньку.

Шасси — в ГА мало где убираются. Мы же пока про ГА говорим. генерал авиация,так сказать, да простят меня досточтимые сэры.
Закрылки в обрыв — в нулевое положение. Редко такое бывает, но все же.
Тут Кирилл порадуется.
Берд страйк — это зачет!
Кровь на стекло, кишки на стойки! Пусть болтаются! Я УЖЕ это хочу!

Сообщение отредактировано Uncle_Sam: 19 April 2012 — 09:45

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

Ну и вообще, с убирающимися шасси интереснее 🙂 Щас вот доделаю и можно будет побаловаться — попробовать посадить самолет без крэша, при том, что носовая стойка у него не вышла… Хохмы ради можно даже отследить удар по полосе и иногда выпускать-таки застрявшую стойку после удара 🙂

По закрылкам уже все готово, надо только оттестировать в неочевидных ситуациях.

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

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

angry birds?

angry birds?

Да, это будет уржаться просто! :rofl:

зато, как неожиданно…

Только вот нафига все это нужно? Люди по 30 лет без проишествий отлетывают.

Только вот нафига все это нужно? Люди по 30 лет без проишествий отлетывают.

Именно для того, чтобы отлетали с происшествиями :) Просто некоторые симмеры даже не заморачиваются ограничениями, потому что привыкли к безнаказанности.

Шасси — в ГА мало где убираются.

Ну уж…
Cessna C177 Cardinal RG
Cessna C182R Skylane RG
Cessna C210 Centurion
Cessna 310
Cessna 421
Cessna 441
+ дохрена Пайперов
+ Mooney
+ куча Beechcraft’ов.

Только вот нафига все это нужно? Люди по 30 лет без проишествий отлетывают.

Я это делаю в первую очередь для себя, потому что отношусь как раз к той безалаберной категории симмеров, которые отказываются добровольно летать по правилам и ограничениям, если это не ведет к последствиям… Для этого и нужен скрипт, чтобы стоял рядом «с палкой» и контролировал соблюдение ограничений.

Ну, и тут не только в поломках дело… в FSX все настолько тупо и предсказуемо, что летать скучно. Если учиться навигации или процедуры отрабатывать, то FSXа достаточно (кому-то и штурманская линейка — уже симулятор), а если просто полетать в удовольствие и с приключениями, то….

Сообщение отредактировано crum: 19 April 2012 — 11:23

Все верно. Я из той же категории. Чуть полетал без паксов — и вот уже фары забываю включать и т.п. Уверен, что нас таких полно.