Новая книга с примерами в SimInTech

Новая книга с примерами в SimInTech Роботы

2 основные положения модели

В литературе и сети приведено довольно много моделей квадрокоптеров, есть некоторые модели гекса- и октокоптеров. Однако, изложенного в системном и методичном виде со всеми подробностями — практически ничего нет (по крайней мере, в русскоязычном сегменте, из тех материалов что удалось найти). Наиболее методично теоретический подход к моделированию мультироторного БПЛА изложен в работах [1] и [2].

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

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

    $F_M(t)=C_T cdot omega^2(t), \ M_M(t)=C_Q cdot omega^2(t),$

    где, для выбранной винтомоторной группы (согласно её характеристике):
    $C_T=2.02268 cdot 10^{-4}H cdot c^2 $,
    $M_M ≈0   Н cdot мcdot с^2$ — реактивный момент двигателя,
    $ω(t)$ – текущая угловая скорость, рад/с.

  2. Мультироторный аппарат моделируется как твёрдое тело и представляет собой жёсткую (недеформируемую) раму постоянной массы, симметричную по трём главным осям, с прикрепленными к ней ВМГ в одной плоскости, в которой находится и центр масс аппарата. При этом ВМГ расположены на восьми лучах (4 из них одной длины, а другие 4 могут быть другой длины) и жестко закреплены относительно рамы. Таким образом можно говорить о том, что радиус-векторы центров ВМГ и орты силы тяги каждой ВМГ – суть геометрические константы в системе координат, связанной с коптером. Другими словами, величина $F_M (t)$ [Н], вычисленная в модели ВМГ, является модулем вектора силы, приложенного всегда в определенном направлении и в определенной точке коптера. В процессе полета это направление будет меняться, конечно, но относительно рамы коптера (и связанной с ней системы координат) оно остаётся неизменным.
  3. Используется две системы координат: а) неподвижная инерциальная, связанная с Землёй и б) подвижная, связанная с коптером. Системы координат обозначим буквами I и B (от английских слов inertial – инерциальный и body – тело). При этом оси систем направлены: $x_I$-вправо, $y_I$-на наблюдателя, $z_I$-вниз, $x_B$ — вправо вдоль луча первой ВМГ, $y_B$-на наблюдателя вдоль луча третьей ВМГ, $z_B$-сверху вниз при нормальной ориентации коптера (см. рисунок):
    Новая книга с примерами в SimInTech
    Тогда, в системе координат B векторы центров ВМГ будут равны:

    $vec {r_{M1}} = (l_1,0,0)^T,     vec {r_{M2}}=frac{1}{sqrt 2} (l_2,l_2,0)^T \ vec {r_{M3}} = (0,l_1,0)^T,     vec {r_{M4}}=frac{1}{sqrt 2} (-l_2,l_2,0)^T \ vec {r_{M5}} = (l_1,0,0)^T,     vec {r_{M6}}=frac{1}{sqrt 2} (-l_2,-l_2,0)^T \ vec {r_{M7}} = (0,-l_1,0)^T,     vec {r_{M8}}=frac{1}{sqrt 2} (l_2,-l_2,0)^T $

    где $l_1$ – длина луча у 1, 3, 4 и 5-й ВМГ, а $l_2$ – длина лучей у 2, 4, 6 и 8-й ВМГ.

    Для того чтобы коптер управлялся (хотя бы немного) по курсу, в нашем случае отсутствия реактивного момента двигателей, вектора сил тяги каждой ВМГ должны быть немного отклонены от вертикального направления (повёрнуты вокруг каждого луча на небольшой угол порядка 1…5 градусов, причем в разные стороны – четные в одну а нечетные в другую). Если обозначить этот угол как $gamma $, орты можно получить в следующем виде:

    $vec{e_{M1}}=(0,-sin(gamma),-cos(gamma))^T,    vec{e_{M2}}=(-frac{sin(gamma)}{sqrt2},frac{sin(gamma)}{sqrt2},-cos(gamma))^T,\ vec{e_{M3}}=(sin(gamma),0,-cos(gamma))^T,    vec{e_{M4}}=(-frac{sin(gamma)}{sqrt2},-frac{sin(gamma)}{sqrt2},-cos(gamma))^T,\ vec{e_{M5}}=(0,sin(gamma),-cos(gamma))^T,    vec{e_{M6}}=(frac{sin(gamma)}{sqrt2},-frac{sin(gamma)}{sqrt2},-cos(gamma))^T,\ vec{e_{M7}}=(-sin(gamma),0,-cos(gamma))^T,    vec{e_{M8}}=(frac{sin(gamma)}{sqrt2},frac{sin(gamma)}{sqrt2},-cos(gamma))^T.$

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

  4. Силы, которые будут учтены в модели. На коптер действуют:
    4.1) Сила тяжести. Направлена всегда вниз вдоль оси инерциальной системы координат $z_I$. Сила тяжести – постоянная величина, зависит только от массы коптера. Масса коптера принимается постоянной и не меняется (хотя в процессе моделирования её можно будет менять, имитируя дополнительный полезный груз, навешенный на коптер).
    4.2) Силы тяги ВМГ – их всего 8, они направлены вдоль своих направлений, модуль сил вычисляется в зависимости от угловой скорости вращения соответствующей ВМГ.
    4.3) Сила сопротивления воздуха (и/или ветер) – моделируется как состоящая из двух компонент. Сила сопротивления воздуха прямо пропорциональна плотности воздуха, квадрату линейной скорости объекта в воздухе и характерной площади сечения в выбранном направлении (коэффициент формы). Сила ветра – внешняя возмущающая сила, задается произвольным образом или при помощи дополнительной «модели ветра» (в настоящей статье не рассматривается).
    4.4) Внешняя сила или возмущение – произвольное внешнее воздействие. В модели такая возможность заложена как простой способ в дальнейшем проверять на устойчивость регуляторы по каждому из направлений.
  5. Моменты, учитываемые в модели:
    5.1) Реактивный момент двигателей ВМГ. В нашей модели он равен нулю, из-за парности двигателей и винтов в каждой ВМГ в общем случае – следует учитывать. В некоторых аппаратах этот момент используется и для управления по курсу.
    5.2) Явление прецессии – в рассматриваемой модели он нулевой, в общем случае его нужно считать.
    5.3) Момент сопротивления воздуха – аналогично силе сопротивления воздуха, прямо пропорционален плотности воздуха, квадрату угловой скорости коптера и коэффициенту формы.
    5.4) Опрокидывающий момент от ветровой нагрузки.
    5.5) Внешний возмущающий момент – для отладки регуляторов.
    5.6) Моменты от сил тяги ВМГ. Поскольку винты расположены не в центре масс коптера, каждый из них будет создавать свой поворотный момент. Это, пожалуй, основной фактор, который управляет ориентацией коптера в пространстве.

