Arrêt de la dérive en quadrocoptère en vol stationnaire

13

Je construirai un drone quadricoptère à 4 hélices à un moment donné. Je veux qu'il soit relativement facile de voler en le faisant planer quand les commandes ne sont pas touchées.

Quelqu'un peut-il fournir des informations sur la façon dont je ferais pour que le quadrirotor reste en l'air? Je pensais aux accéléromètres pour mesurer la dérive et le roulis / tangage / lacet, mais ils ne sont pas assez sensibles pour détecter une dérive très lente due, par exemple, à une brise légère. Le GPS est-il suffisamment précis pour éliminer la dérive sur une échelle de 10 cm (c'est-à-dire détecter une dérive de 10 cm (ou moins, peut-être?) À partir de la position d'origine du drone)?

Bojangles
la source
Si vous aimez construire des robots, n'oubliez pas de vous engager dans la proposition de robotique
Rocketmagnet

Réponses:

16

Je pense que vous voudrez utiliser une combinaison de capteurs. Les accéléromètres et les gyroscopes pourront corriger les brises fortes. Vous pouvez ensuite utiliser le GPS pour contrer la dérive à plus long terme (ou biais, comme on l'appelle parfois). Je pense que la combinaison de ces deux capteurs dans une sorte de filtre (probablement un Kalman) minimisera votre dérive de position.

Cependant, le GPS ne sera pas suffisamment précis. Une approche alternative au filtre de Kalman (qui peut être un peu lourd en mathématiques) consiste à utiliser l'algorithme DCM de DIYdrones . Jusqu'à présent, il semble y avoir beaucoup de succès dans l'utilisation de cela.

Enfin, le quadrirotor de drone Parrot utilise une caméra orientée vers le bas à 60 ips pour annuler la dérive. Il regarde vers le bas et extrait des caractéristiques du sol sous-jacent, puis utilise un type d'odométrie visuelle (je suppose une sorte d'algorithme de flux optique) pour déterminer jusqu'où le quadrotor a dérivé. Je crois que cela ne fonctionne qu'à basse altitude sur le Parrot, mais je ne vois aucune raison de ne pas l'étendre à une altitude plus élevée.

mjcarroll
la source
Je vous remercie! Je pense que je vais opter pour l'option caméra downfacing car je vais alimenter le drone via un LPC1768. C'est une puissance de traitement suffisante pour effectuer une détection de ligne de base à 640x480, n'est-ce pas? Merci pour votre solution alternative d'utilisation des gyroscopes et du GPS pour la dérive à long terme. Connaissez-vous également des capteurs capables de détecter la dérive?
Bojangles
1
En plus de l'IMU à 6 degrés de liberté, j'ai entendu parler de personnes utilisant des magnétomètres pour déterminer la dérive à long terme en détectant les changements dans le champ magnétique terrestre. Je ne sais pas si c'est nécessairement une bonne option, car le champ peut fluctuer rapidement autour des appareils à courant élevé (comme 4 moteurs) et ne varie pas de manière linéaire.
mjcarroll
3
Le problème avec la caméra à des altitudes plus élevées est que de très petites quantités de roulis produisent des décalages de plus en plus importants dans l'image à mesure que l'altitude augmente, à moins que la caméra ne soit sur une monture à mise à niveau automatique.
mikeselectricstuff
@mikeselectricstuff - Ne pourriez-vous pas ajuster l'algorithme de traitement d'image en fonction de l'altitude?
mjh2007
1
@mjh Je pense que le problème est mieux vu dans un exemple. À une altitude de 50 pieds, un roulis ou un tangage de 5 degrés (assez typique pour se déplacer dans la direction X ou Y sur un quadrirotor) fera bouger les caractéristiques du sol (bronzage (5 degrés) * 50 pieds) = 4,25 pieds (calcul approximatif ). Même sans que le quadrirotor ne bouge, toutes les fonctions au sol se déplaceront de 4 pieds. Cela pourrait être compensé, mais cela devient difficile avec les restrictions de résolution et de calcul.
mjcarroll
3

Le GPS n'est pas assez précis. Les accéléromètres ne peuvent mesurer que l'accélération, pas une dérive constante.

Peut-être un système de positionnement localisé utilisant des balises et une trilatération ou quelque chose?

Peut-être des caméras bon marché pour détecter la dérive par rapport au sol ou à d'autres objets fixes? Vous pouvez annuler les rotations à l'aide des gyroscopes, puis effectuer une corrélation croisée entre les images suivantes pour détecter la dérive par rapport au sol, comme fonctionne une souris optique.

endolith
la source
3

Si je devais le faire en utilisant un appareil photo orienté vers le bas, la première chose que je voudrais, c'est des performances élevées et une résolution relativement basse (c'est un capteur, je ne suis pas vraiment intéressé par l'entrée de l'appareil photo) et donc l'appareil photo que je ferais l'utilisation serait à partir d'une souris optique: ils ont des caméras à très haute vitesse et basse résolution. Avec un peu de piratage, je suis sûr que vous pourriez trouver un arrangement d'objectif pour le laisser distinguer entre les caractéristiques sur le terrain, puis vous pourriez utiliser un algorithme de flux optique d'extraction des différences pour traiter cette entrée.

Choscura
la source
Je doute que vous ayez besoin d'énormes taux de mise à jour; la vitesse relativement lente d'un quadrirotor et son temps de réaction n'en font pas vraiment un bon ajustement.
Nick T
Merci pour la solution alternative Choscura. Je vais certainement envisager d'utiliser une souris optique - je n'ai pas non plus besoin de la partie caméra d'un appareil photo ;-) Le seul problème que je peux voir est que si l'image est floue, l'algorithme de différence peut ne pas fonctionner aussi bien . Ai-je raison?
Bojangles