Top Banner
Robot suiveur d'objet coloré par webcam montée sur servomoteur
43

Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

Sep 14, 2018

Download

Documents

donhan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

Robot suiveur d'objet coloré par webcam montée

sur servomoteur

Page 2: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 2Robot suiveur d'objet coloré par webcam montée sur servomoteur

> Sommaire1. Principe2. Constitution

a) Plateforme mécanique + moteursb) Carte de puissancec) Carte d’interfaced) PC embarquée) Communicationf) Webcamg) Servomoteur

3. Programmationa) Récupération et traitement des images de

la webcamb) Contrôle des moteurs et servomoteurs via

Labjack

4. TP

Page 3: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 3Robot suiveur d'objet coloré par webcam montée sur servomoteur

Principe

Page 4: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 4Robot suiveur d'objet coloré par webcam montée sur servomoteur

� Meute de robots qui se suivent en chaîne de manière autonome

� Seul le 1er robot est téléguidé

� Chaque robot a un objet rouge à l'arrière, visible par le robot suivant qui cherche à le suivre

Page 5: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 5Robot suiveur d'objet coloré par webcam montée sur servomoteur

Constitution

Page 6: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 6Robot suiveur d'objet coloré par webcam montée sur servomoteur

Plateforme mécanique + moteurs

� Exemple : plateforme 4WD1

Page 7: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 7Robot suiveur d'objet coloré par webcam montée sur servomoteur

Carte de puissance

� Permet de contrôler les moteurs par des signaux de commande – Moteurs : tensions et courants élevés provenant

des batteries– Signaux de commande : tensions et courants

faibles venant directement ou indirectement du PC• Exemples : signaux PWM, I2C

Page 8: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 8Robot suiveur d'objet coloré par webcam montée sur servomoteur

Carte de puissance

� Exemple : Robbe Rokraft

Signaux de commande PWM, connecteur classique servomoteur

Batterie avec connecteur Tamiya

Moteurs

Page 9: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 9Robot suiveur d'objet coloré par webcam montée sur servomoteur

Carte de puissance

� Exemple : Robbe Rokraft– Fonctionnement

• La puissance envoyée aux moteurs (et donc leur vitesse) dépend du signal de commande PWM

• PWM = Pulse Width Modulation : modulation en largeur d’impulsion

U : tension du PWM (5 V)t : largeur d’impulsion (entre 1 et 2 ms) T : période (20 ms)

Page 10: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 10Robot suiveur d'objet coloré par webcam montée sur servomoteur

Carte de puissance

� Exemple : Robbe Rokraft– Fonctionnement

• Correspondance largeur d’impulsion / vitesse de rotation

ARRET

1.0 à 1.5 msRotation dans le sens inverse, en décélérant

1.5 à 2.0 msRotation dans un sens, en accélérant

1.5 msMoteur à l’arrêt

Largeur d’impulsion

État du moteur

Page 11: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 11Robot suiveur d'objet coloré par webcam montée sur servomoteur

Carte d’interface

� Relie la partie informatique avec la partie électronique (capteurs, actionneurs) – Partie informatique : intelligence par le biais de

programmes sur PC– Partie électronique : capteurs, actionneurs

Page 12: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 12Robot suiveur d'objet coloré par webcam montée sur servomoteur

Carte d’interface

� Exemple : boitier Labjack– Se branche sur l'ordinateur en USB et est contrôlé

par des programmes exécutés sur l'ordinateur– Peut générer des signaux PWM, I2C– Peut générer des petites tensions– Peut lire des petites tensions (venant de capteurs

analogiques tels que des télémètres, odomètres, boussoles...)

– …

Page 13: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 13Robot suiveur d'objet coloré par webcam montée sur servomoteur

Carte d’interface

� Exemple : boitier Labjack

Moteur

Carte de Puissance

Labjack U3

Alimentation

Page 14: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 14Robot suiveur d'objet coloré par webcam montée sur servomoteur

Carte d’interface

� Exemple : boitier Labjack

Moteur 1

Moteur 2

Cartes de

puissance

Labjack

PC de commande

Dispositif de commande de moteurs avec la carte uE9

Page 15: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 15Robot suiveur d'objet coloré par webcam montée sur servomoteur

Carte d’interface

� Autres exemples : Cartes Parallax et Pololu– Se branchent en série (ou USB via un

convertisseur USB-série) et génèrent jusqu’à 16 PWM

Page 16: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 16Robot suiveur d'objet coloré par webcam montée sur servomoteur

PC embarqué

� Intelligence du robot– Contient les programmes définissant

le comportement du robot

� Exemples : – eeePC 901– Mini ITX– PC 104– …

96×90PC/104

100×72Pico-ITX

120×120Nano-ITX

170×170Mini-ITX