(pdf) modeling and position control of tethered octocopters

Fig. 4. Control system for simplified tether model given by G(s)

as proposed by Sandino et al [5].

3.3 Tethered multicopter control

In order to control the height, a term TCwas added in Equa-

tion 18. Therefore, Equation 26 represents the proposed

controller.

αz,m

nz

(gk1(rzrz)k2˙rz) TC(26)

4 Simulation results

The multicopter dynamics is integrated by using the fourth

order Runge-Kutta method with time step of T=0.002 s.

The Reference trajectory follows the way-points : w(1) =

[0 0 0]Tm, w(2) =[4.24 4.24 8]Tm, w(3) =[4.24

4.24 8]Tm, w(4) =[4.24 4.24 8]Tm, w(5) =[4.24 4.24

8]Tm and w(6) =[4.24 4.24 8]Tm. The mass of vehicle is

m=2.132 kg and the gravity acceleration is g=9.796

m/s2. The control parameters of vehicle, k1,k2,k3and k4,

are chosen based on equations (19) and (23). The max-

imum overshoot of Mref

p=0.02 m, and a peak time of

tref

p=2 s, were selected, which resulted in k1=6.29 and

k2=3.91. Similarly, the maximum overshoot of Mref

p=

0.02 m and a peak time of tref

p=3 s were selected and the

k3=2.78 and k4=2.61 gains were obtained. The propor-

tional gain tether control selected was kp=0.01. The sim-

ulation was ran for 70 seconds, and the following bounds

were selected: ϕmax =30,fmax =40 N efmin =2 N. A

sinusoidal disturbance input was added in axes X and Z at

t=15s with amplitude of 5N . The simulations provide

comparisons between free and tethered flight. The control

error was quantified by the root mean square error, given

by:

ERMS =r1

3[(error x)2 (error y)2 (error z)2] (27)

Figure 5 presents the position tracking error of the way-

points. We can note that the disturbance results in a lower

amplitude in the position error for tethered vehicle when

compared with the MAV in free flight.

5 Conclusion

This work has presented the modeling and control of a teth-

ered MAV configuration. Numerical simulations showed

that, when compared with the traditional vehicle in free

flight, the tethered configuration has a better performance

under external disturbances. The tether reduces the posi-

tion error amplitude, improving the robustness of the vehi-

cle. For future work, we consider a lumped mass model for

the tether, as well as a pertubation model that corresponds

to actual wind profiles in outdoor environments.

Fig. 5. Position error

Acknowledgements

We would like to thanks Fundac¸˜

