Vous êtes sur la page 1sur 23

Rapport du mini projet :

Commande dun Robot laide dune carte DE2 avec FPGA Altera

Ralis par : S. J. M. E. H. S. EL O. Encadres par : Pr. M. C.

Sommaire
INTRODUCTION page 4

1. ANALYSE FONCTIONNELLE .......................................................................................................... page 5 1.1. Expression fonctionnelle du besoin (LE BETACORNE) .............................................................page 6 1.2. GRAFCET ............................................................................................................................page 7 2. DEMARCHE, OUTILS ET MATERIELS UTILISES ............................................................................ page 8 2.1. Dmarche de mise au point du programme ............................................................................page 9 2.2. Outils et matriels utiliss .................................................................................................... page 10 2.2.1 La carte FPGA ............................................................................................................. page 10 2.2.2 Langage utilis : VHDL ............................................................................................... page 11 2.2.3 Logiciel : Xilinx. .......................................................................................................... page 11 3. REALISATION DU PROJET : ...................................................................................................... page 12 3.1. Le Programme .................................................................................................................... page 13 3.2. Test Bench et simulation ................................................................................................... page 16 3.4. Implmentation et essais ................................................................................................... page 18 CONCLUSION ............................................................................................................................... page 19 BIBLIOGRAPHIE ........................................................................................................................... page 20 PROGRAMMES
COMPLETS

......................................................................................................... Annexes

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

Introduction :
Un mini projet en premire anne est trs important, dans le sens o il permet aux lves de dvelopper leurs connaissances en apprenant de nouvelles techniques dans un contexte inspir de celui existant en milieu professionnel. Notre mini projet consiste commander un robot suiveur de ligne laide dune carte DE2 avec FPGA Altera programme en VHDL. Le robot, ayant 4 capteurs (photodiodes) dtectant les limites du chemin prtabli, est sens suivre cette ligne sans drailler et sarrter son extrmit. Ce projet nous a permit dacqurir des connaissances relatives au monde de la robotique et la conception dun systme autonome que nous prvoyons dexploiter en ralisant dautres projets aussi ambitieux et innovants. Ce rapport prsentera les tapes et dmarches suivies tout au long de la ralisation de notre projet, dbutant par une tude fonctionnelle et aboutissant aux essais pratiques tout en passant par des processus de programmation et de simulation.

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

Analyse Fonctionnelle

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

1.1 Expression fonctionnelle du besoin : Diagramme Betacorne :


Utilisateur Trajet

Robot Suiveur de ligne

Suivre un parcours prtabli de faon autonome

Voici une manire simple de lire ce diagramme ; il rpond trois questions : - A qui le produit rend-il service ? Le produit rend service lutilisateur. - Sur quoi agit le produit ? Le produit agit sur le trajet quil doit parcourir en suivant la ligne jaune borde en noir. - Dans quel but ? Dans le but de suivre un parcours prtabli de faon autonome.

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

1.2 GRAFCET :
Pour faciliter lcriture de notre programme, nous avons essay dtablir le GRAFCET suivant afin de prvoir tous les tats possibles du fonctionnement du robot.

Vd=0

Vg=0

Vd=1

Vg=1

Vd=1 Vg=0

Vd=0

Vg=1

Lgende : Ag : capteur arrire gauche. Ad : capteur arrire droit. Dd : capteur devant droit. Dg : capteur devant gauche. Vd : vitesse de la roue droite. Vg : vitesse de la roue gauche.

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

Dmarche, Outils Et Matriels utiliss

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

2.1 Dmarche de mise au point du programme :


Afin dcrire le programme qui rendra le robot autonome nous avons suivi la dmarche suivante :

Saisie du programme en langage VHDL grce Xilinx.


Edition

Compilation

Traduction du langage VHDL en code machine (fait par le compilateur de Xilinx)

Simulation

Vrification du fonctionnement du programme: - tablissement du test bench - simulation avec le simulateur de Xilinx.

Implmentation

Implmentation du programme valid en simulation sur lFPGA De la carte DE2.

