Mech. Mack. TheoeyVol. 28. No. 3. pp. 301-316. 1993 0094-t 14X/93 $6.00+0.00 Printed in Great Britain. All rights reserved Copyright ~ 1993 Peqlamou Press Ltd COMMANDE DES ROBOTS MANIPULATEURS PAR LA PROGRAMMATION DYNAMIQUE MARC J. RICHARD, FRAN(~OIS DUFOUR et STANISLAW TARASIEWICZ D6parternent de 86nie m6canique, Universit6 Laval, Sainte-Foy, Qu6bec, Canada GIK 7P4 (Refu 27 Avril 1992; refu pour publication 23 Juin 1992) Rtmm6--Dans cet article, nous pr6sentons un mod61e dynamique de simulation pour Ins robots munis d'actionneurs 61ectriques ~ ¢ourant continu qui tient compte des non.lin6arit6s du syst~me. Nous avons d6velopp~ des algorithmes de calcul de la commande bas6s sur la programmation dynamique. Suite :i une d6finition de la trajectoire du robot, Ins crit6res de performance et les contraintes physiques peuvent 6tre adapt6s librement au mod61e du bras manipulateur. Une analyse d6taill6¢ des effets des contraintes sur les forces (ou Ins couples) g~n6ralis&'s nous a permis d'acc61~rer la convergence et d'augmenter la pr6ci$ion des algorithmes d6j~i existants en utilisant une nouvelle approche de discr6tisation. A title d'exemple, un bras manipulateur ;i 3 degr~s de libert6 est analys6. INTRODUCTION La diminution des cot~ts de production demeure le principal objectif de i'automatisation et la productivit~ d'une entreprise est garante de sa survie car elle peut rarement souffrir de demi-mesures sans mettre en p6ril ia sant6 financi6re et la position concurrentielle de ceile-ci. II est done primordial de maximiser rutilisation des 6quipements de production. C'est pourquoi nous nous int~resserons ;i la commande optimale des robots manipulateurs. La r6solution du probl~me classique d'optimisation entre deux bornes s'av~re tr~s complexe et pratiquemcnt inapplicable aux robots manipulateurs ~i moins d'effectuer d'importantes simplifications qui r~duisent consid6rablement la port~:e et la validit~ des r~sultats. A cause de leur conception particuli6re, Ins robots manipulateurs poss6dent une dynamique fortement non-lin~aire o6 I'on observe des effets de couplages entre Ins articulations. De plus, Ins contraintes diverses qui agissent sur le syst/:me compliquent davantage la r6solution du probl6me. Les chercheurs s'int&essent ~i la commande optimale des robots manipulateurs depuis plus de 20 arts (un des premiers articles a 6t6 publi6 sur le sujet par Kahn et Roth [1]), mais aucune des m6thodes raises au point jusqu'ici n'apporte de solution d6finitive. La m6thode pr6sent6e dans cet article s'inspire principalement des travaux de Singh et Leu [2] et ne s'int6resse qu'au deuxi6me niveau de la hi6rarchie de commande, soit celui qui contr61e la planification de la trajectoire. Nous laisserons done de c6t6 toute la probi6matique du niveau inf~rieur, celui du suivi de la trajectoire qui se doit de fonctionner en temps r6el pour compenser routes les perturbations du syst6me. Etant lib6r6 de rimportante contrainte du fonctionnement en temps r6el ("on line"), nous pouvons utiliser des mod61es dynamiques beaucoup plus r6alistes, mais notre m6thode ne sera applicable qu'en temps diff6r6 ("off line"). II y a trois faqons de r~soudre les probl6mes de commande optimale, chacune poss6dant ses forces et ses faiblesses: (1) par le calcul variationnel; (2) par le principe du maximum de Pontryagin; (3) par la programmation dynamique (principe de Bellman et Dreyfuss [3]). Le probl6me g6n6ral de la commande optimale r6solu par programmation dynamique exige une recherche parmi 2n variables (n correspondant au hombre de degr6s de iibert6 du robot). Les capacit6s informatiques actuelles sont insuflisantes pour traiter ce genre de probl~me (surtout pour Ins robots ~imultiples degr6s de libert6). Par contre, le d6finition initiale de la trajectoire nous permet de r6soudre un probl6me d'optimisation sur plusieurs variables ind6pendantes, soit Ins vitesses des articulations donn~es. Darts la pratique, cette contrainte n'est pas trop iimitative puisque plusieurs taches accomplies par les robots industriels doivent suivre des trajectoires pr&i6finies. On peut 301