Как стать автором
Обновить

Динамика квадро-, гекса- и октокоптеров. Моделирование системы управления

Время на прочтение14 мин
Количество просмотров8.1K
Всего голосов 6: ↑6 и ↓0+6
Комментарии28

Комментарии 28

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

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

Непривычно видеть регуляторы без ОС :)

Как нет обратной связи? Везде идет сравнение заданного значения и текущего. Текущее значение это и есть обратная связь.

Кстати до обратной связи.
А как вы обычно определяете вектор положения аппарата в пространстве?

в модели мы считаем что оно нам известно, это же модель. В реальности должны быть GPS датчики и высотомер

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

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

Оси вращения всех винтов отклонены от одной прямой на 3 градуса каждая в свою сторону, верно?
Да с помощью этой особенности можно двигать в бок без наклона самого коптера, что позволяет его точно позиционировать.
Лебедь, рак и щука:)
Практический смысл избегать этих наклонов есть? Теряем ведь гарантированно
(1 — cos(3 град))*100% тяги.
Именно так, потеря тяги неизбежна. Но исходный коптер предназначен для работы с грузом на подвесе, там важно было его позиционировать и потери вертикальной тяги для увеличения точности были вполне допустимы.
То есть сам аппарат уже есть какой есть. А Вы линейное перемещение в горизонтальной плоскости все равно делаете через крен и тангаж.
0,14% — куда ни шло, конечно.
Это ведь октокоптер? В названии три конфигурации, во введении прямо вроде бы не говорится, по всему тексту вроде только окто-. Или уже буквы не складываются после работы в слова…
В нашем варианте, когда винты довернуты еще на 3 градуса вокруг своих лучей, у них появляется небольшая сила тяги направленная в стороны, и микшированием двигателей можно создавать боковую силу тяги.

Эта «боковая сила тяги» без сопутствующих моментов и вертикальной силы могла быть создана? Хитрая должна быть схема разворота осей.
так руководство было написано по готовой модели октокоптера. Но поскольку писали руководство для просты моделей, то и систему перемещения сделали класическую с наклоном осей.
Про руководство ничего не понял.
руководство по созданию модели это как раз этот текст. Для его подготовки использовалась готовая модель хитрого октокоптера. А что бы текст был универсальным и полезным максимально, управления сделели стандартным поворотом вокруг осей.
Ну так и понял) не успел написать.
Интересно просто, как у этого хитрого горизонтальные перемещения без крена/тангажа сделаны. Есть горизонтальные проекции от тяги каждого винта, по 5% от тяги своего винта каждая.
Для висения или вертикального полета они должны быть сбалансированы. А для начала движения векторная сумма должна быть уже не равна нулю, при этом суммарный момент всех тяг ноль. Как это вообще сделано?

Тут строго математическое обоснование.


Если мы представим воздействие каждого пропеллера винтом — 3 компоненты силы и три компоненты момента, то получим 6-вектор чувствительности. 8 пропеллеров дадут нам 8 неколлинеарных друг с другом 6-векторов. Если мы зададимся 6-вектором желаемого воздействия, то решив систему линейных уравнений, определим вектор квадратов угловых скоростей двигателей. Линейная независимость векторов чувствительности и избыточность (8 переменных на 6 уравнений) гарантирует нам, что существует бесконечное множество решений.


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

Я-то мысленно «вручную» раскидывал, какому сколько мощности дать))) при наклоне, например, всех наружу от вертикальной оси. И не выходило.
А тут еще и математически как дважды два вышло, что если не коллинеарны, значит 100% решается задача. Да еще «с избытком».
Не усну сегодня)

… Как говорит мой батя… (А батя мой профессор)…
Тут не думать, тут считать надо :).

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

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

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


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

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

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

Для одинакового понимания терминов. Из первой части:
При этом ВМГ расположены на восьми лучах (4 из них одной длины, а другие 4 могут быть другой длины) и жестко закреплены относительно рамы. Таким образом можно говорить о том, что радиус-векторы центров ВМГ и орты силы тяги каждой ВМГ – суть геометрические константы в системе координат, связанной с коптером. Другими словами, величина [Н], вычисленная в модели ВМГ, является модулем вектора силы, приложенного всегда в определенном направлении и в определенной точке коптера.

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

Публикации