КонтекстQuadcopter ПИД-регулятор
Моя задача состоит в том, чтобы спроектировать и построить регулятор скорости PID для микро Quadcopter чем мух в помещении. Комната, в которой летает квадроцикл, оснащена системой слежения за камерой с высокой точностью камеры, которая может обеспечивать как данные о скорости, так и положение для квадроцикла. Полученная система должна быть способна принимать целевую скорость для каждой оси (x, y, z) и приводить в действие квадроцикл с этой скоростью.
Управляющие входы для квадроцикла - это углы наклона валка/шаг/угол и процент тяги для высоты.
Моя идея - реализовать ПИД-регулятор для каждой оси, где SP - желаемая скорость в этом направлении, измеренное значение - это скорость, обеспечиваемая системой слежения, а выходное значение - угол рулона/высоты/угла поворота и соответственно.
К сожалению, поскольку это мой первый контакт с теорией управления, я не уверен, что я направляюсь в правильном направлении.
Вопросы
Я понимаю, основной принцип ПИД-регулятора, но он по-прежнему для меня неясным, как он может конвертировать скорость (м/с) в рулон/шаг/рыскания (радиан) путем суммирования ошибок и умножения на константу? Да, скорость и рулон/шаг прямо пропорциональны, так что означает, что умножение на правую константу дает правильный результат ?
Для случая вертикального регулятора скорости, если скорость установлена на 0, квадроцикл должен фактически поддерживать свою высоту без восходящего или нисходящего. Как это можно интегрировать с ПИД-регулятором, чтобы значения тяги не равны 0 (должны оставаться парящими, а не падать), когда ошибка на самом деле равна 0? Должен ли я добавить постоянный термин для вывода?
Как только система будет реализована, что было бы хорошим подходом к настройке параметров усиления ПИД-регулятора? Ручная пробная версия и ошибка?
Следующий шаг в развитии системы является дополнительным слоем контроллеров позиции PID, которые принимают в качестве заданного значения требуемого положения (х, у, г), измеренные положения обеспечиваются внутренним слежения система, а выходы - скорости x/y/z. Это хороший подход? Причина разделения этих уровней управления PID заключается в том, что проект является частью более крупной структуры, которая способствует повторному использованию. Было бы лучше просто использовать один слой ПИД-регуляторов, которые непосредственно принимают координаты положения в качестве заданных значений и значений вали/тангажа/рыскания/тяги на выходе.
после нескольких проб и ошибок это сработало. [Видеоролик YouTube] (https://www.youtube.com/watch?v=kC0z7a7aisg) – xabre