226 × 175.3 × 22.9eeePC 901

Size (mm)Name

Computer form factors

Page 17: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 17Robot suiveur d'objet coloré par webcam montée sur servomoteur

Périphérique de communication

� Relie le robot au PC de commande

� Exemple : clé Wifi USB

Page 18: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 18Robot suiveur d'objet coloré par webcam montée sur servomoteur

Webcam

� Capteur que l'on peut simplement brancher sur un PC via USB

� Exemple : Logitech Quickcam Pro 9000– Images jusqu’à 1600 x 1200 pixels

Page 19: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 19Robot suiveur d'objet coloré par webcam montée sur servomoteur

Servomoteur

� Servomoteur = petit moteur + carte de puissance : pour orienter la webcam

� Commandé par PWM

� 2 types de servomoteurs :– Asservis en position : tournent de -40 à +40°par

exemple– Asservis en vitesse

Page 20: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 20Robot suiveur d'objet coloré par webcam montée sur servomoteur

Programmation

Page 21: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 21Robot suiveur d'objet coloré par webcam montée sur servomoteur

Récupération et traitement des images de la webcam

� Représentation courante d’une image en C/C++

BGRBGR

…BGRBGR

Pixel 1 Pixel 2

Pixel 1 Pixel 2 Pixel 3 Pixel 4

Pixel 5

Pixel 9

Page 22: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 22Robot suiveur d'objet coloré par webcam montée sur servomoteur

Récupération et traitement des images de la webcam

� Utilisation d’OpenCV– Présentation

• http://opencv.willowgarage.com/wiki/• Bibliothèque open source• Portable• Fonctions en C/C++ ou Python• Codes optimisés développés à l'origine par Intel• Documentation et exemples de codes• …

Page 23: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 23Robot suiveur d'objet coloré par webcam montée sur servomoteur

Récupération et traitement des images de la webcam

� Utilisation d’OpenCV– Présentation

• 4 parties principales :– CXCORE (types et fonctions de base : matrices, images,

arbres, graphes, fonctions mathématiques, dessin de formes…)

– CV (traitement d’image : détection d’objets, de mouvement, calibration…)

– HIGHGUI (récupération et affichage d’images : lecture/enregistrement de fichiers images et videos, gestion des webcams, affichage dans des interfaces graphiques…)

– MLL (arbres de décision, réseaux de neurones…)

Page 24: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 24Robot suiveur d'objet coloré par webcam montée sur servomoteur

Récupération et traitement des images de la webcam

� Utilisation d’OpenCV– Type IplImage

– Création d’une image couleur vierge

Page 25: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 25Robot suiveur d'objet coloré par webcam montée sur servomoteur

Récupération et traitement des images de la webcam

� Utilisation d’OpenCV– Accès aux pixels d’une IplImage

Page 26: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 26Robot suiveur d'objet coloré par webcam montée sur servomoteur

Récupération et traitement des images de la webcam

� Utilisation d’OpenCV– Chargement et affichage d’un fichier image

Page 27: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 27Robot suiveur d'objet coloré par webcam montée sur servomoteur

Récupération et traitement des images de la webcam

� Utilisation d’OpenCV– Récupération d’une image webcam

Page 28: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 28Robot suiveur d'objet coloré par webcam montée sur servomoteur

Contrôle des moteurs et servomoteurs via Labjack

� http://www.labjack.com/

� Une bibliothèque de fonctions et drivers fournis pour différents langages, OS

� Programmes exemples disponibles� Pour contrôler les moteurs, nous utiliserons

les fonctions « timer » du Labjack

Page 29: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 29Robot suiveur d'objet coloré par webcam montée sur servomoteur

Contrôle des moteurs et servomoteurs via Labjack

� Le Labjack peut générer jusqu’à 6 timers/PWM dont la fréquence est définie par

162*__ divisorclocktimer

ff

syst

PWM =

Fréquence interne du Labjack

Mode du PWM => précision de la largeur d’impulsionParamètre pouvant être propre à chaque PWM

pour faire varier sa fréquence indépendamment des autres

Fréquence finale du PWMDoit être proche de 1/20ms pour pouvoir contrôler un servo

Page 30: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 30Robot suiveur d'objet coloré par webcam montée sur servomoteur

Contrôle des moteurs et servomoteurs via Labjack

� Fonctions utiles

Page 31: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 31Robot suiveur d'objet coloré par webcam montée sur servomoteur

Contrôle des moteurs et servomoteurs via Labjack

� Fonctions utiles

Page 32: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 32Robot suiveur d'objet coloré par webcam montée sur servomoteur

Contrôle des moteurs et servomoteurs via Labjack

� Fonctions utiles

Page 33: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 33Robot suiveur d'objet coloré par webcam montée sur servomoteur

TP

