modélisation et contrôle en robotique - members.loria.fr · m2 avr, modélisation & commande...
TRANSCRIPT
Modélisation et contrôleModélisation et contrôleen robotiqueen robotique
Plateformes robotiques,environnements
de développement & de simulation
Alexis Scheuer (UL, FST / Loria)
Master 2 AVR
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 2/48
Contenu
● Plateformes matérielles :Robots, actionneurs & capteurs
● Architectures logicielles pour l’autonomie
● Environnements de développement et de simulation
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 3/48
Un peu d’histoire !
● Termes & conceptsrobotique (Asimov, 1941), robot (Čapek, 1920), …, Frankenstein, …, golem, Hepaïstos & Galatée
● RéalisationsUnimate (1961), …, automates (XVIIIème), …, automatismes (antiquité)
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 4/48
Catégories de robots
● Robots manipulateursassemblage, couverture, analyse, intervention médicale
● Robots mobilestransport, cartographie, localisation, …
● Robots à pattes ou humanoïdesassistance, mobilité, interaction, …
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 5/48
Robots manipulateurs
Danger : souvent puissant & lourd !
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 6/48
Manipulateurs : chaîne simple
● Articulation rotoïde ou prismatique : posture ?
● Modèle géométrique : – composition de transformations (rotation / translation)
de l’outil terminal à la base– géométrie analytique ou algèbre (matrices 4 x 4) :
● Inversion du modèleméthode géométrique, algébrique ou numérique
x=f (q)
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 7/48
Manipulateurs simples : contraintes
● Collisions (obstacles) et auto-collisioncalcul de la région occupée par le robot
● Limitations mécaniques :– butées articulaires – efforts fournis (modèle dynamique → forces et couples)
● Mouvement ?– Modèle cinématique :– Singularité lorsque (jacobienne non inversible)– Plusieurs solutions → choix d’un critère à optimiser
v= x=J (q) q
det (J (q))=0
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 8/48
Robots parallèles
● Intérêt : plus de précision,
plus de puissance (→ force | rapidité) !
● Exemples : robots à bras ou à câbles
● Applications : chaîne d’assemblage,
cabine de simulation, médecine, …
● Modélisation~ robot manipulateur, plus contraint !
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 9/48
Robots roulants
● Entretien (aspirateur, tondeuse)
● Transport (voiture, camion)
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 10/48
Mouvement ?
● Évitement de collisioncalcul de la région occupée par le robot
● Contraintes mécaniquesstructure du véhicule ou puissance des moteurs
(modèle cinématique ou dynamique)
● Optimisationtemps, énergie dépensée, …
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 11/48
Robots à pattes
Exploration de terrains accidentés
– Cinématique similaire à celle des robots à roues– Dynamique très différente (~ robot manipulateur inversé)
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 12/48
Robots aériens
Transport & exploration
Idem au précédent (cinématique ~, dynamique ≠)
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 13/48
Robots humanoïdes
Assistance → tout (avenir lointain) !
Concentré de technologie (et de problèmes)
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 14/48
Problématiques communes
● Évitement de collisionexpression de la région occupée + calcul de distance entre régions
● Gestion de la cinématiquedéfinition du modèle de mouvement du robot+ utilisation d’une méthode de contrôle
● Gestion de la dynamiquedéfinition du modèle de comportement du moteur+ utilisation d’une méthode de commande
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 15/48
Architecture logicielle
Architecture globale– Actionneurs – Capteurs– Décision
Différentes approches
Décision
Perception Mouvement
Environnement
Robot
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 16/48
Actionneurs
● Commande en position ou en vitesse des moteurs
contrôle plus fin (accélération) => pas toujours possible, sinon sur-couche
● Mouvements obtenus dépendent de la plateforme
modélisation et étude du mouvement anticipation
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 17/48
Capteurs, position
● Odométrie dérive, imprécis (surtout en orient.), très rapide
● Centrale inertielle dérive, coûteux et lourd ou imprécis, très rapide
● GPS extérieur, imprécis, assez rapide
● Triangulation de balises (vision, laser, ...)(équipement), précis, coûteux en temps
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 18/48
Capteurs, obstacles
● Ceinture de cellule IR ou US– IR : 1 – 10aines de cm, imprécis et bruités, 30 Hz– US : 10aines cm – qq m, échos fantômes, ~10 Hz
● Scanner laser (IR) 0 – 80 m, très précis, ~75 Hz, plus coûteux
● Vision (simple, stéréoscopique ou panoramique)
fournit plus de données, imprécis, lent, passif
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 19/48
Capteurs, fusion
Fusion de données issues de plusieurs capteurs
– Affinage et sécurisation des données
(élimine les données parasites, améliore les autres)
– Complexité de l'appariement (modèle)
– Lenteur du traitement
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 20/48
Contenu
● Plateformes matérielles : robots, actionneurs & capteurs
● Architectures logicielles pour l’autonomie– architecture en cascade– approche réactive– apprentissage automatique– architecture en niveaux
● Environnements de développement et de simulation
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 21/48
Approches pour la décision
● Actionneurs &Capteurs
● Décision– architecture en cascade– approche réactive– apprentissage automatique– architecture en niveaux
Décision
Perception Mouvement
Environnement
Robot
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 22/48
Architecture en cascade
Modélisation
Planification
Contrôle d'exécution
Sense-Plan-Act [Nilsson80]
Lenteur de la planification goulot d'étranglement !
Décision
Perception Commande des moteurs
Environnement
Robot
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 23/48
Architecture réactive
Décision
Réaction
Perception Commande des moteurs
Environnement
Robot
Véhicule de Braitenberg, subsomption [Brooks86, Arkin98]
Simplicité de la réaction blocage possible !
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 24/48
Apprentissage
Décision
Action
Perception Commande des moteurs
Environnement
Robot
Réseaux de neurones ou bayésiens, MDP, … [Dutech10]
Représentation non explicite des connaissances
Apprentissage Mémoire
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 25/48
Architecture en niveaux
Modélisation
Planification
Perception
Contrôle d'exécution
Commande des moteurs
Environnement
Robot
[Laugier&al99], par exemple
Possibilité de rajouter des niveaux de décision
Décision
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 26/48
[Arkin98] R.C. Arkin. Behavior-Based Robotics, MIT Press, 1998
[Brooks86] R. Brooks. A robust layered control system for a mobile robot. IEEE Jour-nal of Robotics and Automation, 2 (1):14–23, 1986
[Dutech10] A. Dutech. Apprentissage par Renforcement : au-delà des Processus Décisionnels de Markov. Mémoire d'Habilitation à Diriger des Recherches, UHP, 2010.
[Laugier&al99] C. Laugier, T. Fraichard, P. Garnier, I. Paromtchik and A. Scheuer. Sensor-based control architecture for a car-like vehi-cle. Autonomous Robots, 6(2):165–185, avril 1999.
[Nilson80] N.J. Nilson. Principles of Artificial Intelligence, Tioga, Pablo Alto (CA), 1980
[Siciliano&al08] B. Siciliano and O. Khatib. Handbook of Robotics, Springer-Verlag, Berlin (DE), 2008
Bibliographie
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 27/48
Contenu
● Plateformes matérielles : robots, actionneurs & capteurs
● Architectures logicielles pour l’autonomie
● Environnements de développement et de simulation
Décision
Perception Mouvement
Environnement
Robot
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 28/48
Contexte
● Données capteurs et commandes actionneurs = fonctions (dans un langage de prog.)
● Besoins pour définir un comportement :– Éditer le(s) fichier(s) définissant le comportement– Compiler ces fichiers (langage et micro-processeur)
possibilité de faire de la compilation croisée– Transmettre et exécuter le comportement
(fenêtre de commandes)
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 29/48
Logiciels génériques
● Éditeur de texte (emacs)– Reconnaissance syntaxique
● Couleurs (mots clés, types, fonctions, …)● Indentation intelligente (syntaxique)
– Appel du compilateur et gestion des messagesMontre où se trouve l'erreur
● Outils GNU (GPL : libre et open-source)compilateur, connexion et transfert (ssh, scp)
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 30/48
Dévelopt intégré
Visual Studio, Borland, Eclipse, Glade, etc
– Quelques facilités en plus (aide à la prog.)● Liste de fonctions, des paramètres, etc● Pas toujours simple d'utilisation (habitude)● Pas d'indentation intelligente
– Lié à la plateforme de développement (OS, langage, gestionnaire de fenêtres)
Impossible ou compliqué pour d'autres
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 31/48
Dévelopt dédié
Principaux environnements :
● Orccad
● Urbi
● MS Robotics Developer Studio
● ROS
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 32/48
Orccad
● Mise en œuvre par schéma de blocs– Simplicité et
réutilisabilité– Notion de flux :
goulot d'étranglement
● Répartition optimale sur les cartes disponibles – Allocation statique avec borne de durée– Communication gérées automatiquement
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 33/48
URBI
Universal Real-time Behavior Interface (licence BSD, 2012)● Langage de script
(flexible et modulaire)● Programmation par évènements
et parallélisme simple● Passerelle vers Java (& Corba), C++, Mathlab, Ruby
(langages standards)● Multi-plateformes (Windows, MacOS, Linux, …)● Livré sur 9 marques de robot & 2 simulateurs
(gourmand en ressources)
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 34/48
MS Rob. Dev. Studio
● Gratuit (avec Express)● Schéma de blocs (2008),
événementiel (messages)● Gère la communication
et la synchronisation● Ne fonctionne que sur Windows, avec les outils MS (.NET,
VPL), la version la plus récente date de 2012● Supporté par 6 marques (2008) / 3 (2012) robots
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 35/48
ROS
Robot Operating System● Système d'exploitation, léger● Gratuit et open-source (← Willow Garage)
● Multi-langages (C++, Python, Lisp, Java, Lua)
● Utilise d'anciens projets (Player/Stage, URBI)
● Multi-plateformes (Ubuntu, Linux, Mac, Windows)
● Multi-robots (~50 : TurtleBot, PR2, Nao, Lego, …)
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 36/48
Aseba
● Événementiel & gratuit● 3 niveaux : simple et graphique,
par blocs (Scratch) & par script● Gère la communication
et la synchronisation● Ne fonctionne que sur 5 robots :
Thymio, Elisa-3, e-puck, marXbot & hand-bot.
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 37/48
Simul., pourquoi ?
● Pour une étude plus rapide et plus sûre que dans le réel– Pas de problème de batterie ni de mécanique– Pas de risque de casse, ni de soucis de sécurité
● Pour préparer une expérimentationPermet de vérifier le comportement sans solliciter le matériel
● ...
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 38/48
Simul., pourquoi ?
● Pour une étude plus rapide et plus sûre● Pour préparer une expérimentation● Pour initier un apprentissage
– Forts risques de collision au début– Nécessité de finir par l'expérimentation
● Quand on n'a pas (assez) de robots !– systèmes multi-robot, véhicules autonomes, drones, etc– simulation hybride : robots réels et virtuels
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 39/48
Limites
● La simulation est un modèle, ce n'est pas la réalité !– La modélisation des capteurs et de la mécanique du robot ne
sont pas forcément réalistes– Le bruit et les perturbations non plus
● Certains outils ne supportent qu'un petit nombre de robots
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 40/48
Limites illustrées
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 41/48
Avantage ?
● Possibilité d'accéder à des valeurs cachées– Idéal pour synthétiser
des résultats expérimentaux– Permet aussi de “ tricher ”
● La simulation n'est pas une validation robotique
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 42/48
Exemples de simu.
● Outils libres– Player/Stage/Gazebo (U. South California)
LGPL, simulation des caméras pauvre
– Simbad (3D) pour étude Algo IA– MS Robotic Development Studio (Windows)
● Outils payants– Callas (véhicules)– Webots (Cyberbotics/EPFL & Kheperas..)
– URBI
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 43/48
Approche
EPFL/Cyberbotics
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 44/48
Cadre idéal
Capteurs ActionneursCapteurs
Environnement
Comportement
Réalité
Capteurs ActionneursCapteurs
Environnement
Simulateur
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 45/48
Cadre courant
Capteurs ActionneursCapteurs
Environnement
Comportement
Réalité
Capteurs ActionneursCapteurs
Environnement
Simulateur
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 46/48
Simu. multi-robot
● Problèmes– Explosion combinatoire des calculs– Cohérence des perceptions, communications, ...
● simulation séquentielle = problème
● Solutions– Simulation à pas de temps constant, synchrone
modèles multi-agent type Influence-Réaction
– Simulation multitâche ou distribuéemodèles SMA pour distribuer le calcul
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 47/48
Influence-Réaction
s(t) état de l'agent(t) état de l'environnement
P : perception sur l'environnementF : décision produisant des InfluencesR : réaction de l'environnement
Ferber Muller « Influence Reaction ... » ICMAS 96
M2 AVR, modélisation & commande en robotique, présentation (A. Scheuer) 48/48
Pas de temps logique