Professional Documents
Culture Documents
Sommaire
Introduction & Prsentation .......................................................................... 3 I. AR DRONE .................................................................................................. 4
1. 2. 3. 4. 5. Dfinition............................................................................................................................................... 4 Classification: ........................................................................................................................................ 5 Formules de VTOL-MAV exixtantes:...................................................................................................... 5 Les cellules a voilures tournantes ......................................................................................................... 6 PLenvironnement du drone ................................................................................................................. 8 5.1) Diagramme de bloc interne de lAR Drone ............................................................................... 9 5.2) Moteurs et nergie ................................................................................................................... 9
Page 1
Page 2
Les applications de l'Intelligence Artificielle des agents en interaction physique avec le monde rel sont confrontes au besoin de planifier des actions avec information incomplte par rapport l'tat du monde. Les applications vises dans nos travaux sont des missions de robotique arienne en environnement incertain. Dans ces problmes, la perception est un moyen d'acqurir de l'information sur l'environnement afin de mieux agir pour atteindre le but de la mission, mais elle ncessite aussi des dcisions et actions spcifiques de perception dans le but de recueillir l'information. Il s'agit donc de dcider pour percevoir et de percevoir pour dcider.
Dans ce rapport, nous allons voir quels taient les objectifs du mini-projet qui ont t fix, son environnement et ses tapes pour sa ralisation. Ainsi, lobjectif de ce projet est de permettre lAR drone de suivre, de faon autonome de dtecter la couleur rouge dans une image donne, il devra sarrter en allumant une LED. Pour cela, il faut dfinir quel sera le systme adapt pour acqurir des images, et appliquer des algorithmes de traitement dimage sur la carte, Ceci dfini les objectifs de ce projet.
Page 3
I AR Drone 1. Dfinitions
Il est intressant de lire ce que retiennent les dictionnaires pour dfinir un drone. Le Petit Robert nous apprend que le mot drone est apparu dans la langue franaise en 1954, il vient de langlais signifiant Faux bourdon. Lautre dfinition du Petit Robert indique que cest un petit avion de reconnaissance, sans pilote, tlcommand ou programm. Lencyclopdie Universalis propose une dfinition un peu plus gnrale. Elle indique quun drone (en anglais U.A.V. pour Unmanned Aerial Vehicle) est un vhicule arien sans pilote. Il peut donc faire appel au concept de lavion, de lhlicoptre voir de la fuse. Il sert, dune faon gnrale, pour des missions de surveillance du champ de bataille, dacquisition du renseignement ou de combat. Si le drone est dabord apparu pour rpondre des besoins militaires, il est aussi dsormais envisag pour des applications civiles comme dans le domaine de la surveillance de zones et dinstallations, dans lagriculture, etc...
Toujours selon les dictionnaires un drone est un aronef disposant dune ou plusieurs charges utiles ncessaires lobservation ou destines au combat (missiles, bombes). Gnralement, il est contrl et pilot partir de stations au sol, avec ou sans le relais des satellites, mais il peut aussi effectuer des missions de manire autonome. Dans lavenir, il est prvu dassister les drones par des systmes de contrle disposs sur des aronefs (poste de commandement volant ou avion de combat). Chargs dans leur majorit de lacquisition de renseignements, les drones disposent de diffrents capteurs oprant dans diffrentes longueurs dondes (domaines du visible, de linfrarouge ou des ondes radars). Ils peuvent aussi tre quips de moyens dcoute lectronique et de brouillage.
Aujourdhui lorsque lon parle de drone et de leur mise en uvre il est plus juste de parler de systme de drone. En effet, le drone fait partie dun systme qui est compos dun ou plusieurs vecteurs ariens, dune ou plusieurs stations sol de commande ainsi que de liaisons de donnes entre le vecteur et la partie sol. Il peut y avoir des drones terrestres, marins, sousmarins et ariens. On voit donc que la dfinition stend progressivement et englobe les nombreux systmes autonomes. Si on se restreint aux drones ariens on peut les classer en diffrentes catgories en fonction de leurs tailles aujourdhui trs varies : de quelques centimtres plusieurs mtres. Leurs formes galement, tout comme leurs types de propulsion : certains sont quips de racteurs, dautres dhlices, dautres encore utilisent des rotors, linstar des drones hlicoptres par exemple.
Page 4
2. Classification
La classification des drones est un exercice trs difficile, dans la mesure o elle est diffrente selon les pays. Cependant les drones ariens peuvent tre classs selon trois critres que sont laltitude de croisire, lendurance en termes de temps de vol et leur dimension principale. Dans ce cadre, le domaine oprationnel des drones peut se dcomposer en trois segments : les drones tactiques ; les drones de moyenne altitude et longue endurance (MALE) permettant dutiliser une charge utile de lordre de 100 kg ; les drones de haute altitude et longue endurance (HALE).
Le segment tactique se dcompose lui-mme en six segments : Les micro-drones (Micro Air Vehicule ou MAV), pouvant tre contenu dans une sphre de 30 cm ; Les mini-drones (Mini Air Vehicule ou MAV galement), pouvant tre contenu dans une sphre de 70 cm ; Les drones de trs courte porte (TCP) ; Les drones moyenne porte lents (multicharges multimissions ou MCMM lents) ; Les drones rapides basse altitude (MCMM rapides) ; Les drones maritimes tactiques (DMT).
Cela peut surprendre de distinguer en deux segments les micro-drones et les mini-drones, mais la diffrence dchelle entre les deux impose aujourdhui encore des contraintes fortes pour le choix des matriaux des capteurs et des systmes embarqus. Par consquent ces deux familles sont fortement diffrencies par lautonomie en vol et la qualit des contrles, cependant la miniaturisation des cartes lectroniques jointe laugmentation des capacits de calculs des mini-systmes embarqus tend rduire ces carts.
Page 5
Nous devons pour cela rappeler la notion de convertibilit applique aux mini-drones. Nous parlerons alors de deux familles de convertibles, ceux dont la convertibilit dcoule dune dformation mcanique (rotor basculant, tte basculante...) et ceux dont la convertibilit apparat par le basculement totale ou partiel de la cellule (Tail-sitter). Nous voyons alors que si nous prsentons des drones capables de vol en translation rapide et de vol stationnaire nous pouvons remplacer la famille des cellules voilure fixe qui sera englobe par les convertibles. Dans la suite de ce chapitre nous prsenterons donc les concepts les plus pertinents de mini drones classifis dans les deux familles de cellules voilures tournantes et de cellules convertibles. En pralable ce qui va suivre, on prsente sur la figure 2.1 les noms et conventions daxes de rotations qui seront utiliss.
Page 6
4.1 Les Quadrirotors Principe : Un quadrirotor consiste en une armature en croix symtrique avec des moteurs et
des rotors aux extrmits de chaque tige. Les rotors diamtralement opposs tournent dans le mme sens (fig. 2.8). Les rotors sont gnralement non articuls.
Translation Verticale : Le contrle vertical se fait par variation de la vitesse de rotation des
rotors. Pour un vol stationnaire, la vitesse de rotation est la mme que pour les 4 rotors, de faon ce que la pousse globale des quatre rotors compense le poids de lappareil. Pour changer laltitude, on fait varier identiquement la vitesse de rotation des 4 rotors.
Lacet : Le lacet sobtient par la diffrence de couple de frottement cre au niveau des rotors.
Il suffit donc daugmenter la vitesse de rotation de deux moteurs diamtralement opposs et diminuer la vitesse des deux autres moteurs. Ainsi la pousse globale est maintenue, mais il y a apparition dun couple rsultant.
Roulis & tangage : Le roulis et le tangage altitude constante sont obtenus de la faon
suivante : il faut faire varier la vitesse des moteurs des rotors diamtralement opposs. On augmente la vitesse de lun et on diminue la vitesse de lautre (On conserve la force globale oppose au poids). Le quadrirotor sincline du ct o lon a ralenti la vitesse du moteur et part dans cette direction.
Page 7
5. Lenvironnement du Drone :
Page 8
Page 9
Page 10
2) Circuit FPGA :
Field Programmable Gate Array (FPGA): circuit programmable compos dun rseau de blocs logiques, de cellules dentre-sortie et de ressources dinterconnexion totalement flexibles, ce circuit, qui ncessite un outil de placement-routage, est caractris par son architecture, sa technologie de programmation et les lments de base de ses blocs logiques.
Le FPGA est une version plus volue et offrant plus de flexibilit que les PLD. Ainsi souvent utilis pour crer un circuit intgr prototype dans la phase prliminaire du dveloppement d'un ASIC, et ceci en raison de sa facilit de programmation ce qui nous fait gagner le temps de dveloppement. Les FPGA sont composs des cellules programmables, les IOB et les CLB. Les IOB (Input Output Blocs) servent comme tampons aux entres/sorties du FPGA. Les CLB (Control Logic Blocs) sont des cellules programmables qui ralisent les fonctions combinatoires et squentielles de notre architecture implanter. La carte supporte trois modes de configuration la mise sous tension : Mode Master-Slave utilisant le PROM 4 Mbit, Un mode SPI utilisant la mmoire Flash sriel Un mode BPI utilisant la mmoire Flash parallle.
La carte peut aussi tre programme directement laide dun port JTAG lorsquelle est sous tension.
Page 11
a) Programmation de la carte
Le FPGA peut tre programm de deux faons: directement partir d'un PC en utilisant le port USB, et partir de la Flash ROM (la Flash ROM est galement programmable par l'utilisateur via le Port USB). Un cavalier sur la carte Nexys2 dtermine la source (PC ou ROM) du FPGA utiliser pour charger sa configuration. Le FPGA peut automatiquement charger une configuration partir de la Platform du Flash ROM la mise sous tension si le cavalier de mode de configuration est rgl sur "Master srie ". Si le cavalier Mode est rgl sur "JTAG", le FPGA attendra la programmation partir du PC (via le cble USB). Cest cette configuration quon adopte pendant le droulement des TP . Les cavaliers sur les cartes sont normalement dans les bonnes configurations.
Le logiciel Adept peut tre utilis pour configurer le FPGA via le cble USB avec n'importe quel fichier binaire slectionn appropri stock sur l'ordinateur. Alors le FPGA est configur, il le restera ainsi jusqu' ce qu'il soit remis zro par une rupture d'alimentation ou par une pression sur le bouton de rinitialisation du FPGA (BTNR). La Flash ROM conservera le fichier binaire jusqu' ce qu'elle soit reprogramme, indpendamment de la mise sous tension.
Mode de programmation
Page 12
b) Horloge :
La carte possde un oscillateur de 50MHz et une prise pour un seconde oscillateur la carte donne la possibilit de diviser cette frquence pour dfinir la phase de retard prcis et les relations entre divers signaux d'horloge.
loscillateur de la carte
les entres/sorties
Page 13
d) Port VGA :
La carte contient un port VGA pour laffichage sur un cran externe, ce port comporte 10 signaux : 8 signaux pour les couleurs : 3 signaux pour le rouge et trois pour le vert 2 signaux pour le bleu 2 signaux pour la synchronisation verticale et horizontale
e) La mmoire de la carte :
La mmoire est un lment trs dterminant dans le choix des cartes FPGA, dans le cas de notre carte les performances de la mmoire sont les suivantes : Une mmoire externe de type RAM de 128Mbits type MICROn M45W8MW16 cellulaire pseudo-statique organise en 16bits x 8Mbytes, fonctionne comme une SRAM asynchrone avec 70 ns de temps de cycle lecture/criture. Ou en tant que mmoire synchrone avec un bus de 80MHz. La ROM externe est un priphrique Intel 128Mbit organis comme 8Mbytes x 16bits. En interne, il contient 128 blocs qui peuvent tre individuellement effacs, et elle a les temps de cycle de 110ns en lecture, et 25ns en mode page pour les blocs. Il dispose d'un tampon d'criture interne de 32 octets qui peut crire avec des temps de cycle 70 ns, et la mmoire tampon 32-octet peut tre transfre la matrice de flash dans 218us (typique). Les deux circuits partagent le mme bus de 16 bits de donnes et le bus d'adresse de 24 bits.
Gestion de la mmoire
Le tableau suivant dcrit la rpartition de la mmoire selon les bus dadresse et les bus de donnes.
Page 14
Page 15
Chaque image numrique est constitue dun nombre donn de lignes. Chaque ligne comporte un nombre de point donns. Lensemble constitue une matrice. Ces points sont dnomms pixel (de langlais picture element et not souvent px). Chaque case de cette matrice contient des nombres caractristiques la couleur attribue au pixel.
1.2- Pixellisation
La pixellisation dune image, appele aussi dfinition, est le nombre de points la composant. Ainsi, toute image est constitue de la juxtaposition de points. Sur notre image fleur, nous avons 800 lignes comportant chacune 600 points soit un total de 480 000 points ayant chacun une couleur pour la reprsenter.
Image "fleur"
Page 16
En grossissant limage du fichier fleur avec un logiciel de d essin (paintbrush), on peut mettre facilement en vidence la pixellisation de limage
Ces types sont gnralement choisir lors dune numrisation par scanner ou lors de la configuration dun appareil photographique.
Page 17
2.1.2 Codage RVB Le principe consiste mlanger les 3 couleurs : rouge, vert et bleu (not RVB ou RGB en anglais). A laide de ces 3 couleurs, on obtient toute une palette de nuances allant du noir au blanc. A chaque couleur est associ un octet (donc 256 niveaux de luminosit) de chacune des couleurs fondamentales.
Un pixel couleur est alors cod avec 3 octets et on a alors la possibilit dobtenir possibilits de couleurs soit de lordre de 16 millions de couleurs diffrentes. On dit que les images obtenues sont en couleurs vraies . La qualit colorimtrique obtenue est celle dune photographie argentique couleur
Page 18
Ainsi le pixel de coordonnes (54, 51) (en haut gauche de limage dans le ciel ) a pour valeurs RVB respectivement (77, 118, 239). Il existe dautres formats de codage de la couleur (image palette 256 couleurs, mode HAM) pour lesquels on pourra se reporter utilement leur description en ligne sur Internet.
3- Formats dimage
Lors de son enregistrement une image est stocke suivant un format dimage prcis. Ce format doit permettre de stocker linformation de limage avec un minimum de perte dinformations. Il existe ainsi diffrents formats qui pourront favoriser soit la conservation de la qualit soit la diminution de la taille du fichier informatique. Le tableau suivant donne les principales caractristiques des principaux standards utiliss
Principaux formats
Page 19
4- Dtection de la couleur
La couleur est quelquefois utile dans certaines applications. On peut penser qu'une
application effectue un contrle de qualit au niveau de l'intensit de couleur sur un produit. On pourrait aussi utiliser la couleur pour permettre un robot de s'arrter lorsqu'il arrive un panneau de couleur rouge.
Pour ce faire, on convertit l'image d'un format BGR en format HSV ou format BINAIRE . On est plus intress ici travailler avec les valeurs des teintes et de la saturation qui nous permet d'obtenir la quantit d'une certaine couleur contenu dans un objet.
Malheureusement, moins d'avoir une tendue de pixel dont la couleur est uniforme, ce qui est rarement le cas surtout si l'image provient d'un dispositif de capture comme une camra, la binarisation ne donnera pas un bon rsultat si on utilise la technique du seuil. On rappele que dans cette technique, le seuil est une valeur qui nous permet de dpartager les pixels selon la relation suivante :
Pixel < Valeur du Seuil alors Pixel = 0 Pixel >= Valeur du Seuil alors Pixel = 255
Pour la couleur, il faut plutt se donner un intervalle dans lequel le seuil se situera. Ainsi la relation est plutt la suivante : H tolrance <= Hpixel < H + tolrance && S - tolrance <= Spixel < S + tolrance. H : valeur de la teinte (Hue) S : Valeur de la saturation (Saturation) La valeur de tolrance nous permet d'obtenir cet intervalle dont nous parlions prcdemment. La valeur pour la teinte et la saturation dpend de la couleur que l'on veut rechercher. O
Page 20
1) tapes de l'algorithme
Acquisition des images (trames de la video) Le principe du tout traitement vido est de procder une analyse du flux image par image.
Conversion
On doit convertir l'image (trame) qui est en BGR en HSV (Hue, Saturation, Value). La reprsentation en HSV nous permettra de se baser sur un canal ou deux : la teinte et la saturation de la couleur, sans prendre en compte la brillance (V value), se qui permet alors d'liminer les problmes lis l'clairage.
Binarisation
La binarisation consiste placer les pixels de l'image dans deux classes distinctes, gnralement reprsentes par deux couleurs, le blanc et le noir. la premire classe correspondra la couleur isoler, la seconde toutes les autres couleurs
Page 21
Ainsi, si la couleur de l'objet slectionn est le rouge, nous verrons sur notre image binarise tous les lments rouges apparatre en blanc sur un fond noir.
Le Masque
Crer un masque pour slectionner les pixels qui peuvent appartenir l'objet en se basant uniquement sur leurs valeurs HSV. Thoriquement, nous devons mettre en blanc tous les pixels ayant les mmes valeurs HSV que notre couleur. Pratiquement, le rsultat ne serait pas trs convaincant et nous ne rcuprerions que quelques pixels. Il faut rechercher les pixels qui se situent dans un intervalle autour de cette couleur, nous utiliserons alors une valeur de tolrance pour les valeur de teinte et de saturation uniquement.
Page 22
Slectionner Single Port ROM puis Next , on crera une mmoire de 8 x 40001, Next ltape 4, slectionner, dans Load File, le fichier valeur.coe Puis Next jusqu ltape 6, choisir Generate
Page 23
4) Sous-programmes de lalgorithme
Page 24
Page 25
Page 26
---------------------------------------------------------------begin u1 : horloge_25Mhz port map(clk=>clock,reset_h=>reset,clk_25=>sig1); u2 : memoire port map(clka=>sig1,addra=>sig2,douta=>sig3); u3 : lecture port map(clk_lec=>sig1,rst=>reset,adr=>sig2); u4 : detection port map(clk_d=>sig1,donnee_IN=>sig3,led=>LED_OUT); pix_out <=sig3; end Behavioral;
2me Solution:
Page 27
6) Simulation du programme
Programme de testbench : LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL; LIBRARY UNISIM; USE UNISIM.Vcomponents.ALL; ENTITY schema_montage_schema_montage_sch_tb IS END schema_montage_schema_montage_sch_tb; ARCHITECTURE behavioral OF schema_montage_schema_montage_sch_tb IS COMPONENT schema_montage PORT( reset: IN STD_LOGIC; clock : IN STD_LOGIC; pix_out :out STD_LOGIC_VECTOR (7 downto 0); led_out : OUT STD_LOGIC); END COMPONENT; SIGNAL reset : STD_LOGIC; SIGNAL clock : STD_LOGIC; SIGNAL led_out : STD_LOGIC; signal pix_out : STD_LOGIC_VECTOR (7 downto 0); -- Clock period definitions constant clock_period : time := 10 ns; BEGIN UUT: schema_montage PORT MAP( reset => reset, clock => clock, led_out => led_out, pix_out => pix_out ); -- Clock process definitions clock_process :process begin clock <= '0'; wait for clock_period/2; clock <= '1'; wait for clock_period/2; end process;
-- Stimulus process reset <= '1' after 100 ns, '0' after 300 ns; END;
Page 28
Si la simulation est effectue mais dans le cas ou elle ne dtecte pas la couleur rouge la LED reste teinte et le testbench naffiche aucun changement (LED_OUT=0)
ainsi on voit que vraiment la LED est teinte dans la carte FPGA
Page 29
Page 30
Conclusion
Ce projet a t enrichissant, car nous avons pu acqurir plusieurs connaissances intressantes que ce projet a pu rassembler, savoir : le traitement dimage, linformatique industrielle ou plus prcisment le dveloppement VHDL. Pour arriver au rsultat obtenu, on peut citer de nombreux problmes: Notamment au niveau de la dtection de couleur dans une image qui ncessite un traitement puissant. La limitation de la carte Spartan 3 au niveau de la mmoire Enfin, titre indicatif que ce domaine est ouvert la recherche, on trouve pas mal de publication sur internet de thses qui travaillaient soit dans le sens de rnovation soit dinvention de nouvelles techniques et algorithmes.
Page 31
Rfrences
Page 32