Войти
ПрограммированиеФорумФизика

Управление углом тангажа самолета, 2d, box2d

Страницы: 1 2 Следующая »
#0
(Правка: 23:21) 23:20, 9 июня 2019

Здравствуйте. Работаю над 2д физикой самолета. Знаю что тема не новая. И здесь полно материала. С ним уже поработал и он мне очень помог. Спасибо вашему сайту и вашему сообществу. Работаю в box2d поэтому работаю с расчетом сил прилагаемых к летящему телу. На текущий момент сделал расчет сил указанных на рисунке (просьба, если есть ошибки указать на них пожалуйста)

fly | Управление углом тангажа самолета, 2d, box2d

Fy = P*S*V^2*0.5*Cy - подъемная сила самолета. Направлена перпендикулярно вектору скорости самолета и приложена к центру тяжести

Fx = Р*S*V^2*0.5*Cx - лобовое сопротивление самолета. Направлено обратно вектору скорости самолета и приложена к центру тяжести

Здесь Р - плотность среды, S - Площадь крыльев, V - Скорость самолета. Cx, Cy коэфициенты сопротивления которые зависят от угла атаки "альфа". Угол альфа - это угол между направлением самолета и вектором скорости.

Fтяги - сила тяги самолета приложена к его носу и направлена одном направлении с корпусом.
Fmg - сила притяжения приложена к центру тяжести самолета. Направлена вертикально вниз.

Коэфициенты Cx, Cy брал из этого графика

Изображение

Для углов атаки больше 15 градусов беру значение то же что и при угле атаки 15 градусов
Для углов атаки меньше -10 градусов беру то же значение что и при угле атаки -10 градусов.

Для упрощения, вначале, для наклона самолета вверх/вниз (тангаж) просто задавал телу момент положительный/отрицательный, что не является правильным (в верхней точке траектории полета когда он зависает самолет крутится) т.к. момент на хвосте должен зависеть от скорости самолет и его направления.

Прошу вашей помощи в расчете силы действующей на хвост самолета для управления углом наклона самолета.


#1
(Правка: 6:06) 6:03, 10 июня 2019

kinderrrr
советую сразу забыть о школьной записи сил через x и y координаты. думай обо всех величинах как векторах. если тебе где-то понадобилось написать .x или .y, то это — почти всегда ошибка. твой код для 2д должен быть в результате точно таким же, как для 3д, потому что он оперирует с абстрактными векторами.

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

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

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

#2
14:15, 10 июня 2019

kinderrrr
> Направлена перпендикулярно вектору скорости самолета

Это откуда такая информация?

#3
15:58, 10 июня 2019

если самолет винтовой, я бы просто добавил тип элемента "крыло", которые знает свои параметры в пространстве, и которое на входе получает вектор скорости потока воздуха, а на выходе вектор создаваемой силы, тут можно упростить до условного U*sin(угол между плоскостью крыла и потоком) или запарится с максимальной реалистичностью, учесть реальную скорость и т.п.(выбор за вами), в 2Д у самолета два таких крыла - основное, которое создаст подъемную силу и хвостовое, которое может менять свой угол и соответственно тангаж

#4
(Правка: 16:41) 16:40, 10 июня 2019

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

При таких расчётах горизонтально расположенное крыло с таким профилем даст подъёмную силу?
Изображение

#5
(Правка: 16:59) 16:58, 10 июня 2019

Mikle
> При таких расчётах горизонтально расположенное крыло с таким профилем даст
> подъёмную силу?

Как это связано? Там речь о суммарной подъёмной силе сегментов крыла, а вопрос про подъёмную силу определённого сегмента крыла с определённым аэродинамическим профилем.

#6
17:01, 10 июня 2019

leonardo98

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

#7
(Правка: 17:16) 17:15, 10 июня 2019

Truthfinder
О том что вектор подъемной силы направлен перпендикулярно вектору скорости

https://ru.wikipedia.org/wiki/Подъёмная_сила

И в литературе советской тоже об этом сказано.

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

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

Suslik
leonardo98
Спасибо. Буду добавлять хвостовое крыло и менять угол его наклона. Расчеты уже приведены для основного крыла. Надеюсь что кроме площади менять ничего не придется.

#8
17:50, 10 июня 2019

Truthfinder
> вы предлагаете ему где взять вектор, или получить вектор
я не предлагаю, я излагаю свое видение), если чуть подумать - я сделал бы формулу k*U*cos(alpha), k - подобрал бы опытным путем, U - скорость крыла относительно воздуха, alpha - угол между крылом и потоком воздуха(при угле = 0 - получим k * U - чем быстрее - тем больше, похоже на правду), длину полученного вектора умножил бы вектор - перпендикуляр с поверхности крыла - ВСЕ! думаю, до определенных скоростей такая схема работала очень близко в реальной

#9
(Правка: 17:57) 17:56, 10 июня 2019

Truthfinder
> Как это связано? Там речь о суммарной подъёмной силе сегментов крыла
Если эту фигуру (сегмент) аппроксимировать плоскостями, как предложил Suslik, то суммарная ПС плоскостей окажется нулевой, в то время как такое крыло даёт вполне реальную подъёмную силу, и оказывается даже более эффективным, чем наклонная плоскость.

