Quand on parle de robotique, plusieurs idées viennent à l’esprit de chacun de nous. Historiquement, nous pourrions nous référer aux premiers concepts et automates de l’antiquité ou aux premiers robots comme à des personnages de la mythologie. Même le mot robot a sa propre histoire. Séparer la science de la science fiction n’est pas une chose aisée, surtout lorsque en robotique nous cherchons parfois à faire réalité la fiction. Un exemple de l’influence des fictions nous est donné par les lois de la robotique. C’est au siècle dernier que le « boom » de la robotique industrielle a amorcé l’explosion des thèmes de recherche. A cette époque les robots étaient conçus en respectant les contraintes imposées par le milieu industriel, comme la répétabilité, la précision dans la réalisation des tâches, le respect des cadences de production, etc. Prenons l’exemple des bras manipulateurs industriels des années 80 très semblables aux bras industriels actuels, ils se déplacent à très grandes vitesses sur des trajectoires calculées hors ligne dans des environnements protégés et structurés, sans interaction avec les opérateurs humains. C’est avec les développements scientifiques, spécifiquement de l’électronique et de l’informatique mais aussi automatique, mathématique, mécanique, matériaux, que la technologie robotique a progressé. Les robots actuels sont dotées d’une « intelligence » qui leur donne une certaine autonomie qui va leur permettre de se diffuser dans de nouveaux domaines.
Planification de chemin
Une tâche de robotique de service peut être décomposée en une suite de mouvements. La complexité de ces mouvements augmente avec la nature de des déplacements mais aussi avec la dynamique de l’environnement. La planification de chemin a un rôle prépondérant pour la robotique de service, elle est liée aux chemins que les robots doivent suivre pour l’exécution d’une tâche. Les techniques de planification de chemin sont largement étudiés dans [Latombe, 1991] et [Laumond, 1998]. La manipulation d’objets en environnements humains est une des aptitudes qu’un robot de service doit être capable de maîtriser. Les travaux de López-Damian [Damian, 2006] portent sur la planification de la saisie par un robot autonome. La saisie est planifiée en deux étapes : la première étape recherche des positions de saisie en fonction de l’organe préhenseur ou pince et des caractéristiques de l’objet comme ses axes d’inertie. La deuxième étape consiste à trouver le chemin que le robot suivra. Par ailleurs, certains problèmes liés au confort de l’homme sont traités par Sisbot. En utilisant un planificateur de chemins, le mouvement du manipulateur est généré en fonction de la position et du champ de vision de l’utilisateur humain [Sisbot et al., 2006].
Commande des bras manipulateurs
Dans [Sciavicco et al., 2000], le problème de la commande d’un robot manipulateur peut être formulé comme la détermination de l’évolution des forces généralisées (forces ou couples) que les actionneurs doivent exercer pour garantir l’exécution de la tâche tout en satisfaisant certains critères de performance. Différentes techniques sont utilisées pour la commande des bras manipulateurs. La conception mécanique du bras manipulateur a une influence sur le choix du schéma de commande. Un robot manipulateur est une structure mécanique complexe dont les inerties par rapport aux axes des articulations varient non seulement en fonction de la charge mais aussi en fonction de la configuration, des vitesses et des accélérations. La plupart des robots utilisent des servomoteurs électriques comme actionneurs. Dans le cas de servomoteurs ayant de faibles rapports de réduction, ce sont les servomoteurs qui doivent compenser les effets des variations des forces d’inertie et de gravité. Dans le cas de servomoteurs avec de forts rapports de réduction, l’inertie vue par les moteurs varie beaucoup moins et il est alors possible de modéliser le robot par un système linéaire qui permet de découpler les articulations. Dans le contexte de ce document nous considérons uniquement l’utilisation de servomoteurs avec de forts rapports de réduction comme actionneurs, ce qui produit des robots à articulations rigides. Le problème de la rigidité des articulations est évident lorsqu’on parle d’interaction avec l’environnement ou des collisions. Des imprécisions dans la modélisation de l’environnement peuvent se traduire par des efforts de contact importants qui peuvent endommager les mécanismes internes du robot ou son environnement. En robotique de service, le risque de collision avec les humains est élevé. Lorsque l’articulation est rigide, les blessures qu’un robot peut produire sont fonction de l’inertie du mouvement. Pour des applications en robotique de service, et pour réduire les dommages produits par une collision, il est recommandé d’utiliser des robots ayant « une élasticité », on parle alors de robots avec des articulations flexibles. On peut considérer aussi des actionneurs élastiques [Pratt et al., 1995] ou une action parallèledistribué [Zinn et al., 2002] pour la conception d’un robot de service, sujet qui est en dehors de ce travail. Un chapitre du livre [Khalil, 2002] est dédié à la commande de robots à articulations flexibles que nous recommandons au lecteur intéressé. La littérature présente au robot léger DLR qui a été développé pour évoluer au milieu des espaces humains, les travaux de [Albu-Schäffer et al., 2007] utilisent la commande en couple pour chacune des joints pendant que les travaux de [De Luca et al., 2006] considèrent la détection des collisions et la façon de réagir après la collision.
Deux types de mouvements apparaissent quand on parle de commande du bras manipulateur. Un premier type considère que les mouvements nécessaires pour la réalisation de la tâche sont exécutés dans l’espace libre. Le deuxième type considère des mouvements spécifiques avec des forces de contact pour l’organe terminal qui se déplace dans un espace contraint. Toute tâche de robotique de service est réalisé par une combinaison de ces deux types de mouvement. Pour simplifier la commande, les deux types de mouvement sont abordés séparément.
Commande dans l’espace libre
Nous ne pouvons pas dans le cadre de ce mémoire traiter en détail l’ensemble des techniques de commande des bras manipulateurs. Pour une étude plus détaillée, le lecteur pourra se référer à [Paul, 1979], [Gorla et al., 1984], [Khalil et al., 1999], [Sciavicco et al., 2000] et [Canudas et al., 1997].
Commande par articulation
Cette technique est utilisée par des robots manipulateurs qui utilisent des servomoteurs avec de forts rapports de réduction. Lorsque le système présente un comportement linéaire, l’asservissement du mouvement peut être réalisée par des techniques classiques de commande. Nous parlons alors d’une commande décentralisée de type PID. Dans [Gorla et al., 1984] et [Canudas et al., 1997], le schéma classique est amélioré avec des signaux d’anticipation pour corriger les effets de la force de gravité et de couplage.
Commande jacobienne
Cette technique est utilisée depuis les travaux de Whitney [Whitney, 1969] et elle est appelée de cette façon lorsqu’elle utilise la matrice jacobienne inverse du bras manipulateur pour calculer les vitesses de consigne aux articulations. Elle est aussi connu sous le nom de commande à mouvement résolu. Les approches les plus courantes sont de type : mouvement à vitesse résolu, mouvement à accélération résolu [Luh et al., 1980] et mouvement à force résolu [Wu et al., 1982]. La technique de mouvement résolu commande la position de l’organe terminal du manipulateur dans l’espace cartésien, par combinaison des mouvements de plusieurs articulations. Ce type de schémas peut se présenter sous la forme d’un schéma cinématique quand les vitesses calculées aux articulations sont utilisées directement comme des consignes pour les boucles de commande de chaque articulation, ou sous la forme d’un schéma dynamique quand le schéma utilise le modèle dynamique pour découpler les articulations. Son principal inconvénient est l’utilisation de l’inverse de la matrice jacobienne, qui peut devenir singulière dans certaines conditions.
Commande par découplage non linéaire
Cette technique est aussi connu sous les noms de commande dynamique ou commande par couple calculé. Lorsque l’application exige des évolutions rapides avec des contraintes dynamiques, la commande doit prendre en compte les forces d’interaction. Ce type de technique considère l’ensemble des articulations et, pour les découpler, utilise la théorie du découplage non linéaire. Cette théorie utilise le modèle dynamique du robot pour le calcul de la lois de commande, ce qui conduit à des lois de commande centralisées non linéaires. Des signaux d’anticipation peuvent être utilisées pour minimiser des effets non linéaires [Er, 1993]. Ce type de technique permet la commande dans l’espace des articulations ou dans l’espace cartésien, avec l’avantage que les articulations sont découplées et peuvent évoluer a grandes vitesses avec de fortes inerties. Cette méthode dépend fortement du modèle du système, elle est très sensible aux imprécisions du modèle qui entraînent un découplage imparfait. Ceci constitue son principal inconvénient.
Commande fondée sur une fonction de Lyapunov
Des méthodes basées sur une fonction de Lyapunov ont été utilisées pour la commande des bras manipulateurs de façon satisfaisante pour des tâches de suivi. Particulièrement lorsqu’on cherche à garantir la convergence asymptotique et non à linéariser le système ou à obtenir le découplage [Canudas et al., 1997].
Commande passive
Cette technique considère le robot comme un système passif, c’est à dire un système qui dissipe de l’énergie. De telles lois de commande permettent de modifier l’énergie naturelle du robot pour qu’il réalise la tâche. En utilisant le formalisme de Hamilton, la commande cherche à minimiser l’énergie du système en utilisant un bloc non linéaire passif dans la boucle de retour. La commande passive tend à être plus robuste que le découplage non linéaire, lorsque la technique ne recherche pas à annuler les non linéarités [Sciavicco et al., 2000].
Commande adaptative
Ce type de techniques vise à corriger les déficiences de la commande par découplage non linéaire, comme la connaissance approximative des paramètres du modèle du robot ou pour s’adapter aux différentes conditions opératoires. Ce type de schémas cherche à estimer ou ajuster en-ligne les valeurs des paramètres utilisées dans le calcul de la loi de commande. Un des travaux les plus intéressants sur ce sujet est la commande proposé par [Slotine et al., 1987] appelée commande de Slotine-Li ou commande adaptative passive. Plusieurs travaux sur la commande adaptative sont présentés dans [Lozano et al., 2001]. Les avantages de ce type de techniques sont évidents, malheureusement la puissance de calcul demandée au système constitue un inconvénient important.
Commande prédictive
Ce type de schémas, en utilisant le modèle du système et les consignes, est capable de prédire son évolution, de telle manière qu’il est capable d’agir en fonction de l’erreur de prédiction. Trois schémas différents sont proposés dans [Hedjar et al., 2002] : point final fixe, horizon fini et une combinaison des deux précédents. Un grand avantage de ce type d’approche est lié au fait que l’erreur de prédiction n’est pas contaminé par les bruits de mesure mais la dépendance au modèle reste forte.
Commande robuste
Dans le cas de paramètres fixes, il est connu que la technique de découplage non linéaire peut devenir instable en présence d’incertitudes. Si les paramètres du modèle ne sont pas connus de façon précise et si l’incertitude sur les paramètres admet des bornes connus, alors les techniques de commande robuste peuvent être utilisées. Par exemple, les travaux de Slotine [Slotine, 1985] considèrent la technique de modes glissants appelé aussi commande de structure variable. Cette technique utilise une surface de glissement où la stabilité du système est garantie.
Commande optimale
Pour réaliser une tâche, il peut exister un grand nombre de solutions. Dans ce cas, il peut être souhaitable de choisir une solution qui satisfasse un certain critère. La littérature présente différents types de critères pour la commande optimale : la commande en temps minimal ([Kahn et al., 1971], [Bobrow et al., 1985], [Chen et al., 1989]), du domaine des neurosciences la minimisation du jerk pour maximiser la souplesse du mouvement ([Flash et al., 1985], [Kyriakopoulos et al., 1988], [Seki et al., 2004], [Amirabdollahian et al., 2002]) et la minimisation du couple ([Egeland et al., 1988], [Martin et al., 1999]), entre autres.
La complexité du problème de commande optimale a motivé les chercheurs pour diviser la tache en deux étapes : la première étape est la planification de trajectoire suivi d’une étape d’asservissement de la trajectoire [Lin et al., 1983], [Kim et al., 1985], [Shin et al., 1985].
Approche sélectionnée
La division en deux étapes de la commande proposée par les schémas de commande optimale a été conservée pour la suite de nos travaux. Une étape de planification de trajectoire est nécessaire pour satisfaire les conditions de mouvement et une étape d’asservissement de trajectoire devra être utilisée pour suivre cette trajectoire. À la différence des méthodes optimales, nous cherchons ici un schéma qui soit assez robuste pour être utilisé dans des environnements humains et assez flexible pour l’utiliser avec des robots différents. Les robots que nous avons utilisé ont de forts rapports de réduction, nous pouvons utiliser une commande par articulation, qui est assez robuste pour les applications que nous envisageons. Et, pour la commande dans l’espace cartésien, une commande jacobienne est envisagée. Souhaitant tester notre approche sur des robots différents en utilisant leurs modèles cinématiques respectifs sans avoir une forte dépendance par rapport à leur modèle dynamique.
|
Table des matières
INTRODUCTION
Chapitre 1 Contexte de l’étude
1.1 Introduction
1.2 Planification de chemin
1.3 Commande des bras manipulateurs
1.3.1 Commande dans l’espace libre
1.3.2 Commande dans l’espace contraint
1.4 Génération de trajectoires
1.4.1 Génération de trajectoires en temps minimal par optimisation
1.4.2 Génération de trajectoires par satisfaction des contraintes cinématiques
1.4.3 Génération de trajectoire en ligne
1.5 Asservissement Visuel
1.5.1 Asservissement en boucle ouverte
1.5.2 Asservissement en boucle fermée
1.6 La commande d’un bras manipulateur pour la robotique de service
Chapitre 2 Commande des bras manipulateurs
2.1 Introduction
2.2 Généralités sur la sélection de la loi de commande
2.2.1 Définition de la Situation de l’organe terminal
2.2.2 Modèles Directs du robot manipulateur
2.3 Asservissement des articulations
2.3.1 La commande classique
2.3.2 La commande par ordinateur
2.3.3 Exemple 1 : Changement de type d’asservissement
2.3.4 Exemple 2 : Changement du type d’asservissement avec consigne calculée de position
2.3.5 Exemple 3 : Schéma avec signal d’anticipation
2.4 Asservissement dans l’espace cartésien
2.4.1 Commande à résolution de vitesse par retour de quaternion
2.4.2 Commande au voisinage des positions singulières
2.4.3 Résultats de simulation
2.5 Conclusions
Chapitre 3 Génération des mouvements souples
3.1 Introduction
3.2 Chemins et Trajectoires
3.3 Méthode de base pour les mouvements souples
3.3.1 Mouvement élémentaire à jerk maximal
3.3.2 Mouvement élémentaire à accélération maximale
3.3.3 Mouvement élémentaire à vitesse maximale
3.3.4 Mouvement souple à sept segments
3.3.5 Système d’équations du mouvement souple à sept segments
3.4 Résolution du système d’équation
3.4.1 Premier seuil DS1
3.4.2 Mouvement point à point à cinq segments
3.4.3 Deuxième seuil DS2
3.4.4 Mouvement point à point à trois segments
3.4.5 Algorithme pour le mouvement point à point
3.5 Mouvements en temps imposé
3.6 Mouvements à conditions initiales et finales quelconques
3.6.1 Mouvements élémentaires
3.6.2 Les trois types de mouvements élémentaires optimaux
3.6.3 Déplacements optimaux dans le plan accélération-vitesse
3.7 Mouvement multidimensionnel
3.7.1 Mouvement point à point
3.7.2 Trajectoire continue en dimension N sur un chemin défini
3.7.3 Considérations sur la génération du mouvement
3.7.4 Contraintes non homothétiques
3.8 Considérations sur les applications
3.8.1 Cas du bras manipulateur
3.8.2 Cas du manipulateur mobile
3.9 Conclusions
CONCLUSION