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]. Nous présentons juste une vue générale de différentes techniques rapportées dans la littérature. Dans les paragraphes suivants nous nous limiterons à une description simple des différentes techniques. Nous présentons tout d’abord le schéma de commande par articulation pour progresser jusqu’à des techniques plus performantes comme la commande optimale . À la fin de cette section, nous décrivons notre approche pour la commande.
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
Chapitre 4 Retour Visuel
4.1 Introduction
4.2 Modèle d’une caméra
4.2.1 Matrice de projection perspective
4.2.2 Transformation affine caméra/image
4.2.3 Paramètres intrinsèques
4.2.4 Paramètres extrinsèques
4.3 Graphe du système avec caméra embarquée
4.4 Asservissement Visuel 2D partagé
4.4.1 Introduction
4.4.2 Schéma de commande
4.4.3 Loi de commande partagée
4.4.4 Avantages et inconvénients
4.5 Asservissement Visuel 3D
4.5.1 Introduction
4.5.2 Reconstruction 3D stéréo
4.5.3 Schéma de commande
4.5.4 Avantages et inconvénients
4.6 Localisation d’un objet et auto-calibration main/caméra ou « hand-eye »
4.6.1 Introduction
4.6.2 Schéma de commande
4.6.3 Avantages et inconvenants
4.7 Conclusions
Conclusion