Outils pour utilisateurs

Outils du site


descriptionmanta

Présentation de l'UAV MANTA

Contexte

Le pole RIA du LAAS développe un robot aérien doté de capacités de traitements embarquées pour des tâches de vision. Il embarque une caméra numérique pour l'acquisition des images et l'unité de traitement (ordinateur de type PC). Ce PC permet notamment l'enregistrement des images non comprimées. Le choix d'embarquer l'unité de traitement à bord permet d'éviter l'emploi d'un transmetteur video analogique, les problèmes de communication (portée, brouillage) et les latences induites. Ce choix permet également la multiplication du robot aérien, chaque robot pouvant être relativement autonome, sans besoin de centraliser les traitements au sol. Dans cette logique de pouvoir dupliquer le robot, nous nous sommes limités dans nos choix pour utiliser au maximum des composants du commerce (aile, électronique embarquée…).

Le PC embarqué est en charge des tâches de vision. Nous l'utilisons dans un premier temps en tant que caméscope numérique avec géo-référencement des images. Cette étape préliminaire est indispensable pour le développement d'algorithmes et leur test au sol. Le géoréférencement est important pour générer des cartes dans un repère de référence commun à celui de l'opérateur et des éventuels robots terrestres collaborants avec l'uav. Le géoréférecement permet également de robustifier et de simplifier les traitements de construction de cartes en enlevant des inconnues à estimer.

La navigation de l'uav est quant à elle confiée au système paparazzi développé à l'ENAC, qui a fait ses preuves en assurant des centaines d'heures de vol autonome sur différents drones. De nombreuses adaptations ont été nécessaires pour notre UAV, le système paparazzi étant à priori destiné à des uav plus petits et sans autre calculateur à bord.

La cellule

L'aile

L'UAV est basé sur une aile volante en EPP (mousse polystyrène à mémoire de forme) nommée QueenBee, commercialisée par la société Windrider localisée à Hong-Kong. Elle fait 2,54m d'envergure pour 1m2 de surface. Elle pèse 1,8Kg équipée en planeur (sans propulsion ni électronique embarquée). Toute équipée, son poids approche les 5Kg. L'aile a été renforcée avec du scotch armé de fibre de verre sur toute sa surface et également renforcée avec des longerons en carbone de diamètre 16mm pour la clef d'aile. Des fourreaux de clef d'aile moulés en fibre de verre ont été fixés à l'intérieur des demis ailes pour emboiter la clef. Plusieurs longerons en carbone de différentes dimensions sont également disposés à l'intérieur de l'aile. Des winglets en bout d'ailes assure la stabilité sur l'axe de lacet.

capture.jpg

Le caisson

Un caisson en contreplaqué a été réalisé et placé au centre de l'aile pour contenir l'équipement électronique. Ce choix, bien que moins aérodynamique que d'intégrer tout l'équipement dans l'épaisseur de l'aile, présente plusieurs avantages. Tout d'abord l'aile est aisément démontable en parties transportables. Ensuite, les tests au laboratoire peuvent être effectués en utilisant uniquement le caisson central, en évitant l'encombrement de toute l'aile. Finalement, ce choix simplifie également l'équilibrage de masse à l'intérieur de l'uav. Le poids est bien au centre dans le sens latéral. Les éléments peuvent ensuite être déplacés à l'intérieur du caisson pour assurer un bon centrage dans le sens longitudinal. Ce choix permet également d'ajouter plus facilement des équipements et de les protéger efficacement en cas de choc, grâce à un amortisseur en mousse placé à l'avant du caisson. La présence d'une poignée à l'arrière du caisson permet une bonne prise en main de l'uav lors du catapultage. Par contre, un grand nombre de composants électroniques étant localisés dans le caisson, des problèmes de rayonnement électromagnétique non entièrement résolus à ce jour sont apparus.

Insérer l'image manta détourée…

Les actionneurs

La commande des gouvernes est assurée par 4 servomoteurs standard. Les axes pilotables sont le roulis et le tangage. Les ailerons peuvent également être déployés en position crocodile pour permettre le freinage de l'uav lors de l'atterrissage.

La propulsion

