École Polytechnique de Montréal Département de génie électrique ELE3100 - Projets de génie électrique Robotique et informatique Cours no. 4: Systèmes de perception pour robots mobiles Coordonnateur: Réjean Plamondon, ing. Ph.D., professeur titulaire Département de génie électrique, section génie biomédical (A.429.16) Courriel: [email protected] Chargé de cours et de laboratoire: Julien Beaudry, étudiant M.Sc.A. (A.321) Courriel: [email protected] Chargé de laboratoire: Moussa Djioua, étudiant Ph.D. (A.408) Courriel: [email protected] ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Plan du cours • Problématique • Classification des capteurs • Capteurs usuels • Cas particulier: vision artificielle • Capteurs redondants et fusion d’information • Interfaces avec ordinateur de bord 2 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Problématique Rôle du système de perception au sein du logiciel de contrôle du robot: 3 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Problématique Rôle du système de perception au sein du logiciel de contrôle du robot: Donner au robot une représentation adéquate des informations lui permettant d’accomplir son travail. Ce système doit utiliser des capteurs capables de mesurer certaines informations propres au robot ainsi que certaines caractéristiques de l’environnement. 4 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Problématique Qu’est-ce qu’un robot peut chercher à mesurer? 5 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Problématique Qu’est-ce qu’un robot peut chercher à mesurer? • L’état de divers systèmes (ex.: tension des batteries, position, vitesse de ses roues) 6 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Problématique Qu’est-ce qu’un robot peut chercher à mesurer? • L’état de divers systèmes (ex.: tension des batteries, position, vitesse de ses roues) • Son état dans l’environnement (ex.:position, vitesse de son centre de masse ou de son effecteur) 7 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Problématique Qu’est-ce qu’un robot peut chercher à mesurer? • L’état de divers systèmes (ex.: tension des batteries, position, vitesse de ses roues) • Son état dans l’environnement (ex.:position, vitesse de son centre de masse ou de son effecteur) • L’état de l’environnement (ex.: position de balises, position et dimension d’obstacles, relief du terrain) 8 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Problématique Situation Assessment UPDATES SENSORY PROCESSING OBSERVED INPUT PREDICTED INPUT PLAN RESULTS VALUE JUDGMENT SITUATION EVALUATION VED I E S C PER ATION U SI T Planning and Execution WORLD MODEL DATABASE EVA PLAN LUA TIO N S PLANS BEHAVIOR GENERATION STATES COMMANDED ACTIONS SENSORS ACTUATORS INTERNAL EXTERNAL EVENTS ACTIONS ENVIRONMENT 9 J.S. Albus, « Outline for a Theory of Intelligence », IEEE SMC, vol. 21(3), pp. 473509, 1991. ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Problématique Situation Assessment UPDATES SENSORY PROCESSING OBSERVED INPUT PREDICTED INPUT PLAN RESULTS VALUE JUDGMENT SITUATION EVALUATION VED I E S C PER ATION U SI T Planning and Execution WORLD MODEL DATABASE EVA PLAN LUA TIO N S PLANS BEHAVIOR GENERATION STATES COMMANDED ACTIONS Logiciel de contrôle SENSORS ACTUATORS INTERNAL EXTERNAL EVENTS ACTIONS ENVIRONMENT 10 J.S. Albus, « Outline for a Theory of Intelligence », IEEE SMC, vol. 21(3), pp. 473509, 1991. ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Problématique Situation Assessment UPDATES SENSORY PROCESSING OBSERVED INPUT Système de perception PREDICTED INPUT PLAN RESULTS VALUE JUDGMENT SITUATION EVALUATION VED I E S C PER ATION U SI T Planning and Execution WORLD MODEL DATABASE EVA PLAN LUA TIO N S PLANS BEHAVIOR GENERATION STATES COMMANDED ACTIONS Logiciel de contrôle SENSORS ACTUATORS INTERNAL EXTERNAL EVENTS ACTIONS ENVIRONMENT 11 J.S. Albus, « Outline for a Theory of Intelligence », IEEE SMC, vol. 21(3), pp. 473509, 1991. ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Classification des capteurs Il existe 2 grandes catégories de capteurs: 12 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Classification des capteurs Il existe 2 grandes catégories de capteurs: • Capteurs proprioceptifs: capteurs capables de mesurer des informations propres (internes) au robot. Grâce à ces capteurs, le robot peut déterminer l’état de certaines de ses composantes (batteries, actuateurs, etc.). Il peut possiblement en déduire son état dans l’environnement. 13 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Classification des capteurs Il existe 2 grandes catégories de capteurs: • Capteurs proprioceptifs: capteurs capables de mesurer des informations propres (internes) au robot. Grâce à ces capteurs, le robot peut déterminer l’état de certaines de ses composantes (batteries, actuateurs, etc.). Il peut possiblement en déduire son état dans l’environnement. • Capteurs extéroceptifs: capteurs capables de mesurer des informations provenant de l’environnement (mesures externes). Il permettent au robot de modéliser son environnement extérieur. 14 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Mesure de position/vitesse angulaire Le dispositif le plus utilisé est l’encodeur optique. L’idée est d’utiliser un disque troué, une source lumineuse et un capteur optique pour générer un signal numérique lors de la rotation de l’axe rotatif. 15 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Mesure de position/vitesse angulaire Le dispositif le plus utilisé est l’encodeur optique. L’idée est d’utiliser un disque troué, une source lumineuse et un capteur optique pour générer un signal numérique lors de la rotation de l’axe rotatif. 16 http://www.eventide.com/technote/ ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Mesure de position/vitesse angulaire Le dispositif le plus utilisé est l’encodeur optique. L’idée est d’utiliser un disque troué, une source lumineuse et un capteur optique pour générer un signal numérique lors de la rotation de l’axe rotatif. Il existe principalement deux types d’encodeurs optiques : •Encodeur optique absolu •Encodeur optique incrémental 17 http://www.eventide.com/technote/ ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Encodeur optique absolu : • Il discrétise l’axe de rotation en un nombre N de positions et retourne une valeur binaire unique pour chacune des positions. • La position est alors représentée par un nombre n de bits où N=2n. Ces bits peuvent être lus de façon parallèle. • Cet encodeur a l’avantage de demander peu de conversion pour obtenir l’orientation actuelle de l’axe et de ne pas dériver au niveau de la position angulaire (d’où le terme absolu), mais il demande plus de câblage puisque la lecture se fait en parallèle. 18 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Encodeur optique absolu, signaux générés : Disque d’un encodeur 8 bits 19 Source: BEI (http://www.beiied.com) ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Encodeur optique incrémental : • Il envoit de façon sérielle des bits 0 et 1 pour indiquer la rotation de l’axe. • Il est alors nécessaire d’utiliser des compteurs suffisamment rapides pour lire ces variations de position et mesurer le déplacement angulaire dans un intervalle donné. • La quadrature de phase permet de mesurer le sens de rotation et d’augmenter la précision de l’encodeur (par un facteur 4). • Cet encodeur a l’avantage de donner directement le déplacement de l’axe (facilite le calcul de vitesse) et demande peu de câblage. • Par contre, la mesure d’orientation n’est pas directe et peut occasionner une dérive, d’où l’utilité d’un bit INDEX pour signaler un tour complet de l’axe. 20 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Encodeur optique incrémental, signaux générés : Principe de fonctionnement Grâce à la quadrature de phase, 4 fois plus de précision Source: National Instruments (http://zone.ni.com/devzone/conceptd.nsf/webmain/) 21 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Mesure de position/vitesse angulaire Il existe quelques autres dispositifs : • Potentiomètre (résistance variable): la valeur de la résistance permet de déterminer la position angulaire grâce à un CAN. Solution économique mais précision moyenne. • Tachymètre: génération d’un signal analogique ou numérique en fonction de la vitesse angulaire. • La majorité des circuits de contrôle de moteurs DC fonctionnent avec des encodeurs optiques. 22 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Mesure de position linéaire: Utilisation de capteurs de rotation grâce à un lien mécanique. Traduction du mouvement rotatif mesuré en mouvement linéaire. Exemple: Source: BEI (http://www.beiied.com) 23 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs inertiels: Les capteurs inertiels cherchent à mesurer les accélérations, linéaires et/ou angulaires, du véhicule en mouvement. 24 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs inertiels: • Accéléromètres: mesure des accélérations linéaires du repère mobile, généralement grâce à un système micro électromécanique (MEMS). 25 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Exemples d’accéléromètres: • ADXL202 de National Instruments (http://www.analog.com/) 26 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Exemples d’accéléromètres: • ADXL202 de National Instruments (http://www.analog.com/): • Mesure des accélérations selon 2 axes (X et Y) • Bon marché (moins de 10$US par circuit) • Caractéristiques intéressantes pour le prix: (voir fiche technique) • Pratique pour mesurer des collisions sur des véhicules mobiles • Peu approprié pour du positionnement (trop de bruit) • Fabricant d’accéléromètres : INTERTECHNOLOGY, (http://www.intertechnology.com/Kistler/indexAcceleration.htm) 27 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Utilisation des accéléromètres: • Attention à la largeur de bande du capteur (mesure de vibrations?) • Attention à l’emplacement p.r. au repère mobile: 28 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Utilisation des accéléromètres: • Attention à la largeur de bande du capteur (mesure de vibrations?) • Attention à l’emplacement p.r. au repère mobile: Am accéléromètre X-Y ym αm ra θ xm Mesures du capteur: Ax cos 0 A Am mra Ay 0 sin Accélérations linéaires: a Am A mr doit être connu cos 0 0 sin 29 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs inertiels: • Gyroscopes: mesure des vitesses angulaires. Peuvent être mécaniques en utilisant le principe d’une toupie : http://www.accs.net/users/cefpearson/gyro.htm Exemple: GG2479 de Honeywell, http://content.honeywell.com/dses/products/gyros/rlg-gg2479.htm Peuvent être optiques en utilisant le principe de Sagnac: http://www.mathpages.com/rr/s2-07/2-07.htm Exemple: DSP-5000 de KVH, http://www.kvh.com/products/product.asp?id=45 30 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs inertiels: • Inclinomètres: mesure de l’inclinaison p.r. à l’horizontale, généralement grâce à une masse en mouvement. Ils sont généralement influencés par l’accélération du repère mobile (compensation possible en environnement dynamique). 31 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs inertiels: • Inclinomètres: mesure de l’inclinaison p.r. à l’horizontale, généralement grâce à une masse en mouvement. Ils sont généralement influencés par l’accélération du repère mobile (compensation possible en environnement dynamique). Exemple: CXTILT02 de Crossbow, http://www.xbow.com/Products/productsdetails.aspx?sid=39 32 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs inertiels: • Centrale inertielle (Inertial Measurement Unit, IMU): combinaison de plusieurs capteurs inertiels pour donner les déplacements tri-dimensionnels d’un véhicule en mouvement. 33 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs inertiels: • Centrale inertielle (Inertial Measurement Unit, IMU): combinaison de plusieurs capteurs inertiels pour donner les déplacements tri-dimensionnels d’un véhicule en mouvement. Exemple: DQI de BEI Technologies, http://www.systron.com/pro_DQI.asp 34 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs inertiels: • Il est possible d’obtenir les positions et vitesses d’un véhicule par l’intégration des mesures des capteurs inertiels • Mais attention à la dérive des mesures, il est nécessaire de corriger par capteur absolu. Exemple Matlab de positionnement avec accéléromètre 35 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs de force/pression: • Les capteurs de force peuvent être utiles pour manipuler des objets à l’aide d’un bras robotisé (mesure de contact, contrôle en force, limites de sécurité, etc.) • Ils existent sous différentes technologies, voici un exemple utilisant des résistances piézoélectriques: 36 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs de force/pression: • Les capteurs de force peuvent être utiles pour manipuler des objets à l’aide d’un bras robotisé (mesure de contact, contrôle en force, limites de sécurité, etc.) • Ils existent sous différentes technologies, voici un exemple utilisant des résistances piézoélectriques: Exemple: capteurs de force de Honeywell, http://content.honeywell.com/sensing/prodinfo/force/ 37 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs de contact: • Capteurs donnant un signal binaire (interrupteurs) lors d’un contact physique. Ils sont faciles à interfacer et peuvent aider à la navigation sécuritaire d’un robot. Exemple: interrupteurs de contact de Omron, http://www.omron.ca/ • Ils peuvent également être regroupés sous forme de pare-chocs instrumenté. 38 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Système de positionnement global GPS: permet d’obtenir la position en longitude et latitude sur le globe. • Précision de plusieurs mètres si utilisé de façon conventionnelle • Utilisation du GPS différentiel pour améliorer la précision. Possibilité d’atteindre des précisions de quelques centimètres. Référence web: http://www.wordiq.com/definition/Global_Positioning_System 39 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs à ultrasons (sonar): capteurs combinant un émetteur et un récepteur à ultrasons. Le temps de transport de l’onde permet de déterminer la distance relative d’objets extérieurs. 40 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs à ultrasons (sonar): capteurs combinant un émetteur et un récepteur à ultrasons. Le temps de transport de l’onde permet de déterminer la distance relative d’objets extérieurs. Exemple: Nomadic Sensus 200 41 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs laser (laser rangefinders): • Utilisation semblable à un capteur à ultrasons. Mesure de distance en mesurant le temps de transport du signal laser ou son déphasage à la réception. Précision de l’ordre de quelques mm. 42 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Capteurs laser (laser rangefinders): • Utilisation semblable à un capteur à ultrasons. Mesure de distance en mesurant le temps de transport du signal laser ou son déphasage à la réception. Précision de l’ordre de quelques mm. Exemple: SICK LMS200, http://www.sick.de/de/products/categories/auto/lasermeasurementsystemsindoor/en.html 43 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs usuels Autres types de capteurs: • Capteurs de lumière: capteurs infra-rouges, photorésistances, phototransistors, cellules photoélectriques • Capteurs sonores: microphones • Capteurs de températures • Capteurs olfactifs 44 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Concept de base Tout comme pour l’être humain, la vision d’un robot est de loin son « sens » le plus complexe. Mais c’est également le plus puissant puisqu’il permet d’obtenir une quantité impressionnante d’information provenant de son environnement. 45 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Concept de base Tout comme pour l’être humain, la vision d’un robot est de loin son « sens » le plus complexe. Mais c’est également le plus puissant puisqu’il permet d’obtenir une quantité impressionnante d’information provenant de son environnement. Au sein d’un robot, l’objectif de la vision artificielle est d’acquérir une certaine information visuelle de l’environnement, et de la traiter adéquatement de façon à mettre en forme une représentation adéquate de ce dernier. 46 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Principales utilités d’un système de vision au sein d’un robot mobile: • Reconnaître le terrain (relief, obstacles, etc.) • Recherche de balises et positionnement par rapport à un référentiel absolu • Reconnaissance d’objets mobiles (caractéristiques, positionnement relatif, etc.) • Traitement d’information visuelle abstraite (symboles écrits, expressions visuelles, etc.) 47 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Comment développer un tel système??? Quel type de caméra utiliser? Combien de fps vais-je obtenir? Quel type de lentille utiliser? Mon image sera-t-elle déformée? Vision couleur ou noir et blanc? Qu’est-ce que la vision stéréo? Est-ce nécessaire? Comment je traite mon image une fois numérisée? 48 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Principaux types de caméras: • Caméras analogiques: caméras avec capteur CCD de dimension variable retournant un signal analogique selon les standards NTSC, PAL ou SECAM (explications : http://www.alkenmrs.com/video/standards.html ) • Environ 30 fps • Signaux sur câbles conventionnels (composite, coaxial ou RGB) • Besoin d’une carte d’acquisition pour lire et numériser l’image 49 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Caméras analogiques, exemples de fabricants • Caméras: PULNIX (http://www.pulnix.com) Caméra couleur analogique • Cartes d’acquisition: Matrox (http://www.matrox.com/imaging/) Acquisition couleur, format PC/104+ 50 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Principaux types de caméras: • Caméras numériques: caméras avec capteur CCD offrant un signal numérique en sortie • Pas d’entrelacement comme pour caméras analogiques • Possibilité de qualité d’image et de fps élévés • Interfaces numériques standardisées (parallèle: LVDS ou série: CameraLink, FireWire) • Besoin d’une carte d’acquisition pour lire image numérisée 51 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Caméras numériques, exemples de fabricants • Caméras: PULNIX (http://www.pulnix.com) Exemple: TMC6700, caméra couleur numérique, format LVDS ou Camera Link, 60fps (http://www.pulnix.com/Imaging/Released/c-c6700.html) • Cartes d’acquisition: Coreco (http://www.imaging.com) Exemple: PC-CamLink, lecture de caméras numériques selon le format Camera Link, transfert direct en mémoire (DMA) à 120Mo/s, possibilités de traitement sur carte (LUT) 52 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Principaux types de caméras: • Caméras USB: caméras avec capteur CCD offrant un signal numérique sur le bus USB • en version USB 1.1 (12Mb/s), permettent environ 15fps maximum en couleur • pas besoin de cartes d’acquisition • solution bon marché à performances moyennes • avec l’arrivée du USB 2.0 (480Mb/s), performances beaucoup plus intéressantes Exemple de caméra: Logitech QuickCam Pro 4000 53 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques configurations possibles: • Caméra unique • Caméras stéréoscopiques • Caméras omnidirectionnelles Possibilité d’utiliser ces configurations en combinaisons pour combiner leurs avantages 54 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques configurations possibles: • Caméra unique: champ de vision restreint, possibilité d’orienter la caméra Vision and Mobile Robotics Lab, CMU: http://www-2.cs.cmu.edu/~vmr/ Chien AIBO: http://www.sony.net/Products/aibo/ Champions RoboCup: http://www.robocup.de/germanteam/ 55 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques configurations possibles: • Vision stéréoscopique : reconstruction tridimensionnelle d’une scène à partir d’images planaires provenant de deux caméras 56 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques configurations possibles: • Vision stéréoscopique : reconstruction tridimensionnelle d’une scène à partir d’images planaires provenant de deux caméras Robot humanoïde COG du MIT: http://www.ai.mit.edu/projects/humanoid-robotics-group/cog/cog.html 57 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques configurations possibles: • Vision stéréoscopique : reconstruction tridimensionnelle d’une scène à partir d’images planaires provenant de deux caméras Robots d’exploration du Jet Propulsion Laboratory: http://marsrovers.jpl.nasa.gov/home/index.html http://robotics.jpl.nasa.gov/people/mwm/visnavsw/aero.pdf Robot humanoïde COG du MIT: http://www.ai.mit.edu/projects/humanoid-robotics-group/cog/cog.html 58 Référence web: http://www.cs.ubc.ca/spider/jhoey/review/review.html ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques configurations possibles: • Caméra omnidirectionnelle : vision 360o, souvent obtenue grâce à un miroir convexe (sphérique, conique, hyperboloïdal, parabolique) 59 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques configurations possibles: • Caméra omnidirectionnelle : vision 360o, souvent obtenue grâce à un miroir convexe (sphérique, conique, hyperboloïdal, parabolique) Projet VISTA à CMU: http://www.frc.ri.cmu.edu/projects/vista/ 60 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques configurations possibles: • Caméra omnidirectionnelle : vision 360o, souvent obtenue grâce à un miroir convexe (sphérique, conique, hyperboloïdal, parabolique) Projet VISTA à CMU: http://www.frc.ri.cmu.edu/projects/vista/ Projet Robofoot de Polytechnique: http://robofoot.auto.polymtl.ca/accueil.html 61 Référence web: http://www.cis.upenn.edu/~kostas/omni.html ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques outils de développement: • OpenCV: Open Souce Computer Vision Library, librairie C/C++ contenant une panoplie de méthodes usuelles en vision artificielle (http://www.intel.com/research/mrl/research/opencv/) • CMVision: Color Machine Vision, librairie C contenant quelques éléments utiles pour vision couleur en temps réel (http://www-2.cs.cmu.edu/~jbruce/cmvision/) 62 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques outils de développement: • CVIPtools: librairie d’outils utiles au développement d’applications en vision artificielle (méthodes usuelles, interfaces de commande, etc.) (http://www.ee.siue.edu/CVIPtools/) • Mathworks Image Acquisition Toolbox et Image Processing Toolbox: permettent d’acquisitionner des images provenant d’une caméra et de faire différents traitements au sein de l’environnement Matlab (http://www.mathworks.com/products/imaq/) (http://www.mathworks.com/products/image/) 63 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Quelques outils de développement: Certains fabricants de matériel de vision par ordinateur développent leurs propres librairies, souvent adaptées à leur propre matériel pour de meilleures performances. Ces librairies sont rarement gratuites. Exemple: • Matrox Imaging Library: (http://www.matrox.com/imaging/products/mil/) 64 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Vision artificielle Références: • B. Klaus, P. Horn. Robot Vision. The MIT Press, Boston, USA, 1986. • R. C. Gonzalez. Digital Image Processing. Prentice Hall, New Jersey, USA, 2002. • G. Dudek, M. Jenkin. Computational Principles of Mobile Robotics. Cambridge University Press. Cambridge, UK, 2000. • CVonline: The Evolving, Distributed, Non-Proprietary, OnLine Compendium of Computer Vision. http://homepages.inf.ed.ac.uk/rbf/CVonline/ 65 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs redondants et fusion d’information • La redondance peut permettre une meilleure précision en combinant les qualités de plusieurs types de capteurs. 66 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs redondants et fusion d’information • La redondance peut permettre une meilleure précision en combinant les qualités de plusieurs types de capteurs. • L’objectif est d’obtenir, à partir de plusieurs sources d’informations, un estimé dont l’erreur est inférieure à celle obtenue par une source unique. 67 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs redondants et fusion d’information • La redondance peut permettre une meilleure précision en combinant les qualités de plusieurs types de capteurs. • L’objectif est d’obtenir, à partir de plusieurs sources d’informations, un estimé dont l’erreur est inférieure à celle obtenue par une source unique. • La fusion d’information implique donc un certain filtrage des données provenant des différentes sources et un système d’équations permettant de les combiner 68 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs redondants et fusion d’information • La redondance peut permettre une meilleure précision en combinant les qualités de plusieurs types de capteurs. • L’objectif est d’obtenir, à partir de plusieurs sources d’informations, un estimé dont l’erreur est inférieure à celle obtenue par une source unique. • La fusion d’information implique donc un certain filtrage des données provenant des différentes sources et un système d’équations permettant de les combiner source1 ... filtre estimé sourceN 69 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs redondants et fusion d’information • La redondance peut permettre une meilleure précision en combinant les qualités de plusieurs types de capteurs. • L’objectif est d’obtenir, à partir de plusieurs sources d’informations, un estimé dont l’erreur est inférieure à celle obtenue par une source unique. • La fusion d’information implique donc un certain filtrage des données provenant des différentes sources et un système d’équations permettant de les combiner source1 ... filtre estimé sourceN • Le filtre de Kalman est une technique pouvant donner un estimé à erreur minimale 70 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs redondants et fusion d’information Quelques exemples de redondance Robot mobile: Position obtenue de l’odométrie (encodeurs optiques) et d’un système de positionnement p.r à un référentiel fixe (vision, GPS). odométrie 1 ... n gyro/boussole position GPS vision xG x V yG fusion x y yV V 71 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs redondants et fusion d’information Quelques exemples de redondance Véhicule aérien: Position obtenue d’un système GPS et d’une centrale inertielle. GPS xG yG zG position, orientation fusion A x Ay Az x y z IMU (centrale inertielle) x y z Rx Ry Rz 72 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs redondants et fusion d’information Quelques exemples de redondance Véhicule sous-marin: Position obtenue d’un système à ultrasons (exemple: http://www.ixsea.com/php/contenu/en/p-lbl_system.php) et d’une centrale inertielle. ultrasons xU yU zU position, orientation fusion A x Ay Az x y z IMU (centrale inertielle) x y z Rx Ry Rz 73 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs redondants et fusion d’information Filtre de Kalman: un aperçu • Ensemble d’équations mathématiques offrant une méthode numérique efficace (récursive) de la méthode des moindres carrés (http://mathworld.wolfram.com/). • Ce filtre est intéressant pour donner un estimé de l’état actuel du système en fusionnant divers capteurs • Ces capteurs peuvent donner des informations différentes, avec des niveaux de bruit différents, et à des intervalles de temps différentes. Référence web: http://www.cs.unc.edu/~welch/kalman/ 74 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Capteurs redondants et fusion d’information Filtre de Kalman: un aperçu 75 Source: G. Welch, G. Bishop. An Introduction to the Kalman Filter. http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Interfaces avec ordinateurs de bord • Pour un robot mobile, le système de perception se doit d’être programmé sur l’ordinateur de bord. • Cet ordinateur doit donc interfacer adéquatement les différents capteurs du robot. • Différents types de capteurs = différents types d’interfaces. 76 ELE3100, Projets de génie électrique: systèmes de perception pour robots mobiles Interfaces avec ordinateurs de bord Principales interfaces disponibles sur un ordinateur embarqué: • Connection directe du capteur: CAN, I2C, RS232, RS422, RS485, USB, IEEE-1394 (FireWire), I2C, Ethernet, port parallèle • Connection via une carte d’entrées/sorties: bus PCI (PC/104+), bus ISA (PC/104) Référence web: http://www.interfacebus.com/Interface_Bus_Types.html 77