Оглавление
1. Уравнения динамики
Введение
![](https://habrastorage.org/getpro/habr/post_images/e0f/fbe/78b/e0ffbe78b8d8926cd0ce9348b404129c.jpg)
Давным-давно я написал следующий комментарий: Всё.
После такой новости сажусь делать свой квадрокоптер. А то вон все делают, а я нет. Не, ну а что.
Всегда хотел, чтобы у меня была какая-нибудь летающая штука. Были 2 вертолета радиоуправляемых. Но кончилось это плохо.
Я решил делать свой квадрокоптер. Как это кончится — посмотрим. Я не буду использовать какие-либо готовые полетные контроллеры, все запрограммирую самостоятельно. И постараюсь этот процесс описать в цикле статей. Сейчас представляю вашему вниманию первую часть. В ней будет бегло показано то, какие уравнения динамики скрываются внутри квадрокоптера.
Итак, поехали.
1. Вывод уравнений движения
![](https://habrastorage.org/getpro/habr/post_images/649/867/d21/649867d21d4949b06336ba561a4e49cb.png)
Ориентация квадрокоптера в пространстве задается тремя углами: рысканья — ψ, тангажа — θ, крена — φ.
Они вместе составляют вектор
![](https://habrastorage.org/getpro/habr/post_images/92e/46c/614/92e46c614cd2449e254c9778981cc00a.gif)
Позиция устройства в инерциальной система отсчета задается радиус-вектором
![](https://habrastorage.org/getpro/habr/post_images/e53/810/52c/e5381052cf23382df5b8dbdade384970.gif)
Матрица перехода из системы координат квадрокоптера в инерциальную систему координат имеет следующий вид
![](https://habrastorage.org/getpro/habr/post_images/ca7/63d/6b8/ca763d6b8c24863cdc2c34dc6446b7e7.gif)
Сила тяги, производимая каждым из четырех двигателей равна
![](https://habrastorage.org/getpro/habr/post_images/1f7/183/da7/1f7183da7da18781116ac50ea7c0535a.gif)
Здесь ωi− угловая скорость двигателя, а b – коэффициент пропорциональности.
Теперь мы можем записать дифференциальное уравнение, описывающее ускорение квадрокоптера по вертикальной оси.
![](https://habrastorage.org/getpro/habr/post_images/33c/14b/0fb/33c14b0fb0bf76f905962b4a5d0e9ec7.gif)
Сразу же запишем второе дифференциальное уравнение
![](https://habrastorage.org/getpro/habr/post_images/24a/b9c/e95/24ab9ce95e5aef53c6cc4e60aab0da2b.gif)
Здесь I – матрица инерции, M – вращающий момент, приложенный к квадрокоптеру, MG– гироскопический момент.
Вектор M задается следующим образом:
![](https://habrastorage.org/getpro/habr/post_images/486/eaa/fc4/486eaafc4ed75c1900cbf0a5da15db08.gif)
Здесь d — коэффициент лобового сопротивления, L – длина плеча.
Гироскопические моменты, вызванные поворотом объекта с вращающимися роторами двигателей записываются так:
![](https://habrastorage.org/getpro/habr/post_images/74d/524/933/74d524933ce8a157509f0983fd9d216b.gif)
Введем 4 сигнала управления, которые будут управлять квадрокоптером:
![](https://habrastorage.org/getpro/habr/post_images/83d/414/a47/83d414a4718ad7ee5ee48b895b346b86.gif)
![](https://habrastorage.org/getpro/habr/post_images/2be/d26/f6d/2bed26f6d0cfa5951125e4571e7f25f3.gif)
![](https://habrastorage.org/getpro/habr/post_images/402/b75/23a/402b7523a4117e8d57d39e5b2b8a1170.gif)
![](https://habrastorage.org/getpro/habr/post_images/4ba/c95/a8b/4bac95a8bf4e645959afac2353c80221.gif)
Гироскопические моменты, действующие на квадрокоптер, зависят от угловых скоростей роторов двигателей и, следовательно, от вектора управления
![](https://habrastorage.org/getpro/habr/post_images/033/5cd/81f/0335cd81fbc39c26229e19b9e3585c03.gif)
Запишем систему уравнений, описывающих нашу систему.
![](https://habrastorage.org/getpro/habr/post_images/9d0/eee/c4a/9d0eeec4ae3a65c0e2a90a8e9811e476.gif)
И теперь преобразуем систему таким образом, чтобы не было вторых производных.
![](https://habrastorage.org/getpro/habr/post_images/1c9/e06/a3e/1c9e06a3e8aea467569286fe998d6c40.gif)
Эта система из 9 уравнений как раз и описывает динамику системы.
Заключение
Пост получился несколько некрасивым.
Подскажите, пожалуйста, он-лайн редактор формул? А то эти совсем отвратно смотрятся.
Вопросы-предложения приветствуются!