Остановка дрейфа в зависшем квадрокоптере

13

В какой-то момент я буду строить беспилотник с четырьмя пропеллерами. Я хочу, чтобы было относительно легко летать, заставляя его парить, когда органы управления не касаются.

Может кто-нибудь предложить какую-нибудь информацию о том, как я заставлю квадротор оставаться в воздухе? Я думал об акселерометрах для измерения дрейфа и крена / тангажа / рыскания, но они недостаточно чувствительны, чтобы обнаружить очень медленный дрейф, например, из-за легкого ветра. Достаточно ли точен GPS для устранения дрейфа на 10-сантиметровой шкале (т. Е. Для обнаружения 10-сантиметрового дрейфа (или, может быть, меньше?) От исходного положения дрона)?

Bojangles
источник
Если вы в создании роботов, не забудьте принять участие в предложении робототехники
Ракетный

Ответы:

16

Я думаю, что вы захотите использовать комбинацию датчиков. Акселерометры и гироскопы смогут корректировать сильные бризы. Затем вы можете использовать GPS, чтобы компенсировать долгосрочный дрейф (или смещение, как его иногда называют). Я думаю, что комбинация этих двух датчиков в каком-то фильтре (возможно, Kalman) позволит свести к минимуму сдвиг вашей позиции.

GPS сам по себе не будет достаточно точным. Альтернативный подход к фильтру Калмана (который может быть немного сложным по математике) заключается в использовании алгоритма DCM от DIYdrones . Похоже, что до сих пор есть большой успех в использовании этого.

И, наконец, беспилотный квадротор Parrot использует камеру со скоростью 60 кадров в секунду, чтобы подавить дрейф. Он смотрит вниз и извлекает объекты из-под земли, а затем использует тип визуальной одометрии (я предполагаю, что-то вроде алгоритма оптического потока), чтобы определить, как далеко сместился квадротор. Я считаю, что это работает только на малых высотах у Попугая, но я не вижу причин, по которым его нельзя было бы продлить до более высокой высоты.

mjcarroll
источник
Спасибо! Я думаю, что я выберу опущенную камеру, так как буду питать дрон через LPC1768. Этого достаточно вычислительной мощности для базового обнаружения линии в 640x480, верно? Спасибо за ваше альтернативное решение использования гироскопов и GPS для долгосрочного дрейфа. Кроме того, знаете ли вы какие-либо датчики, которые могли бы чувствовать дрейф?
Bojangles
1
В дополнение к 6-й степени свободы IMU, я слышал о людях, использующих магнитометры для определения долгосрочного дрейфа, ощущая изменения в магнитном поле Земли. Я не знаю, что это обязательно хороший вариант, поскольку поле может быстро колебаться вокруг сильноточных устройств (например, 4 двигателя) и не изменяется линейно.
mjcarroll
3
Проблема с камерой на больших высотах заключается в том, что при небольших высотах очень незначительные сдвиги изображения приводят к увеличению смещения изображения, если только камера не установлена ​​на самонивелирующемся держателе.
mikeselectricstuff
@mikeselectricstuff - Не могли бы вы настроить алгоритм обработки изображений в зависимости от высоты?
mjh2007
1
@mjh Я думаю, что проблема лучше всего видна на примере. На высоте 50 футов, крен или шаг 5 градусов (что довольно типично для движения в квадраторе по осям X или Y) приведет к движению наземных объектов (tan (5 deg) * 50 футов) = 4,25 фута (грубая математика) ). Даже без движения квадротора все наземные элементы сместятся на 4 фута. Это можно компенсировать, но это становится затруднительным из-за ограничений разрешения и вычислений.
mjcarroll
3

GPS недостаточно точен. Акселерометры могут измерять только ускорение, а не постоянный дрейф.

Может быть, локализованная система позиционирования с использованием маяков и трилатерации или что-то?

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

эндолиты
источник
3

Если бы я собирался сделать это, используя камеру, направленную вниз, первое, что я хотел бы, это высокая производительность и относительно низкое разрешение (это датчик, меня не интересует вход камеры на самом деле), и поэтому камеру я бы Использовать его можно было бы от оптической мыши: у них очень высокая скорость, камеры низкого разрешения. С некоторой долей хакерства я уверен, что вы могли бы придумать компоновку линз, чтобы она могла различать элементы на земле, а затем вы могли бы использовать алгоритм оптического потока с выделением разностей для обработки этого ввода.

Choscura
источник
Я сомневаюсь, что вам нужны огромные скорости обновления; Относительно медленная скорость квадротора и время его реакции не очень хорошо подходят для него.
Ник Т
Спасибо за альтернативное решение Choscura. Я обязательно расскажу об использовании оптической мыши - мне тоже не нужна камера, часть камеры ;-) Единственная проблема, которую я вижу, это то, что если изображение не в фокусе, алгоритм различий может не сработать , Я прав?
Bojangles