Localisation par tracking vidéo

Transcription

Localisation par tracking vidéo
LOCALISATION PAR
TRACKING VIDEO
Rapport de projet
1ère année de Master
Systèmes Embarqués dans les Transports
Réalisé par
Mohamed TALEB BAHMED
Responsable d’encadrement :
M. Jacky SENLIS
Année universitaire : 2007 - 2008
INSSET
Systèmes Embarqués
48 rue Raspail
02100 SAINT-QUENTIN
dans les Transports
Tél :03.23.62.89.59
1
Fax : 03.23.62.49.35
www.insset.u-picardie.fr
INSSET Master 1 SET | Rapport
projet
Localisation par tracking vidéo
Mars 2008
[email protected]
Sommaire
Résumé .................................................................................................................................................... 3
I.
Introduction ..................................................................................................................................... 4
II.
Cahier des charges ........................................................................................................................... 5
1.
Contexte et objectif : ................................................................................................................... 5
2.
Principe de fonctionnement ......................................................................................................... 5
3.
Le schéma fonctionnel................................................................................................................. 7
4.
Choix du matériel ........................................................................................................................ 7
III. Conception..................................................................................................................................... 11
1.
Diagramme de déploiement :..................................................................................................... 11
2.
Décomposition du schéma structurel : ....................................................................................... 11
IV. Réalisation :................................................................................................................................... 14
V.
1.
Matériel utilisé :......................................................................................................................... 14
2.
Carte et tests : ........................................................................................................................... 14
3.
Etude du signal vidéo : .............................................................................................................. 15
4.
Le Tracking : ............................................................................................................................. 16
5.
Mode scan : ............................................................................................................................... 18
Essais : ........................................................................................................................................... 19
VI. Validation ...................................................................................................................................... 19
2
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
Résumé
J’ai réalisé ce projet dans le cadre de la formation Master système embarqué dans les
transports. L’objectif était de développer une autre alternative pour la localisation du robot
PROMOCO dans un espace fermé. J’ai effectué ce projet en tan que responsable technique du
projet « 2 ». Ce projet intitulé Localisation dans un plan horizontal par tracking vidéo d’une
source infrarouge, comme son nom l’indique, il permettra la localisation du robot.
Le système réalisé est composé d’une caméra mobile sur deux axes de rotation grâce à une
base motorisée et d’une carte de traitement. Pour localiser le robot le système place, à l’aide d’une
base motorisée, le centre du champ de vision d’une caméra dans la direction d’une balise
infrarouge qui est installée dans l’environnement du robot. Ensuite Il interroge une boussole
électronique pour obtenir le cap du robot. Ce cap et les positions angulaires de la base motorisée
permettent de calculé la position du robot.
Nous avons dans un premier temps cherché des solutions matérielles susceptibles de
répondre à notre problème, après avoir fixé notre choix, j’ai commencé à analyser plus en détail
le principe de fonctionnement. Dans un second temps j’ai procédé à la réalisation de la carte, puis
commencer la programmation et réaliser les testes nécessaires.
La carte réaliser récupère le signal vidéo de la caméra, et en fonction du résultat envoie des
commandes à la base motorisée, soit pour chercher ou traquer la balise infrarouge. Ensuit, elle
renvoie les positions angulaires de la tourelle au PC via la liaison série. Cette carte doit par la
suite récupérer le cap du robot de la carte boussole via le bus CAN puis, effectuer les calcules
nécessaire pour calculer la position du robot. Enfin envoyer sur le bus CAN les coordonnées x, y
du robot PROMOCO.
Mots-clés : Module Pan&Tilt (la tourelle), PIC18F2480, Langage C, bus CAN, liaisons RS232,
I2C, traitement du signal vidéo, PROTUES.
3
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
I. Introduction
La plate-forme P.R.O.M.O.C.O, un projet d’innovation développé par les étudiants et enseignants
de l’Institut Supérieur des Sciences et Technique. Ce projet est en collaboration avec des
entreprises et le pôle de compétitive I’TRANS dont la vocation est de favoriser le développement
de projets innovants dans le domaine des transports. Ce robot est un support matériel favorisant le
développement et la mise en œuvre de nouvelles technologies pour le déplacement et la
localisation avec précision des véhicules autoguidé AGV.
PROMOCO est un ensemble de robots intelligents et autonomes capables de se déplacer et de se
localiser dans un espace fermé. C’est un concentré de technologies, il regroupe devers moyens de
communications, tel que le wifi et le Zigbee pour l’échange d’information entre les robots ou avec
un superviseur. La localisation du robot est l’un des piliers du projet, des solutions concluantes
ont été menées au sein de l’INSSET, comme l’intégration de capteurs sur les roués, le DGPS
(Differential global positioning system) il permet d’obtenir une position au mètre près. Malgré ces
bons résultats, cette technologie ne peut pas répondre aux attentes de PROMOCO car elle ne
fonctionne pas en milieu couvert. De plus, les robots ont besoin de se localiser avec une précision
s’approchant les dizaines de centimètres pour réaliser à bien certaines de leurs missions. Ce qui
nous amène au projet « Localisation par tracking vidéo ». Ce projet s’appuie sur une approche
complètement différente des technologies existantes sur le marché. Comme nous le verrons par la
suite, la position est obtenue à l’aide d’un système de vision (caméra) et d’une simple source
infrarouge.
4
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
II. Cahier des charges
1. Contexte et objectif :
Le robot PROMOCO est autonome, il est capable de se déplacer dans une pièce et éviter les
obstacles qu’il risque de rencontrer. Il peut être commandé par un ordinateur vis une connexion
sans fil. Mais pour que le robot soit totalement indépendant et être en mesure de suivre un
parcoure prédéfini, il est important que le robot soit apte de se localiser dans son environnement.
L’objectif de ce projet est de concevoir un système permettant la localisation du robot
PROMOCO dans un espace fermé, avec une précision de l’ordre du centimètre. Le principe est le
tracknig vidéo d’une source lumineuse dont on connait les coordonnées. Il nous a été demandé
dans un premier temps de reprendre et d’étudier le projet LOCTRAC qui a été réalisé au sein de
l’INSSET afin d’y apporter des améliorations. Dans un second temps rechercher d’autres
technologies capables de répondre aux exigences du projet. Enfin il nous a été demandé de
réaliser un prototype fonctionnel dans le but de procéder à la validation du principe de localisation
par tracking vidéo.
2. Principe de fonctionnement
Le système LOCTERAC est composé d’une caméra embarquée, mobile autour de 2 axes de
rotation, il doit pointer en permanence vers une source infrarouge.
Cette source infrarouge est fixée dans l’environnement en hauteur de manière à ce qu’elle soit
visible au robot quelque soit sa position. On connait précisément sa hauteur par rapport au plan
horizontal qui contient la caméra.
Représentation du principe LOCTRAC en 3D
5
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
Comme nous connaissons précisément la hauteur H de la balise par rapport au plan horizontal qui
contient le système de pointage, on peut déterminer sa distance D qui sépare le robot de la balise :
DH
sin θ
H
cos θ
tan θ
Le système doit être capable de retourner sa position angulaire (θ1 angle vertical du système de
pointage par rapport à son plan horizontal et θ2 l’angle horizontal du système de pointage par
rapport au cap du robot) et les positions x, et y du robot dans son environnement.
Pour déterminer la position du robot, le système a besoin de s’orienter par rapport à
l’environnement. Une boussole électronique intégrée à PROMOCO fournit le cap α du robot par
bus CAN. Les positions angulaires de la caméra (θ1 et θ2) associées à la direction du robot (le cap
α en degré) permettent alors de déterminer les coordonnées x et y du robot dans le plant
horizontal où il évolue :
φ θ α 90°
β 180 θ α
Y sin φ L cos β L
X cos φ L sin β L
Voici les étapes de la localisation :
Dans un premier temps le système balaye l’environnement en horizontal et en vertical afin
de détecter la baliser infrarouge
Une fois la balise est détectée, le système centre la caméra sur la balise infrarouge.
Ensuite, le système calcul sa position angulaire (θ1 et θ2) puis récupère le cap du robot de
la boussole électronique afin de calculer les coordonnées x, y du robot.
Enfin les coordonnées du robot sont envoyées au superviseur via le bus CAN ou une
liaison série RS232.
Intégration du dispositif à PROMOCO :
Notre carte sera reliée au
reste du système PROMOCO
par le bus CAN. Le cap du
robot est fournit par la carte
Boussole.
6
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
3. Le schéma fonctionnel
Balise IR
Signal vidéo
Soleil et
autres
sources
Filtrage des longueurs
d'ondes parasites
FS1
Longueur d'onde de
la balise IR
Tops ligne
Traitement
des
données
Tops tram
paier/impaire
Extraction des Tops
de synchronisation
FS3
FS1
Comparateur
de seuil
FS4
FS1
FS5
FS1
Interfaçage
TTL/CAN
Capture de l'onde
électromagnétique
FS2
FS1
Seuil analogique
ou numérique
Interfaçage
TTL/RS232
FS8
Seuil
FS6
FS7
Réception du cap du robot /
Envoi de la position X, Y
CAN et/ou RS232
Bus CAN
Liaison série (RS232)
Envoi/Réception position X, Y
à la base motorisée
4. Choix du matériel
La balise :
La balise est le point de repère du robot, il faut donc qu’elle soit visible au système LOCTRAC
quelque soit la position du robot (placée en hauteur, grand angle de rayonnement avec une
intensité suffisante). Pour éviter que la balise ne soit confondue avec d’autres sources lumineuses,
il faut qu’elle ait une langueur d’onde différente de l’environnement du robot (ampoules et tubes
néon « 430 à 700 nm »). Seul le soleil risque de pauser des soucis puisque son spectre s’étend de
200 à 3000nm comme le montre
la figure qui suit, on voit que
l’intensité de rayonnement du
soleil décroit fortement à partir
de 700nm. Il faut donc
absolument éviter les langueurs
d’onde comprises entre 300 et
700nm.
Notre choix c’est fixé pour une LED infrarouge avec une longueur d’onde de 890nm, un
angle de rayonnement de 60° et une puissance de rayonnement de 26mW/cm².
7
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
Le Filtre interférentiel (FS1) :
Le filtre permet de sélectionner une fine partie du spectre
lumineux, (filtre très sélectif). Ce filtre sera placé devant l’objectif de la
caméra, il a pour rôle de filtrer toutes les longueurs d’ondes « inutiles »
reçues par la caméra (celle du soleil, tubes fluorescents, etc.…) et de ne
laisser passer que la partie du spectre qui nous intéresse (celle de notre
balise Infrarouge). La longueur d’onde de notre filtre est de890nm.
La caméra (FS2) :
La capture de l’onde électromagnétique se ferra à l’aide d’une minicaméra vidéo analogique (à capteur CCD), cette caméra convertit le signal
lumineux qu’elle reçoit en un signal électrique analogique. Nous avons opté
pour une caméra noir et blanc avec une bonne résolution 752(H) * 582(V)
pixels et 560 Lignes pour une meilleur précision.
Association Filtre Interférentiel/Caméra :
Le filtre interférentiel serra placé sur la lentille de la caméra, c’est grâce
à ce filtre qu’au lieu d’avoir à analyser toute une image, nous n’aurons
qu’un seul point lumineux à chercher (celui de la balise)
Lorsque la caméra pointe en direction de la source infrarouge, nous
obtenons à l’écran un point comme dans la figure ci-contre
La base motorisée :
La base motorisée permet la rotation de la caméra sur les 2 axes, de manière à balayer tout
l’environnement du robot (360° en horizontal et 60° en vertical). La précision de notre système
dépondra alors de la résolution de la tourelle.
Pour mon projet je disposai d’un module Pan&Tilt de Directed
Perception, ils sont entièrement commandés par ordinateur par
une liaison RS-232. À l’aide de commandes spécifiques on
peut programmer la vitesse de rotation, les positions angulaires
dans les plans, horizontal et vertical, l’accélération et plein
d’autres paramètres. J’ai effectué une comparaison entres
différents modules et il s’avère que le module fournit (PTUD46-17) est le mieux adapté à notre projet (vu le prix d’une
tourelle je n’avais pas tellement le choix!!) puisqu’il permet un
positionnement à grande vitesse avec une bonne précision.
8
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
PTU-D46-17 PTU-D46-70 PTU-D47
PTU-D300-HU
2.72
4.08
6
25
Charge max (kg)
0.0514
0.0129
0.01
0.006
Résolution (°)
300
60
300/60
100
Vitesse max (°/s)
+/- 180°
+/- 180°
+/- 180°
+/- 180°
Pan range
+31° / -80°
+31° / -80°
+31° / -80°
+31° / -80°
Tilt range
Comparaison des caractéristiques de quelques modules Pan&Tilt.
PTU-D300
70
0.006
50
360°
+90° / -30°
Séparateur des tops de synchronisation (FS3) :
Une vidéo est une succession d’images qui sont plus ou moins espacées dans le temps (25
images/s pour la TV PAL/SECAM). Chaque image est constituée de plusieurs lignes entrelacées,
réparties en 2 trames.
Notre caméra doit pointer en permanence vers la balise infrarouge. Pour calculer la
position (X, Y) du robot, le signal de la balise doit être centré sur la caméra afin de récupérer les
positions angulaires.
Pour pouvoir centrer la caméra sur la balise, nous avons besoin de connaitre :
Le nombre de lignes par image (dépend du capteur de la caméra).
La durée d’une ligne (en seconde).
Le début et la fin d’une trame.
La trame, si elle est paire ou impaire.
Il existe des composants spécifiques appelés séparateurs de synchronisation comme le
LM1881 ou le EL4581, ils permettent d’extraire à partir d’un signal vidéo, les tops de synchro
ligne, les tops de synchro trame et savoir s’il s’agit d’une trame paire ou impaire comme on peut
le voir sur la figure qui suit :
9
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
Le Seuil et le Comparateur (FS4, FS6) :
Une image vidéo est un signal électrique dont les variations de tension sont proportionnelles
aux variations de l’éclairement d’une image. Notre caméra ne reçoit que le signal de la balise
infrarouge grâce au filtre interférentiel. Pour détecter la balise, nous comparons le signal
électrique provenant de la caméra à un seuil afin de ne détecter que la balise infrarouge et
d’ignorer les faibles ondes parasites provenant du soleil et qui passe à travers le filtre
interférentiel.
Seuil
Signal vidéo
Lorsque la caméra pointe la balise nous aurons une variation de luminance ce qui se traduit
sur le signal électrique par une variation de tension, c’est le pique de tension sur la figure cidessus.
Pour fixer le seuil, nous aurons le choix entre un seuil analogique en utilisant un
potentiomètre, et un seuil numérique en utilisant soit un réseau R2R ou un convertisseur N/A.
Le microcontrôleur (FS5) :
Le microcontrôleur est le cœur de notre système, son rôle est d’envoyer les commandes
nécessaires à la base motorisée pour chercher la balise IR, ensuite lorsque la source IR est
détectée, récupérer le cap du robot du bus CAN, calculer la position X, Y du robot, renvoyer cette
position sur le bus CAN et/ou sur le port série.
Paramètres d’entrée :
o Tops de synchronisation ligne et trame du séparateur de synchro.
o Top détection de la balise provenant du comparateur de seuil (Une entrée capture)
o Le cap du robot du bus CAN ou RS232
Paramètres de sortie :
o Commande de rotation à envoyer à la base motorisée (liaison RS232).
o Position X Y à envoyer sur le bus CAN et/ou sur la liaison série RS232
o Seuil numérique (réseau R2R ou convertisseur numérique analogique programmable
par liaison I2C).
Le microcontrôleur choisi est un PIC18F2480, il intègre le bus CAN, module USART, liaison I2C
entrée capture etc.
10
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
III. Conception
1. Diagramme de déploiement :
Utilisateur
Ordinateur
/Superviseur
Robot promoco
CAN
&
RS232
Seuil Numérique
Base motorisée
RS232
I2C
Microcontrôleur
Seuil
Tops
Synchro
(Top Ligne, Trame)
Top
détection
Séparateur
Synchro
Comparateur
Signal vidéo
Signal vidéo
Caméra
Système LOCTRAC
Ce diagramme montre la disposition physique des matériels qui composent le système et la
répartition des composants sur ces matériels. Ce diagramme nous permet d’identifier plus
facilement les différentes parties de notre système nous pourrons à présent passer à la conception
du système.
2. Décomposition du schéma structurel :
La régulation de tension :
Notre système sera alimenté par le robot PROMOCO qui fournit une tension de 12V. Pour
pouvoir alimenter les différents composants de notre carte comme le PIC, le LM1881, MCP2551,
… nous avons besoin d’une tension continue de 5v. Le L7805 fournit en sa sortie une tension de
continue de 5v quelque soit sa tension d’entrée (entre V !" +2v et 30v).
Pour stabiliser la tension du 7805 on place en entrée et en sortie du régulateur un condensateur de
100nF (C2 et C4). La diode D1 est une diode de protection en cas d’inversement de l’alimentation
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
11
Le microcontrôleur :
Comme développer précédemment voici le cœur de notre système le PIC18F2480, gères les
tops Lignes, Trame, top de détection, bus CAN, liaison RS232, I2C …
Le comparateur :
La détection de la balise se fait à l’aide d’un comparateur de tension le LM311, on compare le
signal vidéo en sortie de la caméra à un seuil fixé numériquement. Le LM311 est un comparateur
a sortie collecteur ouvert d’où la nécessité d’une résistance de pull up qui ramène le potentiel à 5v.
Le séparateur de synchro :
Son rôle est d’extraire du signal vidéo les tops ligne, trame pour connaitre le début d’une ligne, le
début et la fin d’une image et s’il s’agit d’une trame paire ou impaire, nécessaire pour calculer les
positions angulaires
12
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
Le convertisseur numérique/analogique :
Le TC1320 est un convertisseur numérique
analogique 8 bits programmable par liaison I2C
de chez Microchip. Il permet d’obtenir en sa
sortie une tension en fonction d’une valeur
numérique et d’une tension de référence V#$ .
V
%&"&
!"
= V#$ * (
'(
) avec Data variant de 0 à 255.
Les résistances R2 et R5 permettent de fixer la
tension de référence.
Son rôle est de fixer le seuil à appliquer au comparateur, indispensable pour détecter la balise IR.
Le MCP2551 :
Le transceiver MCP2551 permet de faire la connexion
entre le PIC et le bus CAN. Il permet l’interfaçage
TTL/CAN
TTL tension comprise entre 0 et 5v (le PIC
CAN mode différentielle entre CANH et CANL
Le MAX232 :
Le MAX232 permet l’interfaçage TTL/RS232,
PIC/Liaison série.
La tension en sortie du PIC est comprise entre
0 et 5v alors la tension de la liaison série
RS232 est comprise entre ±12v.
13
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
IV. Réalisation :
1.
Matériel utilisé :
Le schéma et le type de cette carte ont été réalisés avec ISIS ARES de PROTEUS (version 6.9).
Le développement sur microcontrôleur PIC se fait sur les outils de chez Microchip à savoir
MPLAB IDE version 8.0 avec le compilateur C18 édition pour étudiant. La programmation se fait
en langage C, pour charger les programmes dans le PIC on utilise IC2 de Microchip.
2.
Carte et tests :
Après la réalisation de la carte j’ai passé une série de teste :
Avant de brancher l’alimentation, s’assurer de la continuité des pistes de la carte, et voir
s’il n’y pas de court circuit causé par une mauvaise soudure.
Ensuit alimenter la carte, si la LED rouge s’allume c’est déjà un bon signe.
Avant de monter les circuits intégrés s’assurer qu’ils seront bien alimentés et dans le bon
sens en effectuant les mesures nécessaires.
Test le fonctionnement du boutons de reset.
Après les différents tests hardware,
fonctionnement du système.
je suis passé à la programmation pour tester le bon
14
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
Le premier programme réalisé consistait à envoyer des données sur le port série afin de
piloter la base motorisée. J’ai rencontré quelques difficulté avec la liaison série à cause d’une
petite erreur de connexion sur la carte. Après l’avoir corrigé j’ai pu tester mon programme d’envoi
et réception de donnée par module USART du PIC.
Plutôt que d’utilisé les fonctions de USART du compilateur C18, j’ai préféré créer moi-même les
fonctions d’envoi est de réception pour mieux comprendre son fonctionnement.
Ensuit j’ai créé une nouvelle liaison série en utilisant 2 pine d’entrée/sortie du PIC, étant
donnée que nous avons besoin de 2 liaisons séries (La 1ère pour la communication avec la tourelle
et la 2nd avec l’ordinateur/superviseur) et que le PIC ne dispose que d’un seul module USART.
Après la validation du bon fonctionnement de la liaison série je suis passé à l’étude du
signal vidéo afin de réaliser le programme de tracknig et de pointage.
3.
Etude du signal vidéo :
Une vidéo est uns succession d’images, chaque image est composée de plusieurs lignes
qui sont balayées horizontalement et verticalement en deux fois. La 1ère fois pour la trame impaire
et la 2nd pour la trame paire.
J’ai effectué quelques mesures à l’oscilloscope et voici les résultats obtenus :
Nous avons un top trame toutes les 20ms qui est égale à la durée d’une trame, soit une
fréquence de 50Hz pour notre signal vidéo c’est le standard européen. La durée d’un top trame
est d’environ 232µs.
La durée d’une ligne est de 64µs, et la durée du signal utile est de 52µs.
Le nombre de lignes par image est de 625 lignes, mais toutes ne sont pas affichées car un
certaines lignes sont dédiées à la synchronisation. D’après la documentation de la caméra, celle-ci
aurai 560 lignes. J’ai relevé à l’aide de l’oscilloscope 286.5 lignes utiles par trame soit au totale
573 lignes utiles par image un peu plus que le nombre indiqué dans la doc de la caméra.
Ensuite j’ai procédé à la mesure des angles du champ de vision de la caméra à l’aide d’un
rapporteur, la balise infrarouge et en visualisant le signal vidéo à l’oscilloscope. On obtient un
angle de vision pour notre caméra de 72° horizontalement et 56° verticalement.
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
15
Arrivé à ce niveau une question se pause, Comment centrer la caméra sur la balise infrarouge ?
T : Durée ligne
4.
Le Tracking :
0
X
x1
1ère méthode : Suivi de la balise
Lorsque la caméra pointe en direction de la
balise infrarouge, nous aurons à l’écran un point
comme indiqué en rouge sur la figure ci-contre.
n Lignes
Le but est de centrer le point rouge sur l’image
(croisement des 2 axes en rouge), pour cela nous
avons besoin de connaitre les positions x1 et y1.
y1
Y
Pour déterminer y1 il suffit de compter le nombre de ligne, en incrémentant une variable
après chaque top ligne envoyé par le séparateur de synchro au microcontrôleur jusqu’à
réception d’un top du comparateur indiquant la détection de la balise.
(Remettre la variable à 0 après chaque top trame).
Pour que la caméra soit centrée en Y (verticalement), il faut que la ligne N° y1 soit égale à la
moitié de N (avec N : nombre de lignes par trame).
o Si la ligne y1 > N => tourner la caméra vers le bas.
o Si la ligne y1 < N => tourner la caméra vers le haut.
Pour déterminer x1 il faut procéder de la manière suivante :
-
Initialiser un timer à « 0 » à chaque début de ligne.
Arrêter le timer dès que le comparateur commute, ce qui indique la détection de la balise.
La durée d’une ligne
étant fixe, et t ) connue
T_ligne = 64µs
t ) = 10.4µs
Alors :
t = Timer - t ) .
t correspond à la position x1 de la caméra par rapport à la balise infrarouge.
Pour que la caméra soit centrée en X, il faut que le temps t soit égale à la moitie du temps de
balayage d’une ligne - t ) .
Si t < (T_Ligne - t ) )/2 => tourner la caméra vers la gauche.
Si t > (T_Ligne - t ) )/2 => tourner la caméra vers la droite.
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
16
Mars 2008
2ème méthode : centrer la caméra sur la balise dès que celle-ci est détectée :
Le principe est de calculer l’angle θ entre le faisceau de la balise et le centre de la caméra, cette
angle correspond à une position x ou y comme illustré dans la figure ci-dessous.
Balise IR
Caméra
θ
Xmax
θmax
x
Capteur Lentille
CCD
y
Champs de
vision de la
caméra
Ymax
‘’Le but est de ramener le point en rouge au centre de la caméra’’.
En connaissant les angles de vision de la caméra θ *&+ (angles de vision en horizontal et en
vertical) et leur équivalence X *&+ (durée d’une ligne) et Y *&+ (Nombre de lignes par trame), on
peut alors calculer θ#, + et θ#, θ (en degré) correspond à une position x (valeur du timer en µs) ou y (en nombre de lignes).
./01
correspond à
2/01
;
3/01
D’où :
θ#, + ≈
θ#, - ≈
+ ./01
2*&+
- ./01
3*&+
avec :
avec :
./01
2*&+
./01
3*&+
= constante =
= constante =
4°
5)
'(°
64
(130*2*200ns = 52µs durée utile d’une ligne).
(286.5 lignes par trame)
17
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
5.
Mode scan :
La rapidité de notre système dépend de sa capacité à détecter rapidement et à suivre la balise
quelque soit la position du robot. Nous avons vu précédemment comment centrer rapidement la
caméra sur la balise IR. Il rester maintenant à voir comment balayer tout l’environnement du robot
en un minimum de temps.
Il existe plusieurs façons pour balayer l’environnement du robot, le mode de balayage choisi est le
balayage en « 8 » (voir schéma ci-dessous), ce mode permet de balayer rapidement
l’environnement du robot, 360° en horizontal et 118° en vertical.
4
5
Ymax
Avec :
3
Xmin
2
Xmax
0
Ymin
0
789: = - 78;< = 1845 pas, soit
94,88°.
=89: = - =8;< = 603 pas, soit
31°.
1
L’angle de vision vertical de la caméra étant de 56° il nous est alors impossible de balayer le tout
en 2 fois, c’est la raison pour laquelle on fait un balayage horizontal en 0.
•
•
Caractéristiques de la base motorisée :
-
Résolution : 185,1428 sec.arc/pas
-
Angle en ° =
-
Vitesse maximale en Horizontal : 6003 pas/sec. soit 308,73°/sec.
Vitesse maximale en Vertical : 2900 pas/sec. soit 149.14°/sec.
> ?@"@ , #, A&? é? C!"@ ,
5())
Calcul de la durée totale du balayage :
Un balayage horizontal dure : Th =
Un balayage vertical dure : Tv =
2/01
D@"#??#
3/01
D@"#??#
=
=
6E'
())5
()5
())5
= 614,69 ms
= 415,86 ms
La durée du balayage total de l’environnement du robot = 3 * Th + Tv soit 2,26 sec.
18
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
V. Essais :
Apres la réalisation de la carte et différents programmes, j’ai procédé à l’essai du système.
Le système fonctionne correctement, le balayage total de l’environnement se fait en 2,6 s
La détection de la baliser est assez rapide. La caméra est aussi tôt centrée sur la balise IR.
Le système renvoi sur le port série les positions angulaires de la base motorisé après avoir center
la caméra sur la balise infrarouge.
VI. Validation
Le tableau qui suit fait le bilan sur l’avancement du projet et sur les partie du projet valider ou à
compléter :
Taux
d’avancement et
réponse aux
spécifications
Reste à
implémenter
Filtrer les longueurs d’onde
inutiles
95%
Rien.
Capturer l’onde
électromagnétique de la
balise
Décomposition et traitement
du signal vidéo
100%
Rien.
100%
Rien.
Localiser la balise et centrer
le système de pointage dessus
Piloter la base motorisée
Déplacer la caméra en x et y
Déterminer la position
angulaire des moteurs
Déterminer la position du
robot
100%
Gérer le port série
100%
Gérer le bus CAN
20%
Fonctionnalités
100%
100%
100%
Rien
Rien
0%
Récupérer le
cap pour les
calculs
Rien
Commentaires
Le filtre interférentiel répond
parfaitement. Les rayons de
soleil posent quelques soucis,
inévitable quelque soit le filtre
Traitement facilité par le
séparateur de synchro
(LM1881)
Localisation, et centrer sur la
balise en moins de 2,6 s
Par liaison série.
La position est envoyée sur le
port série.
Il ne reste plus que le cap du
robot pour faire les calculs
2 liaisons séries ont été
développées
Travail en cours.
Ce tableau montre que le système est quasi opérationnel, il reste la partie sur le bus CAN à
développer.
INSSET Master 1 SET | Rapport projet
Localisation par tracking vidéo
Mars 2008
19

Documents pareils