Vous êtes sur la page 1sur 46

655, Avenue de l'Europe 38330 Montbonnot

Implmentation de la commande d'un vhicule lectrique autonome grce un capteur de distance et d'angle bas sur une camra linaire

Nicolas Cardils IUP de Mathmatiques Appliques et Industrielles mai aot 1998

Table des matires

INTRODUCTION : ................................................................................................................................................................... 3 PRESENTATION GENERALE :............................................................................................................................................. 4 1. DOMAINES DE RECHERCHE : ...........................................................................................................................................4 2. LE PROJET SHARP :..........................................................................................................................................................5 3. LE SERVICE ROBOTIQUE :................................................................................................................................................6 3. PARTICIPATION DANS LACTION DE DEVELOPPEMENT PRAXITELE :...................................................................6 5. CADRE .................................................................................................................................................................................7 6. A XES DE RECHERCHE :.....................................................................................................................................................8 7. BREF DESCRIPTIF DU TRAVAIL A REALISER :...............................................................................................................8 DESCRIPTION DU MATERIEL UTILISE............................................................................................................................ 9 1. BALISE INFRAROUGE A TROIS POINTS...........................................................................................................................9 2. LA CAMERA LINEAIRE :..................................................................................................................................................10 CALCULS DE POSITIONNEMENT 2D PAR TRIANGULATION :..............................................................................12 1. REPRESENTATION 2D : ..................................................................................................................................................12 2. CALCULS :.........................................................................................................................................................................13 3. M ETHODE : ......................................................................................................................................................................14 SYNCHRONISATION DE LA CAMERA :.........................................................................................................................15 1. POSITION DU P ROBLEME :.............................................................................................................................................15 2. M ETHODE UTILISEE POUR LA SYNCHRONISATION :................................................................................................17 TRANSMISSION DE DONNEES VIA CAN ......................................................................................................................20 1. PRINCIPE :.........................................................................................................................................................................20 2. M ISE EN UVRE : ............................................................................................................................................................20 GESTION DES INTERRUPTIONS ......................................................................................................................................21 SUIVI DE VEHICULE.............................................................................................................................................................22 1. PRESENTATIONS DES LOGICIELS UTILISES : ...............................................................................................................22 2. PRINCIPE :.........................................................................................................................................................................24 3. M ISE EN UVRE : ............................................................................................................................................................24 CONCLUSION :......................................................................................................................................................................28 ANNEXES.................................................................................................................................................................................29 PRINCIPE DU FONCTIONNEMENT DIFFERENTIEL DE LA BALISE BALISE INFRAROUGE A TROIS POINTS FICHE TECHNIQUE DU CYCAB CONTROLE DU TEMPS D'EXPOSITION CAN CLEFS DE COMMUNICATION ET LEURS EFFETS SOURCES

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

Introduction :

Ce stage de fin d'anne s'inscrit dans le cadre de mes tudes l'Institut Universitaire Professionnalis de Mathmatiques appliques et Industrielles mention Gnie Mathmatique et Informatique de l'Universit Joseph Fourier Grenoble, pour l'obtention du diplme dIngnieur Matre. Il s'est droul l'Unit de Recherche Rhne-Alpes (Montbonnot) de l'Institut National de Recherche en Informatique et en Automatique. L'objectif de ce stage est de mettre au point un capteur de distance et d'angle entre deux vhicules, bas sur une camra linaire infrarouge programmable interface via un bus CAN dune part, et sur une balise infrarouge dautre part, puis dimplmenter la commande de vhicule pour la conduite en pelotons, grce ce capteur. Ce stage est dans la continuit du stage que jai ralis en fin de la licence, avec toutefois une importante amlioration du matriel utilis, et un largissement du travail demand, notamment en ce qui concerne la partie commande de vhicule.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

Prsentation Gnrale :

Institut national de recherche en informatique et automatique

1. Domaines de recherche :
L'INRIA est un tablissement public caractre scientifique et technique, plac sous la double tutelle du ministre de l'Education nationale, de l'Enseignement suprieur et de la Recherche, et du ministre de l'Industrie, des Postes et des Tlcommunications. Les activits de l'INRIA comprennent la ralisation de systmes exprimentaux, la recherche fondamentale et applique, le transfert de technologie, l'organisation d'changes scientifiques internationaux et la diffusion des connaissances et du savoir-faire. Ces activits associent informaticiens, automaticiens, mathmaticiens dans le cadre de projets de recherche regroups dans six programmes : 1. 2. 3. 4. 5. 6. Architectures parallles, bases de donnes, rseaux et systmes distribus. Calcul symbolique, programmation et gnie logiciel. Intelligence artificielle, systmes cognitifs et interaction homme-machine. Robotique, image et vision. Traitement du signal, automatique et productique. Calcul scientifique, modlisation et logiciels numriques.

Depuis 1992, l'INRIA participe de grands projets finalit industrielle dans le cadre d'actions de dveloppement : programmes de dure dtermine (gnralement trois cinq ans), mens en partenariat avec des industriels et des usagers des technologies de l'information. Faisant participer plusieurs quipes de recherche, ces actions constituent des occasions de coordination, voire de fertilisations croises entre projets de recherche et socits de technologie. Le projet Praxitle a t le premier de ces grands projets industriels. Son objectif final long terme est de dvelopper un nouveau mode de transport public individuel avec des vhicules mixtes, c'est--dire conduite manuelle ou automatique selon le besoin.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

