Отказ от ШИМ на Ardrone Parrot 2.0

8

У меня возникли некоторые проблемы с ARDrone Parrot 2.0, и я надеюсь, что кто-то еще может столкнуться с тем же.

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

Мы используем драйверы из ardrone_autonomy (ветка dev_unstable) на github . Мы можем наблюдать, как выходы ШИМ отправляются на двигатель, и они сбрасываются из команды наведения, перед тем, как произойдет это падение, экспоненциально вернется к значению наведения.

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

Кто-нибудь видел подобную проблему или предложения для проверки / устранения неполадок, что происходит?

даман
источник
Вы используете ARDrone в помещении или на улице? Исходя из предыдущего вопроса, какую местность вы пытаетесь навести? Некоторые местности могут вызвать проблемы с зависанием. Вы тестировали в различных средах? Какую стратегию управления вы используете в своей реализации программного управления? PID? Вы держите высоту с помощью встроенного ультразвукового датчика?
Том Бамбер

Ответы:

1

Я не использовал ARDrone, но у меня есть опыт удержания высоты на другом автопилоте.

Без дополнительной информации быстрый поиск в Google нашел возможную проблему с прошивкой ARDrone в этой теме .

Если вы используете встроенный ультразвуковой датчик, то, как я уже упоминал в своем посте, Как я могу определить край стола? , Ультразвуковые датчики могут внезапно переходить к нулю в течение части секунды, и это может привести к тому, что ARDrone изменит высоту и затем вернется к реальному значению.

Том Бамбер
источник
Том, в настоящее время мы используем дрон в помещении. Мы находимся в нашей лаборатории, которая представляет собой ковровое покрытие и использует высококонтрастную цветную плитку для крепления системы видения. Мы не смогли много тестировать в других средах из-за нашей текущей лабораторной установки в университете.
Даман,
Что касается стратегии управления, мы используем контроллер xbox для полета, используя узел ROS для чтения входных данных. Файлы ROS, которые мы получаем, находятся на github ARdrone_autonomy. Команда отправляется на бортовое управление беспилотника, который выглядит как PID. Мы лучше сузили наш вопрос с момента моего первого поста. ROS имеет тему из внутренних навигационных данных, которая дает информацию о двигателе. Он показывает значения ШИМ, которые отправляются на двигатель, а также внутренний интегральный член для ПИД-регулятора высоты. Мы видим, что это сбрасывается с 60 до 0, когда квадроцикл падает
Даман
Чтобы подтвердить, что сигналы ШИМ, посылаемые на двигатель, сбрасываются с 60 до нуля при падении квадрата? Если это так, то нужно будет отследить и определить, откуда исходит математическая ошибка. Я думаю, что проблема заключается в том, как данные вашего датчика используются в удержании высоты, вы не можете настроить свой PID с такой ошибкой.
Том Бамбер