Detener la deriva en quadrocopter flotando

13

Construiré un dron quadrocopter de 4 hélices en algún momento. Quiero que sea relativamente fácil volar haciendo que permanezca quieto cuando no se tocan los controles.

¿Alguien puede ofrecer información sobre cómo conseguiría que el quadrotor permanezca en el aire? Estaba pensando en acelerómetros para medir la deriva y el balanceo / cabeceo / guiñada, pero no son lo suficientemente sensibles como para detectar una deriva muy lenta debido, por ejemplo, a una ligera brisa. ¿El GPS es lo suficientemente preciso como para eliminar la deriva en la escala de 10 cm (es decir, detectar una deriva de 10 cm (¿o menos, tal vez?) Desde la posición original del dron)?

Bojangles
fuente
Si te gustan los robots de construcción, no olvides comprometerte con la Propuesta de Robótica
Rocketmagnet

Respuestas:

16

Creo que querrás usar una combinación de sensores. Los acelerómetros y giroscopios podrán corregir brisas fuertes. Luego puede usar el GPS para contrarrestar la deriva a largo plazo (o sesgo, como a veces se le llama). Creo que la combinación de estos dos sensores en algún tipo de filtro (probablemente un Kalman) mantendrá su desplazamiento de posición minimizado.

Sin embargo, el GPS no será lo suficientemente preciso por sí mismo. Un enfoque alternativo para el filtro Kalman (que puede ser un poco pesado para las matemáticas) es usar el algoritmo DCM de DIYdrones . Parece haber mucho éxito al usar esto hasta ahora.

Finalmente, el quadrotor de drones Parrot utiliza una cámara de 60 fps orientada hacia abajo para cancelar la deriva. Mira hacia abajo y extrae características del suelo debajo de él, luego usa un tipo de odometría visual (supongo que algún tipo de algoritmo de flujo óptico) para determinar qué tan lejos se ha desplazado el cuadrotor. Creo que esto solo funciona a bajas altitudes en el Parrot, pero no veo ninguna razón por la que no se pueda extender a una altitud más alta.

mjcarroll
fuente
¡Gracias! Creo que optaré por la opción de cámara hacia abajo, ya que alimentaré el dron a través de un LPC1768. Eso es suficiente poder de procesamiento para hacer la detección de línea básica en 640x480 ¿verdad? Gracias por su solución alternativa de usar giroscopios y GPS para deriva a largo plazo. Además, ¿conoce algún sensor que pueda detectar la deriva?
Bojangles
1
Además del IMU de 6 grados de libertad, he oído hablar de personas que usan magnetómetros para determinar la deriva a largo plazo al detectar cambios en el campo magnético de la Tierra. No sé si esta es necesariamente una buena opción, ya que el campo puede fluctuar rápidamente alrededor de dispositivos de alta corriente (como 4 motores) y no varía de manera lineal.
mjcarroll
3
El problema con la cámara a altitudes más altas es que cantidades muy pequeñas de rollo producirán cambios cada vez más grandes en la imagen a medida que aumenta la altitud, a menos que la cámara esté en una montura autonivelante.
mikeselectricstuff
@mikeselectricstuff: ¿no podría ajustar el algoritmo de procesamiento de imágenes según la altitud?
mjh2007
1
@mjh Creo que el problema se ve mejor en un ejemplo. A una altitud de 50 pies, un giro o inclinación de 5 grados (bastante típico para moverse en la dirección X o Y en un quadrotor) hará que las características del suelo se muevan (bronceado (5 grados) * 50 pies) = 4.25 pies (matemática aproximada ) Incluso sin que el quadrotor se mueva, todas las características del terreno cambiarán 4 pies. Esto podría compensarse, pero se vuelve difícil con la resolución y las restricciones de cálculo.
mjcarroll
3

El GPS no es lo suficientemente preciso. Los acelerómetros solo pueden medir la aceleración, no una deriva constante.

¿Quizás un sistema de posicionamiento localizado utilizando balizas y trilateración o algo así?

¿Quizás cámaras baratas para detectar la deriva en relación con el suelo u otros objetos estacionarios? Puede cancelar las rotaciones con los giroscopios y luego hacer una correlación cruzada entre los cuadros posteriores para detectar la deriva relativa al suelo, de la forma en que funciona un mouse óptico.

endolito
fuente
3

Si fuera a hacer esto usando una cámara que mira hacia abajo, lo primero que desearía es un alto rendimiento y una resolución relativamente baja (este es un sensor, en realidad no estoy interesado en la entrada de la cámara) y entonces la cámara el uso para esto sería de un mouse óptico: tienen cámaras de muy alta velocidad y baja resolución. Con un poco de pirateo, estoy seguro de que podría llegar a una disposición de lentes que le permita distinguir entre las características en el suelo y luego podría usar un algoritmo de flujo óptico de extracción de diferencia para procesar esta entrada.

Choscura
fuente
Dudo que necesites enormes tasas de actualización; la velocidad relativamente lenta de un quadrotor y su tiempo de reacción realmente no lo hacen un buen ajuste.
Nick T
Gracias por la solución alternativa Choscura. Definitivamente buscaré usar un mouse óptico: tampoco necesito la parte de cámara de una cámara ;-) El único problema que puedo ver es que si la imagen está desenfocada, el algoritmo de diferencia podría no funcionar tan bien . Estoy en lo cierto?
Bojangles