Assistance technique aux personnes handicapées Assistance Robotique aux Personnes Handicapées Philippe Hoppenot
Architecture matérielle Structure mécanique Capteurs Actionneurs Informatique Embarquée Station de contrôle Fonctions d'autonomie Planification de trajectoire Navigation Localisation Saisie d'objet
Architecture matérielle - Structure mécanique Contraintes - Encombrement A limiter pour simplifier le déplacement - Taille suffisante de la base mobile pour Porter le bras manipulateur (poids, équilibre) Embarquer toute l'électronique et la capacité de calcul - Position des capteurs Evitement d'obstacles Retour utilisateur
Architecture matérielle - Structure mécanique Forme semi cylindrique Bras manipulateur Codeurs Caméra Caméra Capteurs à ultrason PC embarqué Capteurs odométriques Roues
Architecture matérielle - Actionneurs 1. Déplacement de la base mobile Coût, maintenance => Motorisation de fauteuils roulants électriques : DX Problème Les commandes circulent sur un réseau CAN avec un protocole propriétaire Solution 1 DXKEY : Passerelle bus DX / liaison parallèle. Pb de fiabilité et de suivi du produit Solution 2 Développement d'une carte de commande à partir d'un PIC Commande En V et ω
Architecture matérielle - Actionneurs 2. Caméra On peut utiliser la caméra comme organe de commande grâce à ses capacités d'orientation en site et en azimut => Modes de commande caméra
Architecture matérielle - Actionneurs 3. Bras manipulateur Manus, développé en Hollande pour l'assistance aux personnes handicapées 6 degrés de liberté 3 en position 3 en orientation + 1 unité de levage + ouverture/fermeture de la pince 2 modes de commande - Cartésien - Articulaire
Architecture matérielle - Capteurs Coût, maintenance => pas de laser 1. Odométrie Calcul de la pose (position et orientation) du robot en fonction du mouvement des roues => Codeurs incrémentaux sur les moteurs 1 voie La vitesse de rotation du moteur est proportionnelle à la fréquence du signal On ne peut pas connaître le sens de rotation
Architecture matérielle - Capteurs Coût, maintenance => pas de laser 1. Odométrie Calcul de la pose (position et orientation) du robot en fonction du mouvement des roues => Codeurs incrémentaux sur les moteurs 2 voies A B Le décalage des voies A et B permet de connaître le sens de rotation du moteur + Coefficient de réduction au niveau des moteurs
Architecture matérielle - Capteurs 2. Capteurs à ultrasons Principe : mesure de distance par temps de vol Vitesse du son dans l'air 340 ms-1 Temps de vol (T) mesuré par un compteur Distance D = 340/T m
Architecture matérielle - Capteurs 2. Capteurs à ultrasons Sur ARPH, 7 capteurs Evitement d'obstacles
Architecture matérielle - Capteurs 3. Caméra 2 fonctions Retour d'information à l'opérateur humain Calcul de la position du robot Orientable en site et en azimut Commandable par liaison série 4. Position du bras 2 retours d'information - Cartésien - Articulaire
Architecture matérielle - Informatique Liaison TCP/IP HF Bras manipulateur Station de contrôle Base mobile Camera orientable Ceinture ultrasonore Odométrie Bras mobile
Architecture matérielle Informatique 1. Station de contrôle PC Windows Client C++ ou Java Pilotage réel Simulateur Organe de commande Souris Autre interface spécifique
Architecture matérielle Informatique 2. Bras mobile PC Linux Différents serveurs TCP IP Serveurs matériels Modules de comportement 3 liaisons séries Commande de la caméra Commande des capteurs à ultrasons Commande des moteurs des roues 1 liaison CAN Bras Manus 1 carte d'acquisition vidéo
Architecture matérielle Informatique 2. Bras mobile Commande des capteurs à ultrasons (Intel 80196) Liaison série Fonctionnement Reçoit une demande de mesure Effectue la mesure Renvoie la donnée au PC maître Commande des moteurs des roues (Microchip PIC) Liaison série Fonctionnement
Fonctions d'autonomie Robotique mobile 1. Planification de trajectoire Recherche d'un chemin pour aller d'un point à un autre 2. Navigation Suivi du chemin planifié 3. Localisation Indispensable pour la planification et la navigation 4. Modes de commande Manipulation d'objets Stratégie d'approche pour la saisie
Fonctions d'autonomie - Planification de trajectoire Notion d'espace libre Dilatation des obstacles de la dimension du robot => Le robot peut être considéré comme un point
Fonctions d'autonomie - Planification de trajectoire But Graphe de visibilité Meilleur chemin Minimisation d'une fonction de coût Source
Fonctions d'autonomie - Navigation Suivi de la trajectoire planifiée 2 comportements Attraction par le but Evitement d'obstacles Génération de la commande V = C v. V max avec Cv dans [0,1] ω = C ω. ω max avec C ω dans [-1,1]
Fonctions d'autonomie - Navigation Suivi de la trajectoire planifiée - Attraction par le but 2 cas Loin du sous-but Près du sous-but Y SB k C ωg θ θ Β D -π π/c g π Y R R π/c g θ g C ωg avec C g =1 SB k-1 X R X
Fonctions d'autonomie - Navigation Suivi de la trajectoire planifiée - Evitement d'obstacles Logique floue µ R n Système basén sur le comportement d'un expert, ici humain. n 1 1 => Recherche d'espace libre Exemples de règle: L ω Si Rla distance à droite est la même n n L qu'à gauche, aller F tout droit. Rn n Z S M B L ω n Si la distance à droite est plus grande qu'à gauche, aller à droite. 1 Z S M B L µ L Z PS PS PB PB NS Z PS PS NS NB NS Z PS PB PS NS NS Z PS NB NB NS NS Z µ ω 1 NB NS Z PS PB µ F Z S M B L Z Z Z Z Z Z Z S S S S S B B S M B L S S B B S S S F n
Fonctions d'autonomie - Navigation Suivi de la trajectoire planifiée - Evitement d'obstacles Regroupement des capteurs L = R = ( Left ) ( Left + Right ) ( Right ) ( Left + Right ) a h b g f e c d Gauche Droite Frontal
Fonctions d'autonomie - Navigation Suivi de la trajectoire planifiée Fusion des 2 comportements Idée maîtresse Deux zones Plus on se rapproche d'un obstacle, plus l'évitement d'obstacles doit devenir prépondérant. Proche d'un obstacle Uniquement l'évitement Loin d'un obstacle Combinaison linéaire des deux comportements
Fonctions d'autonomie - Localisation Deux grandes familles de localisation Relative La position à l'instant t est calculée en fonction de la position à l'instant t-1 et du déplacement mesuré par des capteurs proprioceptifs => Dérive dans le temps, non bornée - Accumulation d'erreurs - Glissement Mais facile à mettre en œuvre (odométrie) Absolue La position est calculée en fonction de mesures extéroceptives => Erreur bornée Mais lourde à mettre en œuvre
Fonctions d'autonomie - Localisation Absolue (thèse de Omar Ait Aider) 1- Acquisition de l'information par les capteurs (ici la caméra) 2- Extraction des primitives (ici des segments) 3- Mise en correspondance 2D-3D des observations avec le modèle 4- Calcul de la position de la caméra Modèle de la caméra Pleine perspective
Fonctions d'autonomie - Localisation 3- Mise en correspondance 2D-3D des observations avec le modèle - Réduction de l espace de recherche Régions d'invariance Visuelle Segment vertical Zone de visibilité du segment Zone d'invisibilité
Fonctions d'autonomie - Localisation 3- Mise en correspondance 2D-3D des observations avec le modèle - Génération d hypothèses de correspondance Contraintes Unaire - 1 segment du modèle / 1 segment de l'env. y y e t droite contraignant la position de la caméra x e x
Fonctions d'autonomie - Localisation 3- Mise en correspondance 2D-3D des observations avec le modèle - Génération d hypothèses de correspondance Contraintes Binaire - 2 segments du modèle / 2 segments de l'env. y y i L i y j y e δ t ω L j Arc de cercle contraignant la position de la caméra x e x i x j x
Fonctions d'autonomie - Localisation 3- Mise en correspondance 2D-3D des observations avec le modèle - Génération d hypothèses de correspondance Génération d'un arbre d'interprétation - Vérification et sélection de la meilleure hypothèse
Vérification - Calcul de la position et de l orientation - Calcul du score - Sélection de la meilleure hypothèse Acquisition image Prétraitement Détection de contours Segmentation Modèle global L = { L 1, L 2,, L m } Estimation position+orientation Ensemble de segments image Sous-ensemble de segments modèle l = { l 1, l 2,, l n } L = { L 1, L 2,, L m } Segments potentiellement verticaux lv = { lv 1, lv 2,, lv n } Segments verticaux Lv = { Lv 1, Lv 2,, Lv m } Segments non verticaux Lh = { Lh 1, Lh 2,, Lh m } Contrainte binaire Contrainte unaire p hypothèses L 1 L 2 L m l 1 l 3... * l 3 x... l 2... pxq hypothèses L 1 L 2 L m l 1 l 3... * l 3 x... l 2... q hypothèses L 1 L 2 L m l 1 l 3... * l 3 x... l 2...
Fonctions d'autonomie - Localisation 3- Mise en correspondance 2D-3D des observations avec le modèle - Vérification et sélection de la meilleure hypothèse Résultat des performances de l'élagage Erreur d'initialisation 1,5 m et 40 nb. hypothèses 1E+16 1E+14 1E+12 1E+10 1E+08 1E+06 10000 100 1 1 24 nb. maximal d'hypothèses nb. hypothèses aprés élagage 47 70 93 116 139 162 185 208 231 num. test 254 277 300 323 346 369 392 415
Fonctions d'autonomie - Localisation 4- Calcul de la position de la caméra Lowe. Minimisation de la distance entre les points de l'image et la projection estimée des points correspondants dans le modèle. Phong-Horaud. Minimisation des différences d orientations de vecteurs dans l espace 3D => Adaptation des méthodes au contexte de la robotique mobile: 3 ddl
12 7 10 5 4 3 21 8 6 8 9 6 4 2 0 0 2 4 6 8
Fonctions d'autonomie - Localisation Localisation symbolique - Basée sur un modèle topologique de l'environnement - Mode de représentation : Fresques = liste ordonnée d'amers Angles, fins de mur (horizontale, verticale ), ouvertures
Fonctions d'autonomie - Localisation Localisation symbolique - Description d'une trajectoire Suite de fresques Quelles sont les fresques représentatives de la trajectoire? => 2 mesures de distance entre des fresques barycentre, ressemblance Ressemblance Barycentre 100,00% 100,00% 80,00% 60,00% 40,00% 20,00% 0,00% 0,00 2,00 4,00 6,00 8,00 10,00 12,00 AD AG CX OD OG Addition 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% 0,00 0,25 0,50 0,75 1,00 1,25 1,50 1,75 2,00 AD AG CX OD OG Addition
Fonctions d'autonomie - Localisation Localisation symbolique
Fonctions d'autonomie - Localisation Localisation symbolique
Fonctions d'autonomie - Modes de commande Manuel Automatique Partagée Manuel avec évitement Caméra manuelle (avec ou sans évitement) Caméra automatique (avec ou sans évitement)
Fonctions d'autonomie - Saisie d'objets - Système redondant Espace opérationnel Espace des configurations 6 ddl 9-1 ddl - 2 approches Robotique classique Systèmes multi-agents - Robotique classique (thèse Khiar Nait Chabane) Manipulabilité Yoshikawa 85 ω = Πσ i si valeurs singulières de J => Mesure la capacité d'un bras manipulateur de se déplacer dans toutes les directions Extension à un bras mobile
Fonctions d'autonomie - Saisie d'objets Plate-forme mobile q P =[x p, y P, θ P ] T MGD X = f ( q, q ) p B Bras manipulateur q B =[q B1, q B6 ] T MCD Contrainte de non holonomie X& = J( q) q& + A( q ) q & = 0 p Aq ( ) = [sin( θ ),cos( θ ),0, 0 ] p P P 1 n B MCDR X& = J( q) u u = [ v, ω, q& L, q& ] T B1, B6
Fonctions d'autonomie - Saisie d'objets Robotique classique w w w mb B = σ Bi i= 1 2 σ Bm B 5 2 σ B1 B2 = 1 [0,1] σ Bm = [0,1] σ B1 wb wb5 wb5 wb2 0.06 0.04 0.02 1 xb3(m) xb2(m) 0.2 0.1 0-0.1-0.2-0.3-0.4 0.05 0-0.05 0 0.2 0.4 xb1(m) wb5 pour xb3=0.1 0 0.9 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1 wb5 0.8 0.9 0.8 0.7 0.7 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.6 1 1 wb2 0.5 1 0.5 0 0.5 0-0.5 0-0.5 0.1 0.2 xb2 0.3-10.4-1 0.5 0.6 0.7 0.8 xb1 xb1(m) 0.6 wb
Fonctions d'autonomie - Saisie d'objets Robotique classique La manipulabilité classique ne prend en compte que la configuration du système => Une proposition pour prendre en compte la direction de la tâche ω D = Σ σ ι X d X d U X d U Vitesse de l'organe terminal Matrice unitaire des vecteurs singuliers
Fonctions d'autonomie - Saisie d'objets Robotique classique - Application de la manipulabilité à la commande + u = J ( q) X& d + PN J α ( ) PN (J ) Opérateur de projection sur le Noyau de J + N( J) = ( n 1 ) P I J J α est en général le gradient d une fonction de coût P(q) On peut optimiser la manipulabilité
Fonctions d'autonomie - Saisie d'objets Robotique classique w 0.06 0.05 0.04 0.03 0.02 Trajectoire de la base 2.5 Platform trajectory mobile 2 y (m) 1.5 1 End-effector trajectory Trajectoire de l'organe terminal 0.01 0.5 0 0 10 20 30 40 50 60 time (s) Temps (s) 0-1.5-1 -0.5 0 0.5 1 1.5 x (m) Pseudo inverse
Fonctions d'autonomie - Saisie d'objets Robotique classique w 0.05 0.045 0.04 0.035 0.03 0.025 0.02 0.015 0.01 Trajectoire de la base 2.5 mobile 2 y (m) 1.5 1 0.5 Platform trajectory End-effector trajectory Trajectoire de l'organe terminal 0.005 0 0 10 20 30 40 50 60 time (s) Temps (s) 0-1.5-1 -0.5 0 0.5 1 1.5 2 x (m) Optimisation de ω
Fonctions d'autonomie - Saisie d'objets Robotique classique w 0.05 0.045 0.04 0.035 0.03 0.025 0.02 0.015 0.01 0.005 2.5 y (m) 2 1.5 1 0.5 End-effector trajectory Trajectoire de l'organe terminal Trajectoire de la base mobile Platform trajectory 0 0 10 20 30 40 50 60 time (s) Temps (s) 0-1.5-1 -0.5 0 0.5 1 1.5 2 x (m) Optimisation de ω D
Fonctions d'autonomie - Saisie d'objets Robotique classique - Stratégie d'approche pour la saisie Décision de l opérateur humain Système État de l environnement Phases Objectif proche Objectif éloigné Zones Obstacle proche Obstacle éloigné Obstacle proche Obstacle éloigné
Fonctions d'autonomie - Saisie d'objets Robotique classique - Stratégie d'approche pour la saisie Zone : obstacle éloigné Tâche principale : TO Seuil 1 Zone : obstacle proche Tâche Principale : combinaison entre évitement d obstacles et convergence vers l objectif Zone : obstacle éloigné Seuil 2 Zone : obstacle proche Tâche principale: TO Tâches secondaires: manipulabilité et évitement des obstacles Tâche principale : TO Tâche secondaire: manipulabilité Tâche additionnelle : vitesse v de la plate-forme nulle
Fonctions d'autonomie - Saisie d'objets Robotique classique - Stratégie d'approche pour la saisie (a) : trajectoires de la plate-forme et de l OT (b) : mesure de manipulabilité w B.
Fonctions d'autonomie - Saisie d'objets Systèmes multi-agents (Thèse de Sébastien Delarue) Principal intérêt Indépendant du modèle => peu sensible aux pannes But S 1 (a) (b) S 2 Sous-but (c) d) Duhaut 99 Inconvénient : Le premier segment a un poids plus important que les autres
Fonctions d'autonomie - Saisie d'objets Systèmes multi-agents Proposition Tous les segments bougent en même temps
Fonctions d'autonomie - Saisie d'objets Systèmes multi-agents Proposition Tous les segments bougent en même temps Modèle inverse Modèle multi agents Modèle masses-ressorts
Fonctions d'autonomie - Saisie d'objets Systèmes multi-agents Tolérance aux pannes
Fonctions d'autonomie - Saisie d'objets Systèmes multi-agents Application au bras mobile Modèle multi agen Consigne Modèle masses-ress Modèle inverse