Robotique pratique

download Robotique pratique

of 23

Transcript of Robotique pratique

Robotique tude et ralisation dune plateforme 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 plateformemotricit

chssis propulsion et directionchoix des moteurscommande de puissancergulation et contrle de la vitesse

capteurstachymtre pour le contrle de la vitesseinfrarouge et/ou ultrasons pour la dtection dobstaclessignalisation leds, klaxon, messages

intelligence distribue, un ou plusieurs microprocesseurs et un PC

Communication

interne: PWM - SPI - I2C - Analogique USB

distante: wifiProblme de la navigation

obstacles, trajectoiregps, compas, analyse dimage

Problme de lautonomie

monitoring des batteries

recharge autonome

SynoptiqueTches

Mcanique

Construction du CHASSIS, fixation des MOTEURS et dmultiplication, ROUES

Support des circuits, du PC, ralisation du SCANNER RADAR, du PAN&TILT Web camElectronique

Conception des CARTES: PROCESSEUR de COMMUNICATION. , COMMANDE MOTEURS, TELEMETRE IR et US, COMPAS, Commande SERVOS.Software

MICROCONTROLEURS, PC1-CHASSI ET PROPULSION

Sources dinspiration

Critres:

Stable, lger, rigide, simple raliser

Charge utile maximum dterminer: portable + batteries + moteurs + diversEstimation des caractristiques des moteursVitesse de pointe < 0.5m/s , et acclration maximum < 0.5m/s2V = Pi*d*r V= vitesse en m/s, d =diamtre roues en mtre, r = Vitesse de rotation en tours/secondeex: roues de 10 cm et vitesse de 0.5m/s alors r = 95 t/min

F=m*a F=force en newton, m= masse en kg, a= acclration en m/s2ex: 5kg, force de dmarrage = 2.5 N + frottements (? 1.5 N)Avec 4 N et roues de 10 cm alors le couple est de 0.2 NxmP = C*wP = Puissance en Watts, C = Couple en Nxm, w = Vitesse de rotation en Radians/seconde

ex: 95 t/min = 10 rad/sec et P = 0.2 * 10 = 2WIl y a 2 moteurs donc avec ses valeurs 1W par moteur devrait tre suffisant. Par scurit: on visera 2W par moteur

Type de moteurs:

Moteurs DC, voltage, puissance, couple?

Commande des moteurs:

Avant / arrire, rglage de vitesse par PWM.

Hbridge: Voltage max? I max?P lectrique > P mcanique (rendement estimation 50%)Si P=4W et V=12V alors I=4/12 0.35ASi V=5V alors I = 0.8A

Quel circuit? Bipolaires (chauffe) ou MOSFET,Discret avec 2 x 4 transistors ou CI (prix, dispo) 2 simples ou 1 double? 24V 5A Dual H-Bridge

12v 2.8A Dual H-BridgeAsservissement de la vitesse:

La commande de la vitesse est ralise en PWM un processeur est utilis pour la production des signaux et le contrle de la vitesse relle par une rtroaction dune mesure tachymtrique par disque ligne et led/capteur infrarouge.

2-TELEMETRIEUltrasons

40KHz, mesure du temps aller retourVitesse du son = 340 m/sUn metteur, un rcepteurLe signal du rcepteur doit tre amplifi, dans le schma le gain est variable (max5467). Un max232 est utilis pour lever la tension applique lmetteur ultrasons (24v)

InfrarougeSharp GP2D12Donne une tension analogique fonction de la distance

Scan radar

Produire une image 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. Il y a besoin dun moteur dont on connait la position angulaire.On peut utiliser un servo de modlisme. Commande de position par largeur dimpulsion

Il nest pas possible de faire un tour complet (fils), angle mort3-NAVIGATIONConnaitre sa position, relative sur un plan ou absolue sur la terre.Se dplacer vers un point donn (relatif ou absolu), en vitant les obstacles connus ou imprvus.On ne peut pas faire confiance la commande de vitesse/direction sur des distances importantes, ou aprs de nombreux arrts/dparts.Position absolue: GPS mais pas assez prcis (+/-20m), EGNOS ? (+/-1m)

Direction absolue: bousole ex: Magnetic Compass Philips KMZ51 magnetic field sensorAutre solution: beacons (radios, IR)Analyse dimages, webcam

Orientation de la webcam PAN-TILT , 2 servos

4-PROCESSEURS et COMMUNICATIONListe exhaustive des signauxFonctionDirectionModerem

PWM moteur 1OutDigital 5v pls

DIR moteur 1OutDigital 5v

Break moteur 1OutDigital 5v