2. Le projet SHARP :
L'objectif de ce projet consiste dvelopper des mthodes informatiques aptes accrotre les capacits dcisionnelles des robots et faciliter leur mise en uvre sur de nouvelles tches, partiellement spcifies et gnralement non rptitives. Ces deux points constituent l'un des verrous technologiques qu'il faut faire sauter pour permettre une utilisation plus tendue des robots sur des tches non ncessairement manufacturires (le champ des applications manufacturires tant trop restrictif sur le plan socio-conomique). Sont particulirement vises des tches pour lesquelles il est difficile, voire impossible, de faire directement appel l'homme (travaux dangereux et pnibles, milieux hostiles, sites loigns), ou bien encore des tches d'assistance un oprateur humain (tl-robotique et assistance la conduite automobile par exemple). Ceci conduit mettre l'accent sur les concepts de planification de mouvements et d'intgration systme en robotique en orientant nos travaux de recherche vers la rsolution de problmes lis l fois la manipulation et la mobilit. Par intgration systme, il faut a comprendre l'intgration des techniques de planification dveloppes avec celles de la vision par ordinateur et du contrle. Ceci est ncessaire pour tre en mesure de dvelopper des techniques ralistes vis--vis des types d'applications envisages Le projet SHARP a particip activement l'action de dveloppement Inria-INRETS (Institut National de Recherche sur les Transports et leur Scurit) Praxitle lance en 1994 et qui implique des partenaires industriels aussi divers que la CGEA (Compagnie Gnrale d'Entreprise Automobile), Electricit de France, Renault et Dassault Electronique. Praxitle est un programme de recherche sur le concept du Transport Urbain Public et Individuel ; la contribution de SHARP a port sur les aspects conduite automatique. L'action de dveloppement Praxitle, dsormais termine, a t suivie du projet Cabby, qui inclut en plus la cration d'un nouveau vhicule, puis du projet Cycab, toujours sur le mme vhicule.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

3. Le service robotique :
Le rle des moyens robotiques est la mise en uvre et la maintenance de plates-formes robotiques pour raliser les exprimentations des projets robotiques. Les missions qui lui sont attribues sont de trois types : - Activit de service : maintenance des systmes robotiques installation et maintenance de logiciels spcialiss interface entre les utilisateurs et le service informatique assistance aux utilisateurs - Activit de dveloppement : mise en place d'exprimentations dveloppement de logiciels ddis la robotique - Activit de recherche : conception de systmes robotique confrontation thorie et exprimentation Le but du Service Robotique est de fdrer l'effort exprimental en favorisant les exprimentations inter-projets, la mise en commun des moyens exprimentaux, les outils rutilisables (environnement de dveloppement, machine de vision...) Les moyens robotique travaillent avec les projets des programmes 3 et 4 impliqus en robotique et vision : SHARP (Programmation automatique et systmes dcisionnels en robotique), MOVI (Modlisation, localisation, reconnaissance et interprtation en vision par ordinateur), BIP (Conception et contrle de robots marcheurs et applications). Les plates-formes robotiques sont regroupes dans une halle qui contient un bras manipulateur, une main tri-digitale, deux voitures lectriques, un robot portique ddi la vision, un pendule simple esquisse d'un robot bipde.

3. Participation dans laction de dveloppement Praxitle :


Ds 1991, l'INRIA identifie les nouvelles technologies permettant de matrialiser un nouveau concept de transport la fois public et individuel (projet DEDALE). Il s'agit en particulier des avances technologiques sur la communication, la localisation des mobiles, la billtique et l'automatisation de la conduite. Un brevet est dpos en 1992 sur ce concept. L'action Praxitle est aussi en contact troit avec les principaux centres de recherche travaillant sur des sujets similaires en France et l'tranger (programme fdral Automated Highways System, Universit de Berkeley).

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

Huit quipes de l'INRIA, une trentaine de chercheurs (dont dix doctorants) sont aujourd'hui impliqus dans l'action Praxitle dans les domaines suivants : Modlisation mathmatique et contrle. Traitement de l'image. Communication, automatisation. Conception de vhicules spciaux pour une utilisation en libre-service.

Ces dveloppements sont en cours d'intgration dans un nouveau concept de vhicule spcifiquement conu par l'INRIA pour le transport public individuel et la conduite automatique en site propre. Les recherches sur la conduite automatique ont t concrtises sur des vhicules lectriques de marque Ligier modifis par l'INRIA :

La conduite en train avec accrochage immatriel a t dmontre en septembre 1994, le parking automatique en crneau, en juin 1995.

5. Cadre
Dans les villes d'aujourd'hui, la circulation asphyxie les centres et irrigue mal les quartiers priphriques. Il est impratif de prserver l'espace urbain tout en favorisant la fluidit des dplacements, sve indispensable la vie conomique ainsi qu'a la vie quotidienne de chaque citadin. Praxitle est un service public de transport, complmentaire des transports en commun et des taxis qui vise offrir une alternative aux dplacements en voiture individuelle prive. Ce nouveau service est destin en priorit aux itinraires et aux horaires o la demande est diffuse et o les transports publics sont insuffisants en terme de frquence et de rentabilit. L'objectif est de rduire les problmes de stationnement tout en gardant la souplesse du vhicule individuel. Pour les utilisateurs, ce service peut constituer un frein l'usage immodr de la voiture particulire pour les trajets de proximit et pour les dplacements urbains lis un stationnement difficile. Ces vhicules pourraient avoir des droits spciaux en terme de stationnement et de circulation dans le cadre de la rduction de la pollution atmosphrique et sonore des villes.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

6. Axes de recherche :
Pour dvelopper ce projet, plusieurs axes de recherche sont ncessaires : conception du vhicule, des stations de parking, ingnierie systme, localisation, communication, gestion informatique, organisation et rglementation, automatisation des parkings, conduite en pelotons, conduite automatique sur voie propre et hors voie propre. Mon stage prend place dans le thme de recherche " conduite en pelotons" et porte plus particulirement sur l'accrochage immatriel entre vhicules.

7. Bref descriptif du travail raliser :


Avec le matriel fourni (camra linaire, balise infrarouge, PC) je dois tre en mesure de fournir la distance, la dviation et les angles sparant deux vhicules quips lun de la balise infrarouge larrire, lautre de la camra lavant. De plus je dois faire fonctionner le suivi de vhicules grce ce capteur.

Balise Camra PC

Distance

Dviation

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

Description du matriel utilis


Le capteur fonctionne avec un metteur et un rcepteur. La partie metteur est constitue de la balise infrarouge, la partie rcepteur de la camra linaire. Pour la mise au point de l'application j'ai aussi utilis un PC industriel.

1. Balise infrarouge trois points


Pour amliorer les performances du capteur, jai dcid de transformer la partie metteur, jusque l constitue dune balise infrarouge cinq points, en une balise trois points. Il est apparu en effet que trois points suffisent pour les calculs de positionnement. De plus la robustesse du capteur augmente quand on diminue le nombre de points dmission de la balise. En effet, il faut que la totalit des sources dmission soit visible pour pouvoir faire les calculs de positionnement, donc si une source parasite dinfrarouge, par exemple le soleil, se superpose l'un des points dmission de la balise cela a pour effet de rendre cette dernire invisible, situation dans laquelle on a moins de risques de se retrouver si on diminue le nombre de sources d'mission de la balise. Enfin, deux sources dmission en moins signifie aussi moins dlectricit utilise pour le capteur : on passe de 1A pour la balise 5 points 0,6A pour la balise trois points. 1.1. Principe de fonctionnement : Afin de localiser prcisment le vhicule qui prcde, on quipe chaque vhicule dune balise infrarouge place larrire. Cette balise en forme de "T" comporte trois sources d'mission d'infrarouges rparties comme sur le schma. Les sources sont composes chacune de 18 diodes infrarouges, mettant la longueur d'onde de 875 17,5 cm nm.

Flash IR 10 cm La caractristique principale de la balise est que les trois sources n'mettent pas toutes en mme temps. En effet il faut distinguer deux "groupes" : le premier constitu des deux sources extrmes et le second de celle du milieu. Ces deux groupes mettent en alternance, chacun pendant 2 ms environ : 2 ms 2 ms

Ceci permet de crer une image diffrentielle de la balise et donc daugmenter la robustesse du capteur.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

1.2. Ralisation : Afin de raliser cette nouvelle balise, je me suis bas sur la balise existante. Il ma fallu retrouver le schma lectronique de la balise cinq points, en extraire la partie utile (en effet sur cette balise deux modes de fonctionnement taient disponibles, dont un inintressant car seulement deux points dmission taient diffrentiels), ladapter pour une balise trois points, et enfin raliser la balise proprement dite. Dautre part jai crit une documentation sur cette balise, qui contient les donnes mcaniques, la liste des composants, leur schma dimplantation sur la plaque lectronique, ainsi que le schma lectronique de la balise et les data sheets des composants principaux.

2. La camra linaire :

La Cil2048 et son moniteur

Pour localiser la balise prcdemment dcrite, on dispose d'une camra linaire (linaire car le capteur CCD est constitu d'une ligne d'lments photosensibles et non pas d'une matrice comme dans une camra classique), intelligente (en fait programmable, donc en sortie on rcupre directement l'information dsire, et non pas un signal vido non trait), et interfaable via un bus CAN 1 MBaud (afin de pouvoir communiquer avec le PC qui gre le suivi de trajectoire) : Pare buffles Objectif Lentille

Camra Filtre infrarouge Bus CAN

Comme on peut le voir, la camra est quipe d'une optique particulire : un filtre infrarouge pour rcuprer uniquement les longueurs d'ondes utiles, et une lentille cylindrique pour viter de perdre la cible de vue en cas de variation de hauteur.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

10

2.1. Le filtre infrarouge : Ce filtre passe haut bloque les longueurs d'ondes infrieures 780 nm. De plus la camra est capable de percevoir les longueurs d'ondes jusqu' 1100 nm. On aboutit ainsi au filtre passe-bande quivalent :

100%

Rendement du capteur 50%

Rendement du filtre

Rendement du systme

2.2. La lentille cylindrique : Dans le montage de l'optique, on a associ un objectif Cosina (f=28 mm, monture Nikon) pour la mise au point, et une lentille cylindrique d'axe vertical (f=100 mm). Le rle de cette lentille est de rendre volontairement flou dans le plan vertical. En effet, en utilisant une camra linaire, on a un champ de vision trs rduit dans ce plan pour indication, 1 m de distance le champ de vision vertical n'excde pas 5. Grce cette lentille, on effectue en quelque sorte une sommation de la lumire perue dans le champ de vision sur une ligne virtuelle horizontale place sur le mme plan que la camra. De plus cette lentille augmente le champ de vision vertical. Le gain procur par cette lentille se traduit par une utilisation plus facile du matriel pour l'application de suivi de vhicule. En effet, les cahots ventuels ou les cassis et autres dos d'nes ne sont dsormais plus une entrave au bon fonctionnement du capteur. Cependant les inconvnients amens par la lentille ne sont pas ngligeables : en effet, on a dsormais un angle de vue dans le plan vertical suffisant pour tre oblig de prendre en compte la lumire parasite, typiquement celle d'origine solaire.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

11

Calculs de positionnement 2D par triangulation :

1. Reprsentation 2D :
Dev M
G

e h
C

Dist

Y f
0 dc

O Centre optique

2047 o g Barrette CCD

Plan image

Nom abrg : Variables dterminer : Distance de la camra la balise. Angle entre la balise et la normale au plan image. Dviation entre la balise et la normale au plan image. Rotation de la balise sur elle-mme. Variables connues : Demi longueur de la balise. Hauteur de l'avance centrale. Distance focale de l'objectif. Projection des extrmits de la balise. Variables intermdiaires : Extrmits de la balise. Position du milieu de la balise.
Rapport de stage Nicolas Cardils IUPMAI3

Dist a Dev e h f g, c, d G, C, D M Page 12

2. Calculs :
On cherche dterminer des variables caractrisant la position de la balise. Pour y parvenir on procdera dans l'ordre suivant : Angle a Distance Dviation Angle . On exprime en premier lieu pour a=0 les vecteurs OM, MG, MC, MD : Dist 0 h 0 OM = MG = MC = MG = Dev e 0 e On dfinit ensuite la matrice de rotation par rapport a :
cos( ) sin( ) 1 tan( ) R = = cos( ) 1 sin( ) cos( ) tan( )

On calcule ensuite les vecteurs suivants :


Dist e tan( ) cos( ) OG = OM + R MG = Dev + e cos( ) Dist h cos( ) OC = OM + R MC = Dev h tan( ) cos( ) Dist + e tan( ) cos( ) OD = OM + R MD = Dev e cos( )

Puis en appliquant le thorme de Thals, on calcule la position de g, c, d : OGy Dev + e cos( ) g = f = f OGx Dist e tan( ) cos( ) OCy Dev h tan( ) cos( ) c = f = f OCx Dist h cos( ) ODy Dev e cos( ) d = f = f ODx Dist + e tan( ) cos( ) Enfin, on rsout ce systme d'quations et on obtient :

tan( ) =

e f ( g + d 2 c ) + h c ( g d ) e ( c ( g + d ) 2 g d ) + h f ( g d ) e cos( ) ( 2 f + tan( ) ( g + d )) gd

Dist =

c Dist Dev = h cos( ) (tan( ) c f ) + f


tan( ) =
Rapport de stage Nicolas Cardils IUPMAI3

Dev Dist
Page

13

3. Mthode :
Une fois les coordonnes des pics rcupres sur la barrette CCD, on calcule les valeurs de g, c, et d (les valeurs de g, c, et d sont donnes par rapport au centre de la barrette) en prenant le milieu de chaque pic. En effet, dans l'intervalle spatial (environ de 2 10 mtres) o la mesure est demande, l'amplitude des pics dpasse parfois le maximum du capteur, on ne peut donc utiliser que le centre de chaque pic pour estimer la position de la source avec exactitude.

Partie non visible sur le capteur Maximum du capteur

255

La position de la source correspond avec le milieu de ta tche enregistre par le capteur. Ceci est d la construction de la balise.

Capteur photosensible 0 G C D Milieu du capteur 2048

Abscisse de la tche On utilise ensuite ces donnes et les donnes physiques de la camra et de la balise pour calculer les valeurs demandes : Camra : Taille d'un pixel : Distance focale : Nombre de pixels : Zone photosensible : Demi longueur : Hauteur de l'avance : 14 m 14 m. 28 mm. 2048 28,7 mm 14 m e=200 mm h=180 mm

Balise :

La compilation d'instruction manipulant des nombres virgule flottante ayant pos des problmes d'excution sur la camra, le calcul se fait encore sur le PC, la camra se contentant de lui transmettre la position des tches qu'elle peroit.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

14

Synchronisation de la camra :

1. Position du problme :
Afin de rendre la mesure plus robuste pour que le systme soit utilisable lextrieur, il faut arriver synchroniser la camra et la balise pour supprimer les parasites :

Fonctionnement de la balise et de la camra en synchronisation : Emission Rception

Une priode

Perturbations extrieures

"ou" exclusif entre les 2 images plus de perturbations

Cette technique de filtrage nest utilisable que si la camra et la balise sont parfaitement en phase : Une priode

BALISE : Acquisition CAMERA : Traitement Une image

Il ne faut pas quune priode dacquisition/intgration soit commune deux phases dmission diffrentes.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

15

Dans le cas contraire, si la camra et la balise ne sont pas exactement en phase, chacune des deux images acquises rendra compte bien sur des perturbations extrieures, mais en plus elle contiendra cinq pics, puisque la priode dacquisition aura t commune deux priodes dmission diffrentes :

Une priode

BALISE : Acquisition CAMERA : Traitement Une image

L'image rsultante sera dpourvue de signal : Emission Rception

Une priode

Perturbations extrieures

"ou" exclusif entre les 2 images plus aucun signal !

La mesure sera donc rendue plus robuste grce cette technique, seulement si la synchronisation entre la balise et la camra est parfaite. Pour y parvenir, on connat uniquement la dure de la priode de scintillement des balises : 2 pics sont visibles pendant 2 ms, puis un pic pendant la mme dure. Il faut donc que le temps de cycle de la camra soit : TC = 2 ms et pour une bonne dynamique de l'image il faut que le temps d'intgration/acquisition Ti soit gal la moiti du temps de cycle. En effet si on prend un temps d'intgration trop important, on arrive trs rapidement saturer le capteur (on ne voit plus rien du tout). Mais il s'agit l d'un autre problme : le contrle du temps d'exposition, qui est fonction de la puissance d'mission de la balise, de l'ouverture du diaphragme de l'objectif, etc.
Rapport de stage Nicolas Cardils IUPMAI3 Page

16

2. Mthode utilise pour la synchronisation :


On fixe le temps de cycle TC=2 ms et le temps d'intgration Ti=1ms la moiti du temps de cycle. On sait qu'on a ainsi une chance sur deux en prenant une image de "tomber" un moment o les trois points sont allums, auquel cas il suffit de prendre une autre image avec TC diminu de moiti pour faire concider la priode d'intgration avec une priode de temps o les deux cycles d'mission de la camra ne se chevauchent pas :

BALISE :

Premier cas : La priode d'intgration se situe dans un intervalle de temps o les deux tats du cycle de la balise ne se chevauchent pas.

CAMERA : 1 pt 2 pts

BALISE :

Second cas : La priode d'intgration se situe dans un intervalle de temps o se chevauchent deux tats du cycle de la balise.

CAMERA : 3 pts

Mesure transitoire

Retour la normale (premier cas)

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

17

Une fois cette premire tape ralise, toute priode d'intgration se situe dans un intervalle de temps o la balise est dans un seul tat (1 ou 2 pics) :

BALISE : Dphasage CAMERA :

Il ne reste qu' faire concider le dbut du temps d'intgration avec un changement d'tat de la balise, en augmentant petit petit la dure du temps d'intgration. Temps de cycle Le temps imparti l'intgration se situe toujours au dbut du temps de cycle Temps d'intgration

La recherche du temps d'intgration pour lequel la balise change d'tat se fait par mthode dichotomique dans l'intervalle allant de Ti0=1 ms TC=2 ms : Pour Tin fix, si on peroit trois points sur deux images conscutives, on peut encore agrandir le temps d'intgration : Tin+1=Tin+(TC-Tin)/2.

BALISE :

CAMERA : Image trois points Augmentation du temps d'intgration

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

18

Si par contre l'image rsultante est nulle, on doit diminuer le temps d'intgration pour revenir dans une zone o on reverra trois points : Tin+1=Tin-(TC-Tin)/2.

BALISE :

CAMERA : Image sans points Diminution du temps d'intgration

On arrte la recherche une certaine prcision (ici 0.01 ms). A la fin de cette tape, la fin de chaque priode d'intgration concide avec un changement d'tat de la balise :

BALISE : Dphasage CAMERA :

De plus, comme on connat la dure du temps de cycle (qui est constante) et la dure du temps d'intgration, on peut dterminer la valeur du dphasage f =TC-Tifinal . Il suffit ensuite sur une acquisition de fixer TC 2 ms - f puis de remettre TC son ancienne valeur pour que la camra et la balise soient en phase :

BALISE : Dphasage CAMERA : Cycle de longueur 2ms - La camra est synchronise

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

19

Transmission de donnes via CAN


1. Principe :
Pour relier entre eux les diffrents composants autonomes du CyCab, on utilise un bus de terrain : le bus CAN (Controleur Area Network). Ce bus permet de transmettre des informations d'un metteur vers un rcepteur. Le t ansit des informations se fait par une r circulation de "trames" qui contiennent les informations suivantes : Information l'identifiant du rcepteur du message l'identifiant de l'expditeur du message l'identifiant du message le type du message (requte / acknowledgement) un drapeau indiquant si des donnes sont envoyes les ventuelles donnes un drapeau indiquant si l'acknowledge a t reu la clef de communication du message Type 0..255 0..255 0..255 0/1 0/1 32 bits 0/1 0..255

2. Mise en uvre :
La camra linaire a pour l'instant t teste seule sur un bus CAN ne lui permettant de communiquer qu'avec le PC, sans qu'il ne puisse y avoir de message provenant d'un autre module. Par consquent, tous les messages mis par la camra sont destins au PC, et inversement tous ceux manant du PC sont reus par la camra. Les champs dcrivant l'metteur, le rcepteur, et les drapeaux ne sont pas utiles, seules comptent les clefs de communication car elles dfinissent les fonctionnalits du produit (les ordres qu'on peut lui donner). Dans le cas de la camra linaire, ces clefs sont au nombre d'une vingtaine et s'organisent en trois catgories de messages : messages de fonctionnement messages d'accs aux rsultats du calcul messages de commande de la camra distance pour des volutions du soft ou du dbugage