La propulsion de l'uav est assurée par un moteur brushless CY PW65/3T de chez Electronic Model. Ce moteur possède un Kv de 770 tours/min.Volt, une puissance nominale (maximale) de 1000W (1200W), consomme un courant de 60A pour un rendement maximum de 89% et un poids de 290grammes. L'usinage de ce moteur comporte des ailettes pour en assurer le refroidissement optimum.

Le contrôleur brushless utilisé est un le PILOT 80 OPTO de Electronic Model, pour un courant maximum de 80A. Ce contrôleur assure la séparation opto-eléctronique entre le contrôleur et la tiny, permettant de finir le vol sans moteur en cas de défaillance du contrôleur.

Le choix de motoriser confortablement l'uav (moteur de 1000W pour moins de 5Kg soit plus de 200W/Kg) a été fait au prix d'une très faible augmentation de poids mais au bénéfice d'un gain de sécurité important pour la mise en oeuvre, l'uav pouvant sortir plus facilement de conditions critiques (décrochage…) même à faible altitude.

L'hélice utilisée est de diamètre 12 pouces et de pas 6 pouces/tour. Elle est localisé à l'arrière de l'uav et se replie pour permettre le décollage et l'atterrissage.

L'ensemble de propulsion est alimenté directement par l'accus LIPO 6S de 5Ah, le moteur consomme en statique au sol (cas le plus défavorable donc consommation maximale) 70A, ce qui n'endommage ni le contrôleur ni la batterie (pour une utilisation non continue à pleine puissance). La vitesse de rotation de l'hélice est de 770Tr/min.V * 25Vsoit 19250 tours/min soit 320 tours/sec. Avec un pas de 6 pouces et un coefficient de glissement de l'hélice dans l'air de 2/3, on obtient une vitesse linéaire maximale de l'avion en palier d'approximativement 320*6*0.0254*2/3 soit 32,5m/s.

La catapulte

Le décollage de l'uav est effectué à la catapulte, afin d'éviter l'emport d'un train d'atterrissage, de permettre le décollage sur une distance réduite et d'en améliorer la sécurité en assurant une vitesse suffisante à l'uav. La propulsion est assurée par des élastiques 8mm de diamètre et d'allongement 200% pour une longueur de 8m. Durant l'accélération, l'uav est guidé sur des rails en aciers sur une distance de 2.5m, avec une pente de l'ordre de 10° vers le haut. La catapulte est opérée par le pilote de l'uav, moteur de l'uav éteint. Le pilote dispose de quelques secondes après le catapultage pour prendre l'uav en commande manuelle et l'amener à une altitude de sécurité avant de passer en mode automatique.

deco-cata.jpg

vidéo d'un décollage: decollagemuret2.avi

Equipement électronique embarqué

Système autopilote paparazzi

L'uav est équipé d'une Carte Tiny 13 v1.1. Sur cette carte est monté un module GPS uBlox lea 4H ainsi que son antenne. Le système paparazzi est capable de piloter de manière autonome l'uav sur la base des coordonnées GPS et d'un capteur d'orientation infrarouge.

PC embarqué

Le PC embarqué pour les taches vision est basé sur un processeur VIA C7 cadencé à 1Ghz. La carte mère, de modèle EPIA PX 1000G est au format PICO ITX, de dimensions 100mm par 72mm. Elle est équipée de 1 Mo de ram. Un système d'exploitation Linux allégé et les et librairies JAFAR du LAAS sont installés.

pico.jpg

Stockage des données à bord

Originellement, l'uav a été équipé avec un disque dur flash 2 GO (Disk On Module) pour le système d'exploitation et d'une clef USB 8 Go interchangeable pour le stockage des données acquises pendant le vol. Le DOM s'est révélé être très lent et la clef USB également. Il a été impossible d'assurer les débits nécessaires au stockage du flux vidéo non compressé. De plus le partage du bus USB entre la clef et la caméra cause des problèmes de corruption des images enregistrées. Nous avons donc du changer de matériel et utiliser un disque dur Solid State (SSD) MTRON de 16GO pour la cpu vision afin de stocker le système d'exploitation et les données acquises pendant le vol. L'emploi d'un tel disque permet d'atteindre des débits importants (de l'ordre de 100Mo/s en lecture et en écriture, sensés permettre l'enregistrement de 125 images brutes 1024*768 pixels par seconde) sans être gêné par les vibrations importantes générées par le vol (hélice, turbulence etc..) qui déclenche le parquage des têtes de lecture des disques traditionnels. De plus un disque SSD est beaucoup plus robuste et supporte bien mieux les atterrissages difficiles (crash test frontal à 33m/s sans aucun problème). Le bus de communication est de type Serial ATA2 et un cable très court a été utilisé afin de minimiser son poids et son encombrement.