PWM moteur 2OutDigital 5v pls

DIR moteur 2OutDigital 5v

Break moteur 2OutDigital 5v

Tacho pulse mot1InDigital 5v pls

Tacho pulse mot2InDigital 5v pls

US triggerOutDigital 5v pls

US echoInDigital 5v pls

IR distanceInAnalog 0-5V

Radar servo pulseOutDigital 5V pls

Arret urgenceInDigital 5VActif bas

Batterie VInAnalog

Batterie IInAnalogBesoin de convertir I en V

Webcam PAN pulseOutDigital 5V pls

Webcam TILT pulseOutDigital 5V pls

Divers (leds,klaxon) x 4OutDigital 5V

Compas??

USBIn/outDigital 5VSur UART, port srie virtuel

on peut en ajouter, clairemen, temprature

2 solutionsUn seul processeur gre tout les signaux et assure linterface avec le PC

Avantage: 1 seule carteInconvnient: difficile diviser entre plusieurs dveloppeurs, il faut tout faire dun coup.Firmware complexe et fortement multitches, temps rel.Plusieurs processeurs se rpartissent le travail

Processeur moteurs: PWM et tachymtre

Processeur tlmtre: contrle US, mesure AD IR, contrle 1 servo scan

Processeur pan&tilt: contrle 2 servos

Processeur de communication: USB PC et autres processeurs

Avantage: travail plus facile rpartir, diviser pour rgner, construction incrmentaleInconvnient: dfinir des protocoles de communications entre les modules

Compromis : 3 processeurs

Le processeur central assure la communication PC USB et la gestion des signaux simples: leds et switches, monitoring batteries, Pan&Tilt. Il transmet les commandes PC vers les autres processeurs. Il doit tre capable de raliser des fonctions simples sans le PC: initialisation, test, dtection dvnement critiques (arrt urgence, I>max, self-test).Le processeur moteurs ralise la boucle dasservissement PID de la commande des 2 moteurs, gnration PWM (timer) et mesure de la vitesse. Il reoit ses commandes du processeur central selon un protocole dfinir. (uni ou bi directionnel, retour vitesse?)Le processeur tlmtrie contrle le mouvement du scanner, cre la rafale dultrasons, ralise la mesure du temps de retour de lcho et ralise la mesure du capteur IR. Il communique ces mesures et langle correspondant au processeur central. Il peut fonctionner en continu ou se positionner dans une direction demande.pwm,dir,break

servo,trig

tachop

echo,IR

pan,tilt,leds,alarm, sw,batt,compas,

5-ANALYSE DETAILLEE DES MODULES A REALISERCircuits avec processeurs

MODULE PROCESSEUR CENTRAL (CP)

HARD

ATMEGA 168, 328 ou 64 ( 2 ports sries)FTDI2328 SORTIES, leds et divers4 ENTREES, switches et divers2 ENTREES A/D, mesure batteriePORT DE COMMUNICATION VERS LES AUTRES MODULES (I2C?)Choix des connecteursTotal >18 ESSOFTDfinition des protocoles vers pc, vers MP et vers MTchoix du support physique (uart,I2C,SPI), vitesse, format des messages (binaires, ascii), liste complte des messages.

Ex: commande: SET SPEED LEFT 20 -> 0F 01 00 20 ou bien SPL=20

rapport: TELEMETRE DATA IR=25 US=28 ALPHA=60 -> 0D 25 28 60

Gestion des servos Pan&Tilt -> timerGestion des leds dtat et des switces arrt durgence et self testMesure du courant et de la tension de la batterie (2 A/D)Initialisation: arrt moteurs, tlmtre 0, Programme de self test: balayage scanner, avance et recule, demi-tour.Gestion des modes durgence (collision, batterie plat, Imax )

MODULE PROCESSEUR MOTEUR (MM)

HARD

ATMEGA 483 SORTIES X 21 ENTREE X 21 ENTREES A/D X 2 (option mesure de courant)PORT DE COMMUNICATION VERS LE MODULES CP (I2C?)2 ENTRE SWITCH SELT TEST et STOPTotal 14 ES

SOFTDcodage des commandesGnration des pulses PWM (timer)Comptage des pulse tachymtre (timer) et calcul de la vitesseRgulation de la vitesse (PID), Il faut rguler les 2 moteurs en mme temps.Switch STOPSelf test: acclrer en avant, ralentir, arrt, idem arrire.Option: mode contrle de position.

MODULE PROCESSEUR TELEMETRE (MT)

HARD