La mise en uvre du CAN ne s'est pas droule sans problmes, car il a fallu mettre en place un protocole de transmission de donnes que je ne connaissais pas. Cependant ce mode de transmission de donnes s'est rvl tre trs performant quant au temps de transit des informations.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

20

Gestion des interruptions


La camra est quipe d'un microcontrleur (68331) qui doit fonctionner de manire autonome, il s'est donc rvl ncessaire de programmer les routines d'interruption de la camra en Assembleur, en faisant bien attention ce qui se passait l'excution, chose que je n'avais encore jamais faite. La camra peut en effet interrompre son travail dans les trois cas suivants : dbut de l'acquisition d'une ligne vido, fin de l'acquisition d'une ligne vido, arrive d'une trame sur le bus CAN.

Dans le cas o la camra doit interrompre le programme en cours d'excution pour traiter une interruption lie l'un des trois vnements cits ci-dessus, il faut sauvegarder l'tat dans lequel se trouvaient toutes les variables internes, traiter l'interruption "au plus vite", puis restaurer l'environnement de travail du programme qui a t interrompu, avant de le laisser poursuivre son excution. Toutes les routines d'interruption de la camra ont donc cette structure commune : sauvegarde des registres, traitement de l'interruption, restauration des registres. Voir le code source de cl_interrupt.s

