Автономный дрон со временем падает в высоту - PullRequest
0 голосов
/ 22 февраля 2019

Мой партнер и я пытаемся создать автономный беспилотник в помещении.Мы используем дрон Intel Aero RTF и Dronekit.Мы используем версию Ardupilot, поставляемую с дроном APM3.5.5.Поскольку показания GPS и барометра в помещениях несовместимы, мы прикрепили 1D лидара, обращенного вниз (LeddarOne), чтобы дать точные оценки высоты, и 2D лидара (RPLiDAR A2) сверху.Двухмерный лидар подключен к бортовому компьютеру, на котором запущен BreezySLAM для оценки местоположения.Затем мы использовали эти оценки местоположения для разработки системы управления PD в нашем скрипте Python, которая контролирует горизонтальное позиционирование дрона, сообщая ему, какое положение необходимо для исправления положения.Теперь система, которую мы имеем, прекрасно работает при поддержании зависания в течение 15 секунд, а затем она слегка отклоняется влево и падает в высоту.Мы пытались сказать дрону, чтобы он рыскал направо и налево, и он отлично держится.Кажется, со временем возникает какая-то ошибка, из-за которой дрон падает.Дрон упадет на землю, а затем вернется, а затем, в конце концов, снова упадет.Может ли это быть проблемой с батареей или ESC?Это странная проблема, потому что это происходит не раньше, чем через несколько секунд. Это последняя проблема, которую мы должны решить, чтобы продолжить работу над нашим старшим дизайнерским проектом, или нам, возможно, придется менять проекты, поэтому любая помощь приветствуется!

Мы пробовали много разных вещей, поэтому я перечислю их здесь на случай, если это поможет сузить решения:

Мы попытались обновиться до новейшей прошивки APM 3.6.6 .;однако новая прошивка по какой-то причине не позволяет нам использовать данные дальномера в качестве источника высоты.Мы видим, что данные дальномера работают правильно, и EK2_ALT_SOURCE установлен на дальномер, а EK2_HGT_USE = 70%.Так как мы не могли заставить высоту читать правильно, мы не могли проверить, решит ли новая версия проблему.Есть ли решение этой проблемы?(Мы использовали все те же параметры, которые позволили нам использовать дальномер в качестве источника высоты в APM 3.5.5)

Мы запустили HectorSLAM и передали позиционные данные прямо в контроллер полета, используя MAVROS.Данные передаются в виде визуальных оценок положения.В APM 3.5.5 мы можем видеть информацию VISION_POSITION_ESTIMATE, проходящую через инспектор Mavlink, но она, похоже, не использует ее для оценки положения, поскольку мы все еще не можем использовать управляемый режим.Мы также не можем запустить наш скрипт python dronekit во время работы MAVROS.MAVROS блокирует какое-либо соединение dronekit?В APM 3.6.6 говорится, что используются внешние навигационные данные, но, поскольку высота не согласована, мы не можем ее проверить.Я попытался поставить и снять с GCS в управляемом режиме, но каждый раз, когда я делаю это, происходит сбой mavlink-router, и я теряю соединение.

...