ATMEGA 482 SORTIES, pulse servo et pulse ultrasons1 ENTREE, ECHO1 ENTREE A/D, mesure IR1 ENTRE SWITCH SELT TEST/DEBUG2 SORTIES, LED DEBUGPORT DE COMMUNICATION VERS LE MODULES CP (I2C?)Total 9 ESSOFTDcodage des commandesGnration des pulses ultrason (mission)Comptage du temps de retour de lchoMesure A/D de la valeur du capteur IRGestion de la position du servo de scan, timer.3 Modes

pos: positionne le servo sur un angle donn par une commande et conserve cette position.

single: ralise un balayage aller retour.

auto: balayage aller retour en continu.

Dfinir comment les rsultats son communiqus au PC.Circuits sans processeurs

HBRIDGE

Choix du circuit et ralisation de la carte.Source dalimentation double, haut voltage (7 12V) pour les moteurs et 5V pour la partie digitale.

Liste des circuits envisagsImaxVmaxSimple/double

LM18200

LMD18245

CAPTEURS IR TACHO et MISE EN FORME (2 X)Choix du type de capteurs, led et phototransistor, cavalier de floppy ou capteur effet hall. Le circuit doit tre concu pour sadapter entre le chassis et la roue.Alimentation unique 5V + GND donc 3 fils par circuit vont vers le module MP.6-SOFTWARE PC

Le PC assure la conduite du robotV1.0 La premire version le fera oprer en boucle ouverte, c'est--dire sans informations sur lenvironnement et les dplacements rellement effectus.

On peut par exemple mettre les 2 moteurs en route avec une commande de vitesse de 30 cm/s pendant 5 sec. Puis arrter et tourner droite de 60, repartir 30cm/s pendant 5 sec, arrter, tourner encore droite de 60, et repartir pour 5sec 30cm/s.

Le chemin suivi devrait tre ceci, un triangle de 1.5m de cot.

Si la commande de vitesse est parfaite, quelle tient compte de lacclration et du freinage, quil ny 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. Si ce nest pas le cas nous narriverons pas exactement lendroit prvu. Cette erreur sera plus grande si le trajet est plus long.

Il devra tre possible de dfinir une trajectoire sur le PC en la dessinant la souri laide de traits successifs. On aura la possibilit de donner une vitesse pour toute la trajectoire ou pour chaque segment. Le Pc sera responsable de calculer les commandes de vitesse ncessaires pour effectuer une rotation. Il sera possible de sauver et reprendre des trajectoires et de les combiner.Deux cas sont envisager, le premier le plus simple, est celui-ci-dessus, un chemin est une ligne bris, succession de ligne droite, arrt, rotation sur place, ligne droite

Les 2 moteurs ont toujours la mme vitesse V dans les lignes droites et des vitesses gales mais de signes opposs V- et V+ pour tourner sur place. Cest la dur pendant laquelle on applique ces 2 vitesses qui dterminera langle de rotation.

Le deuximes cas permet la cration de courbes continues, dans ce cas cest la diffrence de vitesse entre les 2 moteurs qui impose une dviation par rapport la ligne droite. Du point de vue mathmatique, la diffrence de vitesse entre les moteurs sera partir de lcart entre la courbe et sa tangente (la courbure)

La longueur du trait rouge est proportionnelle la diffrence de vitesse appliquer entre les moteurs, si le trait est gauche de la courbe, cest le moteur gauche qui tourne plus vite, si il est droite, cest le contraire.Si D est la longueur du trait rouge et V la vitesse dsire en ligne droite alors,

Vgauche = V D/2 et Vdroite= V + D/2.

Dans les 2 cas la trajectoire sera reprsente et sauv comme une suite de coordonnes cartsiennes X et Y,(tableau ou liste) lorigine 0,0 sera le point de dpart du robot.Les courbes sont en ralit des lignes brises mais avec beaucoup de points.Lchelle sera en cm.

Le programme permettra de dessiner des trajectoires la souri et de les diter (supprimer un point, ajouter un point) de manire interactive. Il devrait aussi tre possible de dessiner des lignes ne faisant pas partie de la trajectoire reprsentant les murs.

Le programme aura donc 2 parties Cration, dition, sauvegarde et chargement des trajectoires + murs Chargement et excution dune trajectoire, dans cette partie du programme la trajectoire sera transmise point aprs point par le port USB vers le module CP qui assure lui le transfert vers le module MM. Attention le PC doit envoyer chaque commande de vitesse un instant prcis il devra utiliser un timer pour cela.Si on doit faire du 30cm/s pendant 5sec, la commande dpart 30cm/s doit tre envoye, puis la commande arrt doit tre envoy exactement 5 sec aprs.Un mode manuel doit tre prvu, commande de la vitesse par 2 sliders, un pour la vitesse (V) et un autre pour la diffrence de vitesse (DV). Vg=V+DV et Vd=V-DVAutres fonction raliser sur le PC