La partie "traitement de l'interruption" est en gnral constitue d'un code trs court, se contentant de mettre un indicateur 0 ou 1, pour signaler qu'un vnement a eu lieu. Cependant l'interruption lie l'arrive d'une trame CAN doit tre traite sans dlai, car dans tous les cas de messages envoys par le PC, il faut que la camra rponde trs vite, ne serait ce que pour signifier qu'elle a bien reu le message. On a donc une routine d'interruption dans laquelle on reste plus longtemps, et cela a particip rendre le systme moins stable dans certains moments de la mise au point logicielle.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

21

Suivi de vhicule
1. Prsentations des logiciels utiliss :
1.1.ORCCAD : Open Robot Controller Computer Aided Design

F ORCCAD

est un environnement logiciel permettant de concevoir et de mettre en uvre le contrle et la commande d'un systme robotique complexe. Il permet galement la spcification et la validation des missions raliser par ce systme. Participants : ORCCAD a t lorigine conu par des chercheurs du projet Icare de lINRIA et de lISIA, avec le support de la socit Aleph Technologies et du Ministre de la recherche. Des applications en robotique sous-marine ont t soutenues par lIFREMER. Le projet BIP, en relation avec laction Praxitle, a galement contribu la mise en uvre du logiciel dans des exprimentations de conduite automatise. Les dveloppements actuels sont effectus conjointement par les projets BIP et ICARE et le service robotique de lINRIA Rhne-Alpes. Applications : ORCCAD est principalement destin aux applications temps rel critiques en robotique, dans lesquelles les aspects relevant de l'automatique (les asservissements, les commandes) sont amens interagir troitement avec ceux manipulant des vnements discrets. De tels systmes sont souvent qualifis d'hybrides. Dans cette classe d'applications, ORCCAD s'adresse particulirement aux systmes prsentant une forte interaction avec l'environnement, par le biais de nombreux capteurs et actionneurs. Le contrle/commande de ces systmes est souvent embarqu, et le caractre critique de l'application apparat dans le cot extraordinairement lev attach une dfaillance: l'impossibilit ou la difficult d'intervention sur un sous-marin autonome longue porte, sur un engin intervenant aprs un incident technologique majeur ou sur un vhicule plantaire rendent impratif la minimisation du risque de non ralisation de la mission. A cet effet, ORCCAD offre sret de programmation et possibilits de validation par simulation extensive ou vrification formelle. A titre d'exemple, les applications aujourd'hui traites en laboratoire avec ORCCAD vont du bras manipulateur au vhicule lectrique automatique en passant par un robot sous-marin et un robot mobile terrestre avec une camra. Architecture logicielle : ORCCAD est organis en une boite outils destine faciliter et factoriser le dveloppement des logiciels de contrle/commande de diffrents systmes robotiques. Cette bote fournit les outils pour accompagner lutilisateur tout au long de la phase de conception du contrleur : des spcifications aux codages. Les outils sont agencs autour dun noyau. Ce noyau logiciel est lensemble de la hirarchie des classes modlisant les Modules , tches robot (TRs) et procdure robot (PrRs) du systme.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

