590 likes | 1.16k Views
ROBOTIQUE -ELE4203- Cours #6: Jacobienne, dynamique des robots et commande Enseignant: Jean-Philippe Roberge. Cours #6. Bref retour sur le cours #5: Mouvements différentiels et opérateurs différentiels Matrice Jacobienne ou tout simplement « la Jacobienne »: Interprétation et utilité
E N D
ROBOTIQUE-ELE4203-Cours #6: Jacobienne, dynamique des robots et commandeEnseignant: Jean-Philippe Roberge Jean-Philippe Roberge - Octobre 2012
Cours #6 • Bref retour sur le cours #5: • Mouvements différentiels et opérateurs différentiels • Matrice Jacobienne ou tout simplement « la Jacobienne »: • Interprétation et utilité • Comment la calculer efficacement • Concepts faisant intervenir la Jacobienne: • Vitesse d’un point lié à un certain repère du robot • Vitesses dans l’espace cartésien et vitesses dans l’espace articulaire • Possibilité d’inversion de la matrice Jacobienne. • Relation liant les forces appliquées à l’outil (espace cartésien) et le couple transmis par les articulations (espace articulaire) Jean-Philippe Roberge - Octobre 2012
Cours #6 • Notions du cours #6: • Dynamique des robots manipulateurs à l’aide d’Euler-Lagrange • Rappels de base sur le Lagrangien à l’aide d’exemples • Exemple de calcul des équations dynamiques: • Système simple à 1 D.D.L. en translation (joint prismatique) • Système simple à 1 D.D.L. en rotation (joint rotoïde) • Système à 2 D.D.L. en rotation (joints rotoïdes) • Généralisation pour des robots à n degrés de liberté • Propriétés des équations dynamiques des robots manipulateurs Jean-Philippe Roberge - Octobre 2012
Cours #6 • Notions du cours #6 (suite): • Stratégies de commande des robots manipulateurs: • PID axe par axe • PD avec compensation de gravité • Commande par couple pré-calculé (precomputed torque) • D’autres types de commande sont possibles malgré que ces stratégies ne soient pas à l’ordre du cours: • Nous discuterons brièvement de la commande adaptative • Nous discuterons aussi brièvement du contrôle de force Jean-Philippe Roberge - Octobre 2012
Bref rappel du cours #5 (1)Mouvement différentiel et opérateur différentiel Soit une matrice de rotation roulis-tangage-lacet: Cette matrice permet de représenter n’importe quel orientation d’un repère par rapport à un autre repère. Considérons maintenant des variations infinitésimales de l’angle de roulis, tangage et lacet: Alors: Jean-Philippe Roberge - Octobre 2012
Bref rappel du cours #5 (2)Mouvement différentiel et opérateur différentiel Donc, la matrice de transformation reliée à un mouvement différentiel: Donc, un mouvement différentiel peut se représenter par le déplacement différentiel: Ainsi que par l’opérateur différentiel: Jean-Philippe Roberge - Octobre 2012
Bref rappel du cours #5 (3)Mouvement différentiel et opérateur différentiel L’opérateur différentiel est donné par: Considérons un repère T qui subit un mouvement différentiel pour devenir T+dT: On a donc: Cette dernière équation permet souvent d’identifier les déplacements différentiels, comme nous le verrons dans le prochain exemple… Jean-Philippe Roberge - Octobre 2012
Mouvement différentiel et opérateur différentielExemple du robot planaire (1) Soit le robot planaire RRR pour lequel nous avions réalisé la cinématique directe: Calculons le changement qui affecte cette matrice lorsqu’elle subie un déplacement différentiel de δθ1: Et puisque : Alors: Jean-Philippe Roberge - Octobre 2012
Mouvement différentiel et opérateur différentielExemple du robot planaire (2) Nous pouvons alors identifier le déplacement différentiel (D) lorsque le robot est affecté d’un déplacement infinitésimal au niveau de son joint 1 (θ1): Ce dernier résultat implique donc que le déplacement différentiel est donc donnée par: Jean-Philippe Roberge - Octobre 2012
Mouvement différentiel et opérateur différentielExemple du robot planaire (3) Ceci se nomme la matrice Jacobienne: Nous pouvons refaire la même démarche pour un mouvement infinitésimal au niveau des joints 2 et 3, les résultats que nous obtiendrions sont: Donc, le mouvement différentiel total (c’est-à-dire le mouvement différentiel obtenu étant donnée une variation infinitésimale affectant tous les joints) est: Jean-Philippe Roberge - Octobre 2012
Matrice Jacobienne et son interprétation (1) Ceci se nomme la matrice Jacobienne : • La matrice Jacobienne est extrêmement puissante… • Comme nous l’avons vu, la matrice Jacobienne permet de lier les déplacements infinitésimaux dans l’espace articulaires au mouvement différentiel dans l’espace cartésien. • La matrice Jacobienne permet aussi de lier les vitesses articulaires aux vitesses dans l’espace cartésien: Jean-Philippe Roberge - Octobre 2012
Matrice Jacobienne et son interprétation (2) • Pas toujours! Rien n’assure que la matrice Jacobienne sera carrée. • En fait, elle ne sera pas carrée lorsque le nombre de degrés de liberté du robot est différent du nombre de degrés de liberté du robot dans l’espace cartésien. • Dans le cas où vous cherchez à inverser une Jacobienne qui n’est pas carrée, vous devez vous référez au pseudo-inverse (dans les notes: inverse généralisé), voir l’annexe à cet effet. Supposons à l’inverse que, étant données des vitesses dans le repère de base, nous désirons connaître les vitesses pour chacune des articulations: Pensez-vous qu’en général, la matrice Jacobienne est inversible? Jean-Philippe Roberge - Octobre 2012
Matrice Jacobienne et son interprétation (3) • Lorsque la matrice Jacobienne carrée n’est pas inversible, cela signifie que le robot se trouve dans une configuration de singularité. Par exemple: • Également: • Donc, la matrice Jacobienne intervient dans une foule de contexte • Calcul de vitesse, planification de trajectoires lisses, détermination des singularités, intervient dans les équations de la dynamique des manipulateurs et dans la relation entre les forces transmis par l’effecteur et les couples articulaires (moteurs). Jean-Philippe Roberge - Octobre 2012
Matrice JacobienneAlgorithme de calcul (1) • La matrice Jacobienne 0J est exprimé dans le repère de base, il est toutefois simple d’exprimer la Jacobienne dans un repère arbitraire i: • Nous venons d’étudier la matrice Jacobienne, nous avons vu comment l’exprimer par rapport à un repère i, nous avons constater sa puissance et nous avons aussi vu comment la calculer. • Il existe toutefois une manière plus méthodique de calculer la Jacobienne… Jean-Philippe Roberge - Octobre 2012
Matrice JacobienneAlgorithme de calcul (2) • L’algorithme de calcul de la matrice Jacobienne: • Cet algorithme fonctionne si les repères ont été apposés selon la méthode de Denavit-Hartenberg Jean-Philippe Roberge - Octobre 2012
Matrice JacobienneAlgorithme de calcul (3) - Exemple On peut recommencer le calcul de la Jacobienne du robot planaire à l’aide de cet algorithme: Jean-Philippe Roberge - Octobre 2012
Matrice JacobienneAlgorithme de calcul (4) - Exemple Jean-Philippe Roberge - Octobre 2012
Matrice JacobienneAlgorithme de calcul (5) - Exemple Jean-Philippe Roberge - Octobre 2012
Matrice JacobienneAlgorithme de calcul (6) - Exemple Jean-Philippe Roberge - Octobre 2012
Dynamique (1)Rappel des notions de base La dynamique d’un robot manipulateur peut être développé à partir de la méthode d’Euler-Lagrange: Jean-Philippe Roberge - Octobre 2012
Dynamique (2)Rappel des notions de base • Soit une particule de masse m qui peut seulement se déplacer verticalement: • Son énergie cinétique est: • Son énergie potentielle est : • Le Lagrangien est: • La dynamique de ce système, obtenue par Euler-Lagrange: Jean-Philippe Roberge - Octobre 2012
Dynamique (3)Rappel des notions de base • Soit un moteur couplé à une tige de masse M: • Son énergie cinétique est: • Son énergie potentielle est : • Le Lagrangien est: • La dynamique de ce système, obtenue par Euler-Lagrange: Jean-Philippe Roberge - Octobre 2012
Dynamique (4) Soit un robot RR à deux degrés de liberté: Jean-Philippe Roberge - Octobre 2012
Dynamique (5) Jean-Philippe Roberge - Octobre 2012
Dynamique (6) Jean-Philippe Roberge - Octobre 2012
Dynamique (7) Jean-Philippe Roberge - Octobre 2012
Dynamique (8) On peut alors obtenir la dynamique par la méthode d’Euler-Lagrange pour chacun des liens: Jean-Philippe Roberge - Octobre 2012
Dynamique (9) Sous forme matricielle: Jean-Philippe Roberge - Octobre 2012
Dynamique (10) Sous forme matricielle (autre forme): Jean-Philippe Roberge - Octobre 2012
Commande des robots manipulateurs (1) • Nous savons désormais que la dynamique d’un robot manipulateur peut être obtenue à l’aide de la méthode d’Euler-Lagrange. Celle-ci peut s’exprimer sous la forme matricielle: • Quel genre de loi de commande pouvons-nous utiliser afin de régler le couple τà appliquer à chacune des articulations? • Il y a plusieurs stratégies possibles, dépendament du contexte, dans le cadre du cours, nous verrons en particulier: • PID axe par axe (joint par joint) • PD avec compensation de la gravité • Couple pré-calculé • On pourra discuter aussi des stratégies suivante, bien que ce ne soit pas matière à l’examen: • Contrôle hybride force position et commande en impédance • Commande adaptative Jean-Philippe Roberge - Octobre 2012
Commande des robots manipulateurs (2) PID axe par axe Jean-Philippe Roberge - Octobre 2012
Commande des robots manipulateurs (3) PID axe par axe Jean-Philippe Roberge - Octobre 2012
Commande des robots manipulateurs (4) PD avec compensation de gravité Jean-Philippe Roberge - Octobre 2012
Commande des robots manipulateurs (5) Commande par couple pré-calculé (precomputed torque) Loi de commande Dynamique du robot Jean-Philippe Roberge - Octobre 2012
Commande non-linéaire d’un robot industriel à 6 DDL œuvrant sur une surface flexible -Une étude basée sur la simulation... -Motivations -Objectifs -Étapes préliminaires (non présentées) et hypothèses simplificatrices -Définition de la problématique École Polytechnique de Montréal ELE6204 – Commande des systèmes non-linéaires Jean-Philippe Roberge 3 décembre 2009
1ère solution: Commandeen impédance active [Anderson & Spong] - Principe: Commander la relation entre la position de l’effecteur et l’effort transmis. Où: -Simulation de la commande par MATLAB / Simulink:
2e solution: Commandehybrideforce-position [Khalil W.] - Note: - Principe: Asservir simultanément l’effort et la position. - S est la matrice des axes contraints. Chaque joint qitravaille pour le suivi de trajectoireet le suivi de force.
CommandebaséesurLyapunov [Bolandi et al.] - Forme de la commandebaséesur Lyapunov: - Rappel: dynamique du robot non contraint: - Où: - Donc: - Considérons le candidat de Lyapunov: - En vertu du 1er théorème de Lyapunov: s→0. Comme: - Donc, puisque s→0, alors les erreurs de position et de vitesse tendent elles aussi vers 0.
Commande adaptative basée sur Lyapunov [Spong, Slotine] - Loi de commande (basée sur Lyapunov): - Algorithme de Slotine et Li: Jumeler une commande basée sur Lyapunov à une loi d’adaptation des paramètres dynamiques. - Soit l’erreur sur l’estimation des paramètres dynamiques. Alors: - Note: - Alors la dynamique de s: - Stabilité: - On peut éliminer le deuxième terme en choisissant une loi d’adaptation adéquate: - De sorte que: • Implique que: 1) L’erreur de suivi de vit. et de pos. converge vers 0. • 2) La dynamique de p est asymp. stable
Commandehybride & commandeadaptativebaséesur Lyapunov Principe: 1) Identification des paramètres dynamiques du robot lors de la dynamique non contrainte. 2) Conserver les paramètres dynamiques constants lors d’un contact. Applications: - Robot dont la dynamique est en alternance non-contrainte / contrainte. - Robot dont la dynamique non-contrainte est dominante et précédente. Simulation:
Références (utiliséeslors de la présentation) [1] H. Bolandi, and S. M. Esmaeilzadeh, "Lyapunov-Based Nonlinear Output Feedback Control of a Flexible Link.", 2009, pp. 397-404. [2] École de technologiesupérieure, "Systèmesrobotiques en contact," 2009; http://www.gpa.etsmtl.ca/cours/sys827/index.html. [3] B. Siciliano, and L. Villani, Robot Force Control, Boston: Kluwer Academic, 1999. [4] W. Khalil, and É. Dombre, Modélisation, identification et commande des robots, 2 ed., Paris: Hermès Science, 1999. [5] J.-J. E. Slotine, Applied Nonlinear Control, Englewood Cliffs, New Jersey Prentice Hall, 1991. [6] M. W. Spong, and M. Vidyasagar, Robot Dynamics and Control, New York; Toronto: Wiley and Sons, 1989. [7] R. J. Anderson, and M. W. Spong, “Hybrid impedance control of robotic manipulators,” Robotics and Automation, IEEE Journal of, vol. 4, no. 5, pp. 549-556, 1988.
Au prochain cours… • C’est l’examen! • Je suis disponible pour vous rencontrer en personne si vous me donnez un 24h de pré-avis (au moins) • Disponible en tout temps par courriel, particulièrement dans les dernières heures avec l’examen. Jean-Philippe Roberge - Octobre 2012
Références • [1] Absolute Beginner’s Guide to Building Robots, Gareth Branwyn, 2003 • [2] http://spectrum.ieee.org/automaton/robotics/robotics-software/10_stats_you_should_know_about_robots Notes de cours (ELE3202) – Richard Gourdeau & John Thistle • [3] http://www.geekologie.com/2008/12/thats-it-im-moving-robotic-sta.php • [4] Robot Modeling and Control, Mark W. Spong et al.,2006. • [5] Notes de cours (Manipulateurs) - ELE4203, Richard Gourdeau, juillet 2012. Jean-Philippe Roberge - Octobre 2012