Systèmes de communication avec le sol

Plusieurs systèmes sont installés à bord de l'uav pour assurer les communication avec le sol. Il faut noter qu'aucune de ces communications n'est critique pour l'UAV, qui peut voler de manière autonome.

Ensemble Emetteur/Récepteur radiomodelisme

Un émetteur à synthèse de fréquence dans la bande des 41Mhz, modèle Radio Cockpit SX de Multiplex est utilisé pour la commande de l'uav par le pilote. Cette radio dispose d'une voie interrupteur 3 positions pour le choix du mode de contrôle de l'uav (commande manuelle, stabilisation électronique ou autonomie complète).

Deux récepteurs au choix peuvent être utilisé à bord de l'uav: soit un récepteur Multiplex RX700 à fréquence choisie par quartz, soit un récepteur Multiplex RX7SYNTH à synthèse de fréquence.

Modem autopilote

Un modem Xbee dans la bande des 2.4Ghz assure la communication entre l'uav et la station sol (elle aussi équipé d'un modem Xbee, mais avec connectique USB) à un débit de 56600 Bauds. Ce modem est partagé entre la carte tiny et la cpu vision via la communication à bord de l'uav. Il assure la communication à bas débit à plus d'un Km de distance.

Modem WIFI

Une clef USB WIFI 2,4Ghz à 54Mbits/s est installée à bord pour permettre la communication entre la CPU vision de l'uav et la station sol (connectée en RJ45 à un routeur WIFI). Le wifi étant limité en porté à 300m, ce mode de communication est surtout utilisé pour lancer les scripts sur la cpu vision et pour effectuer les réglages de la caméra en observant les images sur la station sol avant le vol.

Communication à bord de l'uav

Afin que la tiny et la cpu vision puissent communiquer entre elles, un bus de communication série est utilisé. La tiny ne disposant pas d'uart supplémentaire, le port utilisé par le modem a été partagé. La cpu vision est intércalée entre la tiny et son modem, et dialogue avec chacun d'eux via un uart. Un composant adaptateur USB vers 2 uarts FTDI 2232 équipe la cpu vision pour cela. La plupart du temps, la cpu vision se comporte comme un tunnel bi-directionnel et de temps en temps elle intercepte ou ajoute des messages. Il est possible, pour des missions dans lesquelles la cpu vision n'a pas besoin de communiquer avec la tiny, de relier directement le modem Xbee à la tiny.

Capteurs d'attitude

Système infrarouge

Ùn système infrarouge constitué de 6 capteurs pour l'estimation d'attitude est utilisé pour la navigation, comme dans la plupart des uav basés sur paparazzi. Ce système s'appuie sur la mesure de la différence de température rayonnée par le sol et le ciel en observant l'horizon sur les axes longitudinal et latteral. L'utilisation de ce système pose problème lorsque le contraste de température entre le sol et le ciel devient trop faible (lorsque le ciel est couvert de nuages par ex). Il présente par contre l'avantage d'être bas coût, léger et suffisamment précis pour la navigation d'un appareil de la taille de Manta n'ayant pas une dynamique trop rapide. Il est surtout directement interfaçable avec la carte Tiny. Les capteurs infrarouges orientés dans le plan de l'aile ont été disposé sur un mât afin de minimiser l'occultation par l'aile.

Centrale inertielle