22

Logiciels connects : Le noyau d'ORCCAD, qui permet la conception de divers niveaux de tches et qui est ralis selon une approche oriente objet, utilise ou est connect divers outils : - ESTEREL , langage synchrone impratif, et son environnement de simulation discrte et de vrification (fc2tools, xes, et autograph); - VxWorks, de WindRiver sytems (et son environnement Tornado), OS temps rel industriel largement rpandu. - MAESTRO, un langage mtier pour la robotique; - SIMPARC, un simulateur hybride permettant de valider la discrtisation temporelle de schmas de commande et leur excution sur une architecture cible. 1.2. SIMPARC : Simulation for Multi-Processor Advanced Robot Controller

F SIMPARC

permet de simuler, en fonction du temps, le comportement dun systme robotique command. Il est constitu dun ensemble de classes C++ conues pour crer des programmes de simulation, et permettant de simuler le comportement de robots commands par des contrleurs numriques. SIMPARC est capable deffectuer plusieurs tches : - Simulation de la dynamique. - Excution des programmes utilisateur permettant de dcrire des comportements. - Prise en compte des temps de calcul. - Simulation de contrleur multiprocesseurs. Les vnements sont gnrs par lexcution des programmes utilisateur sur larchitecture simule. Une application SIMPARC est dcrite par un ensemble de composants communicants : - Les composants communiquent par lintermdiaire de broches . - Les broches sont connectes par des nets. Chaque composant , broche ou net possde des proprits qui lui sont propres. Les communications entre les broches des composants sont de type matre-esclave : - Les broches matre comportent un processus qui initialise la communication - Les broches esclaves possdent des fonctions de services qui rpondent aux communications. Un mcanisme dadressage permet de slectionner les broches esclaves , et il ne doit pas y avoir de recouvrement dadresse sur un mme net. SIMPARC peut effectuer deux types de simulations : - Simulation analogique - Simulation chantillonne

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

23

2. Principe :
Le capteur constitu de la camra et de la balise est ddi une application de suivi de vhicule, pour lequel j'ai pu mettre en place une simulation partir d'une mthode connue pour sa simplicit et ses performances dans ce domaine, reposant essentiellement sur l'algorithme de Kanayama. Cet algorithme "trace une droite" entre la cible et le vhicule suiveur et donne ainsi la direction suivre (orientation des roues). Une amlioration est possible en interpolant la trajectoire par un polynme de degr 2, qui permettrait de moins "lisser" la trajectoire, et ainsi de suivre la cible en passant au plus prs de l o elle est passe. Cela amliorerait le suivi dans les courbes, o le vhicule suiveur a encore tendance l'heure actuelle "couper" les virages, d'o des problmes possibles dans un environnement strict (voie troite avec barrires, etc.).

3. Mise en uvre :
3.1. Partie ORCCAD : Grce ORCCAD, et avec l'aide d'un autre stagiaire de la halle robotique charg de participer la programmation du vhicule lectrique en utilisant ORCCAD, j'ai pu mettre au point la simulation de suivi et tester quelques mouvements. Ceci a t rendu possible grce une application existante sous ORCCAD qui permet de commander manuellement la voiture lectrique.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

24

Cette application comme toutes les autres applications dveloppes sous ORCCAD se compose de trois type de modules : Les modules ressource physique qui rassemblent les entres et sorties du robot :

Ici, en sortie nous avons la position des roues, la position de la direction du braquage, la position du joystick, le status qui indique ltat de la voiture et le loose_com qui avertit lautomate si la communication est perdue. Pour les ports dentre nous avons les roues (les roues sont commandes en vitesse) et la direction de braquage. Pour chacun de ces ports il faut crire un driver qui est le lien entre la ressource relle et celle de ORCCAD. Pour la simulation, il faut crire un deuxime driver pour chacun des ports. Le choix des drivers se fait lors de la compilation. Les modules automates qui grent les dmarrages et arrts de la tche robot :

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

25

Les modules algorithmiques pour programmer les tches robots :

3.2. Simulation avec SIMPARC : Une visualisation des calculs gnrs est ensuite possible avec SIMPARK :

SIMPARC permet une simulation assez complte car le logiciel permet aussi bien de simuler le modle voiture lectrique, son systme, ses capteurs ultrasoniques que lenvironnement dans lequel elle volue. Cet environnement peut tre la fois constitu dobjets statiques et dynamiques. Lintrt de cette simulation est quelle permet de tester des programmes dvelopps sous ORCCAD avant de les faire tourner sur la voiture relle.
Rapport de stage Nicolas Cardils IUPMAI3 Page

