mobile Objectif : Initiation la robotique pratique, l'aide d'une plate forme mobile. Problmatique de la robotique mobile : localisation, navigation, technologies pour la puissance, capteurs, asservissements traitement des informations et transmission. Architecture de la plateforme motricit chssis propulsion et direction choi! des moteurs commande de puissance rgulation et contr"le de la vitesse capteurs tach#m$tre pour le contr"le de la vitesse infrarouge et%ou ultrasons pour la dtection d&obstacles signalisation leds, klaxon, messages intelligence distribue, un ou plusieurs microprocesseurs et un P' Communication interne : P() * +PI * I,' * -nalogique . /+0 distante : 1i2 Problme de la navigation obstacles, trajectoire gps, compas, anal#se d&image Problme de lautonomie monitoring des batteries recharge autonome 19 Robotique tude et ralisation dune plateforme mobile +#noptique Tches )canique 'onstruction du '3-++I+, 2!ation des )O45/6+ et dmultiplication, 6O/5+ +upport des circuits, du P', ralisation du +'-7756 6-8-6, du P-794I:4 (eb cam 5lectronique 'onception des '-645+ : P6O'5++5/6 de 'O))/7I'-4IO7. , 'O))-785 )O45/6+, 45:5)5465 I6 et /+, 'O)P-+, 'ommande +56;O+. +oft1are P PR!"##"$R %" !&&$'()*(!' !&&)'%" &!*"$R# !&&)'%" &!*"$R# *"+"&"*R" (R *"+"&"*R" (R !&P)# !&P)# ,"- )& ,"- )& .P# .P# ,(/( &!*"$R 1 &!*"$R 1 &!*"$R 0 &!*"$R 0 *)1 *)1 *)1 *)1 $#- P,& 2 $#- #)' #)' )')+!. -)**"R(" -)**"R(" *"+"&"*R" $+*R)#!'# *"+"&"*R" $+*R)#!'# %(.(*)+ P)' 3 *(+* P)' 3 *(+* )')+!. -+$"*!!*1 19 Robotique tude et ralisation dune plateforme mobile )I'6O'O746O:5/6+, P' 19 Robotique tude et ralisation dune plateforme mobile 1-CHASSI ! P"#P$%SI#& +ources d&inspiration 'rit$res : +table, lger, rigide, simple raliser 'harge utile ma!imum dterminer : portable < batteries < moteurs < divers 5stimation des caractristiques des moteurs ;itesse de pointe = >.?m%s , et acclration ma!imum = >.?m%s, V = Pi*d*r ;@ vitesse en m%s, d @diam$tre roues en m$tre, r @ ;itesse de rotation en tours%seconde 19 Robotique tude et ralisation dune plateforme mobile ex 4 roues de 15 cm et vitesse de 5.6m7s alors r 8 96 t7min F=m*a A@force en ne1ton, m@ masse en Bg, a@ acclration en m%s, ex 4 6kg, force de dmarrage 8 0.6 ' 2 frottements 9 : 1.6 '; )vec < ' et roues de 15 cm alors le couple est de 5.0 'xm P = C*w P @ Puissance en (atts, ' @ 'ouple en 7!m, 1 @ ;itesse de rotation en 6adians%seconde ex 4 96 t7min 8 15 rad7sec et P 8 5.0 = 15 8 0, Il # a , moteurs donc avec ses valeurs C( par moteur devrait Dtre suEsant. Par scurit : on visera ,( par moteur 4#pe de moteurs : )oteurs 8', voltage, puissance, couple F 19 Robotique tude et ralisation dune plateforme mobile 'ommande des moteurs : -vant % arri$re, rglage de vitesse par P(). 3bridge : ;oltage ma! F I ma! F P lectrique G P mcanique Hrendement estimation ?>IJ +i P@K( et ;@C,; alors I@K%C, >.L?- +i ;@?; alors I @ >.M- Nuel circuit F 0ipolaires HchauOeJ ou )O+A54, 8iscret avec , ! K transistors ou 'I Hpri!, dispoJ , simples ou C double F ,K; ?- 8ual 3*0ridge C,v ,.M- 8ual 3*0ridge 19 Robotique tude et ralisation dune plateforme mobile -sservissement de la vitesse : :a commande de la vitesse est ralise en P() un processeur est utilis pour la production des signau! et le contr"le de la vitesse relle par une rtroaction d&une mesure tach#mtrique par disque ligne et led%capteur infrarouge. 19 Robotique tude et ralisation dune plateforme mobile 2-TELEMETRIE /ltrasons <5>1?, mesure du temps aller retour @itesse du son 8 A<5 m7s $n metteur, un rcepteur +e signal du rcepteur doit Btre ampliC, dans le schma le gain est variable 9max6<DE;. $n max0A0 est utilis pour lever la tension applique F lmetteur ultrasons 90<v; Infrarouge +harp PP,8C, %onne une tension analogique fonction de la distance 19 Robotique tude et ralisation dune plateforme mobile +can Q radar R Produire une G image H de lenvironnement dans un diagramme polaire. Pour cela faire tourner le capteur de distance autour dun axe vertical et mesurer la distance pour chaque angle de rotation. (l I a besoin dun moteur dont on connait la position angulaire. !n peut utiliser un servo de modlisme. ommande de position par largeur dimpulsion
(l nest pas possible de faire un tour complet 9Cls;, angle mort -!"VI#"TI$! onnaitre sa position, relative sur un plan ou absolue sur la terre. #e dplacer vers un point donn 9relatif ou absolu;, en vitant les obstacles connus ou imprvus. !n ne peut pas faire conCance F la commande de vitesse7direction sur des distances importantes, ou aprJs de nombreux arrBts7dparts. Position absolue' (PS mais pas asse) prcis *+,--.m/0 (&#S 1 *+,-1m/ 2irection absolue' bousole e3' )agnetic 'ompass Philips 45671 magnetic 8eld sensor )utre solution4 beacons 9radios, (R; )nalIse dimages, Kebcam !rientation de la Kebcam P)'L*(+* , 0 servos 19 Robotique tude et ralisation dune plateforme mobile %-PR$CE&&E'R& et C$MM'!IC"TI$! :iste e!haustive des signau! 9onction 2irecti on 5ode rem P:5 moteur 1 Out 8igital ?v pls 2I" moteur 1 Out 8igital ?v ;rea< moteur 1 Out 8igital ?v P:5 moteur - Out 8igital ?v pls 2I" moteur - Out 8igital ?v ;rea< moteur - Out 8igital ?v !acho pulse mot1 In 8igital ?v pls !acho pulse mot- In 8igital ?v pls $S trigger Out 8igital ?v pls $S echo In 8igital ?v pls I" distance In -nalog >* ?; "adar servo pulse Out 8igital ?; pls Arret urgence In 8igital ?; -ctif bas ;atterie = In -nalog ;atterie I In -nalog 0esoin de convertir I en ; :ebcam PA& pulse Out 8igital ?; pls :ebcam !I%! pulse Out 8igital ?; pls 19 Robotique tude et ralisation dune plateforme mobile 2ivers *leds0<la3on/ 3 > Out 8igital ?; Compas F F $S; In%out 8igital ?; +ur /-64, port srie virtuel ? on peut en ajouter, clairemen, temprature 19 Robotique tude et ralisation dune plateforme mobile - solutions $n seul processeur gJre tout les signaux et assure linterface avec le P )vantage 4 1 seule carte (nconvnient 4 diMcile F diviser entre plusieurs dveloppeurs, il faut tout faire dun coup. /irmKare complexe et fortement multitNches, temps rel. Plusieurs processeurs se rpartissent le travail Processeur moteurs 4 P,& et tachImJtre Processeur tlmJtre 4 contrOle $#, mesure )% (R, contrOle 1 servo scan Processeur pan3tilt 4 contrOle 0 servos Processeur de communication 4 $#- P et autres processeurs )vantage 4 travail plus facile F rpartir, diviser pour rgner, construction incrmentale (nconvnient 4 dCnir des protocoles de communications entre les modules Com(romis ) (rocesse*rs %e processeur central assure la communication P $#- et la gestion des signaux G simples H 4 leds et sKitches, monitoring batteries, Pan3*ilt. (l transmet les commandes P vers les autres processeurs. (l doit Btre capable de raliser des fonctions simples sans le P 4 initialisation, test, dtection dvnement critiques 9arrBt urgence, (Pmax, selfLtest;. %e processeur moteurs ralise la boucle dasservissement P(% de la commande des 0 moteurs, gnration P,& 9timer; et mesure de la vitesse. (l reQoit ses commandes du processeur central selon un protocole F dCnir. 9uni ou bi directionnel, retour vitesse :; %e processeur tlmtrie contrOle le mouvement du scanner, cre la rafale dultrasons, ralise la mesure du temps de retour de lcho et ralise la mesure du capteur (R. (l communique ces mesures et langle correspondant au processeur central. (l peut fonctionner en continu ou se positionner dans une direction demande. pKm,dir,break servo,trig $#- Proc. entral divers Proc. &oteur && Proc. *lmJtre &* 19 Robotique tude et ralisation dune plateforme mobile tachop echo,(R pan,tilt,leds,alarm,R sK,batt,compas,R +-"!"L,&E -ET"ILLEE -E& M$-'LE& " RE"LI&ER Circuits avec processeurs M$-'LE PR$CE&&E'R CE!TR"L .CP/ HA"2 )*&".) 1DS, A0S ou D< 9 0 ports sries; /*%(0A0 S #!R*("#, leds et divers < "'*R""#, sKitches et divers 0 "'*R""# )7%, mesure batterie P!R* %" !&&$'()*(!' @"R# +"# )$*R"# &!%$+"# 9(0 :; hoix des connecteurs !otal @1A S S#9! %Cnition des protocoles vers pc, vers &P et vers &* choix du support phIsique 9uart,(0,#P(;, vitesse, format des messages 9binaires, ascii;, liste complJte des messages. "x 4 commande 4 #"* #P""% +"/* 05 LP 5/ 51 55 05 ou bien T#P+805 rapport 4 *"+"&"*R" %)*) (R806 $#80S )+P1)8D5 LP 5% 06 0S D5 .estion des servos Pan3*ilt LP timer .estion des leds dtat et des sKitces arrBt durgence et self test &esure du courant et de la tension de la batterie 90 )7%; (nitialisation 4 arrBt moteurs, tlmJtre F 5, R Programme de self test 4 balaIage scanner, avance et recule, demiLtour. .estion des modes durgence 9collision, batterie F plat, (max R; 19 Robotique tude et ralisation dune plateforme mobile M$-'LE PR$CE&&E'R M$TE'R .MM/ HA"2 )*&".) <S A #!R*("# U 0 1 "'*R"" U 0 1 "'*R""# )7% U 0 9option mesure de courant; P!R* %" !&&$'()*(!' @"R# +" &!%$+"# P 9(0 :; 0 "'*R" #,(*1 #"+* *"#* et #*!P !otal 1> S S#9! %codage des commandes .nration des pulses P,& 9timer; omptage des pulse tachImJtre 9timer; et calcul de la vitesse Rgulation de la vitesse 9P(%;, (l faut rguler les 0 moteurs en mBme temps. #Kitch #*!P #elf test 4 acclrer en avant, ralentir, arrBt, idem arriJre. !ption 4 mode contrOle de position. M$-'LE PR$CE&&E'R TELEMETRE .MT/ HA"2 )*&".) <S 0 #!R*("#, pulse servo et pulse ultrasons 1 "'*R"", "1! 1 "'*R"" )7%, mesure (R 1 "'*R" #,(*1 #"+* *"#*7%"-$. 0 #!R*("#, +"% %"-$. P!R* %" !&&$'()*(!' @"R# +" &!%$+"# P 9(0 :; !otal B S S#9! 19 Robotique tude et ralisation dune plateforme mobile %codage des commandes .nration des pulses ultrason 9mission; omptage du temps de retour de lcho &esure )7% de la valeur du capteur (R .estion de la position du servo de scan, timer. A &odes (os 4 positionne le servo sur un angle donn par une commande et conserve cette position. single 4 ralise un balaIage aller retour. a*to 4 balaIage aller retour en continu. %Cnir comment les rsultats son communiqus au P. Circuits sans processeurs 01RI-#E hoix du circuit et ralisation de la carte. #ource dalimentation double, haut voltage 9E F 10@; pour les moteurs et 6@ pour la partie digitale. +iste des circuits envisags (max @max #imple7 double +&1S055 +&%1S0<6 19 Robotique tude et ralisation dune plateforme mobile C"PTE'R& IR T"C0$ et MI&E E! F$RME .2 2/ hoix du tIpe de capteurs, led et phototransistor, cavalier de VoppI ou capteur eWet hall. +e circuit doit Btre concu pour sadapter entre le chassis et la roue. )limentation unique 6@ 2 .'% donc A Cls par circuit vont vers le module &P. 19 Robotique tude et ralisation dune plateforme mobile 3-&$FT4"RE PC +e P assure la conduite du robot V567 La (remi8re 9ersion le :era o(;rer < en =o*cle o*9erte >? cXestLFLdire sans informations sur lenvironnement et les dplacements rellement eWectus. !n peut par exemple mettre les 0 moteurs en route avec une commande de vitesse de A5 cm7s pendant 6 sec. Puis arrBter et tourner F droite de D5Y, repartir F A5cm7s pendant 6 sec, arrBter, tourner encore F droite de D5Y, et repartir pour 6sec F A5cm7s. +e chemin suivi devrait Btre ceci, un triangle de 1.6m de cot. #i la commande de vitesse est parfaite, quelle tient compte de lacclration et du freinage, quil nI F aucun drapage, que le robot roule parfaitement droit, que la rotation est prcise et autour du centre, alors le rsultat sera correct et nous reviendrons exactement au point de dpart. #i ce nest pas le cas nous narriverons pas exactement F lendroit prvu. ette erreur sera plus grande si le traZet est plus long. (l devra Btre possible de dCnir une traZectoire sur le P en la dessinant F la souri F laide de traits successifs. !n aura la possibilit de donner une vitesse pour toute la traZectoire ou pour chaque segment. +e Pc sera responsable de calculer les commandes de vitesse ncessaires pour eWectuer une rotation. (l sera possible de sauver et reprendre des traZectoires et de les combiner. %eux cas sont F envisager, le premier le plus simple, est celuiLciL dessus, un chemin est une ligne bris, succession de ligne droite, arrBt, rotation sur place, ligne droite R 19 Robotique tude et ralisation dune plateforme mobile +es 0 moteurs ont touZours la mBme vitesse @ dans les lignes droites et des vitesses gales mais de signes opposs @L et @2 pour tourner sur place. est la dur pendant laquelle on applique ces 0 vitesses qui dterminera langle de rotation. +e deuxiJmes cas permet la cration de courbes continues, dans ce cas cest la diWrence de vitesse entre les 0 moteurs qui impose une dviation par rapport F la ligne droite. %u point de vue mathmatique, la diWrence de vitesse entre les moteurs sera F partir de lcart entre la courbe et sa tangente 9la courbure; +a longueur du trait rouge est proportionnelle F la diWrence de vitesse F appliquer entre les moteurs, si le trait est F gauche de la courbe, cest le moteur gauche qui tourne plus vite, si il est F droite, cest le contraire. #i % est la longueur du trait rouge et @ la vitesse dsire en ligne droite alors, @gauche 8 @ [ %70 et @droite8 @ 2 %70. %ans les 0 cas la traZectoire sera reprsente et sauv comme une suite de coordonnes cartsiennes U et \,9tableau ou liste; lorigine 5,5 sera le point de dpart du robot. +es courbes sont en ralit des lignes brises mais avec beaucoup de points. +chelle sera en cm. +e programme permettra de dessiner des traZectoires F la souri et de les diter 9supprimer un point, aZouter un point; de maniJre interactive. (l devrait aussi Btre possible de dessiner des lignes ne faisant pas partie de la traZectoire reprsentant les murs. 19 Robotique tude et ralisation dune plateforme mobile +e programme aura donc 0 parties L ration, dition, sauvegarde et chargement des traZectoires 2 murs L hargement et excution dune traZectoire, dans cette partie du programme la traZectoire sera transmise point aprJs point par le port $#- vers le module P qui assure lui le transfert vers le module &&. )ttention le P doit envoIer chaque commande de vitesse F un instant prcis il devra utiliser un timer pour cela. #i on doit faire du A5cm7s pendant 6sec, la commande dpart A5cm7s doit Btre envoIe, puis la commande arrBt doit Btre envoI exactement 6 sec aprJs. $n mode G manuel H doit Btre prvu, commande de la vitesse par 0 sliders, un pour la vitesse 9@; et un autre pour la diWrence de vitesse 9%@;. @g8@2%@ et @d8@L%@ )utres fonction F raliser sur le P +es traZectoires devraient pouvoir Btre envoIes par le KiC +e mode manuel et le dmarrage, larrBt et le choix dune traZectoire devrait pouvoir Btre raliss F distance 9bureau F distance ou client ddicac ou Keb interface; +a commande du Pan3*ilt de la Keb cam se fait en manuel avec 0 sliders ou avec les mouvements de la souri. ette fonction doit aussi Btre disponible par le KiC. )Mchage de toutes les donnes disponibles avec un rafraichissement priodique 9]1s; @oltage batterie 9@ avec 1 dcimale; ourant batterie 9m); %istance tlmJtre (R 9cm; %istance tlmJtre $ltrasons 9cm; )ngle tlmJtre 9 L degrs 5 2 degrs ; @itesse et direction moteur1 @itesse et direction moteur0 ap compas 9)ngle 5LAD5, 5 8 nord; )rrBt durgence 19 Robotique tude et ralisation dune plateforme mobile $ne fenBtre doit reprsenter le graphique polaire des donnes du tlmJtre 9Radar;. +a Keb cam doit pouvoir Btre visible sur le rseau . (l doit Btre possible de dCnir une distance minimum qui provoque larrBt devant un obstacle. 19 Robotique tude et ralisation dune plateforme mobile V267 La de*@i8me 9ersion d* so:tware PC sera (l*s ;9ol*;e et (ermettra a* ro=ot de de9enir a*tonome6 ontrOle de la position relle 9compas, beacons, imagesR; et corrections de traZectoires. alcul de la traZectoire pour atteindre un point dans un parcours avec des obstacles. Raction par rapport aux obstacles imprvus, arrBt et tentative de contournement. ReZoindre une station de rechargement des batteries. 19 Robotique tude et ralisation dune plateforme mobile A--IVER& (l sagit dun proZet complexe, pas parce quil est diMcile mais parce quil fait intervenir de nombreux lments, des technologies diverses et plusieurs personnes. Pour mener F bien un tel proZet, il est important dutiliser une bonne mthodologie. "ntre autre raliser une description prcise et dtaille des tNches, des fonctions et des caractristiques des circuits et des programmes. &ais surtout laborer un planning qui montre ce quil I a F faire, par qui et quand. %iviser le travail nest pas suMsant, tous les lments sont F la Cn interdpendants. hacun aura un moment donn besoin du travail des autres pour avancer dans son propre travail. (l est donc important dtudier ces relations et den dduire le meilleur enchainement pour les diWrents travaux. Par exemple, diMcile dcrire le soft du module && sans avoir ralis la carte. %iMcile de raliser la carte sans avoir les composants. %iMcile de raliser le soft du P sans un module P pour communiquer etcR e nest pas totalement exact, il est possible dcrire une partie des softKares sans disposer du matriel, ce qui est diMcile cest de tester. (l est aussi possible de dessiner et tirer des cartes sans avoir les composants. +a dCnition du protocole de communication, des messages, des commandes et des informations de statut est une des tNches quil faut raliser avant les dautres. +es ralisations mcaniques sont les plus incertaines et doivent galement Btre abordes en priorit. hoix du chNssis et des moteurs et construction. +e tlmJtre est indpendant du chNssis et des moteurs. &ais le choix du protocole phIsique de communication doit Btre fait pour raliser la carte. (l est plus complexe que les autres modules car il comporte une partie analogique F dvelopper, ainsi quun peu de mcanique pour la rotation. +a commande des moteurs ncessite aussi davoir dCni le mode de communication pour Btre ralise, ensuite le circuit hbridge et le capteur de tours sont indispensables pour attaquer le CrmKare. 'importe quel moteur peut convenir pour les premiers essais. +e module P,comme les autres F besoin de la dCnition de la communication pour pouvoir Btre ralis, ensuite, on peut raliser le softKare de mesure de la batterie, le pan3tilt sans avoir besoin dautres lments. $n soft P G de test H est suMsant pour vriCer la communication $#- avec le module, les mesures de la batterie et la commande du pan3tilt. "nCn, le soft P pour sa partie dessin et dition de traZectoires, est indpendant des autres lments, de mBme pour le panneau de contrOle qui peut Btre conQu 19 Robotique tude et ralisation dune plateforme mobile avec des valeurs F aMcher simules. "* tra9ail B