ao de Amparo `

a Pesquisa

do Amazonas (FAPEAM), Conselho Nacional de Desen-

volvimento Cient´

ıfico e Tecnol´

ogico (CNPq) and Coordenac¸˜

ao

de Aperfeic¸oamento de Pessoal de N´

ıvel Superior (CAPES)

for the grants awarded.

References

1.S. Khaleefa, S. Alsamhi, and N. Rajput.Tethered bal-

loon technology for telecommunication, coverage and

path loss.IEEE Students Conference on Electrical,

Electronics and Computer Science, 2023.

2.M. Nohmi.Mission design of a tethered robot satellite

stars for orbital experiment.18th IEEE International

Conference on Control Applications, 2009.

3.C. Papachristos and A. Tzes.The power tethered uav

ugv team: A collaborative strategy for navigation in par-

tially mapped environments. 22nd Mediterranean Con-

ference on Control and Automation (MED), 2023.

4.D. Rye.Longitudinal stability of a hovering tethered ro-

torcraft. Journal of Guindance, Control and Dynamics,

8:743–752, 1985.

5.L. A. Sandino, M. Bejar, K. Kondak, and A. Ollero. Ad-

vances in Modeling and Control of Tethered Unmanned

Helicopters to Enhance Hovering Performance. Journal

of Intelligent and Robotic Systems, 73:3–18, 2023.

6.D. A. Santos, O. Saotome, and A. Cela.Position For-

mation Control of Multirotors using Thrust Vector Con-

straints. IEEE Transactions on Aerospace and Elec-

tronic Systems, 2023.

7.G. Schmidt and R. Swik.Automatic hover control of an

unmanned tethered rotoplatform.Automatica, 10:393–

403, 1974.

8. J. R. Wertz.Spacecraft Attitude Determination and

control.Kluwer Academic Publishers, The Nether-

lands, 1978.

DOI: 10.1051/

03001 (2023)matecconf/201

MATEC Web of Conferences477 ,

83

CSNDD 2023

68303001

4

§

3 нелинейные уравнения динамики октокоптера

С учетом принятых допущений, и того что коптер моделируется как единое твёрдое тело, основа модели динамики коптера очень проста – это второй закон Ньютона, который в векторной форме выглядит следующим образом, всего два простых уравнения:

где

– импульс коптера, а

– момент импульса коптера,

– его масса,

– тензор инерции (линейный оператор момента инерции).

суть суммы всех сил и всех моментов, действующих на коптер.

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

Поэтому используется следующий математический приём – уравнения, записанные в инерциальной системе координат, переводятся в систему координат B, связанную с коптером, в которой слагаемые правой части (их запись) получается гораздо более лаконичной и удобной. Подробнее этот приём описан в [1], приведём здесь лишь основные соотношения.

Подставив в приведенные уравнения второго закона Ньютона значения для импульса и момента импульса коптера, для инерциальной системы координат получим:

В этих уравнениях математически очень сложны правые части, а уравнения динамики в связанной системе координат

B

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

В математике есть два основных подхода к преобразованию векторов из одной системы координат в другую и обратно – матрицы поворота и кватернионы. Последние более универсальны, первые – проще. В настоящей модели используются матрицы поворота. Если ориентацию коптера представить тремя углами: крена φ (roll), тангажа θ (pitch) и рыскания/курса ψ (yaw), а матрицы преобразования из системы I в B и обратно обозначить как $R_{IB}$ и $R_BI=R_IB^T$, то любой вектор записанный для системы координат I, можно перевести в систему координат B, и наоборот, используя умножение соответствующей матрицы на вектор, например: $vec{F_I }(t)=R_{BI} vec{F_B}(t)$, или $vec{F_B }(t)=R_{IB} vec{F_I}(t)$. Чтобы лучше понимать написанное далее, прокомментируем ещё раз как понимать матрицы поворота и вектора в пространстве: система координат I неподвижна, относительно неё летает и вращается коптер, а вместе с ним и связанная система координат B. Просуммировав все силы, которые действуют на коптер, можно получить вектор $vec F(t)$ (аналогично и с моментом сил), и в каждый момент времени он является вектором с вполне определенной длиной и направлением в пространстве. Но раскладывая его на проекции по осям – в разных системах координат мы получим разные величины проекций. Всё что делает матрица поворота – это переводит одни проекции вектора в другие, при этом сам вектор никуда не поворачивается и не изменяет своей длины, в выбранный момент времени. Если проекции сравнить с тенями вектора, то матрицы поворота преобразуют одни тени в другие, всё. Больше они ничего не делают и сложностей кроме вычислительных не представляют.Нам они нужны только из-за того, что вычислять и суммировать силы и моменты сил, действующие на коптер, гораздо проще в связанной системе координат B. В ней же проще провести численное интегрирование уравнений, чтобы получить величины угловой и линейной скоростей коптера $vec{ω_B}(t)$ и $vec{v_B}(t)$, а потом обратной матрицей поворота вычислить (вычислить алгебраически – матрицы поворота это простые уравнения) эти же скорости для инерциальной системы координат I и там уже, интегрируя дальше, вычислить линейные и угловые координаты коптера.

Приведем используемое выражение для матрицы поворота из системы I в B, записав для краткости функции косинуса и синуса как cos() = c() и sin() = s():

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

Реализованная методом структурного моделирования, матрица в среде SimInTech выглядит как показано на рисунке 1.

Рисунок 1. Матрица поворота из системы I в систему координат B

Тогда, для вектора линейной скорости можно записать:

а для момента импульса

Опуская промежуточные выкладки (в том числе производную матрицы поворота, которая получается равной в итоге векторному произведению угловой скорости объекта на саму матрицу поворота, взятое с обратным знаком), для первого из рассматриваемых уравнений динамики получим следующее выражение в связанной с коптером системе координат

B

а для второго уравнения, учитывая что

и так как во вращающейся связанной системе координат тензор инерции константа и его производная по времени равна нулю, а

получим:

Итого, запись II закона Ньютона для вращающейся системы B, по сравнению с исходными уравнениями, дополнилась двумя векторными произведениями.

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

Получив значения скоростей коптера (сначала в системе B), их можно матрицей обратного поворота преобразовать к системе I, еще раз проинтегрировать и получить уже значения координат и, следовательно, положение объекта в пространстве, в инерциальной системе координат.

Единственное что мы еще не сделали по уравнениям – не записали выражения для сил и моментов, действующих на коптер. Сделаем это ниже, в системе координат B. Согласно допущениям, учитываем и обозначим индексами: M — работу двигателей, только в части создаваемой силы тяги и моментов от неё, D — силу сопротивления воздуха (вместе с ветром)

https://www.youtube.com/watch?v=5UV25lRslOY

Сила тяжести в связанной системе координат будет «поворачиваться» в зависимости от ориентации коптера.

Распишем подробнее чему равны слагаемые:


Здесь уже фигурируют угловые скорости вращения ВМГ, а не коптера. Напомним, что орты сил тяги у нас записаны для системы координат

B

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

I

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

Сила сопротивления воздуха (при отсутствии ветра):


Внешнее возмущение – нулевое, по желанию пользователя, он может сам установить то или иное значение позже, до расчета, или в процессе моделирования.

Момент сил тяги двигателей запишем как:

Момент сопротивления воздуха (подробнее см. [1]):

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

Чтобы не ошибиться при переходе от векторных уравнений к скалярным, записанным по осям, проще воспользоваться пакетом типа MathCAD или Maple, в котором большинство преобразований можно выполнить автоматизированно, в символьном виде и получить требуемые 6 уравнений динамики, записанные по осям подвижной системы координат B.

В наиболее компактной форме полученные и решаемые уравнения динамики выглядят так:

Интегрируя их и получив значения скоростей в системе В, можно посчитать скорость и углы ориентации в инерциальной системе координат I:

Про матрицу преобразования из угловой скорости коптера в скорости поворота по углам Эйлера

подробнее см. в [1].

1 Решение дифференциальных уравнений методом структурного моделирования

Для решения дифференциального уравнения методом структурного моделирования используются либо типовые звенья первого и второго порядков – если дифференциальное уравнение линейно и подходит под один из типов, либо используется блок типа «Интегратор», на вход которому подаётся правая часть уравнения, а на выходе будет искомая интегральная величина. Приведём пример – заготовку для решения нашей системы из 6-ти дифференциальных уравнений, см. рисунок 2.

На рисунке 2 представлена «основа» динамической части модели октокоптера, которую формируют 6 3 3 блоков типа «интегратор». Первые шесть блоков, получая на вход правые части дифференциальных уравнений (вычислим их ниже) – ускорения коптера по осям $a_{Bx},a_{By},a_{Bz},ω_{Bx},ω_{By},ω_{Bz}$, – занимаются интегрированием и вычислением скоростей коптера по этим же осям (тоже, в связанной с коптером системе В).

Следующие три интегратора принимают линейные скорости в системе координат I (полученные алгебраически из скоростей в системе B путём применения матрицы поворота) и, интегрируя их, получают координаты центра масс коптера в инерциальной системе координат

И, еще три блока типа «интегратор» занимаются вычислением углов ориентации коптера, интегрируя их производные (угловые скорости) в системе I, полученные из угловых скоростей коптера в системе B применением матрицы $W_{BI}$. Здесь же реализовано и вычисление нужных тригонометрических функций от углов поворота.Рисунок 2. Структура модели октокоптера

Обилие блоков «в память» и «из памяти» обусловлено многократным использованием в других частях модели полученных величин – например, по рисунку 1 видно что тригонометрические функции от углов ориентации используются многократно и оптимально вычислить их в одном месте схемы а потом уже использовать по мере необходимости.

Если бы у нас была более простая ситуация – одно дифференциальное уравнение второго порядка (классический второй закон Ньютона a = F/m), например в проекции на ось x, то его решение таким же способом выглядело бы как на рисунке 3:

Рисунок 3. Двойное интегрирование

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

В субмодели W(B->I) реализована матрица преобразования из угловой скорости в системе B в производные углов Эйлера, см. рисунок 4 и [1] для подробностей.

Рисунок 4. Матрица $W_{BI}$

2 Правые части уравнений модели коптера

Для замыкания модели необходимо посчитать и реализовать все правые части у шести основных уравнений, то есть спроецировать полученные в разделе 2 векторные уравнения на оси $x_B,y_B,z_B$ и результат нарисовать в схеме SimInTech. Опуская выкладки (их читатель может выполнить самостоятельно на листке бумаги, или при помощи какого-то символьного математического ПО), приведем окончательный вид уравнений. Из-за громоздкости, приводить будем по слагаемым в правых частях.Сила тяги винтомоторных групп $vec{F_M }(t):$

где

— сила тяги i-ой ВМГ в текущий момент времени.

Сила сопротивления воздуха $vec{F_D}(t)$ при отсутствии ветра – формулы приведены выше, проекции будут равны:

$$display$$F_{Dx}(t) = 0.5 cdot rho cdot C_Dcdot A_{yz}cdot v_xcdot |v_x|,\ F_{Dу}(t) = 0.5 cdot rho cdot C_Dcdot A_{xz}cdot v_уcdot |v_у|,\ F_{Dz}(t) = 0.5 cdot rho cdot C_Dcdot A_{xy}cdot v_zcdot |v_z|.\$$display$$

Сила тяжести, в проекции на оси подвижной системы координат, слагаемое $gcdot R_{IB}cdot vec {e_{Iz}}$ очевидно будет равно:

И последнее слагаемое в уравнении линейной скорости коптера – векторное произведение скоростей:

Если аккуратно подставить полученные проекции в уравнение для производной линейной скорости коптера, и дальше реализовать всё это в SimInTech, по осям, получим следующие структурные схемы, представленные на рисунках 5, 6 и 7 (показаны проекции только на ось $x_B$, на другие оси результат аналогичен с точностью до слагаемых):Рисунок 5. Линейное ускорение коптера по оси $x_{B}$. Рисунок 6. Сила тяги ВМГ по оси $x_{B}$. Рисунок 7. Сила сопротивления воздуха по оси $x_{B}$.

Итого, на данном этапе мы до конца реализовали одно из шести основных уравнений (согласно рисунку 2 – вычислили вход в первый интегратор). Остальные оборванные там входы для сил вычисляются аналогично. Рассмотрим уравнение для моментов и для вычисления угловой скорости, а точнее – его слагаемые в правой части:

Сумма моментов сил тяги всех ВМГ:

где

– сила тяги i-ой ВМГ в текущий момент времени,

-плечи сил (длины лучей рамы коптера для нечетных и четных ВМГ).

Момент сопротивления воздуха (при отсутствии ветра):

Векторное произведение угловой скорости на произведение тензора инерции и угловой скорости:

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

Рисунок 8. Угловое ускорение коптера вокруг оси $x_{B}$. Рисунок 9. Момент сил тяг ВМГ вокруг оси $x_{B}$. Рисунок 10. Сила сопротивления воздуха при вращении вокруг $x_{B}$.

3 Система уравнений динамики октокоптера в структурном виде

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

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

Новая книга с примерами в SimInTechРисунок 11. Уравнения динамики коптера в связанной системе координат В. Рисунок 12. Модель динамики коптера, верхний уровень.

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

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

Выходными величинами являются ускорения, скорости и положение (координаты) коптера – ускорения и скорости в системах координат B и I, положение – в системе I (положение коптера в системе B практической ценности почти не имеет т.к. сама система движется вместе с коптером и совпадает по положению с ним – то есть там положение коптера всегда будет нулевым).

В продолжении мы рассмотрим создание системы управления для октокоптера, а так же рассмотрим принципы создания видеокадров управления.

Новая книга с примерами в SimInTech

Модель коптера, рассмторенную в статье, можно взять по этой ссылке.

Как я октокоптер собирал.

Как сейчас помню этот день. Проснулся, умылся, помчался на работу. По дороге шерстил интернет в поисках интересных новинок в области инженерии, да и вообще всяких там девайсов новомодных. В общем натыкаюсь я на видос в Ютубе, где небольшой квадрокоптер с прицепленной к нему Гоупрошкой, летает и весьма успешно делает шикарные кадры с высоты птичьего полета. И тут мне в голову пришла мысль, что я хочу соорудить нечто подобное. У меня не было необходимости выполнить какую-либо задачу по съемки с воздуха, я просто хотел собрать такой аппарат. И так на просторах Ютуба я нашел огромное количество видосов на тему сборки квадрокоптера, но в большинстве случаев это была сборка комплекта от DJI. Естественно такой комплект был мне не по карману, и я продолжал искать более бюджетный вариант. Спустя нескольких дней поисков я наконец-то наткнулся на видос по сборке гоночного кадрокоптера на раме zmr250, с подробным описание всех комплектующих и ссылками на них. Изучив это видео вдоль и поперек, я решился на покупку запчастей. Воспользовался ссылками под видосом и заказал запчасти. Как же долго тянулся этот месяц пока запчасти шли до меня. Все это время я изучал варианты сборок и старался предугадать все возможные неприятные ситуации, с которыми я мог столкнуться во время сборки. Итак, пришло время собирать свой первый дрон. Не буду в подробностях описывать процесс сборки, но скажу, что подошел я к нему с максимальной скрупулезностью. Прошла неделя и аппарат был готов к своему первому полету. К моему огромному счастью дрон летал отлично и я даже не мог ожидать что результат окажется настолько удачным, но в то же время я понял, что управление таким дроном это очень сложное занятие и мне точно потребуется не одна неделя для того что бы научится хорошо летать. Полетав недельку мне пришла в голову мысль, что я могу немного изменить конструкцию дрона, и получить более лучшие характеристики в плане передачи видеосигнала, да и внешний вид хотелось бы довести до идеала, и так я принялся переделывать его. В итоге получился очень красивый дрон, который производил приятное впечатление даже когда был не в воздухе. После этого я полетал еще недельку и заскучал. Оказалось, что мне все таки наиболее интересно собирать дрона а не летать на нем, поэтому я со слезами на глазах продал его своему товарищу. На вырученные подобрал новый комплект запчастей и сделал заказ. Новый квадрик был готов через несколько недель и тоже очень быстро нашел себе хозяина. С начала пришла идея, что можно немного подзаработать на сборке дронов, но любопытство и желание двигаться вперед взяло верх и я решился на сборку большого аппарата для съемки со стабилизацией. Однако мне, все таки пришлось собрать еще несколько квадриков для друзей. И так я подобрал комплект очень похожий на то, что предлагают DJI и принялся собирать. Аппарат управлялся оригинальным контроллером Naza M Lite и поэтому когда он был готов и я решился протестировать его, моему восторгу не было предела. Тогда мне показалось, что на этом контроллере управление настолько простое и легкое, квадрик практически летает «Сам». Далее мне предстояла настройка дешевого двухосевого подвеса для камеры. В итоге все прошло успешно и он полетел с камерой на борту. Задача выполнена, радости полные штаны. Вскоре появился товарищ, который имел желание купить этот дрон для обучения полетам. И вот тут мы приближаемся к самому интересному.

Однажды в декабре месяце 2023 года я заглянул в магазин Воздушное Хобби в Москве, где наткнулся на продающуюся с огромной скидкой раму Tarot X8. Это огромный октокоптер, радиусом в 1 метр. И тут мне в голову приходит бредовая идея купить эту раму, хотя я понимаю, что такой аппарат врядли удастся в итоге продать и скорее всего он останется у меня на всегда, но я так сильно его хотел, что все таки купил. Это самый крутой подарок на НГ, который я себе когда либо делал. Естественно после такой покупки денег у меня не осталось совсем, и рама стояла почти полгода, ожидая комплектующие для его сборки. В общем в конце весны я начал собирать его. Конечно, сборка такого аппарата оказалась сложнее чем сборка мелколёта, но я справился. И к середине лета сам октокоптер был готов к первым полетам и тестам. Скажу сразу, что когда впервые запускаешь такую махину, ощущения скажем так смешанные, восторг страх и гордость. Если быть до конца честным то при первом взлете «Птенчик» упал, точнее из-за недостаточного уровня газа он взлетел на полметра и перевернулся. Опытные коптероводы знают, что лучше взлетать на максимальном газе так как при взлете любой квадрик нехило матыляет в стороны. В общем, я сначала испугался, что повредил что-то, но потом оказалось, что все цело и можно пробовать снова. Второй взлет был безупречен. А сколько я испытал удовольствия, когда оказалось что все мои настройки работали правильно, и не было не единого косяка за исключением излишних вибраций на корпусе, с которыми я решил нещадно бороться. Некоторое время я посвятил настройке ВМГ (Винтомоторная группа).

Наконец птенчик летал так, как мне хотелось, и я решил идти дальше. Я решил, что на таком аппарате грех летать просто так, поэтому я заказал профессиональный подвес для зеркалки. Подвес выбрал исходя из многочисленных видосов на Ютубе по настройке и сборке таких подвесов. Заказал самый часто встречающийся подвес на контроллере АлексМос. Подвес пришел практически собранный, оставалось только закрепить его на раме и настроить. Закрепить – не проблема, настроить – проблема. Помогло то, что инструкция по настройке данного контроллера имеется на русском языке, благодаря чему мне удалось весьма сносно настроить подвес. Ну вот настало время тестов. Я установил на подвес бюджетненькую зеркалку Canon 1100D и произвел первый тестовый полет с включенным режимом видеосъемки. Результат был не самый лучший, но причины такого качества стабилизации были ясны сразу, поэтому следующий тест прошел успешно, кадры получились отличные, если бы еще камера могла снимать в хорошем разрешении тогда было бы совсем хорошо, но к сожалению камеры хорошей пока нет, хотя я планирую приобрести камеру Sony DSC-HX300. Почему именно она? Тут все просто – недорогая, снимает в FHD и как приятный бонус 50х зумм. Так же на данный момент я ожидаю прибытие мощного светодиода потребляющего мощность в 100 Ватт, хочу установить его на окту и попробовать полетать ночью поосвещать местность. Конечно, одного такого диода может оказаться мало, поэтому в планах заказать еще один. На сегодняшний день, уже имеется опыт полета в городе – съемка здания находящегося на оживленной улице, рядом автобусная остановка и дорога. Также мой «птенчик» участвовал в съемках клипа, использовался в качестве НЛО, выглядело очень эффектно. Благодаря моему другу Никите Птенчик вернулся со съемок в целости и сохранности. После продолжительного висения в воздухе, батарея резко потеряла напругу и окта устремилась вниз, А Никита, подобно супермену, самоотверженно бросился ловить Птенчика и поймал. Я был счастлив. И так в завершении хочу сказать, что у меня масса интересных идей, которые я собираюсь реализовывать с этим аппаратом. Надеюсь, что буду находить время поделиться своими успехами. Спасибо за внимание!

Комплектующие рамы

  • Как только вы соберетесь к постройке своими руками квадрокоптера вы получите хороший опыт в строительстве, но это уже не для новичков.
  • Исключением являеся, если вы внимательно следуете инструкциям по сборке квадрокоптера.
  • Об использованных методах постройки рам можно узнать из каждого “журнала постройки”.
  • Есть достаточно интересные модели рам, которые не разрушаются, например спортивно-акрабатические рамы Hoverthings flip 380 sport frame.
    • Эта рама использует жесткую и сильные карбоновые лучи которые обрабатываются на ЧПУ станке из толстоко стекловолокна.
    • Это позволяет использовать те же моторы и регуляторы ESC, что и в раме F450 DJI c пропеллерами до 10 дюймов.
    • Я купил Флип Sport Kit плюс дополнительная пара “вкладка” секций типа центр и дополнительных 7/8 “прокладками”.
    • Рама позволяет размещать батарейку под основной платой специальными держателями.
    • Так же использовать специальный регулятор 4-в-1 помещенному между центральными пластинами рамы.

Новая книга с примерами в SimInTech

  • Совмещенный регулятор ESC 4 в 1 ESC производит меньше помех и компактен, чем 4 обычных регулятора ESC и плата распределения питания.
  • Я использую карбоновые 10 дюймовые пропеллеры, потому что они очень жесткие и очень эффективные.
  • Моя цель заключается в создании еще более жесткого и более высокопроизводительного квадрокоптера, чем DJI F450.
  • Хотя это небольшой квадрокоптер является мощным и достаточно гибким, чтобы использовать FPV видео и / или камеру GoPro с “подвесом”.

Новая книга с примерами в SimInTech

  • Рама Tarot 650 из карбона довольно большая и позволяет устанавливать пропеллеры до 17 дюймов.
  • Я использую моторы 360kv медленной скорости и большого диаметра, которые предназначены для использования более эффективных и больших пропеллеров на низких скоростях.
  • Я буду использовать разнообразные пропеллеры – от 14 до 17 дюймов, чтобы исследовать производительность и эффективность при различных размерах пропеллеров.
  • Хотя акрабатический спортивный квадрокоптер 330, который показан выше может быть целесообразным для первого квадрокоптера этот Tarot 650, безусловно, нет.
  • Это четырехмоторный аппарат достаточно велик, чтобы быть тяговитым и долгим в полете на выносливость и нести большую видео или фотокамеру, но:
    • Для подъема полезной нагрузки в 2кг с квадрокоптером вам нужно уточнить конфигурацию моторов и пропеллеров.
    • Четыре мотора Tigermotor MN4010 475KV стоимостью около $ 86 каждый, четыре 15 х 5 или 16 х 5 пропеллера и четыре высококачественных регулятора ESC 30А.
    • Так же нужно 10000 мАч 4-х баночную Lipo батарейку (две 5000мАч) для достижения примерно 10 минут полетного времени на 4KG общего веса.
    • Квадрокоптер способный поднять общую массу 4кг (включая 2кг полезной нагрузки) и уметь взлетать при 50% тяги (это необходимость по технике, а так же иметь возможность 6кг взлета).
    • Вам понадобится 16х5 пропеллеры для достижения тяги и эффективности необходимые для подъема 4KG с разумным временем полета.
    • Именно поэтому требутся большие двигатели с минимальным кВ, они должны быть высокого качества, что бы выдержать непрерывную высокую нагрузку производительности.
    • Это настоятельно рекомендуется, что бы вы не пытались построить один из таких апаратов в качестве первого из непонятно чего.
  • Есть очень полезная ссылка для расчета производительности различных мультикоптеров и их компонентов – калькулятор квадрокоптера: eCalc

Новая книга с примерами в SimInTech

Новая книга с примерами в simintech

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

Новая книга с примерами в SimInTech

В отечественной среде динамического моделирования SimInTech можно сделать многое в плане моделирования технических устройств, а также проектирования систем автоматического регулирования и управления этими устройствами. Практически любую модель динамики, в которой есть d/dt той или иной физической характеристики, можно легко реализовать в этой среде. Для этого первым делом необходимо сформулировать уравнения динамики моделируемого объекта (или найти их в литературе, понять, осмыслить и реализовать в среде моделирования).

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

Во второй части методики описана последовательность действий, которые необходимо совершить в среде SimInTech, а также ручкой или карандашом на листе бумаги, для того чтобы создать упрощенную, но близкую к реальности модель динамики БПЛА (а именно – октокоптера), модель его регуляторов (ориентации, высоты и положения в пространстве), макет пульта управления, небольшую техническую анимацию и набор графиков, для удобства отладки создаваемой модели.

Перейти на страницу книги здесь

Особенности включают в себя:

Высокоточная подержка удержания высоты позволит спокойно летать сразу.
Или выбререте удивительный режим “простой полет” (Simple mode), что делает ArduCopter одним из самых простых в управлении.
Не беспокойтесь за слежением орентации вашего квадрокоптера, пусть полетный контролер этим занимается сам!

Вам не потребуются знания в программировании. Просто используйте простую в использовании программу на
рабочем столе, что бы загрузить последнюю прошивку одним щелчком мыши и настройте с помощью
программного обеспечения Mission Planner нужные вам режимы. Используйте эту программу в
качестве мощной наземной станции (Ground Station).

Сотни GPS точек ждут вас (точное число зависит от памяти полетного контроллера,
ArduCopter подерживает 127 точек, но есть и более продвинутые системы на базе PX4).
Просто поставте точку в Mission Planner и ArduCopter полетит к ним.

RTL (Вернуться на старте). Щелкните переключаетелем , что бы вернуть ArduCopter на место старта автоматически.


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

Автоматический взлет и посадка. Просто введите аппарат в этот режим
и смотрите как ArduCopter сам выполнит свою миссию полностью автономно,
вернувшись домой сядет на землю перед вами.

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

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

Подключите радиоприемник: pwm или ppm сигналы

  • для управления по радио через ШИМ (PWM) подключите радиоприемник к APM входных сигнальных контактов используя разъемы для подключения канала 1 к APM сигнала конекторами с надпиьсь 1 , канал 2 к конекторам 2 и т.д. Кроме того, необходимо убедиться в том, что приемник будет питаться от APM.
  • для управления по радио через PPM необходимо подключить первый канал и перемкнуть перемычкой входы 2 и 3 , как показано на картинке. Выводы на приемнике могут варьироваться , поэтому обратитесь к документации на ваш приемник.

Подключение ArduPilot Mega APM ШИМ PWM

После скачивания и установки Mission Planner на вашу наземную станцию, подключите APM к компьютеру используя микро-USB провод.
Не подключайте провод к USB-хабу , подключайте провод к компьютеру.

Подключение ArduPilot Mega APM USB проводом

После установки Mission Planner подключите через micro-USB APM с системой Windows, которая автоматически определит
и предоставит драйвера для устройства, запустите программное обеспечение и выберите порт который будет указан
в списке, выберите необходимую скорость (по умолчанию это 115200 бод/с) как показано на рисунке

Подключение ArduPilot Mega APM COM PORT SPEED

Выберите “соединение” в правом вверхнем углу экрана ,
что бы загрузить параметры MAVLINK в APM ,
Mission Planner будет показывать окно с параметрами загрузки данных.

Подключение по протоколу MAVLINK ArduPilot Mega APM

Когда инициализация параметров пройдёт окно загрузки пропадёт.

MAVLINK connect Mission Planner

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

Mission Planner Radio Setup First Setting

Левая ручка будет контролировать газ (THR) и рысканья (Yaw),
правая будет контролировать крен (Roll) и тангаж (Pitch) .
Трехпозиционный переключатель будет контролировать режимы полета.

В Mission Planner выберите “Radio Calibrating” ,
нажмите на “калибровка” и правом нижнем углу,
Mission Planner выведет окно,
что батарея не должна быть подключена ,
как и моторы с пропеллерами.

Radio Calibrate Mission Planner

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

Radio Calibrate Done Mission Planner

Когда все значения каналов радио смогли показать свой
минимум и максимум нажмите в программе “Done”.
Данные вам отобразятся в отдельном окне,
нормальное значение около 1100 для минимума и 1900 для максимума.

Result Radio Calibrate Mission Planner

Советы которые смогут помочь защитить ваш аппарат от повреждений

  • 1) избегайте резких и экстремальных полетов
    • а) перемещайте стики плавно и не дёргайте их.
    • б) если аппарат хорошо сбалансирован и настрое, то он потребует небольшое отклонение стиков, в отличии от “плавающих” и “кривых” аппаратов.
  • 2) аппарат должен быть более менее стабильным в горизонтальной плоскости и не иметь дополнительных тримов с аппаратуры.
    • а) если коптер “гуляет” в полете, вам прийдется отримировать его с аппаратуры.
  • 3) будьте осторожны при подаче большого газа , так как аппарат может получить или потерять высоту (просадка батареи по мощности и нехватка газа на моторы с отключением мозгов и их перезагрузкой).
  • 4) так как мультикоптеры симметричны вам очень лего дизарентироваться и потерять его в ориентации.
    • а) для ручных полетов ориентация является важной частью для полетов, следите за ней
    • б) во время обучения сохранайте орентацию аппарата с момента взлета и контролируйте её.
    • в) рекомендуется по началу летать на растояние не более 10м но и не ближе , чем 3 м к себе.
    • г) если вы отлетаете дальше чем 30 метров, то очень легко потерять ориентацию в пространстве – это может привети к аварии.
    • д) если вы потеряли осевую ориентации (Yaw) во время полета, то попробуйте в режиме стабилизации лететь вперед и спользуя повоторы вокруг оси направлять его как автомобиль.
    • е) это гораздо лучше, чем просто спуститься на землю не понимая орентацию, еще хуже – улететь.
    • ж) отлетая часто получается , что наклоняя аппарат назад к пилоту вы видете , что он может отдаляться – это происходит из-за потери ориентации.
    • з) Результат этого – аппарат улетает и разбивается.
  • 5) всегда имейте режим стабилизации на аппаратуре.
  • 6) порывы ветра могут сделать полет значительно труднее
    • а) сильный ветер может препядствовать движению аппарата или вовсе загрутить его вокруг.
    • б) чем выше вы находитесь на местносте , тем больше вероятность сильных ветров.
    • в) переключение в режим Стабилизации и посадка позволит вам сохранить аппарат перед тем, как у вас появятся новые навыки пилотирования
    • г) Избегайте высоких и скоростных полетов в разных режимов пока не появилась значительная увереность в пилотировании.
    • д) при полете вокруг деревьев очень легко потерять визуальный контакт и ориентацию
    • е) порывы ветра вокруг объектов, зданий, сооружений могут усугубить пилотирование
    • ж) потеря радиосигнала тоже вероятна и может произойти в неподходящий момент.
    • з) если ваш аппарат приближается к потенциальной помехе, то следует переключиться на режим стабилизации и вернуть его к себе.
  • 7) Ardupilot конкретные спобобы безопасности: RTL, FailSafe , GeoFence
    • а) RTL может обеспечить безопасное возращение к месту запуска, если он получит команду от вас.
    • б) настройка FailSafe на радиомодуле может быть выполнена командами RTL или Auto Land , что бы сохранить аппарат и предотвратить от травм себя и окружающих.
    • в) GeoFence устанвливает автоматический периметр, который заставит аппарат оставаться в безопасном месте.
    • г) Не следует пологаться на выше указаные режимы для обеспечения безопасности, у вас всегда должна быть мысль о переводе аппарат в режим стабилизиции и переход в ручное управление, если что-то пойдёт не так.
    • д) особенно не пологайтесь на эти режимы выполняя обучение или какие-либо другие маневры.
    • е) эти режимы являюся дополнением и не являются заменой в безопасности
  • 8) о первом взлете или о настройки контроллера
    • а) в режиме стабилизации двигайте стик газа медленно, пока аппарат не зависнет
    • б) если аппарат пытается перевернуться – опустите газ и устраните проблемму.
    • в) двигатели могут быть настроены в неправильном направлении (см. схемы подключения)
    • г) могут быть неправильно установлены пропеллеры
    • д) если аппарат пытается крутиться вокруг своей оси или улететь в некотором направлении
    • е) передатчик или настройки аппаратуры могут быть не правильными
    • ж) двигатели или регуляторы могут быть настроены не правильно
    • з) не правильные пропеллеры могут быть надеты не правильно на моторы
    • и) если аппарат не может висеть стабильно над землей на уровне 2м то стоит решить эту проблему.

  • 9) при полете FPV (вид от первого лица) с видеокамерой , вы должны иметь режимы: стабилизация , simple mode и RTL
    • а) убедитесь, что RTL работает правильно перед использованием FPV
    • б) используйте режим стабилизации при FPV полетах
    • в) Если видеосвязь FPV прервалась вы можите переключить на simple mode или RTL для возращения домой.
  • 10) убедитесь, что Ваш аккумулятор закреплен надежно
    • а) используйте крепление-липучки
    • б) можно использовать вклеенну поддержку для батареи для лучшего держания липучки.

Смотрите про коптеры:  Как спроектировать собственный квадрокоптер - «Хакер»
Оцените статью
Радиокоптер.ру
Добавить комментарий