Une centrale inertielle (IMU) Xsense est utilisée pour connaître la pose de la caméra embarquée. Ce capteur, d'un coût élevé, permet une estimation beaucoup plus précise de la pose que le capteur infrarouge, à une cadence de 100Hz. Il est connecté à l'unique uart de la cpu vision. A terme, il serait intéressant d'utiliser ce capteur pour la navigation afin de pouvoir voler par ciel couvert, mais cela pose plusieurs problèmes. Idéalement, la centrale devrait être connectée directement à l'autopilote pour éviter des latences, mais il n'y a pas d'uart disponible sur la carte de l'autopilote. Il faudrait donc soit libérer un uart sur la tiny (GPS en I2C?) soit faire en sorte que les attitudes fournies par l'IMU à la cpu vision soit transférées à l'autopilot par la cpu vision via l'uart du modem (latence à évaluer).

Caméra

Choix de la caméra

La caméra utilisée sur l'uav est une caméra USB Ueye UI-2230-C couleur de résolution XGA (1024*768) pour une dimension de capteur CCD 1/3 pouce. Elle dispose d'un obturateur global et permet une cadence maximale de 30 images par secondes. Il est possible de définir une région d'intérêt ou de sous-échantillonner l'image pour augmenter la cadence d'acquisition. Il est également possible de contrôler manuellement les paramètres d'acquisition (gain et durée d'exposition, ce qui permet d'éviter les surexpositions dans les images). La caméra nue est un cube de moins de 3,5cm de coté. Elle présente comme caractéristique intéressante de permettre l'obtention des images brutes (non débayeurisées, processus permettant d'obtenir une information couleur ou noir&blanc pour chaque pixel à partir d'une image de luminance dans laquelle chaque pixel perçoit une seule des trois composantes Rouge/Vert/Bleu.) Ceci permet de diminuer par un facteur trois la taille et le débit nécessaire à l'enregistrement des images, sans en diminuer la qualité. Pour l'enregistrement des images en vol, la débayeurisation peut être effectuée à postériori au sol, en choisissant si l'on souhaite des images couleurs, noir&blanc ou les deux. Le choix de cette caméra a été principalement guidé par son bus de communication, l'existence de drivers pour linux et la possibilité de monter une optique de notre choix. Le choix du bus USB est une contrainte liée à la carte mère embarquée. Idéalement, nous aurions préféré utiliser une caméra Firewire mais ce port n'est pas disponible sur la carte mère. Il aurait également été possible d'embarquer une caméra Ethernet mais les modèles existant lors du choix de la caméra ne correspondaient pas à nos besoins (poids, dimensions). Depuis, des caméras ethernet plus adaptées sont apparues. Egalement, le standard de camera USB UVC, pour lequel des drivers Linux existent s'est répandu.

ueye.jpg

Video en vol (comprimée): volmuret2video.avi

caméra orientable ou à large champ de vision

Le positionnement de la caméra a été prévu dans l'uav afin de permettre l'intégration d'un système d'orientation mécanique (par servomoteurs) ou l'emploi d'une optique à large champ de vision, qui seraient utiles par exemple dans le cadre d'application de suivi de cibles au sol, d'estimation d'attitude ou de navigation en condition turbulente (cas où le champ de vision limité d'une caméra standard pourraient être insuffisant en cas de rotation rapide de la caméra) . La commande des servomoteurs orientant la caméra est effectuée par la carte tiny, qui reçoit les consignes sous forme de message via sont uart.

Alimentation

Batterie

L'alimentation est assurée par une batterie Lithium Polymère (LIPO) 6 éléments de 4,2V en série, d'une capacité de 5000mAh, soit un total de 25,2 Volts et 126Wh. De plus, la batterie est de type 20C en continu et 30C max, ce qui signifie qu'elle est capable de débiter au maximum 100A en régime continu, et 150A en pointe. Le choix d'utiliser une unique batterie pour alimenter la propulsion et l'électronique embarquée a été fait afin de: -minimiser le nombre d'opérations pour la recharge de batteries -minimiser le nombre de batteries à surveiller pendant le vol (les accus Lipo ne supportent pas la décharge en dessous de 3V par élément, et il faut donc interrompre le vol lorsque la batterie est déchargée)

  1. éviter l'embarquement de poids inutile (avec plusieurs batteries, une batterie est forcement déchargée en premier, obligeant à poser l'appareil alors que les autres batteries sont encore fonctionnelle, ce qui correspond à embarquer inutilement le surplus de batterie correspondant au reste d'énergie dans ces batteries)
  2. pouvoir utiliser le chargeur de cette batterie pour alimenter le système au sol, jusqu'au dernier instant avant le décollage pour augmenter la durée du vol.