#10
17:58, 10 июня 2019

kinderrrr
> О том что вектор подъемной силы направлен перпендикулярно вектору скорости
>
> https://ru.wikipedia.org/wiki/Подъёмная_сила
>
> И в литературе советской тоже об этом сказано.

Звиняйте, я сам запутался с системах координат. Так что тут всё верно.

#11
18:04, 10 июня 2019

Truthfinder
Ничего страшного. Спасибо за внимание. Всегда есть место сомнению:)

Mikle
>Если эту фигуру (сегмент) аппроксимировать плоскостями, как предложил Suslik, то суммарная ПС >плоскостей окажется нулевой, в то время как такое крыло даёт вполне реальную подъёмную силу, и >оказывается даже более эффективным, чем наклонная плоскость.

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

#12
(Правка: 19:32) 18:54, 10 июня 2019

Mikle
> Если эту фигуру (сегмент) аппроксимировать плоскостями

Давайте уже определимся. Речь идёт об аппроксимации самолёта аэродинамическими плоскостями. И возможно каждый из нас понимает этот процесс по разному. О чём собственно речь. Аэродинамическая поверхность это некоторый заданный аэродинамический профиль (2d) с его длиной (изменяющейся возможно) и шириной (уже 3d). Аэродинамический профиль даёт нам свои индивидуальные графики Cx/Cy, представленные выше. Ширина и длины дают нам в итоге площадь сегменты. Вот мне показалось, что Suslik говорил про просчёт самолёта, который представлен такими сегментами (что даст некоторые сравнительно небольшие погрешности в модели), а вы имеете ввиду, что он говорил про рассчёт уже самого профиля, и уже его аппроксимацию. А это уже на мой взгляд будет погода. Suslik на мой взгляд аэродинамический 2d профиль аппроксимировать (прямыми в 2d, и плоскости в 3d) не предлагал.

P.S. При таком раскладе (если это так), оба вы правы, просто говорите о разном.

#13
19:54, 10 июня 2019

kinderrrr

Для начала хотелось бы знать, а мы задачу в 2d или сразу в 3d решаем?
Также если не секрет, сколько вам лет и какое у вас образование? (Не сочтите за грубость, будет проще понять в каком виде обсуждать решение.)

>Fy = P*S*V^2*0.5*Cy - подъемная сила самолета. Направлена перпендикулярно вектору скорости самолета и приложена к центру тяжести
>Fx = Р*S*V^2*0.5*Cx - лобовое сопротивление самолета. Направлено обратно вектору скорости самолета и приложена к центру тяжести

Силы это хорошо, и тут вообще всё просто. А вот нет важного самого: куда эти силы прикладывать и как считать Cx/Cy, а точнее угол атаки (потому что дальше графики).

>Fтяги - сила тяги самолета приложена к его носу и направлена одном направлении с корпусом.
>Fmg - сила притяжения приложена к центру тяжести самолета. Направлена вертикально вниз.

Вот, вы здесь заговорили о важном - точки приложения сил. А где вы будете позиционно на крыле их прикладывать?
Для простоты советую взять четверть хорды крыла от передней кромки крыла. Это 2d. В 3d надо уже иметь понимание что есть MAC, MGC и где она находится.

>Коэффициенты Cx, Cy брал из этого графика.

Очень бодрые какие-то графики: -7 AoA для нулевой подъёмной силы. Но ничо, и так сойдёт.

>Для углов атаки больше 15 градусов беру значение то же что и при угле атаки 15 градусов
>Для углов атаки меньше -10 градусов беру то же значение что и при угле атаки -10 градусов.

Сойдёт, но вообще надо в реальном времени отображать AoA (угол атаки), и не доводить до крайних значений. Если это получается нормально летать, то вполне жизнеспособно.

>Для упрощения, вначале, для наклона самолета вверх/вниз (тангаж) просто задавал телу момент положительный/отрицательный, что не является правильным (в верхней точке траектории полета когда он зависает самолет крутится) т.к. момент на хвосте должен зависеть от скорости самолет и его направления.

Есть понимание что такое F=ma, e=M/J?

>Прошу вашей помощи в расчете силы действующей на хвост самолета для управления углом наклона самолета.

Понимание предыдущего пункта, центр масс, плюс плечо силы.

Пока что видимо с этим не очень. Я бы предложил начать с 2d случая. Прислушаться к leonardo98 и задать скорости ветра, самолёта и других нужных параметров 2d векторами. Тогда будет проще объяснить куда силы прикладывать.

#14
20:40, 10 июня 2019

Truthfinder
Образование высшее техническое. С F=ma, e=M/J знаком.
Задача стоит такая: описать верную модель  самолета но затем подстроить числа под желаемое поведение.
Места куда прикладываю силы описал. Что такое момент знаю. Выше описал как собираюсь делать

>Спасибо. Буду добавлять хвостовое крыло и менять угол его наклона. Расчеты уже приведены для основного крыла. Надеюсь что кроме площади менять ничего не придется.

Думаю этого хватит. Спасибо за отзывчивость.

Страницы: 1 2 Следующая »
ПрограммированиеФорумФизика