Обзорная статья по аэродинамике Jsbsim — Динамика

Выложена статья, на главной странице этого сайта.

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

К сожалению, статья выложена без иллюстраций. надеюсь, кто-нибудь из админов выйдет на связь и заберет оставшиеся файлы. С правильной версией можно ознакомиться в вики:
http://www.flightgea…тора_FlightGear


Ответов: 6

Статью посмотрел. За исследовательский труд, конечно — самая положительная оценка.
Симулятора этого у меня нет.
Сложности видимо аналогичны с моделированием динамики в MSFS, а вот возможности вряд-ли.
Хотя… интересно.

Юра, спасибо! Пока в процессе изучения, но сразу скажу, что статья актуальная. По крайней мере для меня.
Давно хотел добраться поизучать JSBSim, да все никак не получалось. Возможно будут вопросы …

Всегда пожалуйста! У меня еще есть куча наработок по автопилотам JSBSim, но это по объему еще одна такая же статья.

а так же скоро станет актуальной проблема проверки правильности динамики 154…

Становится ясным, что моделироание динамики в JSBSim гибче чем в МСФС.
Сразу вопрос на счет триммирования в JSBSim. Дело в том, что в МСФС это камень преткновения, отклонение триммера создает момент по тангажу независимо от отклонения РВ, что приводит к не физичному поведению самолета. Так вот, в JSBSim, насколько я понял, триммер по каналу тангажа отклоняет руль высоты, то есть, как и должно быть?
Разберем еще раз пример из статьи:

<channel name=&#34;Pitch&#34;>
		   <summer name=&#34;Pitch Trim Sum&#34;>
			 <input>fcs/elevator-cmd-norm</input>
			 <input>fcs/pitch-trim-cmd-norm</input>
			 <clipto>
			   <min>-1</min>
			   <max>1</max>
			 </clipto>
		   </summer>
		   <summer name=&#34;Pitch Absu Sum&#34;>
			 <input>fcs/pitch-trim-sum</input>
			 <input>fcs/absu-pitch</input>
			 <clipto>
			   <min>-1</min>
			   <max>1</max>
			 </clipto>
		   </summer>
		   <aerosurface_scale name=&#34;Elevator Control&#34;>
			 <input>fcs/pitch-absu-sum</input>
			 <range>
			   <min>-0.506</min>
			   <max>0.28</max>
			 </range>
			 <output>fcs/elevator-pos-rad</output>
		   </aerosurface_scale>
	   </channel>

Насколько я понимаю, на входе имеем положение штурвала <input>fcs/elevator-cmd-norm</input>, и положение триммера
<input>fcs/pitch-trim-cmd-norm</input>. И от них зависит отклонение РВ на выходе <output>fcs/elevator-pos-rad</output> (тут я пока не обращаю внимание на <input>fcs/absu-pitch</input>).
Если это так, то проблема триммирования в JSBSim это не проблема, в отличие от МСФС.

Еще возникают технические непонятки для меня. Что означает fcs в элементе fcs/elevator-cmd-norm ? или aero в элементе aero/qbar-psf? что они задают?

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

внутри дерева переменных jsbsim есть ветки, в которых сгруппированы переменные, по какому-то общему критерию. Например, все, что относится к управлению полетом — (flight control system), находится в ветке fcs.

«Путь» к переменной разделен прямым слешем (/), как в юниксе принято разделять директории.

Поэтому в обозначении fcs/elevator-cmd-norm, есть имя переменной — elevator-cmd-norm, и путь (имя директории): fcs/

Поскольку мы рассматриваем jsbsim, полный путь к переменной может быть либо /fdm/jsbsim/fcs/elevator-cmd-norm (если динамика работает под FG), либо /fcs/elevator-cmd-norm, если динамика работает автономно.

в ветке aero живут промежуточные (текущие) результаты аэродинамических расчетов. aero/qbar-psf — скоростной напор в фунтах на кв. фут в данный момент времени. Эта переменная широко используется в аэродинамичекских расчетах.

Поехали дальше. Триммер РВ в приведенном примере отклоняет руль высоты, именно так, как оно должно быть в реальности. Но в принципе, никаких ограничений на расчет управляющих воздействий не налагается. Автор динамики может сам, по своему усмотрению, создавать структуру схемы управления. все это собирается из готовых элементов, как из кубиков. важно четко представлять себе, как оно должно работать в реальности, после чего создание схемы управления оказывается задачей несложной. потому что, по сути, нам нужно не так много данных — если посмотреть в ПА, то например видно, что входными данными для сил и моментов продольного канала является: пресловутый qbar-psf, угол атаки, положение РВ, стабилизатора, закрылков (предкрылков), шасси, ну и центровка. Все это не так сложно смоделировать, собственно говоря, все кроме переставного стабилизатора есть в динамике «по умолчанию»…

Надо понимать, что создание переменной elevator-cmd-norm в разделе fcs само по себе не приводит к появлению момента в продольном канале. Чтобы появилась аэродинамическая сила или момент, необходимо описать функцию в разделе aerodynamics, взяв одним из параметров управляющую переменную из fcs…

Сообщение отредактировано Юрик_нск: 28 April 2008 — 08:34

Все ясно, спасибо Юра. fcs/ — это просто путь к переменной. На счет триммирования тоже ясно.

МСФС до сих пор остается черным ящиком по многим параметрам. Очень много усилий и времени уходит на расшифровку и понимание работы параметров… очень неблагодарный труд.

Ну что я могу сказать, надо переходить на FG. А вообще, было бы неплохо сделать возможным использование динамики JSBSim в МСФС. Об этом уже упоминалось ранее. В принципе, нужно только рассчитывать моменты и силы (или их коэффициенты) в JSBSim и вставлять их МСФС (отменив предварительно рассчет этих же переменных в МСФС). Я думаю это реально сделать.

Что скажут программисты?