Les trajectoires devraient pouvoir tre envoyes par le wifi

Le mode manuel et le dmarrage, larrt et le choix dune trajectoire devrait pouvoir tre raliss distance (bureau distance ou client ddicac ou web interface)

La commande du Pan&Tilt de la web cam se fait en manuel avec 2 sliders ou avec les mouvements de la souri. Cette fonction doit aussi tre disponible par le wifi.

Affichage de toutes les donnes disponibles avec un rafraichissement priodique (~1s)

Voltage batterie (V avec 1 dcimale)Courant batterie (mA)

Distance tlmtre IR (cm)

Distance tlmtre Ultrasons (cm)Angle tlmtre ( - degrs 0 + degrs )Vitesse et direction moteur1Vitesse et direction moteur2Cap compas (Angle 0-360, 0 = nord)Arrt durgence

Une fentre doit reprsenter le graphique polaire des donnes du tlmtre (Radar).

La web cam doit pouvoir tre visible sur le rseau .

Il doit tre possible de dfinir une distance minimum qui provoque larrt devant un obstacle.

V2.0 La deuxime version du software PC sera plus volue et permettra au robot de devenir autonome.

Contrle de la position relle (compas, beacons, images) et corrections de trajectoires.

Calcul de la trajectoire pour atteindre un point dans un parcours avec des obstacles.

Raction par rapport aux obstacles imprvus, arrt et tentative de contournement.

Rejoindre une station de rechargement des batteries.

7-DIVERSIl sagit dun projet complexe, pas parce quil est difficile mais parce quil fait intervenir de nombreux lments, des technologies diverses et plusieurs personnes.Pour mener bien un tel projet, il est important dutiliser une bonne mthodologie. Entre autre raliser une description prcise et dtaille des tches, des fonctions et des caractristiques des circuits et des programmes. Mais surtout laborer un planning qui montre ce quil y a faire, par qui et quand. Diviser le travail nest pas suffisant, tous les lments sont la fin interdpendants. Chacun aura un moment donn besoin du travail des autres pour avancer dans son propre travail. Il est donc important dtudier ces relations et den dduire le meilleur enchainement pour les diffrents travaux.Par exemple, difficile dcrire le soft du module MM sans avoir ralis la carte. Difficile de raliser la carte sans avoir les composants. Difficile de raliser le soft du PC sans un module CP pour communiquer etc

Ce nest pas totalement exact, il est possible dcrire une partie des softwares sans disposer du matriel, ce qui est difficile cest de tester. Il est aussi possible de dessiner et tirer des cartes sans avoir les composants.

La dfinition du protocole de communication, des messages, des commandes et des informations de statut est une des tches quil faut raliser avant les dautres. Les ralisations mcaniques sont les plus incertaines et doivent galement tre abordes en priorit. Choix du chssis et des moteurs et construction.

Le tlmtre est indpendant du chssis et des moteurs. Mais le choix du protocole physique de communication doit tre fait pour raliser la carte. Il est plus complexe que les autres modules car il comporte une partie analogique dvelopper, ainsi quun peu de mcanique pour la rotation.

La commande des moteurs ncessite aussi davoir dfini le mode de communication pour tre ralise, ensuite le circuit hbridge et le capteur de tours sont indispensables pour attaquer le firmware. Nimporte quel moteur peut convenir pour les premiers essais.

Le module CP,comme les autres besoin de la dfinition de la communication pour pouvoir tre ralis, ensuite, on peut raliser le software de mesure de la batterie, le pan&tilt sans avoir besoin dautres lments. Un soft PC de test est suffisant pour vrifier la communication USB avec le module, les mesures de la batterie et la commande du pan&tilt.

Enfin, le soft PC pour sa partie dessin et dition de trajectoires, est indpendant des autres lments, de mme pour le panneau de contrle qui peut tre conu avec des valeurs afficher simules.

Au travail!

PC

PROCESSEUR DE COMMUNICATION

COMMANDEMOTEURS

TELEMETRE IR

TELEMETRE ULTRASONS

COMPAS

WEB CAM

GPS

WIFI

MOTEUR 1

MOTEUR 2

TACH

TACH

USB

PWM + DIR

ANALOG

USB

SCAN

BATTERIE

DIGITAL

USB

Proc. Centraldivers

Proc. Moteur

MM

Proc. Tlmtre

MT

PAN & TILT

ANALOG

BLUETOOTH

EMBED Photoshop.Image.10 \s

_1316736049.psd