Page 34: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 34Robot suiveur d'objet coloré par webcam montée sur servomoteur

� Suivi d’un objet coloré à l’aide d’une webcammontée sur un servomoteur

PC

Caméra

ServoModule LABJACK(Peut être remplacépar un module POLOLUou PARALLAX )

Page 35: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 35Robot suiveur d'objet coloré par webcam montée sur servomoteur

Rappels C/C++

� Le C est inclus (à 99%) dans le C++ : quand on fait du C, on fait aussi du C++ mais l’inverse n’est pas forcément vrai

� Du code C ou C++ peut être écrit dans un fichier .cpp mais seul du code C peut être écrit dans un fichier .c

� Dans un .h, on peut écrire du C ou du C++, mais il faut que les .c n’incluent que des .h avec du C

Page 36: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 36Robot suiveur d'objet coloré par webcam montée sur servomoteur

Rappels C/C++

� Le C++ rajoute des notions de programmation orientée objet (classe, héritage, polymorphisme) ainsi que des facilités d’écriture

Page 37: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 37Robot suiveur d'objet coloré par webcam montée sur servomoteur

Rappels C/C++

� Différences entre les compilateurs Windows et Linux– Linux

• Le compilateur C le plus utilisé est GCC• Son équivalent C++ est G++

– Windows• GCC/G++ existent avec Cygwin et MinGW• Différents IDE existent et fournissent leurs propres compilateurs

– Microsoft Visual Studio avec CL– Borland C++ Builder / Turbo C++ / Borland Developper

Studio avec BCC32– Code Blocks / Dev-C++ avec MinGW

Page 38: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 38Robot suiveur d'objet coloré par webcam montée sur servomoteur

Rappels C/C++

� Différences entre les compilateurs Windows et Linux

.exe-Exécutable

.dll.soBibliothèque dynamique

.lib.aBibliothèque statique

.obj.oFichiers objets

Windows/Visual C++Linux/GCC

Equivalences Linux / Windows

Page 39: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 39Robot suiveur d'objet coloré par webcam montée sur servomoteur

Rappels C/C++

� Visual Studio– Versions

• Visual C++ 6 : date de 1998

• Visual Studio 2002 / 2003 ou .Net : refonte de l’IDE et ajout des projets .Net

• Visual Studio 2005 / 2008 : quelques mises à jour

– Difficile à prendre en main au début : nombreux types de projets, nombreuses options incompréhensibles

– Mais assez abouti, très utilisé, beaucoup d’aide possible sur Internet

Page 40: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 40Robot suiveur d'objet coloré par webcam montée sur servomoteur

Rappels C/C++

� Visual Studio– Organisation

• Workspace/Solution (fichier .dsw/.sln) : ensemble de projets

• Projet (fichier .dsp/.vcproj) : ensemble de fichiers nécessaires à la génération d’un exécutable ou bibliothèque (.h, .c, .cpp…)

Page 41: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 41Robot suiveur d'objet coloré par webcam montée sur servomoteur

Rappels C/C++

� Utilisation de bibliothèques de fonctions externes

Fichiers .c/.cpp

Fichiers .obj

Fichier .exe

Fichier .lib

Fichier .dll

Compilation

Est utilisée

Edition des liensEdition des liens

Regroupement

Edition des liens

Page 42: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 42Robot suiveur d'objet coloré par webcam montée sur servomoteur

Utilisation d’OpenCV avec VisualC++ 6

� Les chemins suivants sont des chemins absolus considérant l'installation par défaut dans C:\Program Files\OpenCV\

� Créer un projet Win32ConsoleApplication� Dans le menu "Project ", "Settings ", "C/C++", categorie "Preprocessor ".

Ajouter les chemins suivants dans "Additional include directories ":– C:\Program Files\OpenCV\cv\include, – C:\Program Files\OpenCV\cvaux\include, – C:\Program Files\OpenCV\cxcore\include,– C:\Program Files\OpenCV\otherlibs\highgui

� Dans le menu "Project ", "Settings ", "Link ", catégorie "Input ".Ajouter les librairies suivantes dans "Object/library modules ":

– cv.lib cvaux.lib cxcore.lib highgui.lib� Ajouter le chemin suivant dans "Additional library path ":

– C:\Program Files\OpenCV\lib

� Modifier la variable d'environnement "PATH" de Windows en ajoutant: – C:\Program Files\OpenCV\bin

� Dans le code, ajouter– #include "cvaux.h"– #include "highgui.h"

Page 43: Robot suiveur d'objet color par webcam mont e sur … suiveur d'objet coloré par... · Robot suiveur d'objet coloré par webcam montée sur servomoteur 29/05/2009 - 2 > Sommaire

29/05/2009 - 43Robot suiveur d'objet coloré par webcam montée sur servomoteur