Home

Rapport - ENSTA Bretagne

image

Contents

1. B 12 Le cahier des charges ne sp cifie pas uniquement les entr es sorties D autres caract ristiques concernent directement le programme a Le syst me doit tre capable de red marrer tout seul Le fait que le programme red marre tout seul est ici d au choix de la structure dans un microcontr leur une fois aliment le programme s ex cute En revanche dans l ventualit d une autre structure ce point est crucial pour un bon fonctionnement de l ensemble b Le syst me ne doit pas tester bloqu en attente Comme nous venons de le voir le syst me doit dialoguer avec des composants ext rieurs comme les capteurs Ce dialogue est parfois double sens le syst me doit interroger le capteur et attendre sa r ponse Si par erreur le capteur venait ne pas r pondre ou que le microcontr leur ne d tecte pas la r ponse ce probl me peut arriver de temps en temps avec la liaison rs232 il ne faut pas que le syst me reste bloqu Il faut donc faire attention au temps consacr l attente pour les r ponses Il faut viter la possibilit d entrer dans une boucle infinie Afin de parer ce type de probl me j ai choisi d utiliser tout au long du programme un timer chien de garde Ce timer pr sent dans les PICs fait red marrer le syst me s il n est pas r initialis suffisamment souvent Ainsi si le syst me venait rester en attente d une r ponse qui n arri
2. 46 le du incipa D roulement de la boucle pr rogramme sd mode autonome seno servomoteur de voile servo servomoteur de gouve me 5i q ct Yt M g E a 5 4 5 al S 8 I s k Aa 2 l 1 z I ir I 4 I 2 8 M I 9 5 I z E I a i E A Eee 1 Im g I I I 4 I I a I 1 I I 5 18 I 2 8 18 E l z 3 gr e 4 z I Bie 25 3 s 214 le si I 4 218 z m5 3 i8 I 13 I I f Vg I 16 I re Nc Y 5 g c s 5 51 E al I 8 I 8 eae ee rece esce esc eie e e sss I x I amp I i a K 20 servo 0 19 18 set_servo I I I I I I I I E utpote reme O i I i E le 3 3 sz 19 Bel 5 Se al xi s 9 el Is 3 Li E a 34 e 8 ep p8p ab 0
3. e 00000 00010 50020 80030 00 60040 D D e m ce cC ce e Latitude bou e 1 Longitude bou e 1 Angle de validation bou e 1 L adresse 0x00 contient le nombre total de bou es L adresse 0x01 contient le num ro de la bou e viser Les adresses de 0x02 0x09 ne sont pas utilis es pour le moment A partir de 0x10 sont enregistr es les bou es Elles sont cod es sur 16 bits Les 4 premiers sont la latitude MSB LSB Les 4 suivants sont la longitude MSB LSB Les 2 derniers sont l angle de validation de la bou e MSB LSB Les auttes bits ne sont pas encore utilis s 21 Cette organisation est personnelle mais elle s av re tr s pratique utiliser car elle facilite l criture des fichiers contenants les positions des bou es partir de la deuxi me ligne chaque ligne correspond une bou e Afin de pouvoir les enregistrer dans la m moire il faut soit utiliser le logiciel PICKit2 et modifier chaque fois la main les valeurs soit modifier le fichier lt Base 24AA1024 hex gt avec un diteur de texte puis le charger dans la m moire 2 3 3 Les etreuts commises La programmation est une activit fastidieuse et personne n est l abri d une erreur de frappe ou de syntaxe Mais les erreurs de code de sont pas les seules erreurs que j ai commises lors de la r alisation de ce projet Un des points les plus vuln rables de la programmatio
4. EEPROM Data 5 pour charger un programme aller dans File et s lectionner import Hex pICkit 2 Programmer File Device Family Programmer Tools View Import Hex Export Ctri4E 1d Projet Induslboude terrain foot hex Cti 1 bugayPlateforme contourner point hex Ctri 2 buggyPlateforme rejoindre point hex Ctri 3 ojet Indus buggy buggyPlateforme hex MiCROCHIP VDD PICkit 2 On MCLR Enabled Hex Only 3 Source Empty Erased 0000 FFFF FFFF FFFF FFFF FFFF 0010 FFFF FFFF FFFF FFFF 0020 FFFF FFFF FFFF FFFF 0030 FFFF FFFF FFFF FFFF FFFF 0040 FFFF FFFF FFFF FFFF FFFF 0050 FFFE FFFF FFFF FFFF FFFF 0060 FEFE FEFF FFFF FFFF FFFF 0070 FFFF FFFF FFFF FFFF FFFF 0080 FFFF FFFF FFFF FFFF FFFF 0090 FFEF FFFF FFFF FFFF FFFF 0040 FFFF FFFF FFFF FFFF FFFF 0080 FFFF FFFF FFFF EEPROM Data Enabled HexOny v FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF Ee FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ly PICkit 2 Apr s avoir charg le fichier cliquer sur Write pour le charger dans la m moire Si l op ration a r ussi le message programming successful apparait sur font vert ement Sch ma de la carte de d velo MUSNNOD 219 9OHd NN
5. est vu par le syst me comme le point viser et oriente le bateau dans sa direction Gr ce ce type de programmation il n y a qu une seule boucle la boucle principale Le syst me atrive ainsi rejoindre une bou e la contourner et la valider et ce sans utiliser d historique ni d itin raire calcul Les diff rentes caract ristiques d finies par le cahier des charges sont tout fait respect es 19 2 3 Le code 2 3 1 Organisation des fichiers Afin de faciliter l utilisation du code j ai d cid de le r partir dans diff rents fichiers Chaque composant utilis a son propre dossier comportant ses drivers Au d but de ces fichiers les l ments d finir pour utiliser le composant ex affectation des pins constantes sont mis en commentaire Ces l ments d pendent du projet et doivent obligatoirement tre d finis dans celui ci Afin de pouvoir modifier facilement ces param tres et les utiliser dans diff rents tests je les ai rassembl dans un fichier configuration h Ce fichier joint l ensemble des liens vers les drivers et leurs param tres Il contient galement la configuration des fusibles du PIC et les variables globales Gr ce ce fichier il est facilement possible de changer de plateforme de test du moment que la carte lectronique reste la m me Pour chaque test r alis un fichier c a t cr comporte la fonction principale et un appel au fichier commun configura
6. one ae ate 1 5 ala 2 l aa 14 Vg El 3 I I 8 M s 53 Y I ig sz M 5 5 8 18 I E SZ oa B X zi 3 sl s 8 s al 1 I I 5 _ SS 3 pL 4 amp a l y I si x pg I i E a 3 8 M I FEN 8 I i J J 8 pg I E E 7 EE gl I I gg e i I i 12 I 1 I i 1 11 val 529 Ns 47 Algorithmes des logiques Logique de contournement de la bou e separate int16 direction bouee int32 distance boueejntl6 angle direction boueejnt1 sens direct 1 float32 angle diff rapport int16 angle rapport distance_bouee if distance_bouee 0 if rapport gt rayon tapport rayon rapport else 1 angle diff asin rapport 1800 angle diff PI if sens direct hoix angle 3600 angle direction bouee angle diff else angle 3600 angle direction bouee angle diff angle 3600 return angle Logique de gestion du vent separate intl logic_direction_vent int16 direction_a_suivre int16 direction_du_vent int16 direction_du_bateau int1 sens_direct intl vent_a_babor vent_a_gauche vent gauche int16 angle diff dir angle diff bateau angle temp valeur absolue de nele entre le vent et la direction Neon a_suivre gt du vent ang
7. Le syst me classique est la mise en place d une logique d approche de la bou e mais ce syst me demande l encore l existence d un historique et la pr vision du parcours deux l ments que je cherche viter Il a donc fallu que je mette en place une fonction qui soit valable quelque soit la position relative du bateau par rapport la bou e Pour l instant mon syst me est capable de s orienter ver un point J ai donc d cid de mettre au point une fonction qui calcule en permanence un point fictif viser le point d pende directement de la position du bateau par rapport la bou e Mais l approche de la bou e les impr cisions GPS g nent la navigation et peuvent faire passer le bateau du mauvais cot de la bou e Il faut donc trouver une fonction capable de palier ce probl me Apr s de nombreux essais infructueux j ai fini par en trouver une elle consiste chercher en permanence atteindre la tangente un cetcle ayant pour centre la bou e Si le rayon est bien dimensionn pour compenser les erreurs GPS le bateau contournera la bou e sans avoir utiliser d historique ni sans avoir calcul un itin raire En r alit je me suis bas sur le comportement des marins m me s ils calculent leur trajet chaque instant ils visent un point fictif afin de garder le bon cap 17 Pour valider la bou e le syst me utilise un angle entre la position du bateau et le nord de centre la bou e Cet angle est enre
8. alit que tr s peu de fabricants de capteurs Il s av re par exemple qu il n existe sur le commerce que deux composants boussoles Les appareils vendus dans le commerce int grent forc ment un deux ces deux mod les tout du moins pour les appareils prix raisonnable 24 Apt s de nombreuses recherches et tudes de documents techniques la liste des composants fut tablie Le microcontr leur PIC18F2550 sur plateforme 2V 5 5V le GPS FV MS8 RS232 3 3 5V la m moire 24 1025 2 2 5V 5 5V la boussole HMC6352 12c 2 7V 5 2V typique 3V l metteur HF Adeunis RS232 4 5V 36V r gulation de la tension TEN25 1211 entr e DC 9V 18V sortie DC 5V Pour la commande des setvomoteurs des syst mes existent mais j ai choisi de r aliser personnellement partir de deux PIC16F628 de sorte pouvoir rajouter des fonctions telles que la d tection automatique de la prise de commande manuelle En revanche aucune girouette simple n a t trouv e Apr s avoir contact diff rents centres un laboratoire nous a propos de nous en pr ter une Mais apr s plusieurs demandes pour r cup rer la girouette promise nous avons appris que le laboratoire demandait en change une tude complete de celle ci ce qui n tait pas r alisable pat les membres de l quipe manque de temps et de connaissance en la mati re Nous nous retrouvons donc sans girouette La technique alors envisa
9. mes rencontr s et faire par de nos exp riences Les discutions se font en Anglais 33 English presentation Microtransat challenge The challenge The Microtransat challenge is an international challenge which consists of a transatlantic race of fully autonomous sailing boats Nobody has already done it That 1s why it is a real challenge The aim of this challenge is to stimulate the development of autonomous boats In the future such automatic sailing boats could be able to collect an unlimited number of data of measures from world s lakes and seas without other energies than solar energy what could allows them to survey or to map zones alone for a long times Microtransat in ENSIETA A Microtransat team was created this year in ENSIETA by Luc JAULIN As it is a new project we ate not able to take part of this challenge yet we have no boat and we have any experience That is why we chose to take part of another competition the World Robotic Sailing Championship The aim of this competition is to meet other Microtransat challengers In this way we could share ideas and results of our experiments During this competition we will test our boat in less harsh environments Normally we will be ready for this summet My industrial project s objectives My industrial project was created in this context and presented several objectives The first was to help to start this project what means to create the team and to w
10. 2 Programmation s quentielle Afin de mettre en place un programme coh rent avec le projet j ai continu tudier le cahier des charges et la navigation la voile Pour cela j ai rencontr plusieurs sp cialistes du domaine Au travers de leurs t moignages j ai pu comprendre les bases de la navigation Je me suis inspir des m thodes qu ils utilisent pour r aliser mon programme Tout d abord la premi re chose vidente mais essentiel il faut savoir diriger le bateau Comment contr ler un voilier quand on ne sait pas l orienter dans une direction donn e C est sur ce principe tr s simple que j ai commenc mon programme Une fois cette fonction valid e par plusieurs tests j ai continu faire volu le programme le syst me peut maintenant rejoindre un point connu Pour cela le syst me doit tre capable de se situer dans l espace et de calculer dans quelle direction est le point viset puis il doit tre en mesure de s orienter Le programme ayant ainsi volu et est devenu S orienter vers le point 15 Apt s avoir valid cette pattie par de nombreuses exp riences le syst me est maintenant capable de connaitre sa position de connaitre son orientation et de se diriger dans la direction d un point Ce programme serait parfait pour un v hicule terrestre pouvant se d placer par ses propres moyens Hors pour notre projet de voilier le syst me de prop
11. 2 3 3 E es etreuts eerte noe terea cep ene iu ak ete ae eau do 22 3 R alisation de l architecture lectronique implantation et tests 24 3 1 Choix des Composants accettate eee tee eng ie ees Oh ree Pr tens 24 3 2 Pr sentation de l plateforme e tee co tet iet edat 26 3 3 Mise en place des tests et r sultats sestertia e ee net 28 31 OH STONER 32 01 a ME ME 33 English presentat Onein 34 ANNEXES a RED OH RA PB PPAR ARR RON tt d 36 MANUEL D UTILISATION teste kk hne tet ea e tet e Xx Regen he te hit erae 37 Sch ma de la carte de d veloppement sse nennen nennen 44 Sch ma de la carte de commande des S sise 45 Cablag des connecteurs tanches hn Wahl vhs aon taal eae Be dda 46 D roulement de la boucle principale du programme 47 Algorithimes des logiques t rte eee e ern tere tre ai teer T en rd durae 48 Logique de contournement de la bou e ns 48 Logique de pesti n du vent i ose eue diei etd Te 49 Les diff rentes liaisons entre les l ments sise 50 Introduction En plusieurs si cles la travers e de l atlantique est devenue courante Mais elle n en est pas pour autant plus vidente et constitue encore un v ritable d fi pour les petites embarcations Dans le but de faire vo
12. la plateforme lectronique Apr s plusieurs r unions et expos s visant d fendre l une ou l autre des propositions il fut finalement d cid d adopter la solution des microcontrdleurs tout du moins pour le concours En plus des avantages cit s pr c demment elle reste celle que je maitrise le mieux 1 3 Gestion de projet Une fois le projet mis en place l quipe constitu e les taches r parties les objectifs d finis le cahier des charges r alis et le choix de l architecture valid j ai d cid de r aliser un emploi du temps de mon projet en me fixant des objectifs interm diaires cours terme Grace cela j ai pu surveiller mon avancement et viter de prendre du tetatd Etant seul travailler sur la r alisation de l lectronique j ai du choisir une organisation tr s lin aire comme nous allons le voir Voici le fichier Microsoft Project r alis au d but du projet Les trois tapes cit es ci dessus correspondent aux trois grandes patties GANTT r alis au d but du projet Nom de la t che Duration Start february March April May June Ju 02 02 0902 16 02 23 02 02 03 09 03 16 03 23 03 30 03 06 04 13 04 20 04 27 04 04 05 11 05 18 05 25 05 01 06 0806 15 06 22 06 29 0 definition des objectifs et analyse des solutions techniques 45 days 03 02 09 ypae p choix des compo
13. le HAUT 38 3 Lancer le programme PICkit 2 v2 60 E 4 Aller dans Device Family et s lectionner PIC18F PICkit 2 Programmer DeviceFamily Programmer Tools View Baseline Midr Se E AD Chip Select E V A1 Chip Select PICiSF PICI8F I PIC18F_K_ ale Microchip dsPIC30 VDD PICkit 2 dsPIC30 SMPS PIC32 KEELOQ HCS EEPROMS MCP250xx Blank Check Projet Indus boucle terrain foot hex 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 on 00 00 90 00 00 00 00 00 00 90 00 00 00 00 00 00 Auto Import Hex Witte Device Read Device Hex Fie PICkit 2 Une fois le PIC d tect le programme indique PICkit 2 Programmer File Device Family Programmer Tools View PIC18F Configuration Device PIC18F2550 Configuration 0500 1FIF 8300 0085 User IDs FF FF FF FF FF FF FF FF EEE Checksum 8358 pas device found LAN MICROCHIP sense 00 2 On s 905 v Enabled Hex Only _ Source None Empty Erased 0000 FFFF 0010 FFFF 0020 FFFF 9030 FFFF 0040 FFFF 0050 FFFF 0060 FFFF 0070 FFFF 0080 FFFF 0090 FFFF 0029 FFFF OBO FFFF EEPROM Data E Auto Import Hex v Enabled HexOny Write Devi 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF Read Device 10 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F
14. tout fait d accord sur le fait que la solution du PC embarqu avait fait ses preuves comme le montre la r ussite du projet SAUCE Cependant je reste perplexe sur la fiabilit dans le temps De plus ce syst me consomme beaucoup et est relativement fragile deux points tr s n gatifs par rapport au cahier des charges La solution du PDA n tait mon avis pas encore adapt e En effet utilisant quotidiennement ce type d appareil j ai fait de nombreuses tentatives de stabilisation du syst me avec l aide de d veloppeurs sp cialistes dans ce domaine je ne peux que constater une tr s forte instabilit dans le temps J ai donc d fendu ma proposition savoir celle base de microcontr leur Elle est loin d tre parfaite mais r pond au mieux aux exigences du cahier des charges en particulier la fiabilit dans le temps et la faible consommation En revanche le syst me tant fabriqu l cole il est l tat de prototype Son unicit en fait un point faible il ne peut pas tre trouv tel quel dans le commerce pour le changer rapidement en cas de d faillance De plus la puissance de calcul est relativement faible mais reste suffisante pour notre objectif de concours N anmoins pour la travers e de l atlantique le syst me aura s rement besoin d une d intelligence artificielle beaucoup trop complexe pour tre implant e dans un microcontroleur Il faudra alors remettre en question ce choix pour l architecture de
15. 16 06 09 CHALLENGE MICROTRANSAT RAPPORT DE PROJET INDUSTRIEL ENSIETR ENSI 2010 Pierre Henri REILHAC Table des mati res ROUE E re ee enm 4 T Miscen place du Dojo na Ronnie 5 1 1 D finition des objectifs et cahier des charges ss 5 11 1 Mise En place de l quipe sunan na een ete 5 1752 D finition des objectifs ss sus prete rame amies Raae PEREN ES Eon 6 1 1 3 R alisation du cahier des ch tges 4 rere tre rettet eres 6 1 2 Recherche des diff rentes solutions techniques et choix de P lectronique 8 1 24 Diff rentes solutions envisag es 8 1 2 2 Chorx d Solo e na QUY geo sated ete een 9 1 3 Gestion de projet tiere nm e e epe ate Gis te tege iced tea nies 10 1 3 1 D finition des objectifs et analyse des diff rentes solutions 10 1 32 Phase de test xs doet eee 11 1 3 3 Phase finale implantation dans le voilier ss 11 2 R alisation du pr stramme cea aieo baa a uo OR AP MR ADR pH 12 2 1 Du cahier des charges aux choix pour le programme enn 12 2 2 Programmation s quentielle deett ater dr iater 15 2 3 Le Code ier DIE mee 20 2 3 1 Organisation des fichiets unas sansa pee c cett niet dentis 20 2 3 2 LE encodape des dorin es oe ite RR ec erit oe 20
16. F Export Hex File 20 FF FF FF PE PE FF TE 30 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF PICkit 2 5 pour charger un programme aller dans File et s lectionner import Hex 2 Programmer Device Family Programmer Tools View Import Hex Ctrl I Export Hex Ctri E 1 8300 0085 idiV ProjetIndusboudeteranfoothex Cti i Se buggyPlateforme contourner point hex Ctri 2 3 d buggyPlateforme rejoindre point hex Ctri 3 4d ojet Indus buggy buggyPlateforme hex Ctri 4 MiCROCHIP Exit Ctrl Q VDD PICkit 2 n Write Very Blank Check PE 50 Program Memory Enabled Source None Empty Erased 0000 FFFE 0010 FFFF 0020 0030 FFFF 0040 FFFF 0050 FFFE 0060 FFFF 0070 0080 FFFF 0090 EFFF 0040 FFFF 00 0 FFFF EEPROM Data spas Enabled HexOny v Wrte Devi 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF A Read Device 10 FF FF FF FF FF FF FF FF FF FF FF FF FF FF File Soe EF EF FE EFF FE TE EF FE FE FF FE FF EF EE 30 FF FF FF FF FF FF FF FF FF FF FF FF FF FF PICkit Apr s avoir charg le fichier cliquer sur Write pour le charger dans le PIC Si l op ration a r ussi le message programming successful apparait sur font vert II Programmation de PEEPROM 1 Conn
17. OD L O d3s XL O d3S XH Mod d33 aan And X87394 Ad XL Sd aon SdS9 xu Nid SdoxL vas 125 ZB Nid EB Nid 8 Nid Od And X87390 Ad XL a 9d m n iH 184545 IMS 0552421208 ee p divalaw douam awa ni BS A WOdHDYSBa a ddSSOU DULL NS B ay l 191250 Od Zd 0 5 ONAZ LNUSNMIZBH V In 12504125 LLNUDI NPL Bd OSI OS NICO 1091 S49xL lt a RL TE onzo Pa M29298 ANCCINIGAYSS Nol ur sdoxu gt tar ADL OLIDI SOLA 5 maar HI3SAENSEVH lt J 3t onsas xy gt e 1199794 J3HA2 J3H VENWZVH QuasxL lt J HS IONTZ MO d33 p P1D11 05011098 ON 091 1915349 5 gt gt uwxdxp aod lt ANd xaraod gt mod gt Nid gt Nid gt 125 was lt gt 1091 2091 VM vA d 3 8 44 Sch ma de la carte de commande des servomoteurs TUSNNOD 15011284 amp 11 21 9210705010984 einn Zd OTH IALA Hd f DEN WETH 522 20 00 z H H ONT NHI 2650 v 7229391210 1501 184 121 070501 7984 584 ADUTZ l xa Ba CAL OTH 2L rv Vd f YE NS vd Jdu VcN W H LATIS O ND112 1 35018 45 C blage des connecteurs tanches Face avant Face arri re
18. Sailing Championship Le travail important a t r alis par l ensemble de l quipe Il pourra servir de base pour les prochains concours les diff rentes plateformes de test qui ont t r alis es permettrons en particulier de gagner beaucoup de temps dans le d veloppement En revanche le programme embarqu sera modifier et am liorer en fonction de nos r sultats et de nos retours d exp rience du concours Le voilier sera lui aussi en permanente volution afin de palier au mieux aux diff rentes difficult s que nous rencontrerons 31 Conclusion Le challenge Microtransat tait nouveau pour ENSIETA Comme nous venons de le voir au cours de ce rapport cette nouveaut m a permis de participer pleinement la mise en place de ce projet comme cela se ferait dans le monde professionnel J ai pu ainsi adopter le comportement qu aurait un ing nieur dans cette situation j ai commenc par analyser le probl me propos puis j en ai extrait des probl matiques afin de r diger un cahier des charge J ai ensuite envisag plusieurs possibilit s envisageables je les ai confront s et j ai fini par choisir la mieux adapt e nos besoins Enfin je suis pass la r alisation concr te de l ensemble de l lectronique Gr ce ce projet j ai pu participer l ensemble de la chaine de d veloppement en partant d un concept en passant par l analyse des probl mes et la recherche de solution et en finissant par la r
19. alisation du prototype et ses tests Ce projet a tout fait r pondu mes attentes et ce sur plusieurs points Tout d abord parce qu il rassemblait mes deux passions le mod lisme et l lectronique De plus ce projet tant nouveau il m a permis de concevoir un nouveau syst me une activit que je recherche tous les jours dans diff rentes r alisations personnelles Enfin il m a permis d en apprendre davantage sur le travail en quipe En effet jusqu pr sent dans beaucoup de travaux en groupe les diff rents membres avaient le m me niveau de responsabilit Ici ce n tait pas le cas je faisais parti d une quipe avec une hi rarchie Bien qu autonome sur la r alisation de l lectronique j ai tout de m me respect cette hi rarchie en pr sentant les grands axes de mes d veloppements mes encadrant et en les justifiants afin qu ils soient approuv s Cette exp rience est mon sens tr s importante pour un futur ing nieur Nous devons savoir faire preuve d initiative et de prise de position savoir d fendre notre travail mais aussi savoir couter et tenir compte des remarques et des arguments des autres pour parvenir un r sultat optimum 32 Bibliographie Livres Programmation en C des PIC Auteur Christian TAVERNIER Editeur DUNOD Ce livre m a servi de r f rence pour la programmation des PIC PIC CMU C Compiler Auteur CCS Manuel de r f rence du compilateur PICC CCS il m a permis de r sou
20. ante pour contenir un programme cons quent ainsi que diff rentes liaisons pour communiquer avec les autres l ments dont la liaison s rie la liaison i2c et la possibilit d utiliser un port USB esclave De plus ce composant consomme relativement peu d nergie et peut travailler dans une grande fourchette de tension d alimentation 2V 5 5V La plateforme aura donc comme base une plateforme de test pour le PIC18F2550 Une fois le microcontrdleur choisi il faut chercher les diff rents l ments pour r pondre au cahier des charges en v rifiant leur compatibilit avec le reste des l ments Pour cela j ai consult plusieurs sites Internet d crivant la r alisation de robots J ai pu ainsi orienter mes recherches vers certains fabricants et revendeurs pour trouver les composants adapt s Apr s avoir traduit le cahier des charges en capteurs j ai obtenue la liste des composants chercher un r cepteur GPS une m moire externe non volatile une boussole une girouette un metteur r cepteur de donn es longue port e un syst me de commande pour les setvomoteurs un r gulateur de tension Ces composants lectroniques doivent consommer le moins possible et doivent pouvoir fonctionner dans une fourchette d alimentation la plus grande possible typiquement 3V 5V Il existe beaucoup de syst mes complets grand public Mais il est difficile de trouver uniquement les composants lectroniques Il n existe en r
21. chir sur les diff rentes approches possibles pour r pondre au probl me Suite cela nous avons fix le choix de l architecture Vient alors le choix des composants et la r alisation de la plateforme ainsi que le codage des drivers A la fin de cette phase nous avons clairement nonc le probl me nous avons analys et fix les diff rents objectifs atteindre nous avons choisis et r aliser une structure pour le d veloppement du projet 10 1 3 2 Phase de test Une fois la structure r alis e il a fallu passer la programmation et la mise en place du programme Au cours de cette phase j ai analys le comportement d un bateau jai tudi la navigation voile J ai aussi du tester les diff rents composants et v rifier leurs sp cificit s ex GPS boussole Suite cela j ai cherch une architecture adapt e pour le programme Le bateau n tant encore op rationnel il a fallu cr er des plateformes pour tester les diff rents l ments du projet Cette partie a donc eu pour objectif de valider les diff rentes solutions s lectionn es et de simuler les logiques de comportement du bateau approche d une bou e logique vent 1 3 3 Phase finale implantation dans le voilier Cette derni re phase est l aboutissement du projet la plateforme lectronique est mont e sur le bateau Il faut l adapter et tester les diff rentes fonctions Il faut modifier certains param tres et mettre au point les derniers r
22. cours pourront tre modifi es jusqu au dernier moment 26 Implantations des diff rents l ments dans le boitier tanche Connecteur Connecteur girouette transmission de donn es Boussole n jx lene R gulateur TE de tension 5T Connecteurs de programmation 27 3 3 Mise en place des tests et r sultats Une fois la r alisation de la plateforme de d veloppement finie j ai mis en place une s rie de tests afin de pouvoir d velopper correctement le programme Pour cela j ai d r diger des sc narios afin de pouvoir tester exactement ce que je souhaitais sans tre g n par d autres probl mes qui n avaient pas encore t r solus Le voilier tant en cours de construction il ne pouvait pas servir directement de plateforme de test De plus les tests sur le bateau n cessitent un plan d eau et une connaissance suffisamment avanc e du syst me pour viter tout probl me ce que nous ne poss dons pas encore Les premiers tests ont tout d abord t r alis s uniquement avec la platine de d veloppement ces tests avaient pour objectif de v rifier le bon fonctionnement des diff rents drivers J ai plac par exemple la plateforme un point GPS connu et j ai v rifi e qu elle m indiquait la bonne position une pr cision de 5m pr s pr cision de notre antenne GPS Ces tests ont t r alis s pour tous les capteurs afin de s assurer que si un probl me survenait qu il ne vienne pas des dtiv
23. ctions sont d tach es manuellement du programme afin de les r partir au mieux dans la m moire Pour cela il faut pr ciser avant la fonction separate Le compilateur ne le fait pas automatiquement mais il emp che les s parations abusives L erreur a ainsi pu tre r par e et le programme a pu continuer voluer et tre complexifi M me si le PIC choisi a une m moire importante elle n en reste pas moins limit e La recherche d optimisation de l utilisation de cette m moire m a conduite faire une autre erreur oublier une caract ristique importante d un PIC savoir que la vitesse d ex cution n est pas tr s grande Cette erreur est apparue lors de la simplification de la fonction de r cup ration de la trame GPS du r cepteur par le PIC La fonction est tr s r batbative il faut transformer des chaines de caract res ASCII repr sentant des nombres en valeurs J ai donc cherch crire une fonction simple appel e plusieurs fois qui recois via la liaison s rie les caract res et qui renvoie la valeur Mais le temps d appel cette fonction n tait pas n gligeable et des donn es taient perdues rendant les coordonn es inutilisables J ai donc du revenir une fonction longue et r p titive pour pouvoir r cup rer l ensemble des donn es Contrairement la programmation sur ordinateur o le temps d ex cution est g n ralement n gligeable il ne faut pas oublier qu un PIC travaille beaucoup plus lentem
24. d3394 lt lt aap gt gt i lt lt gt gt swa waja pp 50
25. dans un PIC En effet un autre probl me encore plus sp cifique la programmation sur PIC m a longtemps laiss sans solution une fois que le programme avait atteint 50 de la m moire ROM du PIC lorsque je rajoutais une ligne de commande tr s simple la m moire utilis e passait automatiquement 70 puis 98 Ce ph nom ne n tait absolument pas logique par rapport la taille du code et le programme ne s ex cutait plus Ma premi re id e tait que le probl me venait de la version de mon compilateut j ai donc essay avec la mise jour puis avec un autre type de PIC mais une fois les 50 de la ROM d pass le probl me survenait toujours 1 La programmation de la m moire est expliqu e dans l annexe lt mode d emploi gt 22 Apr s plusieurs recherches sur Internet et plusieurs discutions sur un forum d di ce compilateur nous avons fini pat comprendre l origine du probl me la m moire du PIC est organis e en banks Pour s ex cuter correctement le programme doit avoir toutes les parties d pendantes les unes des autres dans la m me bank Or le compilateur de r partie pas tout seul le programme Cela a pour cons quence que lorsqu un programme est trop important et qu il n est pas r parti manuellement dans les banks il ne peut pas d passer 50 de la ROM sous peine de ne plus fonctionner Une fois la cause identifi e le probl me fut rapidement r solu d s que cela est possible les fon
26. dre les probl mes li s au compilateut Sites Internet http forum xda developers com index php Forum d di au compilateur de CCS C est sut ce forum que j ai pu trouver les explications aux probl mes rencontr s avec le compilateur http forum xda developers com index php Forum de d veloppeurs pour t l phones portables et PDA C est au travers de ce forum que j ai acquis mes connaissances en PDA http www abcelectronique fr Ce site met disposition de ses membres un tr s grand nombre de documents techniques sur les composants lectronique http www microtransat org Site officiel du challenge Microtransat Toutes les informations concernant ce challenge y sont donn es r glement participants http paginas fe up pt jca wrsc Site officiel du World Robotic Sailing Championship Toutes les informations concernant ce concours y sont donn es Ce site pr sente les diff rents participants et explique le type d preuves qui sera donn http www epss force9 co uk autop htm Site r alis par un passionn Il a d j r alis plusieurs bateaux et nous fait part de son exp rience et des diff rentes techniques qu il utilise Ce site est une r f rence pour l ensemble des participants Mailing list https lists sourceforge net lists listinfo microtransat general Cette diffusion g n rale nous permet de discuter avec l ensemble des participants sur les diff rents probl
27. ecter le PICkit2 l ordinateur et au bo tier tanche 2 Basculer l interrupteur du cable vers le BAS 41 3 Lancer le programme PICkit2 v2 60 gt 4 Aller dans Device Family EEPROMSS et s lectionner 24LC PICkit 2 Programmer File Device Family Programmer Tools EEP Baseline Midrange PIC18F PIC18F_J_ PICISF_K_ sil AS Microchip dsPIC30 VDD PICkit 2 dsPIC30 SMPS PIC32 KEELOQG HCS EEPROMS MCP250xx 24C kw E2 00 93LCxA C 93LCxB C 00 00 00 00 00 sees Dans Device s lectionner 24LC1025 Cocher A1 Chip Select D cocher A0 Chip Select 2 pICkit 2 Programmer File Device Family Programmer Tools EEPROMS 24LC Configuration Device 24101025 Select 241200 pALCOIB Checksum Drop 2412048 241088 EN EE 241 16 VDD 2 Essen CSS BEBESEBESSESSSEE 5 241 32 241512 foal Berk Check 241 54 Program Hex Only Source 21 Projet Indus boucle terrain foot hex A1 Chip Select 00000 00 00 00 00 00 00 00 00 00010 BB 00 00 00 00 00 00020 00 00 00 00 00 00 00030 0 00 00 00 00 00 00 00 00040 00 0 00 00 00 00 00 00050 0 00 00 00 00 00 00 00060 00 00 00 00 00 00070 0 00 00 00 00 00 00 00 00080 00 00 00 00 00 00090 00 00 00 00 00 00 000A0 00 00 00 00 00 00 000 0 00 00 00 00 00 00
28. ent Les etreurs que j ai commises n taient pas forc ment videntes Elles m ont demand beaucoup de travail de recherche et de test pour r ussir les reproduire pour ensuite les identifier pleinement et les corriger Elles m ont n anmoins permis d approfondir mes connaissances dans la programmation des PICs et je saurai dor navant les viter 23 3 R alisation de l architecture lectronique implantation et tests que 3 1 Choix des composants Une fois la solution de la plateforme base de microcontr leur choisie j ai d commencer les recherches pour trouver les composants que je souhaitais utiliser Le premier l ment choisir est le microcontr leur car c est lui la pi ce maitresse du syst me c est lui qui d terminera les liaisons qui peuvent tre utilis es pour communiquer avec les autres composants Ayant l habitude d utiliser les microcontrdleurs PIC de la marque Microchip mon choix a t dans cette direction Au cours de nombreuses r alisations j ai acquis une certaine connaissance de ces produits et je peux affirmer qu ils sont tout fait adapt s au type d application que nous cherchons mettre ne place m a fallu tout de m me v rifier qu il existait un mod le correspondant exactement nos besoins Apr s l tude de leur catalogue j ai fini par s lectionner le PIC18F2550 C est un des plus performant il est facile trouver dans le commerce Il poss de une m moire suffisamment import
29. ent petit pour loger dans un bo tier tanche le syst me doit sauvegarder ses positions ou les transmettre en temps r el le syst me doit tre facilement reprogrammable le syst me doit pouvoir facilement commander le bateau un op rateur doit pouvoir prendre la main sur la commande du bateau en cas de probl me condition impos e pat le r glement du concours 1 2 Recherche des diff rentes solutions techniques et choix de P lectronique 1 2 1 Diff rentes solutions envisag es Afin de trouver l architecture la mieux adapt e notre projet nous avons organis des r unions du type brainstorming Au cours de celles ci chacun apportait son avis sur les diff rentes possibilit s envisag es Grace l exp rience de chacun nous avons pu avancer rapidement Personnellement c est mon exp rience en programmation sur microcontr leur ainsi que la r alisation de syst mes fiables dans le temps qui m ont permis de proposer une solution base de microcontr leurs Mes connaissances g n rales acquises au cours de ma formation et au cours de r alisations personnelles m ont rendu l gitimes mes choix quand aux diff rentes solutions propos es D s la premi re r union trois possibilit s propos es sont sorties du lot un mini PC un PDA et une solution base de microcontr leur Nous avons alors d cid d num rer les avantages et inconv nients de chacune ce qui nous a conduit la r alisation du tablea
30. ers Je suis ensuite pass aux essais des diff rents programmes Pour cela j ai utilis une base roulante d j existante l cole que j ai adapt pour qu elle puisse recevoir la plateforme de d veloppement et qu elle soit commandable par le syst me 28 Gr ce cette plateforme j ai pu tester le bon fonctionnement de l orientation du syst me vers le nord puis le programme pour rejoindre un point Les tests ont permis de valider ces fonctions tant que le robot est une distance sup rieur 20m du point En revanche lorsque la distance est trop courte le robot n arrive plus s orienter correctement Ce probl me n est pas directement d au programme mais la facon dont la plateforme se d place elle est constitu e de quatre roues motrices coupl es deux par deux de pat et d autre de la plateforme Pour s otienter le syst me s arr te essaye de s orienter dans la bonne direction et repart A l cole la seule surface suffisamment grande pour pouvoir faire ces tests est le terrain de foot Mais il s av re tre tr s irr gulier pour une plateforme aussi petite De plus cause de l impr cision GPS l approche du point la plateforme a du mal s otienter ce qui emp che de poursuivre correctement les tests Pour pouvoir continuer les tests en particulier ceux sur la logique de contournement de la bou e j ai demand changer de plateforme de test Afin que celle ci puisse me permettre de continuer me
31. g e est la suivante nous partons du principe que le vent ne changera pas de direction le temps des preuves Juste avant la course nous enregistrerons la direction du vent dans la m moire Nous nous gatdons aussi la possibilit de transf rer cette donn e et cette donn e uniquement par l metteur HF Ce point n gatif nous vaudra peut tre une p nalit au concours mais cela ne devrait pas nous emp cher de participer 25 3 2 Pr sentation de la plateforme Afin de les prot ger de l eau les composants ont t int gr s dans une boite tanche Les communications avec l ext rieur se font par l interm diaire de connecteurs tanches Pour assurer le maintien des diff rents l ments dans la boite j ai utilis des bandes autocollantes scratch Cette technique tr s souvent utilis e dans ce type de r alisation a comme avantage de faciliter le montage et le d montage des l ments Elle permet aussi d absorber les vibrations et elle ne perd pas de son adh rence avec l humidit Ces solutions ont d j t utilis es dans d autres projets comme le projet SAUCE et ont fait leurs preuves c est pourquoi elles ont t choisies La boite peut contenir jusqu quatre batteries lui donnant une autonomie de plusieurs dizaines d heutes L ensemble est directement reconfigurable en passant par les connecteurs tanches Ainsi au d but de la course les coordonn es des bou es ainsi que les informations n cessaires au par
32. gistr dans la m moire externe et est sp cifique au parcours demand La validation de la bou e est le seul moment o des informations permanentes sont enregistr es Une fois la bou e valid e le syst me cherche automatiquement atteindre la bou e suivante Le programme est ainsi devenu Initialisation Lecture de la boussole Lecture de la position GPS Lecture de la position de la bou e Validation de la bou e Calcul du point fictif Validation de la bou e bou e suivante Correction due la direction du vent nouveau point fictif calcul R gler la grand voile S orienter vers le point fictif 18 Pour valider cette technique de contournement des tests en grandeur r elle auraient demand trop de moyens et auraient t difficiles mettre en place J ai donc d cid de simuler mes logiques gr ce un logiciel Ainsi j ai pu essayer rapidement de nombreuses logiques diff rentes avant d en choisir une La simulation nous donne le comportement th orique du bateau l approche de la bou e Sans erreurs GPS Avec erreurs GPS Malgr un parcours moins pr cis le bateau contourne correctement la bou e la logique a ainsi t valid e Conclusion La programmation utilis e ici est une programmation s quentielle on modifie les donn es re ues en les faisant passer successivement dans diff rentes logiques afin de calculer un point fictif Ce point une fois calcul
33. glages L objectif la fin de cette partie est d avoir un bateau pr t participer au concours Pour les deux premi res parties le d roulement du projet a t tout fait conforme ce qui avait t pr vu chaque partie a t r alis e dans les temps En revanche cause d un retard au niveau de la fabrication du bateau la derni re tape n a pas pu commencer temps En attendant la livraison du bateau d autres tests ont t effectu s sur les diff rentes fonctions et logiques permettant ainsi de r soudre de nouveaux probl mes qui n avaient pas encore pu tre d tect s 11 2 R alisation du programme 2 1 Du cahier des charges aux choix pour le programme Une fois l architecture choisie je me suis occup du programme embarqu Du programme d pendra l efficacit de l ensemble C est pourquoi l tude et le choix de l organisation du programme jouent un r le important dans le projet Le cahier des charges g n ral tant tabli il m a sembl judicieux de reprendre ses sp cificit s et de les traduire en caract ristiques pour le programme En effet m me si l architecture lectronique r pond un maximum de sp cificit s un programme non adapt pourrait annihiler les avantages de la solution choisie Inversement certaines sp cificit s non r alis es par la partie lectronique pourraient tre corrig es par un programme adapt La mise en place du programme est par cons quent une partie imp
34. le diff dir direction suivre direction du vent vent a gauche 1 else angle diff dir direction du vent direction a suivre vent a gauche 0 if angle diff dir gt 1800 angle diff dir 3600 angle diff dir vent_a_gauche M direction dul poems gt directa da xen angle diff bateau direction du bateau direction du vent vent a babot 1 else angle diff bateau direction du vent direction_du_bateau vent a babot 0 if angle diff bateau gt 1800 angle diff bateau 3600 angle diff bateau vent_a_babor if angle diff dir7angle de bord return direction a suivre if sens_direct bord en ta droite if angle_diff_dir gt angle_mort 50 8e8el vent a pur si le bateau est vers la bou e et dans un peti return direction a suivre angle temp 3600 direction_du_vent angle_mort return angle temp 3600 else vent a gauche if angle_diff_dir gt angle_ insiste ent a babon si le bateau est vers la bou e et dans un petit angle return direction a suivre angle temp 3600 direction du vent angle mort return angle temp 3600 49 Les diff rentes liaisons entre les l ments 3u42A noD ap sajnaseq lt lt gt gt lt lt 9201 gt gt ap np Did aopa d lt lt Gp JH ana1
35. luer les techniques en robotique maritime le challenge Microtransat a t mis en place Il a pour objectif une travers e de l atlantique par un robot voilier Il combine la fois les domaines de la robotique et de la navigation la voile Le robot voilier doit tre autonome et capable d affronter les nombreux dangers de l oc an Ce challenge n a pas encore t r alis ce qui constitue un v ritable d fi et laisse la porte ouverte toutes les approches envisageables Depuis plusieurs ann es des concours sont organis s dans cet optique Leur but est de rassembler les quipes qui travaillent sur ce challenge A travers diverses preuves ces concours permettent de confronter les diff rentes approches technologiques choisies par les concurrents que ce soit au niveau de l architecture du bateau des capteurs de l architecture de l lectronique ou de l intelligence embarqu e Cette ann e une quipe Microtransat a vue le jour ENSIETA Nous souhaitons participer un de ces concouts le World Robotic Sailing Championship qui se d roulera cet t Porto au Portugal C est dans cet objectif que ce projet industriel a t 8 J q Pro r alis Nous aborderons ainsi dans un premier temps la mise en place de ce projet Dans un deuxi me temps nous expliquerons les travaux de recherche r alis s ayant abouti la mise en place d un programme adapt Nous terminerons par la r alisation de l lectronique et de
36. n en C est la gestion de la m moire Ce point est bien videmment pr sent dans la programmation en C des PICs Mais il est d autant plus difficile g rer que le compilateur PICC de CCS ne signale pas les erreurs de gestion de la m moire Cette sp cificit m a conduite plusieurs erreurs parfois difficiles diagnostiquer La d tection de ces erreurs et leur r solution m ont demand beaucoup de recherche et de temps Le premier probl me rencontr tait assez difficile identifier car il n apparaissait pas tout les temps le PIC fonctionnait correctement un certain temps en travaillant sur une boucle de test et d un seul coup son comportement devenait inattendu Ce probl me remettait en cause la fiabilit dans le temps du syst me chose que je souhaitais viter imp rativement Le code semblait pourtant bon puisqu il fonctionnait normalement au d but Apr s de nombreuses heures pass es chercher cette erreur j ai fini par me rendre compte qu un return tait plac dans un cas particulier avant la lib ration de la m moire ree Au cours des diff rentes boucles y avait une fuite de m moire et le programme finissait par ne plus se d rouler correctement La solution et donc de faire tr s attention tous les cas possibles pour viter les fuites de m moire si l on cherche fiabiliser le syst me Les probl mes dus la fuite de m moire de sont pas les seuls probl mes qu entraine la gestion des donn es
37. ne quipe Microtransat PENSIETA et participer quand cela sera possible une travers e de l atlantique par un voilier en autonome Cela demande beaucoup de travail de main d ceuvre de tests et d exp rience ce qui ne le rendra pas atteignable avant plusieurs ann es Nous avons donc d cid de nous fixer des objectifs plus modestes r alisables moyen terme L objectif est d acqu rir de l exp rience dans le domaine Nous avons alors choisi de participer au World Robotic Sailing Championship Une fois cette d cision prise nous avons du mettre en place des r unions afin de sp cifier les diff rents l ments prendre en compte et r aliser un cahier des charges respecter pour notre projet 1 1 3 R alisation du cahier des charges Une fois les r les attribu s nous avons organis plusieurs r unions afin de d finir un cahier des charges pour l lectronique et pour le bateau Pour cela nous nous sommes bas s sur les preuves du concours D apr s les informations fournies par le site officiel les preuves des ann es pr c dentes avaient pour objectif de faire suivre un parcours de bou es au bateau finish EE h1 wind Cahier des charges du bateau le bateau doit tre commandable par un syst me lectronique le syst me de commande du bateau doit tre fiable e bateau doit tre transportable dans une voiture architecture doit tre ma tris e le bateau doit tre facileme
38. ngle of wind we can not go directly back up the wind There is also a logic to bypass the buoys we have to pass by the right side of them for the competition Both logics change the direction of the boat and send the information concerning this new direction to the basic software Tests The tests with the boat are very difficult to put into practise First of all because we need a pool but also because if there is a problem during the tests we can not directly stop it and stop de boat That is the reasons why I chose to do most of the tests with a rolling platform Such a platform allowed me to do my tests in ENSIETA and when there were problems I could recover the robot and correct them Conclusion At the present time the electronic part is tested and works on the rolling platform We do not have already tested it with the boat but it is planned In the future we will work on the logics to find a better intelligence 35 ANNEXES MANUEL D UTILISATION T Programmation du PIC ID Programmation de PEEPROM Mat riel n cessaire un PICkit2 et un cable USB le logiciel PICkit 2 v2 60 avec les drivers N cessite l installation de microsoft net framework V2 le c ble de liaison pour le bo tier tanche le bo tier tanche un fichier HEX contenant le programme compil 37 I Programmation du PIC 1 Connecter le PICkit2 l ordinateur et au bo tier tanche 2 Basculer l interrupteur du cable vers
39. nt et rapidement r parable un emplacement doit tre pr vu pour le bo tier tanche de l lectronique FPacc s l lectronique et aux branchements doit tre facile le bateau doit tre robuste et r sister une mer agit e et des vents importants le bateau doit pouvoir fonctionner en mode d grad perte d un safran d tachement d un gr ement Pemplacement de l lectronique doit tre prot g de l eau e bateau s il se retourne de doit pas prendre l eau les syst mes de commandes doivent tres simples faciles utiliser faciles changer en cas de probl mes et prot g s de l eau Le bateau doit pouvoir navigu la fois en eau douce et en mer Pour l lectronique le d bat fut plus long diff rentes architectures ont t propos es chacune ayant ses partisans Nous avons alors r aliser un cahier des chatges et confront chaque solution celui ci Cahier des charges de l lectronique le syst me doit connaitre sa position le syst me doit connaitre son orientation le syst me doit connaitre la direction du vent le syst me doit consommer le moins possible le syst me doit tre robuste aux coupures de courant le syst me doit tre facilement r parable le programme doit pas rester bloqu en attente le syst me doit tre capable de red marrer tout seul le syst me doit tre solide et r sister aux chocs et vibrations le syst me doit tre suffisamm
40. ortante dans la r ussite du projet Tout d abord le choix du langage utilis Pour la programmation des microcontr leurs type PIC il existe 3 principaux langages l assembleur le basic et le C mon choix s est port sur le C car il permet une programmation plus simple que l assembleur De plus je ma trise ce langage bien mieux que le basique et PENSIETA poss de un compilateur en C pour les PICs tr s performant le PICC de CCS La navigation la voile nous impose de connaitre certains param tres que l on retrouve dans le cahier des charges l orientation du bateau sa position et la direction du vent Pour le concouts nous avons aussi besoin de connaitre la position des bou es Apr s avoir tudi la construction du bateau j ai remarqu que seuls deux actionneurs sont accessibles sur notre voilier la commande des safrans direction et le r glage de la grand voile propulsion Notre programme peut donc tre vu comme le syst me global suivant Use Case global du syst me en mode autonome sd General mode autonome X capteur GPS X capteur boussole systeme lectronique Calculer les com mandes servo servomoteur de gouveme X servo servomoteur de voile i il 1 get gprmc 1 1 1 gpm cmain 1 m 2 HM C6352 read heading 2 angle nord 3 servo 3 4 servo T 4 3d
41. pas d itin raire pour essayer de le suivre J ai donc du chercher une autre solution Le syst me que j ai mis en place est en r alit le plus simple possible Lorsque les directions sont directement atteignables le syst me r gle la voile en cons quence et suit le cap En revanche lorsque la direction n cessite de faire des bords le syst me commence un botd et v rifie en permanence si la direction n est pas devenue directement accessible Si ce n est pas le cas le bateau continu tirer son bord 16 Logique vent utilis e par le bateau Vent le bateau rejoint le point directement virement de bord la position est maintenant atteignable la position n est pas atteignable D apr s les navigateurs le virement de bord constitue le point le plus critique de la manoeuvre Afin d viter un nombre trop important de man uvre un contr le par hyst r sis a t mis en place Comme aucun historique n est enregistr l hyst r sis se base sur l orientation actuelle du bateau et l angle qu il devrait avoir Grace ce principe le syst me est maintenant capable de diriger le bateau vers un point donn quelque soit la direction du vent Le syst me pourrait donc tre suffisant mais pour les preuves il faut savoir rejoindre les bou es mais galement savoir la contourner du bon c t pour quelle soit valid e Pour parer ce probleme il a fallu mettre en place une logique suppl mentaire
42. rite specifications Then I was personally in charge of the realisation of the electronic platform The electronic part We looked for several solutions such as computer or PDA But we finally chose a solution of micro controllers base Further to this choice I chose the several components to realize the electronic platform for our autonomous sailing boat 34 According to our specifications we needed amicro controller such as PIC a GPS receiver in order to know the position on earth an electronic compass to know the angle of the boat which is not necessary the same as the speed vector servomotors with servo controllers to command the sail and the direction receiver which could control the boat manually and if necessary For the moment we do not have Weather vane we only save the direction of the wind before the tests We hope that the wind will not turn during the tests All these components are installed in a waterproof tin Thanks to this system even if the boat overturns the electronic is protected The software part To control the system in autonomous mode I wrote in C the software part which is loaded in the microcontroller This software must be very reliable in time That is why I chose to use no history and calculate no route The basic software can control the boat and position it in the right way Besides I added several logic circuits there is a logic to control the route according to the a
43. rogramme il y a tr s peu de chance pour qu elle d t riore les donn es vitales au bon fonctionnement du programme Cette solution a un inconv nient non n gligeable elle emp che d utiliser un historique pour calculer la trajectoire du bateau mais elle a mon sens un avantage bien plus important la fiabilit Grace cette m thode si le programme est crit en cons quent le bateau arrivera toujours se remettre en coutse apr s une coupure de courant 13 d Un op rateur doit pouvoir prendre la main sur la commande du bateau en cas de probl me Cette partie pourrait tre r alis e directement par le programme mais pour des raisons de s curit j ai choisi de r aliser une plaque lectronique ind pendante tr s simple et tr s fiable Cette solution vite de surcharger le programme et diminue le risque de conflits De plus en cas de probl me avec l lectronique le bateau peut toujours tre ramen bon port pour tre r par Conclusion Apt s une tude approfondie du cahier des chatges j ai d termin les sp cificit s qui pouvaient s appliquer au programme Apr s cela je les ai interpr t es et traduites en caract ristiques propres la programmation J ai pu ainsi fixer certaines regles pour la suite du d veloppement du code afin de respecter le cahier des charges et suivre une r alisation logique Cette tude nous a conduit entre autre chercher viter tout type d historique 14 2
44. s cette faisabilit av r e nous nous sommes fix s des objectifs moyen terme r alisable dans l ann e Nous avons donc continu notre tude et avons fini par r diger un cahier des charges pour l lectronique et le voilier Suite cela nous avons r fl chi sur diff rentes solutions envisageables pour l architecture lectronique et nous avons d cid aux vues de ses avantages de d velopper pour le moment une plateforme base de microcontr leurs J ai alors commenc le d veloppement de cette plateforme d apr s les crit res donn s par le cahier des charges j ai d termin les composants dont javais besoin je les ai identifi s puis test s pour finalement les implanter dans la plateforme J ai r alis totalement la plateforme de d veloppement pour qu elle puisse tre incorpor e dans le voilier En parallele j ai cherch une structure pour le programme afin qu il cotresponde au mieux nos besoins J ai ainsi d cid d appliquer une programmation s quentielle et de n utiliser aucun historique De nombreux tests et simulations m ont permis de valider cette approche La r alisation du bateau n tant pas totalement termin e je n ai pas encore pu le prendre en main ni implanter l lectronique Cette partie sera r alis e cet t nous ferons des tests avec le voilier afin de d terminer son comportement puis nous effectuerons les r glage sur l lectronique de sorte tre pr t pour le concours World Robotic
45. s tests 1 Mise en place du projet 1 1 D finition des objectifs et cahier des charges 1 1 1 Mise en place de l quipe L quipe Microtransat est constitu e de plusieurs membres chacun ayant des connaissances diff rentes La participation au concours impose de poss der un voilier robot Le projet tant nouveau nous n avions aucune structure existante ni aucun a priori sur l atchitecture de l lectronique L objectif g n ral est donc de r aliser un voilier et une lectronique adapt e La tache r aliser tant relativement vaste et n cessitant beaucoup de travail de temps et de connaissances sp cifiques nous avons du d terminer d s le d but le r le de chacun Au vu de mes connaissances et de mes go ts j ai t d sign comme responsable de la partie lectronique La construction du bateau a t confi e Richard LELOUP en premi re ann e passionn de voile La supervision des travaux ainsi que les d marches administratives ont t prises en charge par les encadrants Organigramme du projet Luc JAULIN Responsable du projet jan SLIWKA Fabrice LE BARS Encadrants Pierre Henri REILHAC Richard LELOUP Responsable lectronique Responsable bateau 1 1 2 D finition des objectifs Le projet tant nouveau tout restait faire Nous avons donc d cid d identifier et de fixer les objectifs moyen et long termes L objectif long terme tait clair des le d part mettre en place u
46. s tests j ai du sp cifier les caract ristiques qu elle devait avoit et prouver par une d monstration les probl mes de la plateforme actuelle La nouvelle plateforme est plus haute avec quatre grosses roues motrices et l ensemble est enti rement sur suspension Ces sp cificit s permettent cette plateforme de ne plus tre g n e par les irr gularit s du terrain De plus j ai demand ce que l orientation se fasse par des roues directrices et non par une diff rence de vitesse entre le cot droit et le cot gauche comme c tait le cas sur l ancienne Ainsi le d placement sera beaucoup plus conforme celui d un bateau pour s otienter la plateforme devra avancet Gr ce ce principe elle constitue naturellement un filtre passe bas m canique qui filtre les oscillations de la position GPS teo 6974 25 29 La r alisation du bateau n tant pas termin e je n ai pas pu faire les tests finaux Mais normalement l ensemble des logiques ayant t valid par les tests pr c dents l int gration dans le bateau devrait tre rapide et ne devrait n cessiter que quelques r glages pour tre op rationnel 30 Bilan L quipe Microtransat a vue le jour cette ann e ENSIETA Participer cette travers e de l atlantique par un robot voilier autonome est devenu notre objectif long terme Pour y parvenir nous avons r alis en amont une tude d terminant la faisabilit de ce projet Une foi
47. sants 1 wk Tue 03 02 09 Pierre Henri REILHAC Fabrice LE BARS Jan SLIWKA drivers de diff rents composants 8 wks Tue 10 02 09 pum ummPierre Henri commande des composants 3wks Tue 10 02 09 Pierre Henri REILHAC Fabrice LE BARS Jan SLIWKA realistion physique de la plateforme 2wks Tue 03 03 09 Pierre Henri REILHAC r solution des probl mes de conception 3wks Tue 17 03 09 z ue E Test de l electronique 30 days 07 04 09 mise au point de la base roulante Swks Tue 07 04 09 Pierre Henri REILHAC Fabrice LE BARS Jan SLIWKA test sur base roulante 3wks Tue 28 04 09 Pierre Henri REILHAC implantation de l algorithme 2wks Tue 28 04 09 ck SITTARAMANE Pierre Henri REILHAC E Int gration dans le voilier 30 days 19 05 09 i implantation dans le voilier 2wks Tue 19 05 09 Patrick SITTARAMANE Pier test grandeur nature travers e de la rade de Brest 4wks Tue 02 06 09 ue g Pa realisation de l algorithme 12 wks Tue 03 0209 000000088 Patrick SITTARAMANE livrable 1 plateforme finie Odays Mon 06 04 09 livrable 2 plateforme avec algorithme 0 days Mon 01 06 09 01 06 1 3 1 D finition des objectifs et analyse des diff rentes solutions La premi re partie est la partie la plus importante car c est elle qui va d terminer l ensemble du projet Elle consiste tout d abord d finir les objectifs moyen et long termes de sorte orienter nos recherches Dans un second temps nous avons organis de nombreuses r unions afin de r fl
48. tion h 2 3 2 L encodage des donn es La programmation sur microcontr leur n impose pas les m mes contraintes que sur un ordinateur les capacit s de calcul ne sont pas les m mes Pour viter des conflits lors de leur utilisation j ai d cid d encoder les positions GPS Une position GPS recue dans une trame GPRMC est constitu e de plusieurs l ments latitude Degr s Minutes Mlilli mes de minute Sens Longitude Degr s Minutes de minute Sens Cette forme complexifie norm ment le traitement de ces donn es C est pourquoi j ai choisi de les convertir dans un autre format 20 La latitude et la longitude sont converties en microdegr s puis additionn es ou soustraites 2 31 en fonction de leur sens Nord Sud Est Ouest Les deux valeurs obtenues sont enregistr es dans des variables de type int32 Elles peuvent ainsi tre directement utilis es dans des calculs sans que le code ait traiter les diff rents cas de cardinalit Exemple 48 25 795 N gt 48 x 10 6 25 795 x 10 6 60 N gt 2751 48429916 gt 2195913564 Ce codage des positions GPS a permis de faciliter galement l enregistrement des positions dans la m moire I2C Organisation de la m moire Angle de Nombre de Bouse A ee validation Len ou e en cours bou e 0 Latitude bou e 0 Longitude bou e 0 Adresses 00 00 00 00 00 00 00 00
49. u suivant Solution envisag e Avantages Inconv nients Mini PC embarqu tr s grande puissance de calcul portabilit du code atchitecture connue et d j utilis e abstraction trop importante consommation lectrique tr s importante autonomie entre 2 et 3 heures contr le simple des actionneurs volumineux Labjack fragile sensible aux chocs plantage possible PDA grande puissance de calcul consommation lectrique importante petit loge facilement dans le bateau autonomie entre 6 et 12 heures contr le simple des actionneurs architecture pas bien ma tris e Labjack tr s sensible au plantage int gre d j le GPS et le t l phone ne peut pas red marrer automatiquement Microcontr leurs consommation faible faible puissance de calcul impossible conception ma tris e contr le simple des actionneurs liaison 12c et RS232 puissance de calcul faible mais suffisante lensemble peut tre tr s robuste au plantage et aux coupures de courants solide et facile r parer Petite loge facilement dans le bateau d avoir des logiques trop volu es une fois r alis e difficile de changer pas de port USB maitre 1 2 2 Choix de la solution Chacune de ces solutions comme nous venons de le voir pr sente des avantages et des inconv nients Nous avons donc d battu sur la solution choisir Personnellement j tais
50. ulsion est le vent J ai donc continu faire voluer mon programme de sorte pouvoir prendre en compte ce param tre Au cours de mes recherches sur la navigation la voile j ai trouv ce que les matins appellent la rose des vents VENT Travers Grand Largue Ce dessin r capitulatif donne entre autre une information importante le r glage de la voile est fonction directe de la direction du vent et de l orientation du bateau Mais on remarque aussi sut ce sch ma que toutes les directions ne sont pas accessibles on ne peut pas remonter face au vent En r alit il existe un c ne de 45 de part et d autre de l axe du vent qui n est pas accessible directement D apr s l exp rience des matins que j ai rencontr s il est aussi pr f rable d viter le vent arri re peu efficace et rendant le bateau instable Afin d viter ces directions les marins effectuent des bords cela consiste naviguer au pr s puis viter de bord pour rejoindre le point vis L art de la navigation r side dans le compromis entre la vitesse et distance parcourir Pour l instant je ne cherche pas optimiser le comportement du bateau mais le fiabiliser Les navigateurs calculent leur trajet et cherchent le suivre pour remonter au vent correctement Mais nous avons vu pr c demment que je ne souhaitais pas utiliser d historique ou enregistrer des informations pour les r utiliser plus tard ce qui signifie galement que je ne calculerai
51. vera pas le timer fera red matrer le programme et le syst me pourra reprendre son fonctionnement normal c Le syst me doit tre robuste aux coupures de courant Cette sp cificit a t ajout e car ce ph nom ne peut arriver souvent Le programme ne doit pas tre en train de modifier des donn es vitales ou enregistrer des informations pour les r utiliser plus tard quand la coupure de courant survient Dans le cas contraire une fois le courant revenu et le programme remis en marche les informations males enregistr es seront prise en compte et le programme utilisera sans le savoir des informations erron es et ne jouera plus correctement son r le J ai donc d cid afin de limiter le plus possible ce risque de ne pas utiliser d informations stock es en dehors de celles mises dans la m moire externe Le programme ne peut donc plus utiliser d historique seuls des informations temps r el sont accept es L criture dans la m moire extetne est restreinte au minimum j ai choisi de n autoriser le programme y crire qu la validation d une bou e C est dire que lorsque le syst me estime avoir contourn la bou e et qu il faut atteindre la bou e suivante il change le num ro de la bou e atteindre dans la m moire Cette op ration ne prend que quelques millisecondes et n intervient qu une petite dizaine de fois au cours d une preuve De cette facon si une coupure de coutant venait perturber le bon d roulement du p

Download Pdf Manuals

image

Related Search

Related Contents

Catálogo PDF - AL-KO  TechTip #36 – Basic Troubleshooting (Windows & MAC Users) (All  "user manual"  Metroplan 214600 freestanding table  取扱説明書を見る  Sandberg Adaptor DIN speak.->MiniJack-F    Schulungsunterlagen Strömungswächter (Stand August 1999)  取扱説明書 HDMI分配器(1入力・2出力)  instruction manual manual de instrucciones  

Copyright © All rights reserved.
Failed to retrieve file