Convertisseurs

Une alimentation de type à découpage est utilisée pour générer les différentes tensions (5V, 12V, -12V, +3.3V) à partir de la tension de la batterie lipo, qui fluctue de 26V à 18V durant le vol. Cette alimentation est directement connectée au port alimentation ATX de la cpu Vision. La carte tiny est alimentée par la sortie 12V de cette alimentation. Elle comporte en interne une alimentation à découpage (que nous appellerons secondaire) sensée alimenter tous les composants d'un drone paparazzi hormis la propulsion. Sur notre UAV, la consommation des servomoteurs est néanmoins trop importante et fait rebooter l'autopilote de manière intempestive. Les voies d'alimentation des servomoteurs ont donc été reroutée directement vers l'alimentation 5V en sortie de l'alimentation à découpage principale. La centrale inertielle est alimentée par le +5V des ports USB de la cpu vision (consommation max 70mA).

Bilan de masse

Cellule

Composant Poids ( grammes) Ailes complètes (avec servomoteurs) 960*2 Longerons carbone 250 Caisson vide

Matériel embarqué

Composant Poids ( grammes) Carte mère pico ITX 136 Disque dur SSD 47 Alimentation ATX 16 RAM 9 Caméra Ueye (sans l'objectif) 74 Objectif

Batterie 6S 800 Moteur + Helice

Controleur moteur

Centrale Xsense

Problèmes rencontrés

Caméra Ueye

Nous sommes globalement peu satisfait de cette caméra. Si la qualité des images est très bonne, les nombreux bugs liés au driver (version au 28/09/2009 pour linux: 3.25) et au bus USB gérèrent des problèmes pour l'acquisition des images. Certaines images sont erronées ou tronquées, d'autres sont complètement perdues, rendant l'uav aveugle pendant de courtes périodes de temps (de l'ordre de la ½ seconde). Les cadences d'images annoncés dans les documentations n'ont pas pu être atteinte avec le pc embarqué, sans doute à cause du bus de la carte mère trop lent (chipset VIA).

Problèmes de CEM

Des problèmes de Compatibilité Electro-Magnétique font qu'il n'a pas été possible d'opérer l'uav pour la mission de cartographie. Le principal problème vient de la cpu vision qui rayonne dans la bande de fréquence utilisée par les signaux GPS. Au lieu d'indiquer qu'il est brouillé, le GPS calcule une position erronée à laquelle il associe une bonne précision. L'autopilote, basant sa navigation sur les coordonnées GPS, ne peut détecter l'erreur et passer en mode failsafe (sans gps, pour atterrir en douceur), et génère des commandes erronées pour asservir sa trajectoire. C'est ce qui a conduit au crash de l'uav le 3 juillet 2009 à Muret. Des essais de blindage et de reconfiguration à bord du caisson sont en cours. Il y a aussi des problèmes avec le récepteur de modélisme qui est brouillé par le contrôleur moteur lorsque celui ci fonctionne, ce qui diminue la portée radio à quelques dizaines de mètres. La portée a été augmentée en plaçant une grosse capacité de découplage sur l'alimentation du récepteur et un tore de ferrite sur le fil de commande du contrôleur. Il faudrait encore l'améliorer pour pouvoir reprendre la main sur l'uav lorsqu'il est assez loin (plus de 100m). Une solution envisagée est l'emploi d'un ensemble radio numérique dans la gamme des 2.4ghz, mais il faudra vérifier qu'il n'y a pas de recouvrement de bandes avec les différents modems embarqués. Egalement, il faudrait soit que le récepteur 2.4Ghz dispose d'une sortie PPM non décodée soit qu'un adaptateur soit réalisé pour que l'autopilote puisse recevoir les informations.

descriptionmanta.txt · Dernière modification : 2021/02/19 21:20 de 127.0.0.1