26

Comme montre le schma ci-dessus chaque lment rel est reprsent par un module spcifique, et ces modules communiquent entre eux via des BUS. Pour la modlisation dobjets dynamiques, il faut avoir le modle cinmatique de lobjet. Par exemple pour le CyCab, les quations du modle utilises dans la simulation : xf =Vr *cos (+k*) yf =Vr*sin (+k*) = Vr*sin (+k*)/ (lw* Vr *cos (+k*)) Pour entrer ce modle dans la simulation, il faut suivre le schma suivant : U X Y

X vecteur dtat du systme U vecteur de commande appliqu en entre du systme Y vecteur de mesures fournies en sortie par le systme Chaque roue du CyCab peut tre commande en vitesse angulaire et langle de braquage est command en position. Pour plus de ralisme, un retard a t ajout chacune de ces commandes. En effet le temps de raction de la mcanique n'est pas ngligeable. Enfin, il est possible de visualiser le rsultat des diffrentes simulations grce un logiciel qui permet de crer un environnement en 3D.Les objets se dplacent selon les donnes enregistres dans les fichiers, chaque objet tant repr dans lespace par ses six coordonnes x ,y , z et les trois angles de rotation par rapports chaque axe.

3.3. Tests : Des tests ont t effectus pour vrifier le bon fonctionnement de la simulation, et ont rpodu nos attentes, malgr le problme prcdement cit (trajectoires courbes). Cependant ces tests taient restreints : un seul vhicule suiveur, environnement trs protg, mais ils donnent nanmoins un bon apperu de ce qu'il est possible de raliser en matire de suivi. Des tests plus pousss seront donc faire avant de pouvoir rellement implanter l'application sur les vhicules.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

27

Conclusion :
Bien que le sujet de ce stage ait t trs semblable au prcdent, dans la partie "capteur de distance et d'angle" du moins, ce que j'ai ralis cette anne m'a sembl beaucoup plus compliqu, cela tant probablement d l'volution du matriel utilis vers un matriel de pointe. La dernire partie de mon stage, la commande de vhicule et la simulation taient des notions trs nouvelles pour moi, et leur dcouverte m'a beaucoup intress. Enfin la ralisation de la balise infrarouge trois points m'a pris une grande partie de mon temps car l aussi j'ai du acqurir "sur le tas" les connaissances ncessaires en lectronique pour y parvenir. Ce projet de fin d'anne a t trs enrichissant car j'ai dcouvert un domaine d'application o les enseignements que j'ai reus m'ont t d'un grand secours mais m'ont aussi permis d'acqurir de nouvelles connaissances.

Rapport de stage

Nicolas Cardils

IUPMAI3

Page

28

Annexes

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXES

Principe du fonctionnement diffrentiel de la balise

Afin de localiser prcisment le vhicule qui prcde, on quipe chaque vhicule dune balise infrarouge place larrire. Cette balise en forme de "T" comporte trois sources d'mission d'infrarouges rparties comme sur le schma. Les sources sont composes chacune de 2x9 LED IR en srie, mettant la longueur d'onde de 875 nm. 17,5 cm

10 cm