Vrification relle du fonctionnement.


Essai

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

2.2. Outils et matriels utiliss : 2.2.1 La carte DE2 avec FPGA Altera:
Le robot est command par une carte DE2 dcrite comme suit : Le processeur et son environnement sont intgrs dans un circuit logique programmable (FPGA) Cyclone II 2C20 d'Altera qui comprend 18000 cellules d'lments logiques (LE), 240 kbits de RAM et 315 ports d'entre sortie. Nous utilisons le kit de dveloppement DE2 d'Altera , qui dispose d'afficheurs 7 segments LED, de boutons poussoirs, d'une horloge 50 MHz, de connecteurs d'entres et sorties logiques, prsent limage suivante :

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

2.2.2Langage adopt : VHDL :


VHDL est un langage de description matriel destin reprsenter le comportement ainsi que l'architecture dun systme lectronique numrique. Son nom complet est VHSIC Hardware Description Language. L'intrt d'une telle description rside dans son caractre excutable : une spcification dcrite en VHDL peut tre vrifie par simulation, avant que la conception dtaille ne soit termine. En outre, les outils de conception assiste par ordinateur permettant de passer directement d'une description fonctionnelle en VHDL un schma en porte logique ont rvolutionn les mthodes de conception des circuits numriques, ASIC ou FPGA.

2.2.2. Logiciel utilis : ISE 9.2 XILINX :


L'outil xilinx project navigator permet la synthse du code vhdl (avec XST) et son implmentation (PAR). XST gnre une netlist au format edif (ou similaire ngo) qui n'est autre que la structure au niveau composants (vue RTL).Cette netlist ainsi que le fichier de contrainte sert de base l'outil de placement & routage (PAR).

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

10

Ralisation du Projet

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

11

3.1 Le programme en VHDL :


Daprs le Grafcet dj prsent, nous avons adopt lors de notre programmation une machine Mealy quatre tats, autrement dit, les 4 tapes du grafcet. Les entres sorties du robot sont : Entres : - clk : entre d'horloge. - reset : entre de remise zro. - Ad, Ag, Dd, Dg : capteurs devant et arrires du robot. Sorties : - Vd, Vg : vitesses des roues du robot.

Larchitecture est compose de 3 process : Le premier sert affecter ltat actuel ltat final chaque front montant de lhorloge, ou lui affecter ltape initiale sil y a une remise zro.

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

12

Le second sert affecter ltape future selon ltat des capteurs.

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

13

Et le troisime sert dfinir les actions effectuer par le robot selon ltat dfinie.

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

14

3.2 Test Bench et Simulation :


Aprs avoir synthtis le programme nous sommes passes la simulation en gnrant un test bench avec les squences suivantes :

Ci-dessous une capture de la simulation ralise:

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

15

3.3 Implmentation et essais :


La tche dimplmentation est bien plus consquente que la phase de synthse. Cest pourquoi nous avons veill valider le fonctionnement du systme en simulation avant de lancer cette tche. Elle a effectivement prit un temps important, et a t suivie par plusieurs essais pratiques.

Cette image montre que le robot tourne gauche avec sucs.

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

16

Ci-dessus le robot tourne droite.

Le robot sarrte effectivement au bout du chemin comme prvu.


Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications 17

Conclusion :
Commenant par lanalyse puis la conception et finissant par la ralisation notre projet a abouti au bon fonctionnement du robot, et ce grce a lencadrement prcieux de notre professeur et nos efforts et engagement. La ralisation de ce mini-projet nous a beaucoup appris que ce soit sur le plan professionnel, par de nouveaux acquis en matire de programmation et conception, ou sur le plan personnel, en sentrainant la gestion des conflits de lquipe et du stress des difficults rencontres. Aussi nous avons dvelopps des comptences qui nous serons utiles tout au long de notre cursus, et mme dans toute notre vie.

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

18