1. Position du problme :
Dans un environnement protg (i.e. sans source parasite d'infrarouges) on peut distinguer la balise infrarouge avec la camra sans aucun problme. Mais ce type de situation tant rare, on est oblig de trouver un moyen robuste de reprer la balise mme s'il y a des parasites. On rend donc la balise "diffrentielle", c'est dire que toutes ses sources d'mission n'mettent pas en mme temps, et on utilise cette caractristique pour extraire l'information utile du bruit ambiant.

2. Mthode :
2.1. Du point de vue de la balise : La balise a trois sources d'mission, on distingue deux groupes : le premier constitu des deux sources extrmes, le second constitu de la source mdiane. Ces deux groupes de sources d'mission mettent en alternance, avec une priode de 4 ms. Cette priode de fonctionnement a t choisie afin d'tre d'une part suffisamment longue pour permettre la camra de raliser les acquisitions d'images et les calculs de position, et d'autre part suffisamment courte pour ne pas constituer un facteur limitant en temps la dlivrance des informations ncessaires pour la partie commande du vhicule. La balise met donc de la faon suivante :

2 ms
Rapport de stage Nicolas Cardils IUPMAI3

2 ms
ANNEXE A

2.2 Du point de vue de la camra : Pour mieux identifier la balise infrarouge au milieu du bruit ambiant (typiquement d'origine solaire) on utilise cette caractristique de diffrentiation. En effet, si la camra et la balise sont en phase, en prenant deux images conscutives de la balise, on peut, par un "ou" exclusif effectu entre ces deux images, supprimer toutes les perturbations : Rappel : XOR, le "ou" exclusif ou l'loge de la diffrence : X 1 1 0 0 Y 1 0 1 0 X XOR Y 0 1 1 0

Pour ce que voit la camra, cela se traduit de la faon suivante :

OU exclusif

On arrive donc supprimer les perturbations qui sont communes aux deux images enregistres :

Et on garde la partie significative du signal : les trois pics de lumire infrarouge correspondant aux positions des sources de la balise.

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE A

Balise infrarouge trois points


Voil une brve description du travail que j'ai ralis pour crer la balise infrarouge trois points, suivie des schmas lectroniques de montage, et des Data Sheets des composants principaux.

1. Implantation des diodes infrarouges


De faon assurer une implantation optimale des diodes infrarouges sur la nouvelle balise, quelques valeurs clefs ont t calcules, partir des contraintes imposes par les dimensions et les capacits des diffrents composants. 1.1 Donnes matrielles et contraintes physiques : Donns physiques de l'metteur (balise) Demi angle d'mission des diodes Nombre de blocs de diodes Nombre de diodes par bloc Disposition des diodes sur chaque bloc Donnes physiques du capteur (camra) Dimension de chaque pixel Nombre de pixels en ligne Taille du capteur linaire

12,5 3 18 5-4-5-4

14 x 14 m 2048 14 x 28672 m

Contraintes dues au suivi de vhicules Distance minimum entre lmetteur et le rcepteur Distance maximum entre lmetteur et le rcepteur Angle maximum de rotation du vhicule suivre

1,5 m 10 m 45

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE B

1.2. Calculs : Demi angle de vision maximum du capteur : 27 Rsolution du capteur la distance maximum (10 m) : r 5mm Demi angle dmission maximum des blocs de diodes : 45

1.3. Implantation des diodes : Pour placer correctement les diodes sur le support de fixation, il faut dterminer les angles que doivent faire entre eux les axes d'mission des diodes afin d'obtenir un demi angle d'mission final de 45. Le support de fixation est constitu d'une moiti de cylindre en PVC, d'axe vertical, de 20 mm de rayon, et de 30 mm de hauteur :

Vu de dessus

45

Vu de face

30 mm

20 mm

Les angles sparant les axes d'mission des diodes sont donc d'environ 16.

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE B

2. Schmas lectroniques :
Les schmas lectroniques des cartes d'alimentation et de commande de puissance permettent de monter la balise complte. Une fois ce montage effectu, le rsultat est celui prsent ci dessous :

Carte de commande de puissance

Carte d'alimentation et de gnration des impulsions ncessaires pour la balise.

La balise, termine, ressemble un peu au vaisseau "Enterprise" de la srie "Star Trek" :

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE B

Liste des composants utiliss (balise 5 points) :


Rsistances :
Valeur
4,75 Ohms +/-1% 100ppm/C 47 Ohms bobine vitrifie - 5W 100 Ohms +/-1% 50ppm/C 330 Ohms 1 KOhms 12 KOhms 33,2 KOhms +/-1% 50ppm/C Potentiomtre 200 Ohms

Nb ut
6 2 1 1 2 2 6 2

Rf. fabricant
Srie W22

Marque
Welwyn

Condensateurs :
Valeur
3300 F 25V 2200 F 25V 1000 F 25V 100 F 63 V 10 F 63V 10 nF 1,2 nF

Nb ut
1 1 1 1 2 2 2

Diodes :
Description
Rectifieur Diode Diode infrarouge

Nb ut
1 2 54

Rf. fabricant
1N4003 BZX79C2V7PH TSHA5201

Marque
Motorola Phillips TFK

Fusibles :
Description
Fusible 1,6A Retard 2A

Nb ut
1 1

Divers :
Description
Oscillateur quartz Inverseur Transistor Darlington Rgulateur de tension

Nb ut
1 1 4 6 1

Rf. fabricant
SPG8640BN SN74LS04N 2N2222A TIP130 MC7805CT

Marque
Seiko TI SGS SGS Motorola

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE B

Liste des composants utiliss (balise 3 points) :

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE B

Rsistances :
Valeur
4,7 Ohms 47 Ohms bobine vitrifie 5W 100 Ohms 330 Ohms 1 KOhms 12 KOhms 33,2 Kohms Potentiomtre 200 Ohms

Nb ut
6 6 1 1 2 2 6 2

Rf. fabricant
Srie W22

Marque
Welwyn

Condensateurs :
Valeur
3300 F 25V 2200 F 25V 1000 F 25V 100 F 63 V 10 F 63V 10 nF 1,2 nF

Nb ut
1 1 1 1 1 4 2

Diodes :
Description
Rectifieur Diode Diode infrarouge

Nb ut
1 2 54

Rf. fabricant
1N4003 BZX79C2V4PH TSHA5201

Marque
Motorola Phillips TFK

Fusibles :
Description
1,6A 2A Retard

Nb ut
1 1

Divers :
Description
Oscillateur quartz Inverseur Transistor Darlington Rgulateur de tension

Nb ut
1 1 4 6 1

Rf. fabricant
SPG8640BN SN74LS04N 2N2222A TIP131 MC7805CT

Marque
Seiko TI SGS SGS Motorola

Boitiers :
Description
Petit boitier polycarbonate IP65 Gros boitier polycarbonate IP65

Nb ut
3 1

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE B

Fiche technique du CyCab

Longueur : Largeur : Poids :

1,90 m 1,20 m 300 Kg

Motorisation : 4 moteurs lectriques de 1 kW 4 roues motrices et directrices Vitesse maximum 30 km/h Autonomie : 2 heures d'utilisation continue Capacit d'accueil : 2 personnes avec bagages en version de base Conduite automatique ou manuelle Accs par carte magntique personnelle Recharge automatique par induction

1 1 2 2

Camra CCD pour la tl-opration Joystick central de commande pour la conduite scurise 3 3 Terminal multimdia pour accder aux informations touristiques et commerciales 4 4 Camra linaire pour l'accrochage immatriel 5 5 Balises Infra rouges pour l'accrochage immatriel 6 6 Ceintures de capteurs ultrason pour la dtection d'obstacles 7 7 Vrin de direction lectrique 8 8 1 moteur lectrique par roue 9 9 1 frein lectrique par roue 1 0 Batteries + gestionnaire de charge 10 1 1 Borne de recharge par induction 11

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE B

Contrle du temps d'exposition


1. Position du problme :
Le contrle de l'exposition consiste rguler la quantit de lumire perue par la camra. Pour viter de saturer le capteur ou pour avoir une image avec une dynamique suffisante, il faut contrler le temps d'exposition de chaque prise d'image. Cependant, ce contrle ne peut se faire qu'en utilisant des outils de prvision, car on ne peut pas mesurer la quantit de lumire que va percevoir le capteur, sans prendre d'image. Comme les images sont prises en continu, avec un intervalle de temps trs court entre deux images, on va tenter de prvoir la quantit de lumire qui sera perue au nime coup partir des maximums des images prcdentes. Prcision importante : la quantit de lumire perue varie linairement avec le temps d'exposition (i.e. : avec une source de lumire d'intensit constante, si on double le temps d'exposition, on double la quantit de lumire perue par le capteur, et donc l'amplitude du pic traduisant la prsence de la source lumineuse).

2. Mthodes :
Compte tenu des travaux raliss auparavant et des observations prcdentes, j'ai dvelopp deux mthodes de contrle du temps d'exposition. 2.1. Premire mthode : J'ai d'abord repris une mthode existante et dj utilise pour ce problme, qui consiste fixer une amplitude "idale" et tenter en jouant sur le temps d'exposition, d'obtenir des mesures dont l'amplitude s'en rapproche le plus.

Cette mthode est base sur l'quation suivante (les di sont des temps d'exposition) :

n = n 1

Max voulu Maxdn 1

Cependant ce contrle seul prsente un trs fort risque d'oscillation, qu'on va tenter de "calmer" en ralentissant l'asservissement, c'est dire en utilisant plusieurs boucles pour contrler la lumire.

On obtient alors, sur deux mesures conscutives :

Maxvoulu = n 1 max(Maxdn 1,Maxdn 2)

Le problme de cette mthode est cependant de produire de fortes oscillations mme en utilisant plusieurs mesures conscutives pour le contrle du temps d'exposition.
Rapport de stage Nicolas Cardils IUPMAI3 ANNEXE D

2.2. Deuxime mthode : On ne tente plus maintenant de se rapprocher d'un temps d'exposition idal, mais simplement en se basant sur le calcul du maximum peru sur chaque ligne, et compte tenu de la relation linaire entre temps d'exposition et maximum d'une ligne, on utilise une quation diffrentielle du premier ordre avec second membre pour estimer le temps d'exposition de la prise de vue suivante, en crant le minimum d'oscillations :

Equation gnrale :

y +y = x t

Les temps d'exposition successifs peuvent s'crire sous forme d'une suite :

Yn + 1 = T Xn + 1 + (1 T) Yn
o les Yi sont des temps d'exposition et Xi reprsente le maximum de la ligne i. En identifiant : y t

Yn+1-Yn T0

On obtient :

Yn + 1 =

T0 T0 Xn + 1 + (1 ) Yn T T

D'o :

Yn +

= K Xn + 1 + (1 K) Yn

En jouant sur la valeur de K, on influe sur la vitesse de raction de l'asservissement, et on peut ainsi viter les oscillations.

3. Conclusions :
Le contrle du temps d'exposition n'a pas t implant au niveau du soft car la camra tait dj suffisamment lente bien que l'utilit de ce contrle soit vidente. J'ai donc prfr trouver la bonne ouverture du diaphragme de la camra pour ne pas avoir implanter cet asservissement. Cependant l'asservissement fonctionne correctement (la deuxime mthode surtout) et une volution du soft pouvant acclrer les calculs sur la camra, je l'ai joint au rapport.

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE D

CAN
http://www.can-cia.de/ican.htm The Controller Area Network (CAN) is a serial bus system especially suited for networking "intelligent" devices as well as sensors and actuators within a system or sub-system.

The Attributes of CAN


CAN is a serial bus system with multi-master capabilities, that is, all CAN nodes are able to transmit data and several CAN nodes can request the bus simultaneously. The serial bus system with realtime capabilities is the subject of the ISO 11898 international standard and covers the lowest two layers of the ISO/OSI reference model. In CAN networks there is no addressing of subscribers or stations in the conventional sense, but instead, prioritized messages are transmitted. A transmitter sends a message to all CAN nodes (broadcasting). Each node decide on the basis of the identifier received whether it should process the message or not. The identifier also determines the priority that the message enjoys in competition for bus access. The relative simplicity of the CAN protocol means that very little cost and effort need to expended on personal training; the CAN chips interfaces make applications programming relatively simple. Introductory courses, function libraries, starter kits, host interfaces, I/O modules and tools are available from a variety of vendors permitting low-cost implementation of CAN networks. Low-cost controller chips implementing the CAN data link layer protocol in silicon and permitting simple connection to microcontrollers have been available since 1989. Today there are more than about 50 CAN protocol controller chips from more than 15 manufacturers announced, and available. The use of CAN in most of European passenger cars and the decision by truck and off-road vehicle manufacturers for CAN guarantees the availability of CAN chips for more than 10 years. Other high volume markets, like domestic appliances and industrial control, also increase the CAN sales figures. Up to spring 1997 there are more than 50 million CAN nodes installed. One of the outstanding features of the CAN protocol is its high transmission reliability. The CAN controller registers a stations error and evaluates it statistically in order to take appropriate measures. These may extend to disconnecting the CAN node producing the errors. Each CAN message can transmit from 0 to 8 bytes of user information. Of course, you can transmit longer data information by using segmentation. The maximum transmission rate is specified as 1 Mbit/s. This value applies tonetworks up to 40 m. For longer distances the data rate must be reduced: for distances up to 500 m a speed of 125 kbit/s is possible, and for transmissions up to 1 km a data rate of 50 kbit/s is permitted.

CAN Applications
CAN networks can be used as an embedded communication system for microcontrollers as well as an open communication system for intelligent devices. The CAN serial bus system, originally developed for use in automobiles, is increasingly being used in industrial as well as building automation, medical equipment and maritime electronics. If the requirements for passenger cars networks are compared with those for industrial field bus systems, the similarities are remarkable. In both cases some of the major requirements are: low cost, the ability to function in a difficult electrical environment, a high degree of real-time capability and ease of use. Some users, for example in the field of medical engineering, opted for CAN because they have to meet particulary stringent safety requirements. Similar problems are faced by manufacturers of other equipment with very high safety or reliability requirements (e. g. robots, lifts and transportation systems).

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE E

Clefs de communication et leurs effets

Clef de communication

Action associe

Fonctionnement Standard
CL_KEY_RUN CL_KEY_START_READ_RESULT

Lancement du programme de localisation sur la camra Si de nouvelles valeurs sont disponibles, bloque l'accs aux rsultats du calcul pendant leur envoi via CAN et retourne 1, sinon retourne 0 (sans bloquer l'accs aux valeurs) Envoie l'angle alpha en radians Envoie l'angle bta en radians Envoie la distance entre les deux vhicules en mtres Envoie la dviation entre les deux vhicules en mtres Envoie la position des centres des tches en nombre de pixels sur la barrette CCD R-autorise l'accs aux rsultats du calcul Arrt du programme de localisation Arrt de la camra

CL_KEY_READ_RESULT_ALPHA CL_KEY_READ_RESULT_BETA CL_KEY_READ_RESULT_DIST CL_KEY_READ_RESULT_DEV CL_KEY_SEND_SPOTS_POSITION

CL_KEY_STOP_READ_RESULT CL_KEY_END CL_KEY_STOP

Mode DEBUG
CL_KEY_GET_BUFFERS CL_KEY_SEND_BUFFERS CL_KEY_SEND_NB_ACQ CL_KEY_READ_PARAMETER_TC CL_KEY_WRITE_PARAMETER_TC CL_KEY_READ_PARAMETER_TI CL_KEY_WRITE_PARAMETER_TI

Provoque l'acquisition des deux buffers vido Envoie deux des pixels mmoriss de chaque buffers Envoie le nombre d'acquisitions ralises Envoie le paramtre "temps de cycle" Modification du paramtre "temps de cycle" Envoie le paramtre "temps d'intgration" Modification du paramtre "temps d'intgration"

Rapport de stage

Nicolas Cardils

IUPMAI3

ANNEXE F

Sources

Rapport de stage

Nicolas Cardils

IUPMAI3

SOURCES

Formule de base du copyright :


Logiciel de gestion de la camra linaire INRIA dans sa version 1 du 07/08/98, ci-aprs dnomm "Le Logiciel ". L'INRIA dtient tous les droits de proprit sur le Logiciel, il souhaite que la communaut scientifique l'utilise afin de le tester et de l'valuer. L'INRIA donne gracieusement le droit d'utiliser ce Logiciel. Toute utilisation dans un but lucratif ou des fins commerciales est interdite sauf autorisation expresse et pralable de l'INRIA. L'INRIA autorise toute reproduction de ce Logiciel : dans les limites dfinies aux articles 9 et 10 de la convention de Berne pour la protection des uvres littraires et artistiques pris respectivement dans leurs alinas 2 et 3, c'est--dire condition : "qu'une telle reproduction ne porte pas atteinte l'exploitation normale de l'uvre, ni ne cause un prjudice injustifi aux intrts lgitimes de l'auteur, que les citations titre d'illustration et/ou d'un enseignement soient conformes aux bons usages et qu'il soit fait mention de la source et du nom de l'auteur, si ce nom figure dans la source", condition que toute reproduction soit accompagne du prsent fichier.

Toute demande de droits d'exploitation plus tendus doit tre faite par e-mail : copyright@inria.fr. Toute utilisation hors des limites prcises ci-dessus et ralise sans l'accord exprs pralable de l'INRIA constituerait donc le dlit de contrefaon. Le Logiciel tant un produit en cours de dveloppement, l'INRIA ne saurait assurer aucune responsabilit et notamment en aucune manire et en aucun cas, tre tenu de rpondre d'ventuels dommages directs ou indirects subis par l'utilisateur.

Rapport de stage

Nicolas Cardils

IUPMAI3

SOURCES

Rapport de stage

Nicolas Cardils

IUPMAI3

SOURCES

Rapport de stage

Nicolas Cardils

IUPMAI3

SOURCES