Bibliographie:
- Polycopi du cours de VHDL 2011, M. Khallaayoune, INPT. - Manuel des Tps en VHDL 2011, M. Khallaayoune, INPT. - Manuscrit auteur, publi dans Le 8e colloque CETSIS Grenoble : France (2010).

Webographie:
www.robotek.com www.scribd.com http://www.rennes.supelec.fr

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

19

Annexes

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

20

Programme VHDL :
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity robot is Port ( Dg,Dd,Ag,Ad: in STD_LOGIC; clk,reset : in STD_LOGIC; Vd,Vg : out STD_LOGIC); end robot; architecture Behavioral of robot is type etape is (etape0,etape1,etape2,etape3); signal etape_finale,etape_actuelle : etape; begin process(reset, clk) begin if RESET='1' then etape_actuelle<=etape0; elsif rising_edge(CLK) then etape_actu elle<=etape_finale; end if; end process; process (Dg,Dd,Ag,Ad,RESET,etape_actuelle) begin if reset='1' then etape_finale<=etape0; else case etape_actuelle is when etape0 => if (Dg= '0'and Dd= '0' and Ag='0' and Ad= '0') then etape_finale<= etape1; else etape_finale<= etape0; end if; when etape1 => if (Dg= '0' and Dd='0' and Ag='1' and Ad ='0') then etape_finale<= etape2; elsif (Dg='0' and Dd='0' and Ag='0' and Ad='1') then etape_finale<= etape3; elsif ((Dd and Dg) ='1') then etape_finale<= etape0; else etape_finale<= etape1; end if; when etape2 => if (Dg='0' and Dd='0' and Ag='0' and Ad='0') then etape_finale<= etape1; elsif ((Dd and Dg) ='1') then etape_finale<= etape0; else etape_finale<= etape2; end if; Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications 21

when etape3 => if (Dd='0' and Dg='0' and Ag='0' and Ad='0') then etape_finale<= etape1; elsif ((Dd and Dg) ='1') then etape_finale<= etape0; else etape_finale<= etape3; end if; when others => etape_finale<=etape0; end case; end if; end process; process (etape_actuelle) begin case etape_actuelle is when etape0=> Vd<='0';Vg<='0'; when etape1=> Vd<='1';Vg<='1'; when etape2=> Vd<='1';VG<='0'; when etape3=> VD<='0';VG<='1'; end case; end process; end Behavioral;

Test Bench :
LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.all; USE ieee.numeric_std.ALL; ENTITY tb_robot_vhd IS END tb_robot_vhd; ARCHITECTURE behavior OF tb_robot_vhd IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT robot PORT( Dg : IN std_logic; Dd : IN std_logic; Ag : IN std_logic; Ad : IN std_logic; clk : IN std_logic; reset : IN std_logic; Vd : OUT std_logic; Vg : OUT std_logic ); END COMPONENT; --Inputs SIGNAL Dg : std_logic := '0'; Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

22

SIGNAL Dd : std_logic := '0'; SIGNAL Ag : std_logic := '0'; SIGNAL Ad : std_logic := '0'; SIGNAL clk : std_logic := '0'; SIGNAL reset : std_logic := '0'; --Outputs SIGNAL Vd : std_logic; SIGNAL Vg : std_logic; BEGIN -- Instantiate the Unit Under Test (UUT) uut: robot PORT MAP( Dg => Dg, Dd => Dd, Ag => Ag, Ad => Ad, clk => clk, reset => reset, Vd => Vd, Vg => Vg ); tb : PROCESS BEGIN clk<='0'; wait for 20 ns; clk<='1'; wait for 20 ns; end process; Ag <= '0', '1' after 50 ns,'0' after 100 ns; Ad <='0', '1' after 250 ns,'0' after 300 ns; Dg <= '0'; Dd <= '0'; reset <='1' ,'0' after 100ns; -- Wait 100 ns for global reset to finish -- wait for 10000 ns; -- Place stimulus here -- wait; -- will wait forever END;

Mini projet : Commande dun Robot laide dune carte DE2 avec FPGA Altera. Institut National des Postes et Tlcommunications

23

Vous aimerez peut-être aussi