cours robotique 834(1)

Upload: yassine-lamiaa

Post on 08-Apr-2018

238 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/7/2019 Cours Robotique 834(1)

    1/91

    .

    Cours de Robotique Avancee

    Redondance et OptimisationPh. Bidaud

    Universite Pierre et Marie Curie - Paris 6Master Sciences de lIngenieur

  • 8/7/2019 Cours Robotique 834(1)

    2/91

    Objectifs du cours

    Ce cours aborde les methodes utilisees en Robotique pour traiter des problemesdanalyse et de commande de systemes complexes. Les systemes complexes consideresici sont :

    1. Les systemes de manipulation redondants cinematiquement

    2. Les systemes non-holonomes

    3. Les systemes a architecture parallele

    4. Les systemes de manipulation coordonnee avec des liaisons unilaterales

    On recouvre lessentiel des problematiques auxquelles on est confronte dans le cadre dela manipulation dextre, la prehension articulee, la locomotion a roues et a pattes, etc ...

    Plan du cours

    1. Cinematique des systemes redondants.

    2. Dynamique des systemes redondants et containts

    3. Cinematique et statique des systemes paralleles et de manipulation coordonnee

    4. Stabilite des contacts unilateraux

    5. Les quantificateurs de performance

    6. Methodes doptimisation multi-criteres

    2

  • 8/7/2019 Cours Robotique 834(1)

    3/91

    Contents

    1 Introduction 6

    2 Cinematique des systemes redondants 62.1 Generateur du mouvement, noyau et leurs complements orthogonaux et

    reciproques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Definition de la redondance cinematique . . . . . . . . . . . . . . . . . . 72.3 Analyse du probleme de la redondance cinematique . . . . . . . . . . . . 82.4 Definition dun modele geometrique inverse . . . . . . . . . . . . . . . . . 9

    2.4.1 Solution par la Jacobienne transposee . . . . . . . . . . . . . . . . 112.4.2 Solution par la pseudo-inverse de Moore Penrose . . . . . . . . . . 12

    2.5 Homogenesation de J pour le calcul de la pseudo-inverse . . . . . . . . . 142.6 Methodes de determination des mouvements internes . . . . . . . . . . . 15

    2.6.1 Vecteurs du noyau de J . . . . . . . . . . . . . . . . . . . . . . . 152.6.2 Tache secondaire dans lespace articulaire . . . . . . . . . . . . . 16

    2.6.3 Tache secondaire dans lespace cartesien . . . . . . . . . . . . . . 192.6.4 Autre formulation de la tache secondaire . . . . . . . . . . . . . . 20

    2.7 Augmentation de lespace operationnel . . . . . . . . . . . . . . . . . . . 212.8 Utilisation de methodes doptimisation . . . . . . . . . . . . . . . . . . . 23

    2.8.1 Multiplicateurs de Lagrange . . . . . . . . . . . . . . . . . . . . . 232.8.2 Programmation lineaire . . . . . . . . . . . . . . . . . . . . . . . 24

    2.9 Determination des configurations singulieres dans les manipulateurs re-dondants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.10 Passage des singularites . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3 Dynamique des systemes redondants et contraints 27

    3.1 Principe de dAlembert et travaux virtuels . . . . . . . . . . . . . . . . . 273.2 Modele dynamique inverse des systemes series . . . . . . . . . . . . . . . 303.3 Modele dynamique cartesien des manipulateurs non-redondants . . . . . 313.4 Modele dynamique articulaire des manipulateurs redondants . . . . . . . 323.5 Modele dynamique operationel des manipulateurs redondants . . . . . . . 333.6 Modele dynamique des systemes contraints . . . . . . . . . . . . . . . . . 34

    3.6.1 Multiplicateurs de Lagrange . . . . . . . . . . . . . . . . . . . . . 343.6.2 Reduction du modele dynamique par resolution des multiplicateurs

    de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.6.3 Resolution des accelerations generalisees par optimisation . . . . . 383.6.4 Reduction des equations par le complement orthogonal . . . . . . 38

    4 Commande des systemes redondants 434.1 Commande en acceleration des manipulateurs redondants . . . . . . . . . 434.2 Commande en vitesse des manipulateurs redondants . . . . . . . . . . . . 444.3 Commande en couple des manipulateurs redondants . . . . . . . . . . . . 45

    3

  • 8/7/2019 Cours Robotique 834(1)

    4/91

    5 Systemes paralleles et systemes de manipulation coordonnee 465.1 Systemes paralleles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    5.1.1 Exemples de systemes paralleles . . . . . . . . . . . . . . . . . . . 465.1.2 Modele cinematique des systemes paralleles . . . . . . . . . . . . 475.1.3 Modele cinematique des systemes paralleles contraints . . . . . . . 49

    5.1.4 Modele cinematique des systemes paralleles redondants . . . . . . 535.1.5 Modele statique des systemes paralleles . . . . . . . . . . . . . . . 535.1.6 Modele dynamique des systemes paralleles . . . . . . . . . . . . . 54

    5.2 Systemes de manipulation coordonnee . . . . . . . . . . . . . . . . . . . . 565.2.1 Statique de la manipulation coordonnee . . . . . . . . . . . . . . 585.2.2 Modele des actions de contact . . . . . . . . . . . . . . . . . . . . 585.2.3 Modelisation du contact entre 2 solides . . . . . . . . . . . . . . . 585.2.4 Transmission de mouvement dans les liaisons par contact . . . . . 595.2.5 Champ des actions de contact . . . . . . . . . . . . . . . . . . . . 605.2.6 Modele de frottement de Coulomb . . . . . . . . . . . . . . . . . . 615.2.7 Application a la modelisation dune prise . . . . . . . . . . . . . . 63

    5.2.8 Etude de lequilibre de la prise . . . . . . . . . . . . . . . . . . . . 665.2.9 Famille de reactions statiquement admissibles . . . . . . . . . . . 675.2.10 Analyse algebrique de lequilibre . . . . . . . . . . . . . . . . . . . 685.2.11 Determination des forces de contact . . . . . . . . . . . . . . . . . 695.2.12 Determination des composantes de serrage . . . . . . . . . . . . . 695.2.13 Rigidite de la prise . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    5.3 Cinematique de la manipulation coordonnee . . . . . . . . . . . . . . . . 725.3.1 Equations de fermeture des chanes cinematiques . . . . . . . . . 725.3.2 Utilisation des torseurs reciproques . . . . . . . . . . . . . . . . . 735.3.3 Projection des mouvements transmis par les doigts sur les contraintes 73

    5.4 Introduction de la cinematique des contacts . . . . . . . . . . . . . . . . 755.4.1 Dynamique de la manipulation coordonnee . . . . . . . . . . . . . 765.5 Cas particulier des robots humanodes . . . . . . . . . . . . . . . . . . . 78

    5.5.1 Caracterisation de lequilibre dun humanode . . . . . . . . . . . 78

    6 Analyse des performances 816.1 Indices de manipulabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    6.1.1 Indice de manipulabilite cinematique . . . . . . . . . . . . . . . . 82

    7 Analyse des performances 827.1 Transmission des vitesses . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

    7.2 Transmission des efforts . . . . . . . . . . . . . . . . . . . . . . . . . . . 857.3 Transmission des accelerations (manipulabilite dynamique) . . . . . . . . 867.4 Indice de rigidite sun systeme . . . . . . . . . . . . . . . . . . . . . . . . 867.5 Indice de stabilite dun systeme dappuis unilateraux . . . . . . . . . . . 87

    4

  • 8/7/2019 Cours Robotique 834(1)

    5/91

    8 Configurations singulieres et domaine de travail 878.0.1 Configurations stationnaires dun mecanisme serie . . . . . . . . . 878.0.2 Determination du domaine accessible en position . . . . . . . . . 898.0.3 Extension au mecanismes paralleles . . . . . . . . . . . . . . . . . 91

    9 Techniques doptimisation 91

    5

  • 8/7/2019 Cours Robotique 834(1)

    6/91

    1 Introduction

    Les systemes robotiques presentent generalement un degre de complexite qui imposede reconsiderer les techniques de modelisation et de commande de leur comportement.Lune des dimensions particulieres dans la complexite des systemes est liee au nombre

    de leur degre de liberte qui peut induire une redondance/abondance vis-a-vis des tachesa realiser.Lexploitation de la redondance cinematique est le premier des points que nous ex-

    aminerons. Cette redondance peut notamment servir a optimiser par la commande lecomportement du systeme du point de vue de certaines de ses performances. Ce problemepeut etre aborde dun point de vue cinematique ou dynamique selon le type controle bas-niveau mis en oeuvre sur le systeme.

    Une autre dimension dans la complexite des systemes est induite par le fait des con-traintes imposees par des liaisons non-holonomes ou par des cycles cinematiques multiplesdans le mecanisme. Nous considererons les problemes de modelisation et de commandede systemes non-holonomes, de systemes paralleles ainsi que de systemes presentant des

    liaisons par contact de pour lesquels la persistance de la liaison doit etre maintenue.Nous introduirons un certain nombre de moyens pour quantifier les performances

    cinematiques et dynamiques de ces systemes et nous envisagerons leur utilisation dansleur commande (lorsquils concernent des variables de commande) ou leur conception(lorsquils portent sur des parametres structurels).

    Enfin, nous reviendrons sur plusieurs techniques doptimisation particulierement adapteesau traitement des problemes exposes. Nous introduirons egalement des techniques adapteesau multi-critere.

    2 Cinematique des systemes redondants

    2.1 Generateur du mouvement, noyau et leurs complementsorthogonaux et reciproques

    La relation entre lespace des vitesses generalisees et des vitesses operationnelles est uneapplication lineaire dont J est la matrice associee. Le produit Jq peut etre vu commeune combinaison lineaire des vecteur-colonnes de J. Aussi, on peut definir :

    1. Le generateur de lapplication definit lensemble des vitesses transmissibles par lesysteme.

    R(J) = X Rm/q Rn X = Jq

    2. Le complement orthogonal a R(J) constitue lensemble des vitesses non-transmissibles.

    R(J) =

    X Rm/X R(J) XtX = 0

    3. Le complement reciproque a R(J) definit les actions naturellement transmissibles

    R(J)R =

    F Rm/X R(J) FtX = 0

    6

  • 8/7/2019 Cours Robotique 834(1)

    7/91

    4. Le noyau de lapplication constitue lensemble des articulaires internes.

    N(J) = {q Rn/Jq = 0}

    5. Le complement orthogonal est lensemble des vitesses articulaires qui engendre un

    mouvement de leffecteur.

    N(J) =

    q Rn/q N(J) qtq = 0

    6. Le complement reciproque au noyau est lensemble des couples articulaires quiproduisent une puissance nulle dans le mouvement interne.

    N(J)R =

    Rn/q N(J) tq = 0

    On montre egalement que :R(J) = N(Jt)

    N(J) = R(Jt)

    Cette dualite entre la vitesses et efforts est illustree sur la figure 1.

    Figure 1: Illustration de la dualite vitesse/effort

    2.2 Definition de la redondance cinematique

    La redondance dun systeme mecanique peut etre definie du point de vue cinematique.Lorsque m la dimension de lespace des deplacements du systeme, ou si tous les deplacementsne sont pas imposes par la tache le nombre de contraintes imposees sur le mouvementsdu corps manipule est egal a la mobilite cinematique du systeme, alors la matrice

    7

  • 8/7/2019 Cours Robotique 834(1)

    8/91

    jacobienne J du systeme est hors singulatites une matrice carree. la solution au problemecinematique inverse X = Jq (ou differentiel inverse dX = Jdq ) est donnee par :

    q = J1X

    Pour simplifier les choses, on considerera que la mobilite du mecanisme est directement n

    le nombre de liaisons et que le nombre de contraintes est directement egal a la dimensiondu groupe des deplacements dans lequel le systeme evolue (note d).Des lors ou le manipulateur est redondant devant la tache (n > d ou plus generalementrg(J) > d) alors le probleme est sous-determine. Il existe une infinite de solutions auprobleme cinematique inverse. Le degre de redondance cinematique du systeme devantla tache est :

    r = n dim(R(J)) = dim(N(J))

    2.3 Analyse du probleme de la redondance cinematique

    Pour le manipulateur de 3P de la figure 2, si seule la trajectoire du point P est imposee,le degre de redondance est 1. La Jacobienne de ce manipulateur est :

    Figure 2: Manipulateur redondant 3P

    Jv =

    1 0 10 1 0

    Une base de R(J) est :

    R(J) =

    1 00 1

    Une base de N(J) est :

    N(J) =10

    1

    dim(N(J)) = 0 traduit le fait quil existe une possibilite de mouvement interne commelillustre la figure 3. Le complement orthogonal au (N(J)) constitue le sous-espacedes mouvements articulaires realisant le mouvement X avec le minimum damplitudeq. Plusieurs methodes sont envisageables pour resoudre la redondance. Les methodesutilisant le modele cinematique sont les plus generales.

    8

  • 8/7/2019 Cours Robotique 834(1)

    9/91

    Figure 3: Illustration du mouvement interne

    2.4 Definition dun modele geometrique inverse

    Si on considere le systeme est sous asservissement articulaire, lune des solutions pour

    aborder la commande des mouvements est dutiliser le modele geometrique inverse pourdefinir les consignes articulaires a partir de la definition de la trajectoire en position etorientation de lobjet manipule. Cependant, dans le cas ou le systeme est redondant,le probleme geometrique inverse est das ce cas sous-determine. Il existe par consequentune infinite de configurations articulaire pour atteindre une tache donnee.

    Pour traiter la redondance, une solution consiste a introduire des relations supplementairespour traduire un objectif secondaire qui est par exemple doptimiser une performancelocale. Si on considere que la performance en question est representee par une fonctionscalaire continue notee W(q) en fonction des parametres generalises q. On peut con-siderer la resolution du probleme geometrique inverse a partir dune part par le modelegeometrique direct X = f(q) et dautre part par r equations algebriques traduisant un

    optimum de la fonction.La recherche dun optimum pour W(q) peut etre vu comme un probleme doptimisation

    sous les contraintes F(q) = (f(q) X). Ce type de probleme peut etre aborde alaide des multiplicateurs de Lagrange. Le probleme equivaut a minimiser le LagrangienL(q) = W(q) + tF(q), Rm=d etant le vecteur des multiplicateurs de Lagrange.Ainsi, la solution verifie a la fois la solution au modele geometrique et minimise W(q).

    Les points stationnaires sont tels que la differentielle de L(q) soit nulle :

    L(q)

    q=

    W(q)

    q+

    F(q)

    q

    t = 0

    -

    F(q)

    q Rmn

    est la matrice Jacobienne.- W(q)

    q= W(q) = h Rn est le vecteur gradient de la fonction W(q)

    Lequation precedente peut etre re-ecrite :

    Jt + h = 0

    ou en partitionnant les m premieres lignes et les n m suivantes :Jm

    Jnm

    t =

    hm

    hnm

    (1)

    9

  • 8/7/2019 Cours Robotique 834(1)

    10/91

    On peut a partir de ce systeme de n equations auquel serait joint les m equations issuesdu modele geomtrique direct determiner lensemble des incunnues (les m multiplicateursde Lagrange et les n variables articulaires.

    On peut egalement, en saidant des m premieres equations du systeme (1) de resoudreles m multiplicateurs de Lagrange.

    = J1m hm

    En substituant dans les n m equations, on a :

    JnmJ1m hm hnm = 0

    Ces r equations peuvent se mettre sous la forme matricielle :

    ( JnmJ1m , Inm ) h = 0

    ou encore en notant Z = ( JnmJ1m , Inm )

    Zh = 0

    Le probleme geometrique inverse pour un systeme redondant consiste alors a resoudre lesysteme :

    F(q) = 0Zh = 0 (2)

    Ces dernieres equations permettent de detemininer completement les variables articu-laires.

    Pour illustrer cette methode nous utiliserons lexemple de la figure 4. Le point P de

    ce systeme de type PR doit se deplacer selon un axe vertical situe a x de lorigine touten evitant un obstacle situe a d du 2nd segment.

    Le modele geometrique direct se reduit a :

    x = r1 + aC2 (3)

    La Jacobienne transposee est Jt = ( 1 , aS2 ). La redondance du systeme r = 1.La distance a lobstacle est (x r1)S2 = dS2. Le problemme geometrique inverse peutetre pose comme :

    S2dC2

    +

    1

    aS2 = 0

    r1 + aC2 x = 0 (4)

    ou encore, a laide de la matrice Z :

    ( aS2 , 1 )

    S2dC2

    = 0

    r1 + aC2 x = 0 (5)

    10

  • 8/7/2019 Cours Robotique 834(1)

    11/91

    Figure 4: Illustration du traitement de la redondance par une methode geometrique

    2.4.1 Solution par la Jacobienne transposee

    La commande cinematique dun systeme (ici considere comme arborescent) peut etrerealisee en utilisant directement la jacobienne inverse. Le probleme de la redondance estalors resolu en considerant quun torseur de force FExt est applique a leffecteur, cettederniere cherchant a lamener sur la position desiree Xd (voir illustration figure 5)

    Figure 5: Illustration du principe de commande par Jacobienne inverse

    Si cette action exterieure est consideree comme realisee a travers une raideur :

    FExt = K(Xd X) = K e

    avec K une matrice positive et symetrique d elasticite, on peut determiner la solution qpar :

    q = JtKe

    11

  • 8/7/2019 Cours Robotique 834(1)

    12/91

    Cette methode presente linteret de traiter directement du probleme de la redondance etdes singularites. La solution obtenue est non-exacte mais stable. En effet, le potentielelastique du systeme (e) est tel que (e) > 0e = 0 et (0) = 0:

    (e) =1

    2etKe

    En differentiant par rapport au temps (e) on trouve :

    (e) =1

    2etKe +

    1

    2etKe = etKe

    etK(Xd X) = etKXd e

    tKJq

    Le choix de q = JtKe conduit a :

    etKXd etKJJtKe

    qui pour Xd = cte verifie :(e) = etKJJtKe < 0

    ce qui montre que la convergence vers zero de la solution est assuree.

    2.4.2 Solution par la pseudo-inverse de Moore Penrose

    On peut imposer une contrainte supplementaire pour obtenir une solution, par exemplechercher une solution qp de norme Euclidienne minimale telle que :

    Jqp X

    2

    = minqRn

    Jq X

    2

    Lunique solution est donnee par :qp = J

    +X

    ou J+ est la pseudo-inverse de J. Elle produit une solution minimale pour q2 (auxmoindres carres) pour X desire. (Fonction pinv() de Matlab )Le calcul de la pseudo-inverse de J peut etre realise si rg(J) = m par :

    J+ = Jt(J Jt)1

    Pour lexemple du manipulateur PPP, la pseudo-inverse de Jv est :

    J+v = 1/2 00 1

    1/2 0

    Dune maniere plus generale, si J Rmn est de rang r, elle admet une decompositionen valeurs singulieres (Fonction svd() de Matlab ) qui est:

    J = UVt =

    i=1,r

    iuivti

    12

  • 8/7/2019 Cours Robotique 834(1)

    13/91

    Pour lexemple du manipulateur PPP, on a :

    Jv =

    1 00 1

    1.4142 0 0

    0 1.0000 0

    0.7071 0 0.70710 1.0000 00.7071 0 0.7071

    Alors, la pseudo-inverse de Moore-Penrose est :

    J+ = V+Ut =

    i=1,r

    1

    iviu

    ti

    avec :

    + = diag(1

    1, . . . ,

    1

    r, 0, . . . 0)

    ou 1, . . . r sont les valeurs singulieres de J.Si rg(J) = r = m < n (rang maximal) alors J+ = Jt(JJt)1

    Si rg(J) = r = m = n alors J+ = J1

    Indifferement des conditions sur le rang de J, cette pseudo-inverse satisfait les proprietessuivantes :

    JJ+J = J

    J+JJ+ = J+

    (JJ+)t = (J+J)

    (J+J)t = (JJ+)

    et(J+)

    += J

    (J+

    )

    t

    = (Jt

    )

    +

    (J+) = (JtJ)+

    Jt

    (J+)t

    = Jt(JJt)+

    Par ailleurs :- si rg(J) = m = n, alors : A+ = A1

    - si rg(J) = m < n, alors : AA+ = Id (A+A = Id)

    - si rg(J) = n < m, alors : A+A = Id (AA+ = Id)

    Remarque : La quantite qui est optimisee dans une solution purement cinematiqueest :

    C = q

    t

    qCette quantite na pas forcement de sens physique. Aussi, la pseudo-inverse peut etreponderee pour optimiser par exemple lenergie cinetique developpee dans le mouvement.Cette derniere secrit :

    T =1

    2qtM(q)q

    13

  • 8/7/2019 Cours Robotique 834(1)

    14/91

    M(q) est symetrique et inversible.Le probleme de la minimisation de T dans le mouvement X = Jq peut etre pose commeun probleme doptimisation sous contraintes.

    min T =1

    2qtM(q)q

    tel que : X = Jq

    Une solution classique a ce type de probleme peut etre determinee a laide des multipli-cateurs de Lagrange , la contrainte etant alors integree a la fonction a minimiser sousla forme :

    T =1

    2qtM(q)q + t(X Jq)

    Les multiplicateurs peuvent ici etre interpretes physiquement comme les quantites demouvement a appliquer pour satisfaire X Jq = 0.Les parametres de Lagrange peuvent etre determines en cherchant les solutions a :

    T

    q= 0

    Ceci conduit au systeme de n equations suivant:

    qtM tJ = 0 ()

    En post-multipliant par M1Jt, ce systeme se transforme en :

    qtJt = t(JM1Jt)

    Les multiplicateurs sont donc tels que :

    t = Xt(JM1Jt)1

    En reportant dans (), on trouve :

    q = M1Jt(JM1Jt)1X

    q = J+MX

    J+M est la pseudo-inverse de J ponderee par la matrice denergie cinetique du systeme.

    2.5 Homogenesation de J pour le calcul de la pseudo-inverse

    Les termes de JJt peuvent ne pas etre homogenes en dimension. Considerons par exemplele robot plan PPR dont la Jacobienne serait :

    J =

    0 0 11 0 dS30 1 dC3

    14

  • 8/7/2019 Cours Robotique 834(1)

    15/91

    Les composantes de JJt sont :

    JJt =

    1 dS3 dC3dS3 (1 + d2S23) d2S3C3dC3 d

    2S3C3 (1 + dS3dC3)

    Ces composantes sont inhomogenes en dimension.Dune maniere generale, si un systeme comporte de liaisons de rotation et de translation,

    q2 = qtq conduira a une somme de termes inhomogenes. De meme le calcul deX2 =

    XtX est le resultat du produit orthogonal entre torseurs et dependra du point ou lavitesse est exprimee et des unites des longueurs.A titre dexemple, en considerant le robot de la figure 6, Pour palier ce probleme, une

    Figure 6: Manipulateur PRR pour illustration des problemes dinhomogonete

    solution consiste a normer les vecteurs X et q en utilisant par exemple une longueurcaracteristique.

    XNorm = diag[1, 1, 1, 1/L1, 1/L1, 1/L1]X = NvX

    qNorm = diag[a11, . . . , ann]q = Nq q

    avec aii = 1 pour les liaisons rotodes et aii = 1/L2. La pseudo inverse ponderee de Jest alors egale a :

    J+Norm = [NvJN1q ]

    +

    2.6 Methodes de determination des mouvements internes

    2.6.1 Vecteurs du noyau de J

    On peut determiner un ensemble de vecteurs orthogonaux qui forment une base du noyaude J(q). Cette base est de dimension n r. Elle peut etre constituee des vecteurs vii = r, n issus dune decomposition en valeurs singulieres de J(q) et tel que :

    J(q)vi = 0 i = r, n

    15

  • 8/7/2019 Cours Robotique 834(1)

    16/91

    On verifie bien pour lexemple du manipulateur 3P que :

    1 0 10 1 0

    101

    = 00

    Ainsi, la solution homogene qh peut sexprimer :

    qh = N(J)xN =

    i=1,nr

    xNivi

    - N(J) R(nnr) est la matrice de regroupant les vecteurs du noyau,- xN R

    nr est le vecteur des amplitudes des vitesses compatibles avec le mouvementinterne (pseudo-vitesses). On peut exprimer le mouvement interne xN comme :

    xN = V+q = JNq

    Pour lexemple du systeme 3P on a :

    JN = ( 1/2 0 1/2 )

    2.6.2 Tache secondaire dans lespace articulaire

    Une methode consiste a projeter une tache secondaire sur le noyau de la Jacobienne enutilisant le projecteur orthogonal (Id J+J)

    qh = (Id J+J)

    PN(J)

    qop

    De maniere plus generale, en algebre lineaire, une projection orthogonale est un pro-jecteur tel que les deux sous-espaces sont orthogonaux. Le projecteur a pour effet desupprimer la composante qui influence X. On a donc :

    Jqh = 0

    Le vecteur qop Rn, qui est a priori quelconque, peut servir a optimiser une performancelocale. Il peut etre alors determiner comme :

    qop = =

    q1.

    .qn

    - > 0 conduit a une croissance de - < 0 conduit a une decroissance de Un exemple de fonction pour leloignement aux butees est :

    (q) =

    i=1,n

    (qi qimoy

    qi)2

    16

  • 8/7/2019 Cours Robotique 834(1)

    17/91

    avec qi = (qmaxi q

    mini )

    Un autre exemple de fonction est celui qui reflete le conditionnement de la matriceJacobienne (voir chapitre quantification des performances).

    (q) =

    det(JJt)

    On peut aussi construire une fonction pour generer un champ de forces (attractives etrepulsives) sur le systeme.

    (q) = att(q) +

    i=1,n

    irep(q)

    ici en considerant un seul potentiel attractif pontuel et un ensemble de n potentielsrepulsifs. Le potentiel attractif peut etre :

    att(q) =1

    2kd2 =

    1

    2k(q(t) qd)

    2

    La force qui serait ainsi creee pour attirer les systeme vers qd est :

    Fatt = k(q) = k(q(t) qd)

    Un exemple de champ attractif pour un systeme 2R est donne sur la figure 7 Un potentiel

    Figure 7: Illustration dun champ attractif

    replusif borne a la distance d0 est le suivant :

    irep(q) =1

    2kirep(

    1

    di(q)

    1

    d0)2 si di(q) d0;

    irep(q) = 0 si d

    i(q) > d0

    Un exemple est donne sur la figure 8

    On illustre leffet du projecteur orthogonal a partir de lexemple represente sur lafigure 9 qui considere le probleme suivant :

    ( x ) = ( l1S1 l2S12; l2S12 )

    q1q2

    Le systeme est une fois redondant vis-a-vis de la tache. Il est clair que la tache secondairenest realisee que partiellement. Par ailleurs, on montre que ce mouvement internesans action dissipative peut conduire a un mouvement oscillatoire. Aussi, un termedamortissement peut etre introduit pour stabiliser le mouvement.

    17

  • 8/7/2019 Cours Robotique 834(1)

    18/91

    Figure 8: Illustration dun champ attractif

    Figure 9: Illustration de la partition de lespace des solutions

    18

  • 8/7/2019 Cours Robotique 834(1)

    19/91

    2.6.3 Tache secondaire dans lespace cartesien

    Si on introduit une tache primaire :

    X1 = J1q (1)

    et une tache secondaire :X2 = J2q (2)

    comme pour un evitement dobstacle (voir illustration 10)De (1) on tire :

    Figure 10: Illustration de levitement dun obstacle

    q = J+1 X1 + (Id J+1 J1)Z1

    ou Z1 est un vecteur quelconque de Rn.en substituant dans (2) :

    X2 = J2J+1 X1 + J2(Id J

    +1 J1) J2

    Z1

    On determine alors Z1 comme :

    Z1 = J+2 (X2 J2J+1 X1) (Id J+2 J2)Z2dou :

    q = J+1 X1 + (Id J+1 J1) J+2 (X2 J2J+1 X1) (Id J+2 J2)Z2Si on ne cherche pas a utiliser les mouvements internes (Z2 = 0):

    q = J+1 X1 + (Id J+1 J1)

    J+2 (X2 J2J+1 X1)Compte-tenu des proprietes de la pseudo-inverse, le terme :

    (Id J+1 J1)

    J+2 = (Id J+1 J1)(J2(Id J+1 J1))+19

  • 8/7/2019 Cours Robotique 834(1)

    20/91

    se reduit a :(J2(Id J

    +1 J1))

    + = J+2dou la solution pour q :

    q = J+1 X1 + J+2 (X2 J2J

    +1 X1)

    La formulation generale de la solution est :

    q = J+1 X1 +J+2 (X2 J2J+1 X1) + (Id J+2 J2)Z2

    Le mouvement defini par Z2 peut alors etre realise sans interference avec les 2 premierestaches. Linterpretation de cette solution est donnee sur la figure 11.

    Figure 11: Illustration de la formulation dans lespace cartesien

    Cette methode permet de realiser les differentes taches lorsque celles-ci sont compat-ibles. Elle conduit a une singulatite algorithmique lorsque les noyaux sont voisins. Lepoint dintersection est alors tel quil induit de tres grandes vitesses articulaires (voirfigure 12)

    2.6.4 Autre formulation de la tache secondaire

    Pour eviter les singularites algorithmiques une formulation alternative conduit a determinerla solution pour la tache secondaire puis a la projeter sur le noyau de J1. La solution estalors determinee par :

    q = J+1 X1 + PN(J1)(J+2 X2)

    Pour des systemes hautement redondant, on peut imaginer que les taches soient encascade et la soultion determinee par :

    q = J+1 X1 + PN(J1)(J+2 X2 + P(N(J1)N(J2))Z2)

    20

  • 8/7/2019 Cours Robotique 834(1)

    21/91

    Figure 12: Illustration dune singularite algorithmique

    Le vecteur Z2 est ici pro jete sur lintersection des noyaux de J1 et de J2 pour ne perturberaucune des deux taches. Lillsutration de la methode est donnee sur la figure 13

    Figure 13: Illustration de lutilisation dune tache secondaire cartesienne

    2.7 Augmentation de lespace operationnel

    Une autre solution consiste a etendre lespace operationnel en ajoutant un objectifcomplementaire a celui de la tache principal X qui introduirait rg(J) = n m con-traites sur le mouvement. Ces contraintes supplementaires peuvent etre choisies pour

    21

  • 8/7/2019 Cours Robotique 834(1)

    22/91

    former un systeme A(q)q = 0. Sur lexemple de la figure 14 on peut choisir de faire quele centre de masse generalisee reste sur laxe de y.

    Le vecteur operationnel se trouve ainsi augmente dun certain nombre de contraintes.

    Figure 14: Augmentation de la Jacobienne pour la coordination posture/tache

    Xe =

    XXc

    la matrice Jacobienne correspondante devient elle aussi etendue :

    Je(q) =

    J(q)A(q)

    Si le rang de Je(q) est r = m = n, alors on resoud le probleme cinematique inversecomme :

    q = J1e (q)Xe

    Une matrice Jacobienne pour le nombre de contraintes ninimum est donne par :

    Je(q) =

    J(q)JN(q)

    Pour eviter davoir a fixer le nombre de contraintes requis pour former un systeme carre(on peut aussi envisager de former un systeme sur-determine), une alternative qui peutetre preferee consiste a exprimer un objectif secondaire qui serait dannuler le gradient

    dune fonction scalaire g(q) et a le projeter sur le N(J). Le vecteur operationnel est ainsi:

    Xe =

    X

    gN = N(J)tgq

    = N(J)tg

    La matrice N(J) constituant les vecteurs du noyau de J se determine notamment a laidedun SVD :

    J = UVt = U[R , 0]

    VtRVtN

    22

  • 8/7/2019 Cours Robotique 834(1)

    23/91

    N(J)t = VtN = (n1, n2, . . . , nnm)t

    En notant gNi = ntig les composantes augmentees de Xe, on a :

    Xe = Jeq

    XgN1..

    gNnm

    =

    Jq

    gN1..

    gq

    gNnm

    q

    La partie augmentee des colonnes de Je pour obtenir une matrice carree est formee pardeux termes :

    qjgNi =

    qj(ntig) =

    niqj

    t

    g + nti

    qjg

    Si lobjectif est dobtenir un gradient de g nul, on aura donc comme precedemment :

    q = J1e (q) X

    0

    On peut aussi imposer seulement une descente du gradient et on aura alors :

    q = J1e (q)

    XgN

    On pourra alors omettre le terme qj g dans Je.

    2.8 Utilisation de methodes doptimisation

    La resolution du probleme cinematique inverse peut etre realisee a laide de methodedoptimisation.

    2.8.1 Multiplicateurs de Lagrange

    Le methode des multiplicateurs de Lagrange peut etre egalement exploitee. Le problemesera alors pose sous la forme :

    W(q) JJt 0

    q

    =

    0X

    La resolution de ce systeme dequation lineaire se fait en particulier a laide dunedecomposition LU.

    23

  • 8/7/2019 Cours Robotique 834(1)

    24/91

    2.8.2 Programmation lineaire

    Des lors ou lon veut prendre en compte dans la resolution des contraintes dinegalite(comme les bornes sur les vitesses articulaires). On peut, lors de la programmationlineaire, chercher a minimiser la fonction objectif :

    L() = Kt

    sous les contraintes lineaires :

    X = Jq < q < > 0 (6)

    Le vecteur K peut etre vu comme le vecteur des raideurs articulaires.

    lalgorithme du simplexe (Fonction matlab simplex2p ) est pratiquement toujours

    plus performant pour resoudre un LP. Les methodes de point interieur sont qui perme-ttent devoluer a linterieur du polytope des contraintes sont egalement des methodesperformantes.

    2.9 Determination des configurations singulieres dans les ma-nipulateurs redondants

    Un manipulateur serie non-redondant se trouve dans une configuration singuliere lorsquerg(J) < d (dimension de lespace de tache). On determine les configurations singulieresalgebriquement en considerant les conditions sur q conduisant a :

    det(J) = 0

    Pour un manipulateur redondant, le systeme se trouvera dans une configuration singulierelorsque le rang de JJt est modifie. Cependant, une approche algebrique peut etre renduedelicate (voire impossible) du fait de la complexite des termes de JJt. On peut utiliserla methode geometrique suivante.On cherche a determiner le torseur reciproque $R tel que :

    $R.$i = 0 i = 1, n

    Pour cela, on commence par rechercher les conditions sur $R pour quil soit reciproque

    a un sous-systeme :

    subc =

    $i c, i {1, . . . , n} ,

    i = d

    Apres avoir place le systeme dans cette configuration singuliere, on cherche ensuite aidentifier les conditions supplementaires pour que le $R soit egalement reciproque auxtorseurs cinematiques redondants a partir des equations :

    $R.$j = 0 j = 1, n et j = i

    24

  • 8/7/2019 Cours Robotique 834(1)

    25/91

    On montre dans ce qui suit comment cette technique sapplique a un systeme PRRRplan (voir figure 2.9)

    La jacobienne ecrite en O4 de ce systeme est :

    J = [$1, $2, $3, $4] =

    0 z2 z3 z4z1 0402 z2 0403 z3 0

    det(JSub) = det($2, $3, $4) = 0 si 3 = 0

    En reportant dans JSub

    on a :

    JSub =

    1 1 1l12S2 l2S2 0l12C2 l2C2 0

    $R

    Sub= (C2, S2, 0)

    $RSub

    est aussi reciproque a $1 si :

    $RSub

    .$1 = 0

    La condition supplementaire est 2 = /2 + k

    2.10 Passage des singularites

    Dans une configuration singuliere J(q) nest plus de rang plein. Sa pseudo-inverse J+

    nst pas definie dans une telle configuration. Aussi, on utilise la pseudo-inverse pondereequi est definie de la maniere suivante.Plutot que de chercher la solution a X = Jq telle que min q, on determine q quiminimise :

    Jq X

    2

    + 2 q2

    ou est une constante non-nulle.Cette quantite est equivalent a : JId

    q

    X0

    2La solution aux moindres carres est donnee par :

    JId

    t JId

    qa =

    J

    Id

    t X0

    25

  • 8/7/2019 Cours Robotique 834(1)

    26/91

    que nous pouvons re-ecrire comme :

    (JtJ + 2Id)qa = JtX

    On montre que (JtJ + 2Id) est non-singuliere. En effet, J Rmn et 2Id Rnn et

    son rang est n. Aussi, le rang de JId = n. La solution aux moindres carres amortie(Damped Least Square - DLS dans laquelle est le facteur damortissement) est :

    qa = (JtJ + 2Id)

    1JtX

    (JtJ + 2Id)1Jt = Jt(JJt + 2Id)

    La solution se re-ecrit :qa = J

    t(JJt + 2Id)X

    Cette solution est celle donnee par la methode de Levenberg-Marquardt qui peut etrevue comme une interpolation entre une methode de Gauss et de descente de gradient.

    La valeur du facteur peut varier en fonction du residus.Une decompostion en valeurs singulieres permet de comprendre comment agit la DLSpar rapport a la SVD.

    (JJt + 2Id) = (UVt)(VUt) + 2Id = U

    2Ut + 2Id = U(2 + 2Id)U

    t

    Aussi:Jt(JJt + 2Id) = V (

    2 + 2Id)1

    E

    Ut = V EUt

    E Rmn est une matrice diagonale :

    E = diag(eii) avec eii = i

    2i + 2

    La pseudo-inverse ponderee se calcule de la maniere suivante :

    J+ =

    i=1,k

    i2i +

    2viu

    ti

    Determination de : i2i+2

    0 quand i 0 doit donc etre pris tres grand pour

    maintenir les vitesses angulaires pres de la singularite.Inversement, loin des singularites doit rester tel que i >> alors les composantes

    i2i+2

    1i

    26

  • 8/7/2019 Cours Robotique 834(1)

    27/91

    3 Dynamique des systemes redondants et contraints

    Ce qui est designe par modele dynamique dun systeme mecanique comme les systemesrobotiques est a proprement parler lensemble des equations du mouvement qui definissentla valeur des parametres de configuration en fonction du temps. Le modele dynamique

    des systemes constitue un element essentiel pour lanalyse du comportement, la com-mande mais aussi la conception des systemes.

    3.1 Principe de dAlembert et travaux virtuels

    Le modele dynamique dun systeme robotique, comme pour tous les systemes de corpsrigides, peut etre etabli par application des theoremes generaux sur lensemble du systemeou par utilisation du theoreme de dAlembert conduisant aux equations dEuler-Lagrange.Dautres formulations a laide du theoreme dHamilton ou des moindres contraintes deGauss sont aussi utilisees.

    Si on considere le manipulateur forme de corps rigides articules par des liaisons par-

    faites (comme represente sur la figure 15, ses equations dEuler-Lagrange sont obtenuestres simplement a partir de lapplication du theoreme des travaux virtuels (dans desdeplacements virtuels licites du systeme). Un mouvement virtuel est dit licite pourles liaisons sil respecte les contraintes induites par les liaisons telles quelles existent alinstant t0. Dans un systeme parametre par un ensemble de n parametres qi regroupesdans le vecteur q, les trajectoires virtuelles du systeme a linstant t est une courbe delespace des configurations passant par la position reelle q(t) definie en associant a unparametre reel u une position q(u) du systeme telle que :

    q(u)u=0 = q(t0)

    Lespace tangent a lespace des parametres definit les deplacements virtuels du systeme.En un point P repere par rapport au point O le deplacement virtuel est defini par :

    OP(q(u), t = t0) == limu01

    u[OP(q(u), t0) OP(0)] =

    i=1,n

    OP

    qi

    d qidt

    =

    i=1,n

    OP

    qiqi

    un vecteur du champ de deplacement virtuel. Lhypothese de rigidite entraine que lesvecteurs du champ de deplacement verifie la relation :

    OP = OQ + P Q

    si P et Q sont deux points dun meme solide et le vecteur taux de rotation virtuelle.A proprement parler, OP est le taux de deplacement. En pratique on utlise lexpressionde deplacement virtuel. On utilise egalement la notion (tout aussi inexacte) de vitessevirtuelle.

    Le travail virtuel a linstant t dun champ dactions (P) sexercant sur A dans lechamp de deplacement OP est :

    W =

    PA(P). OPdP

    27

  • 8/7/2019 Cours Robotique 834(1)

    28/91

    En remplacant dans W le champ OP par son expression particuliere dans le cas dunsysteme de solides indeformables parametre par q, il vient :

    W =

    PA(P).

    i=1,n

    OP

    qiqi

    dP

    ou encore en posant :

    i =

    PA(P).

    OP

    qiqi

    dP

    W =

    i=1,n

    iqi

    i est laction generalisee relative a la variable qi. Il sagit dune force lorque le parametreest associee a une translation et un couple lorsque ce dernier est une rotation.

    Le principe des travaux virtuels senonce de la maniere suivante : Il existe un reperede lespace dans lequel a tout instant pour tout deplacement virtuel dun systeme, la

    somme des travaux virtuels de toutes les actions sexercant sur le systeme est nulle.Les equations du mouvement dun systeme soumis a des actions exterieures (de

    gravite notamment) sobtiennent tres directement par application du principe des travauxvirtuels qui secrit alors :

    Wj = Wd + Wl = 0 q

    ou Wj, Wd et Wl designent respectivement le travail virtuel des efforts dinertie, desefforts donnes et des interefforts de liaison. On peut ecrire la meme chose en termes depuissances virtuelles, ce qui donne :

    Pj = Pd + P

    l = 0 q

    Ces travaux virtuels peuvent etre definis en fonction des actions generalisees associees :

    1. les actions donnees sont definies par leurs n actions generalisees Qi telles que :

    Wd =

    i=1,n

    Qiqi

    Pour les actions qui derivent dun potentiel U() (comme les actions de gravite),elles secrivent alors :

    Qi = U()

    qi

    2. les liaisons peuvent introduire si elles ne sont pas parfaites des efforts generalisesde liaison dans un mouvement licite avec les liaisons tel que :

    Wl =

    i=1,n

    Liqi

    28

  • 8/7/2019 Cours Robotique 834(1)

    29/91

    3. les actions dinertie Ji telles que :

    Wd =

    i=1,n

    Jiqi

    peuvent etre obtenues a partir de lenergie cinetique totale du systeme T() ex-

    primee en fonction des parametres qi :

    Ji =

    aP.OP

    qidm

    et se calculent a laide des formules de Lagrange :

    Ji =d

    dt

    T()

    qi

    T()

    qi

    Les equations du mouvement secrivent alors tout simplement en considerant en fonction

    de chaque parametre generalise et considerant deplacement virtuel licite qi :

    Ji + Qi + Li = 0

    Dans un systeme holonome ou les liaisons sont supposees parfaites on a :

    Ji Qi = 0

    Si ce systeme est conservatif; les equations du mouvement sont alors donnees par lesequations de Lagrange :

    d

    dt

    T()

    qi

    T()

    qi +

    U()

    qi = 0

    On peut montrer que ces equations decoulent du principe dHamilton (ou principe demoindre action). Ce principe suggere quun systeme holonome muni dun parametragestrict et tel que les actions exterieures (et interieures) derivent dun potentiel, la tra-jectoire dun tel systeme rend stationnaire lintegrale a limites fixes du LagrangienL(q, q, t) = E(q, q) U(q).

    L(q, q, t) =t2

    t1L(q, q, t)dt

    Si on ajoute une force generalisee issue dun actionneur i agissant directement sur lavariable qi, alors lequation du mouvement dun tel systeme est :

    i =d

    dt

    T()

    qi

    T()

    qi+

    U()

    qi

    29

  • 8/7/2019 Cours Robotique 834(1)

    30/91

    Figure 15: Systeme de manipulation en mouvement libre

    3.2 Modele dynamique inverse des systemes series

    Si on considere un manipulateur en mouvement libre dont la configuration est definie

    par un ensemble q de parametres independants (comme represente sur la figure 15, on a:

    1. lenergie potentielle du systeme qui est :

    U =

    i=1,n

    Ui =

    i=1,n

    migtGOi

    -

    G0i1

    = T0i

    Gii1

    : vecteur position de Gi dans R0,

    - g: acceleration de la pesanteur.

    2. lenergie cinetique:

    T =

    i=1,n

    Ti =1

    2

    i=1,n

    Xti MiXi =1

    2

    i=1,n

    j=1,n

    Mij (q1,...,qn)qiqj

    On obtient les equations dEuler-Lagrange dun tel systeme en calculant :

    d

    dt(

    T

    qi) =

    d

    dt(

    j=1,n

    Mij (q1,...,qn)qj)

    d

    dt(

    T

    qi ) = j=1,n Mij qj + j=1,n Mij qjT

    qi=

    qi(

    1

    2

    j=1,n

    k=1,n

    Mjk qj qk) =1

    2

    j=1,n

    k=1,n

    Mjkqi

    qj qk

    On a alors :

    i =

    j=1,n

    Mij qj +

    j=1,n

    k=1,n

    (Mijqk

    qj qk 1

    2

    Mjkqi

    qj qk) +U

    qi

    30

  • 8/7/2019 Cours Robotique 834(1)

    31/91

    i =

    j=1,n

    Mij qj +

    j=1,n

    k=1,n

    Hijk qj qk +U

    qi

    ou : Hijk =12

    ( Mijqk

    + Mikqj

    Mjkqi

    )

    Il sagit dun systeme dequations differentielles du second ordre compose des forcesdinertie, des forces de Coriolis et centrifuge et les forces derivant dun potentiel U(q)qui sous une forme matricielle secrit:

    = M(q)q + C(q, q) + N(q)

    - M(q) est la matrice des masses generalisees,- C(q, q) : vecteur des effets de Coriolis et effets centrifuges,- N(q): vecteur des efforts generalises de pesanteur (auxquels on peut ajouter les frotte-ments visqueux par exemple).Des lors ou il existe une interaction physique (donnee) entre le systeme et son envi-ronnement, on peut ajouter dans les equations du mouvement les forces generaliees

    exterieures resultant dune action exterieure F qui sera exprimee en action generalisee atravers la Jabobienne du contact transposee:

    Q = JtF

    On ajoute ici le . pour signifier que les composantes de F sont permutees par rappporta la definition usuelle des composantes dun torseur.En statique, les efforts actionneurs de commande pour produire les forces dinteractionde leffecteur avec lenvironnement definies par F sont donnes par :

    d = JtF + N(q)

    3.3 Modele dynamique cartesien des manipulateurs non-redondants

    Un manipulateur sera mis en mouvement defini par q, q, q en produisant des effortsactionneurs tels que :

    d = M(q)q + C(q, q) + N(q)

    En procedant dans lequation pecedente au changement de variable :

    X = Jq

    X = Jq + Jq

    Lenergie cinetique dans X secrivant :

    T =1

    2Xt(J1)

    tM(J1)X = XtMxX

    on a :d = M(q)J

    1(X Jq) + C(q, q) + N(q)

    31

  • 8/7/2019 Cours Robotique 834(1)

    32/91

    Ce mouvement peut etre vu comme produit egalement par une action cartesienne Fdtelle que :

    Fd = (Jt)1d = (J

    t)1M(q)J1(X Jq) + C(q, q) + N(q))

    Fd = Mx

    X+ Cx + Nxavec :- Mx = (J

    1)tM(q)(J1),

    - Cx = (J1)

    tC(q, q) MxJ(q)q,

    - Nx = (J1)

    tN(q).

    Dans le cas dun manipulateur au contact avec lenvironnement, les forces generaliseespour commander la force exterieure (voir illustration 16) et compenser les actions dinertiesont :

    c = JtFd + J

    tFe

    Fe represente ici la force exercee par le systeme sur lenvironnement.

    Figure 16: Illustration dun manipulateur au contact

    3.4 Modele dynamique articulaire des manipulateurs redon-dants

    Si le manipulateur est redondant, a la force generalisee de commande des mouvementsde leffecteur (et eventuellement de linteraction avec lenvironnement) peut etre ajouteeune composante qui permet dexecuter un mouvement interne.

    = p + 0

    Cependant, ce mouvement ne doit produire aucun effet dynamique sur leffecteur (aucuneacceleration).

    = JtFd + JtFe + (1 J

    tJt+

    ) PN(Jt+)

    0

    h est la force generalisee de commande du mouvement interne.

    32

  • 8/7/2019 Cours Robotique 834(1)

    33/91

    Pour que cela soit verifie, la pseudo-inverse de Jt doit etre dynamiquement compatibleet telle que :

    Jt+

    = J+t

    = Jt = (q)JM1(q)

    ou = Mx(q) = (J(q)M1(q)Jt(q))1

    Les matrices denergie cinetique sont symetriques donc :

    J = M1(q)Jt(q)

    Pour mettre en evidence les conditions qui conduisent a un effet dynamique nul desmouvements internes, on peut considerer les relations (laction exterieure sur le terminaletant prise nulle) :

    = JtFd + (1 JtJt

    +)0

    = M(q)q + C(q, q) + N(q)

    En egalant ces 2 equations et en multipliant par JM1(q), on trouve :

    Jq + JM1C(q, q) + JM1N(q) = JM1(q)JtFd + JM1(q)(1 JtJt+)0

    Sachant que :

    Jq + Jq = X

    en substitutant on a :

    X Jq + JM1C(q, q) + JM1N(q) = JM1(q)JtFd + JM1(q)(1 JtJt

    +)0

    soit :

    X = JM1C(q, q) Jq + JM1N(q)] + JM1(q)Jt 1(q)

    Fd + JM1(q)(1 JtJt+)0

    Pour que le terme multipliant 0 soit nul, il faut verifier :

    JM1(q) JM1(q)Jt 1

    Jt+

    = 0

    La pseudo-inverse de Jt qui satisfait cette condition est bien :

    Jt+

    = JM1(q)

    3.5 Modele dynamique operationel des manipulateurs redon-dants

    En reprenant lequation :

    X =

    JM1C(q, q) Jq

    + JM1N(q)

    + 1(q)Fd + JM1(q)(1 JtJt

    +)0

    33

  • 8/7/2019 Cours Robotique 834(1)

    34/91

    et en multipliant chacun des membres par , on trouve :

    Fd = X Jq + JM1C(q, q) + JM1N(q)

    Fd = X Jq + JtC(q, q) + JtN(q) + (1 JtJt)0

    Fd = X+ + p + (1 JtJt)0

    qui peut etre vue comme la pro jection du modele dynamique articulaire sur X par J. Jassure le decouplage entre la tache et les mouvements internes dajustement.

    3.6 Modele dynamique des systemes contraints

    3.6.1 Multiplicateurs de Lagrange

    Si le systeme est contraint dans son mouvement par des interactions avec lenvironnementnotamment (voir illustration 3.6.1), les n parametres du mouvement du systeme ne sontplus independants. Les interactions imposent n m relations du type :

    f(q, t) = 0 ; q

    f(q, t) = 0 p equations pour les contraintes holonomes

    h(q ,q , t) = 0 l equations pour les contraintes holonomes

    Si les contraintes cinematiques ne sont pas integrables ou encore si on ne disposepas des expressions des energies dans un parametrage strict, on est conduit a etablir les

    equations du mouvement dans un parametrage surabondant. Pour ce faire on exploite letheoreme des multiplicateurs de Lagrange. On cherche alors un minimum a la fonctionL(q, q, t) sous les contraintes des liaisons supposees lineairement independantes. Si seulesles p contraintes holonomes existent, ces dernieres etant representees par p fonctionsfj(q) j = 1, p continument differentiables, le minimum local de la fonction L(q, q, t) sousles contraintes satisfait les n equations :

    d

    dt

    L

    qi

    L

    qi

    j=1,p

    j

    qifj(q, t) = 0

    34

  • 8/7/2019 Cours Robotique 834(1)

    35/91

    Dune maniere generale, il decoule du theoreme des multiplicateurs de Lagrange (p+l) =(m n) = k multiplicateurs scalaires tels que :

    Q J + p

    qf(q, t) + l h(q ,q , t) = 0

    Les contraintes sont introduites avec leurs coefficients associes qui deviennent desinconnues.

    En regroupant lensemble des equations de contraintes dans le systeme dequationshomogenes :

    A(q)q = 0 A Rkn

    ou A(q) represente la Jacobienne des contraintes cinematiques imposees sur les mouve-ments du systeme, les equations du mouvement sont :

    J Q At = 0

    Les composantes en qi secrivent :

    Ji = Qi +

    j=1,k

    jaji

    avec : A = |aij | Si on note le mouvement compatible avec les contraintes q et dont tel

    que A(q)q = 0 pour des liasisons parfaites on a :

    P = (J Q)q = 0 q A(q)q = 0

    Les actions representees par la fonction (q) = (J Q) sont telles quelles ne produisentaucune puissance dans le mouvement compatible avec les contraites du systeme (ellessont au mouvement).Ceci conduit a dire que (q) a un noyau et quil peut etre exprime sous la forme dunecombinaison des vecteurs de base :

    (q) =

    j=1,k=dim(ker())

    j j

    ou en passant aux composantes :

    (Ji Qi) =

    j=1,k=dim(ker())

    jj,i =

    j=1,k

    j aji

    car une base du noyau est donnee par A(q)q = 0

    Pour comprendre le sens de cette expression il convient de regarder A(q) comme unensemble de vecteurs colonnes chacun deux representant le gradient dune fonctionscalaire de contrainte C(q) = 0. Ces gradients representent les normales aux hyper-surfaces de contraintes dans lespace des coordonnees generalisees et definissent les di-rections desquelles les mouvements sont interdits. A titre dexemple, on peut considererle manipulateur plan RP en contact ponctuel avec une surface vertical (voir figure 17.La matrice Jacobienne du systeme est :

    35

  • 8/7/2019 Cours Robotique 834(1)

    36/91

    Figure 17: Exemple du robot RP plan en contact ponctuel avec lenvironnement

    J = 1 0

    r2S1 C1r2C1 S1

    La contrainte sexprime comme :

    f1(1, r2) = r2C1 = cte

    f11

    = r2S1f1r2

    = C1

    La Jacobienne des contraintes A(q) est :

    A(q) = (r2S1, C1)

    Son noyau N(A) represente le mouvement articulaire qui satisfait la contrainte :

    N(A) =

    C1r2S1

    q =

    C1r2S1

    et son complement N(A)) le mouvement orthogonal a la contrainte (illicite avec lacontainte):

    N(A)) = (r2S1, C1)

    Par ailleurs :R(At) = (N(A))

    Au sens de la dualite cinematique et statique R(At) sont des actions transmises quimaintiennent leffecteur sur la surface de contrainte.

    Les equations du mouvement peuvent donc secrire :

    J = Q + At

    36

  • 8/7/2019 Cours Robotique 834(1)

    37/91

    La composante en qi secrit par les expressions de Lagrange :

    d

    dt

    T

    qi

    T

    qi+

    U

    qi= i +

    j=1,k

    jaji

    3.6.2 Reduction du modele dynamique par resolution des multiplicateursde Lagrange

    Le modele dynamique pour un systeme de manipulation contraint par une interactionest forme par le systeme dequations :

    M(q)q + C(q, q) + N(q) = + At ()A(q)q = 0

    ou encore en differentiant A(q) = 0 on a :

    Aq + Aq = 0

    Le modele dynamique peut etre mis sous la forme :M(q) At(q)A(q) 0

    q

    +

    C(q, q) + N(q)Aq

    =

    0

    Si M(q) et A(q) sont de rang plein, il existe une solution a q et .

    Les multiplicateurs de Lagrange peuvent etre resolus en considerant quon a :

    q = M1(q) (C(q, q) + N(q) + At

    et en reportant dans lequation precedente

    AM1(q) [ (C(q, q) + N(q)] + AM1(q)At + Aq = 0

    on obtient en supposant AM1(q)At de rang plein :

    =

    AM1(q)At1

    AM1(q) [ + (C(q, q) + N(q)] Aq

    En substituant les dans lequation (), on a :

    M(q)q+C(q, q)+N(q) = +At

    AM1(q)At1

    AM1(q) [ + (C(q, q) + N(q)] Aq

    M(q)q+At

    AM1(q)At1

    Aq+

    1 At

    AM1(q)At1

    AM1(q)

    PC(q, q)+PN(q) = P

    En notant que :

    M(q)q + At

    AM1(q)At1

    Aq = PM(q)q

    les equations du mouvement se reduisent a :

    PM(q)q + PC(q, q) + PN(q) = P

    qui sont les equations du mouvement projetees dans lespace des mouvements transmis-sibles.

    37

  • 8/7/2019 Cours Robotique 834(1)

    38/91

    3.6.3 Resolution des accelerations generalisees par optimisation

    Le modele dynamique du systeme contraint :M(q) At(q)A(q) 0

    q

    =

    C(q, q) N(q) + Aq

    peut etre mis sous la forme :

    W(q)x = u

    Accelerations generalisees et forces de contact peuvent alors etre resolues simultanementpar une pseudo-inverse de W.

    x = W+u + (Id W+W)y

    ou y est un vecteur arbitraire.

    3.6.4 Reduction des equations par le complement orthogonal

    On peut aussi definir un complement orthogonal a A(q) qui est constitue par les vecteursdu noyau N(A) = S(q) et donc tel que :

    A(q)S(q) = 0

    S(q) constitue est la base des mouvements independants compatibles avec les contraintes(pseudo-vitesses) du systeme:

    q = S(q)

    = S(q) Rm

    Le complement orthogonal peut etre utilise pour reduire le modele dynamique dunsysteme contraint. En derivant la relation entre les vitesses generalisees et les pseudo-vitesses on a :

    q = S(q)+ S(q)

    En premultipliant les equations de la dynamique par St et en sustituant, les equationsse reduisent a :

    StM(q)S(q)+ StC(q, q) + StM(q)S(q)+ StN(q) = StB(q)

    soit encore, en posant :- M(q) = StM(q)S(q)- C(q, q) = StC(q, q) + +StM(q)S(q)- N(q) = StN(q)

    M(q)+ C(q, q) + N(q) =

    Lillustration de ce principe peut etre faite a laide du robot plan 2R pour lequel unparametrage surabondant utilisant la position et lorientation de chacun des segments(de longueur li et de demi-longueur l

    i i = 1, 2) et consideres comme libres par rapport a

    38

  • 8/7/2019 Cours Robotique 834(1)

    39/91

    R0 serait introduit. Ainsi, q = [1, xG1, yG1, 2, xG2, yG2]. La matrice M(q) et les vecteursC(q, q), N(q) de ce systeme sont :

    M(q) = diag(I1, m1, m1, I2, m2, m2) C(q, q) = 0 N(q) =

    00

    m1g

    00

    m2g

    Les equations de contrainte pour un tel systeme sont :

    C(q) =

    f1 = xG1 l

    1C1 = 0

    f2 = yG1 l1S1 = 0

    f3 = xG2 l2C12 xG1 l

    1C1 = 0

    f4 = xG2 l2212 yG1 l

    1S1 = 0

    dou la matrice A(q) :

    A(q) =

    l

    1S1 1 0 0 0 0l1C1 0 1 0 0 0l1S1 l

    2S12 1 0 l

    2S12 1 0

    l1C1 l2C12 0 1 l

    2S12 0 1

    Les equations de contrainte cinematique peuvent encore se mettre sous la forme :

    Adqd + Aiqi =

    1 0 0 00 1 0 0

    1 0 1 00 1 0 1

    xG1yG1xG2yG2

    +

    l1S1 0l1C1 0

    l1S1 l2S12 l

    2S12

    l1C1 l2C12 l

    2S12

    12

    = 0

    Sachant que :xG1yG1xG2yG2

    =

    1 0 0 00 1 0 01 0 1 00 1 0 1

    l1S1 0l1C1 0

    l1S1 l2S12 l

    2S12

    l1C1 l2C12 l

    2S12

    12

    le complement orthogonal S(q) tel que :

    1xG1yG12

    xG2yG2

    = S(q)

    12

    est:

    S(q) =

    1 0l1S1 0l1C1 0

    0 1l1S1 l2S12 l

    2S12

    l1C1 + l2C12 l

    2C12

    39

  • 8/7/2019 Cours Robotique 834(1)

    40/91

    S(q) =

    0 01l

    1C1 0

    1l1S1 00 0

    1l1C1 (1 + 2)l2C12) (1 + 2)l2C12

    1l1S1 (

    1 +

    2)l

    2S12 (1 +

    2)l

    2S12

    Ainsi la matrice M(q) et les vecteurs C(q, q), N(q) de ce systeme sont en fonction desparametres independants (1, 2):

    M(q) = StM(q)S(q)

    C(q, q) = StC(q, q) + +StM(q)S(q)

    N(q) = StN(q)

    Un autre exemple que nous considererons est celui dun robot mobile de type charrepresente sur la figure 18.

    Figure 18: Exemple dun robot mobile a roues de type char

    On peut introduire comme parametres de configuration dun tel systeme q = (xc, yc, ,d, g)Les equations de contraintes traduisent ici :- quil ny a pas de glissement lateral :

    v(0)o .j = 0

    - que lentrainement se fait sans glissement :

    v(0)IdRd = v(0)IgRg = 0

    Ces contraintes cinematiques conduisent au systeme dequations scalaires :

    A(q) =

    S C d 0 0C S b r 0C S b 0 r

    S(q) = N(A) =??

    40

  • 8/7/2019 Cours Robotique 834(1)

    41/91

    La matrice denergie cinetique est :

    M(q) =

    m 0 2mdS 0 00 m 2mdC 0 0

    2mdS 2mdC I 0 00 0 0 IR 00 0 0 0 IR

    ou :- I = Ic + 2mR(d

    2 + b2) est le moment dinertie de lensemble,- m = mc + 2mR

    C(q, q) =

    2m2C2m2S

    000

    B(q) =

    0 00 00 01 00 1

    Un autre exemple dutilisation du complement orthogonal pour la reduction du modeledynamique est donne par un systeme en chane fermee. On peut en effet considerer lafermeure de chane apres avoir pratique une coupure virtuelle (voir illustration figure19), on peut proceder a une reduction du parametrage pour tenir compte des contraintescinematiques en utilisant le complement a A(q)q = 0. Pour le systeme represente sur la

    Figure 19: Systeme arborescent obtenu apres une coupure virtuelle

    figure 3.6.4, les equations du mouvement peuvent etre etablies dans un premier temps en

    41

  • 8/7/2019 Cours Robotique 834(1)

    42/91

  • 8/7/2019 Cours Robotique 834(1)

    43/91

    4 Commande des systemes redondants

    La commande des robots manipulateurs redondants peut etre realisee pour un mouve-ment desire de differentes manieres. La technique la plus simple a mettre en oeuvreconduit a exploiter une commande cinematique sur la base dun asservissement en po-

    sition. Les modeles exploites sont alors ceux introduits dans le premier chapitre de cedocument. Une compensation des effets dynamiques peut saverer necessaire. Aussi,nous considererons dans ce qui suit plusieurs possibilites pour decrire une trajectoiredans le cadre dune commande dynamique de maniplateurs redondants.

    Dans ce cas le systeme sera commande directement par lintermediaire des couplesarticulaires qui sont calcules (pour des mouvements libres) a partir dune estimee de lamatrice M(q) et des effets centrifuges/coriolis et de gravite:

    = M(q)y + C(q, q) + N(q)

    La variable y est la variable de commande qui est dans le cas dune estimation parfaite dela dynamique du systeme directement lacceleration. En utilisant une telle commande,

    on montre tres directement que le systeme devient un systeme lineaire et decouple. Il sereduit alors a un double integrateur.

    4.1 Commande en acceleration des manipulateurs redondants

    Pour un manipulateur redondant, ce principe de commande se met en oeuvre a partir delacceleration desiree de leffecteur Xd. Lacceleration de commande Xc peut etre definiecomme :

    Xc = Xd + Kv(Xd X) + Kp(Xd X)

    Les matrices Kp et Kv sont des matrices des gains agissant sur les erreurs en posi-

    tion/orientation de leffecteur et sur lerreur de vitesse lineaire/angulaire de leffecteur.Lerreur en orientation depend naturellement du parametrage choisi pour definir la con-figuration angulaire de leffecteur (angles dEuler, parametres dEuler, Quaternions).Sachant que :

    Xc = Jqc + Jq

    on peut determiner qc pour un systeme redondant comme :

    qc = J+(Xc Jq) + qh

    - J+ est ici une pseudo-inverse ponderee pour etre dynamiquement consistante (voirsection modelisation dynamique)

    - qh est une acceleration interne qui peut etre determinee a laide du projecteur orthogonalsur le noyau de J dun vecteur z2 Rn :

    qh = (Id J+J)z2

    Notons que le choix de z2 est conditionne au choix dun vecteur z1 (qui serait tel quez1 = g qui serait projete sur le noyau de J pour definir les vitesses internes au systeme.

    q = J+Xc + (Id J+J)z1

    43

  • 8/7/2019 Cours Robotique 834(1)

    44/91

    On montre que :z2 = J

    +J(q z1) + z1

    On a alors la commande :

    = M(q)(Xc Jq qh) + C(q, q) + N(q)

    4.2 Commande en vitesse des manipulateurs redondants

    Supposons quune trajectoire cartesienne desiree de leffecteur Xd soit donnee, une vitessede commande peut etre definie comme la somme dune compensation de lerreur etposition et un terme feedforward en vitesse:

    Xc = Xd + Kxp(Xd X)

    ou Kxp est une matrice definie positive de gains agissant sur lerreur en position et enorientation de leffecteur. Les vitesses articulaires de commande qc peuvent etre deduites

    par exemple comme :qc = J

    +Xc + (Id J+J)g

    Une loi de commande dynamique avec correction des vitesses articulaires peut alors etreformulee comme :

    = M(q)qc + C(q, q) + N(q) + Kqp(qc q) + Kqv(qc q)

    Kqp et Kqv etant des matrices de gains.Cette methode presente comme desavantage de necessiter la derivation numerique etlintegration numerique de qc. Par ailleurs, elle ne pas prendre en compte directementlacceleration desiree.On peut eviter les operations de derivation et dintegration numerique en considerantpar exemple la commande :

    = M(q)qc + C(q, q) + N(q) + Kqv(qc q)

    Sachant que par derivation on a la relation :

    Xc = Xd + Kxpe

    avec e = (Xd X).On peut etablir que :

    qc = qd + J+Kxve

    De la meme maniere on peut etablir que :

    qc = qd + J+Kxpe

    Ainsi par substitution on obtient la commande :

    = M(q)(qd + J+Kxpe) + C(q, q) + N(q) + Kqv(qd q) + KqvJ

    +Kxpe

    44

  • 8/7/2019 Cours Robotique 834(1)

    45/91

    4.3 Commande en couple des manipulateurs redondants

    Nous avons etabli le modele dynamique cartesien des manipulateurs sous la forme :

    Fd = X+ + p + (1 JtJt)0

    0 Rn est un vecteur arbitraire qui peut etre pris par exemple comme :

    0 = Kqvq + g

    Sur la base de ce modele, on peut definir une loi de commande telle que :

    Fd = Xr + + p + (1 JtJt)0

    avec :Xr = Xd + Kxv(Xd X) + Kxp(Xd X)

    Ce type de commande peut etre simplifiee si une compensation des termes de gravite et

    de Coriolis/centrifuge est faite dans lespace articulaire.

    45

  • 8/7/2019 Cours Robotique 834(1)

    46/91

    5 Systemes paralleles et systemes de manipulation

    coordonnee

    5.1 Systemes paralleles

    5.1.1 Exemples de systemes parallelesOn designe par systemes paralleles tous les mecanismes dont la topologie est telle que lecorps manipule est relie au corps de reference par des chemins (presentant des bouclescinematiques ou pas) disposes en parallele. Ces systemes sont tres utilises en robotiqueen raison notamment de leurs proprietes dynamiques. La figure 5.1.1 illustre de telssystemes : La cinematique dun systemeparallele peut etre telle que sa mobilite est egale

    Figure 20: Illustrations de systemes paralleles

    a la dimension du groupe des deplacements SE(2) ou SE(3) ou dans un sous-groupede deplacements. Dans ce dernier cas, le systeme sera dit contraint. Si sa mobilite estsuperieure a la dimension de SE(2) ou SE(3), le systeme sera redondant. Ces differentes

    situations sont illustrees sur la figure 21

    Figure 21: (b) Systeme plan contraint - (c) Systeme plan redondant

    46

  • 8/7/2019 Cours Robotique 834(1)

    47/91

    5.1.2 Modele cinematique des systemes paralleles

    La methode de determination du modele cinematique des robots paralleles developpeedans ce qui suit utilise le principe des torseurs reciproques. Nous commencerons partraiter le cas dun systeme dont la mobilite est egale a la dimension de SE(2) ou SE(3).

    Dune maniere generale le modele cinematique direct dun chemin j dun systeme

    parallele peut secrire sous la forme :

    i=1,m

    ji $ji = $

    Si les $ji sont lineairement independants, on determine $Rj

    i , on determine dans SE(2) ouSE(3) le torseur reciproque:

    $

    Rj

    i .$

    j

    k = 0, k = i pour k = 1,...,dim(SE(2))ouSE(3)En mutlipliant ce torseur a droite et a gauche dans lequation de chane ouverte, on a :

    ji ($ji .$

    Rj

    i ) = $.$Rj

    i

    En repetant pour toutes les liaisons actives, on obtient le modele cinematique sous laforme canonique:

    Bq = D X

    X = (vx, vy, vz, x, y, z)t

    - B est une matrice diagonale regroupant les termes $Rji .$

    ji .

    B =

    $R11.$

    11 0 0 0 0 0

    0 $R12.$

    11 0 0 0 0

    . . . . . .0 0 0 0 0 $R

    Ng .$

    Ng

    - D, est de dimension (Ng m), les coefficients sont Ng torseurs reciproques:

    D =

    ($R11)t ($R2

    1)t . . ($Rg

    N)tt

    47

  • 8/7/2019 Cours Robotique 834(1)

    48/91

    Figure 22: Systeme parallele 3RPR

    Exemple : Le systeme 3RPR de la figure 22 presente une mobilite de 3. On utilisera

    comme variables actives les actionneurs lineaires de chaque chemin. Pour chaque cheminj on a lequation de chane ouverte suivante :

    j1$j1 + r

    j2$

    j2 +

    j3$

    j3 = $ j = 1, 2, 3

    En notant les composantes des vecteurs OPBj et BjAj dans RP

    OPBj =

    ajbj0

    et BjAj =UjVj

    0

    Pour eliminer les variables, on utilisera le torseur reciproque $Rj2 tel que :

    $Rj

    2.$jk = 0, pour k = 1, 3

    et qui est :

    $Rj

    2 = ( Cj1, S

    j1, ajC

    j1 )

    t

    Ce torseur peut etre interprete physiquement comme laction transmise par le chemin jsur SP par lactionneur de la liaison active consideree.Le systeme etant symetrique, on obtient donc directement le modele cinematique quiprend la forme suivante :

    1 0 00 1 00 0 1

    B

    r12

    r22r32

    q

    =

    C11 S

    11 a1C

    11

    C21 S21 a2C

    21

    C31 S31 a3C

    31

    D

    zvxvy

    X

    Les lignes de la matrice D sont les actions transmises par les actionneurs sur SP pourcommander son mouvement.

    48

  • 8/7/2019 Cours Robotique 834(1)

    49/91

    Pour le systeme plan pris comme exemple, le mouvement de SP sera completement com-mandable si les 3 actions (les 3 forces) soient lineairement independantes.

    Ce meme modele aurait pu etre etabli par en considerant que la vitesse de chaque pointBj secrit vectoriellement :

    vBj = vOP + Bj OP vBj = vOP +

    BjOP vBj = (Id,

    Bj OP)X = Ej XOn peut eliminer les variables passives dans le cas ou les actionneurs lineaires sont reliesa SP et SO par des liaisons de rotation daxes concourants en Aj et Bj en consederantque la vitesse du points Bj par rapport a RO secrit :

    vBj = rj2z

    j2 + Sj3/S0

    rj2zj2

    On obtient donc legalite :

    rj2zj2 + Sj3/S0

    rj2zj2 = vOP + Bj OP

    En projetant cette equation sur laxe zj2, on a :

    rj2 = (zj2, OPBj z

    j2)

    vOP

    On retrouve le meme resultat que precedemment. Lune et lautre des 2 methodes sontutilisables pour obtenir les modeles cinematiques des plates-formes de Gough-Stewart.

    5.1.3 Modele cinematique des systemes paralleles contraints

    Si le systeme est contraint la methode precedente peut etre tres facilement adaptee.Pour definir et illustrer les principes proposes nous utiliserons lexemple du systeme delocomotion represente sur la figure 23.

    Lequation de chane relative a chaque chemin :

    j $j Rj$j +

    i$j = $

    Si toutes les roues sont commandees ainsi que les directions, on a alors le modelecinematique entree/sortie suivant:

    $R(1) .$

    (1) 0 0 0 0 0

    0 R$R(2) .$

    (2) 0 0 0 0

    0 0 $R(1) .$

    (1) 0 0 0

    0 0 0 R$R(2) .$

    (2) 0 0

    0 0 0 0 $R(1) .$

    (1) 0

    0 0 0 0 0 R$R(2) .$

    (2)

    1

    1

    2

    2

    3

    3

    =

    ($R(1) )t

    ($R(1) )

    t

    ($R(2) )

    t

    ($R(2) )

    t

    ($R(3) )

    t

    ($R(3) )

    t

    49

  • 8/7/2019 Cours Robotique 834(1)

    50/91

    11$)

    )11$O

    O 11$D

    D

    22 $O

    O

    22 $D

    D

    22 $)

    )

    33 $O

    O

    33 $D

    D

    33 $)

    )

    P$:

    platform

    grou

    nd

    i1

    j1

    B1

    b1

    i

    j

    a3

    c3

    1)

    B3G

    B2

    (a)(b)

    Figure 23: (a) Plate-forme mobile avec 3 caster-wheels et (b) son schema cinematiqueequivalent

    Sahant que la matrice Jacobienne pour le chemin j est dans le repere Rj = (Bj , uj , vj, k):

    Ji =

    1 0 10 1 0bi 0 0

    en ne considerant que les seules roues commandees, le modele cinematique secrit :

    R 0 0

    0 R 00 0 R

    1

    2

    3

    =

    C1 S1 a1S1C2 S2 a2S2 c2C2C3 S3 a3S3 c3C3

    uv

    Si on supprime les fourches des roues arrieres et que les roues sont montees sur un memeaxe (comme montre sur la figure 24), le modele cinematique precedent se reduit a :R 0 00 R 0

    0 0 R

    1

    2

    3

    =C1 S1 a1C11 0 c2

    1 0 c3

    uv

    Nota : Plus loin nous avons adopte les notations suivantes : a1C1 = h c2 = d c3 =d 1 = Si = 0, D definit un systeme de forces de rang 3 (det(D) = 0). On pourraiten conclure que le mouvement de SP est completement commandable, ce qui nest pasle cas. Ceci releve du fait que les contraintes naturelles dues au non-glissement lateraldes roues ne sont pas prises en compte explicitement dans le modele cinematique. Cescontraintes limitent la mobilite a systeme a 2. Les composantes de X ne sont donc pasindependantes. Il faut en effet tenir compte (comme on le fait dessous) du fait que :

    TC = T(1)

    C T(2)

    C T(3)

    C

    Pour cela, on peut proceder de la maniere suivante. On ecrit les Jacobiennes relatives auxdifferents chemins par exemple dans des reperes lies a chacune des roues (par exemple

    50

  • 8/7/2019 Cours Robotique 834(1)

    51/91

    i

    j G

    )

    dd

    a1

    1

    2 3

    11$)

    )

    11$O

    O11$D

    D

    22 $O

    O

    22 $D

    D

    33$O

    O

    33$D

    D

    P$:

    platform

    ground

    (a)(b)

    Figure 24: (a) Plate-forme mobile contrainte et (b) son schema cinematique equivalent

    (0i, ui, vi, k)). on a :

    J1 = 0 1 1

    1 0 00 0 b J2,3 =

    0 1

    1 00 0

    Si on note T(i)C le torseur cinematique du mouvement absolu de SP par rapport a S0resultant de la composition des mouvements introduits par les liaisons decrites par lesJacobiennes Ji, le mouvement de SP par rapport a S0 est tel que :

    TC = T(1)

    C T(2)

    C T(3)

    C

    Ici, dim(T(2)

    C ) = dim(T(2)

    C ) < dim(SE(2))Les contraintes imposees par les liaisons equivalentes aux chemins 2 et 3 sur le mou-

    vement de SP sont definies, en terme de mouvement incompatible, par un complementorthogonal aux torseurs de Ji. Ici, ce systeme se reduit au singleton :

    (Ji) =

    001

    i = 2, 3Le complement reciproque a (Ji)

    R = A(Ji), A definissant la matrice de permutation

    represente les actions naturelles passives (actions qui ne font pas travailler les liaisons)transmises par le chemin cinematique.

    (Ji)R = [$Rp ] = 010 i = 2, 3

    Les contraintes passives developpees par le chemin 2 et 3 etant dordre le plus eleve (etidentiques par ailleurs), ce sont elles qui definissent la mobilite relative de SP par rapporta S0 ainsi complementairement les mouvements non-transmissibles. Ici :

    dim(TC) = dim(T(1)

    C T(2)

    C T(3)

    C ) = 2

    51

  • 8/7/2019 Cours Robotique 834(1)

    52/91

    dim(TC) = dim(T(1)

    C T(2)

    C T(3)

    C ) = 1

    Les contraintes passives imposees par les chemins 2 et 3 peuvent etre exprimees dans unmeme repere en utilisant les operateurs adjoints AdTRi,RP

    AdTRi,RP = 1 0 0

    0 1 0(1)(i+1)d 0 1

    Wi = [($

    Rp )i] =

    010

    i = 2, 3Une base pour ces contraintes :

    BW =

    010

    Si dune maniere generale les coordonnees pluckeriennes des torseurs reciproques associes

    aux liaisons actives ont pour composantes dans le plan $R = (u,v,n), les torseurstransmissibles (activement) par les chanes contraintes sont tels que :

    (u, 0, n)t = BW(u,v,n)t

    Notons que si la roue 1 etait sans fourche et de meme direction que les roues arrieres,nous aurions :

    W1 = [($Rp )1] =

    01b

    La base des contraintes naturelles seraient alors (dans le meme repere):

    BW =

    0 01 00 1

    Si nous considerons un systeme avec une fourche avant, les torseurs reciproques cor-

    respondants aux liaisons actives (les deuxiemes liaisons de chaque chane) des chemins1, 2, 3 sont dans RP.

    $R(2)

    a1 =

    cos 0h

    $R(2)

    a )2 =

    10d

    ($R(2)

    a )3 =

    10

    d

    Le modele cinematique mis sous la forme :

    Bqa = DX

    pour un systeme comportant 3 roues motorisee est :R 0 00 R 00 0 R

    12

    3

    = cos h1 d

    1 d

    vxz

    52

  • 8/7/2019 Cours Robotique 834(1)

    53/91

    Le rang de D est egal a 2, les contraintes actives ne sont pas lineairement independantes.La mobilite reelle du systeme est 2. Pour un systeme avec les seules roues arrieresmotorisees, le modele cinematique se reduit a :

    R 0

    0 R23

    =

    1 d1 d

    vxz

    La mobilite reste inchangee.Ici, si d = 0 (ce qui est le cas par construction) le rang de D nest jamais modifie.

    5.1.4 Modele cinematique des systemes paralleles redondants

    Dans le cas ou lun des chemins (ou plusieurs) presente une redondance cinematique, ilconvient de determiner pour pouvoir appliquer la methode des torseurs reciproques unebase de torseurs des liaisons correspondant a un chemin j de dimension egale a celle dugroupe des deplacements dans lequel le systeme evolue. (voir principe de determinationde cette base dans la these de V. Pasqui).

    5.1.5 Modele statique des systemes paralleles

    Le modele statique des robots paralleles setablit tres facilement a partir des equationsdequilibre de SP. En notant T sCjSP les torseurs des actions transmises par les brassur SP (voir figure 25) lequilibre statique de SP se traduit par :

    Figure 25: Statique dune plate-forme de Stewart

    T sSPExt =

    j=1,n

    T sCjSP

    53

  • 8/7/2019 Cours Robotique 834(1)

    54/91

    Lorsque les actions sont decomposees en actions elementaires damplitudes fj selon lestorseurs statiques $j on est conduit a :

    j=1,n

    fj $j = FExtSP = FSPExt

    $1, $2, $3, . . . , $n

    Dt

    f1f2..

    fn

    =

    fxfyfz

    mxmymz

    Pour lexemple du systeme plan considere au-dessus, le modele statique est :

    fxfy

    mz

    =

    C11 C

    21 C

    31

    S11 S21 S

    31

    p1(OB1z12).z0

    p2 p3

    f1f2

    f3

    avec :pj = (OBj z

    j2).z0 = (OBj sinj )z0

    On peut aussi etablir cette relation en utilisant le principe des puissances virtuelles. Danstout deplacement compatible avec les liaisons, on a :

    ftq = FtSPExtX X

    Si le systeme est non-singulier, compte-tenu du modele cinematique on peut etablir larelation de transmission deffort :

    ftB1D X = FtSPExtX X

    soit :FSPExt = B

    1Dtf

    Cette relation se reduit a :FSPExt = D

    tf

    pour des systemes pleinement parallele (fully-parallel) a actionneurs lineaires.A titre dexemple on peut considerer le mecanisme parallele redondant de la figure 5.1.5.

    5.1.6 Modele dynamique des systemes paralleles

    Deux methodes sont proposees dans ce qui suit. La premiere considere une coupurevirtuelle du corps SP de couplage. La seconde une coupure aux liaisons entre les bras etSP. Coupure sur SP.Sur le manipulateur plan de la figure 26, on considere une coupure virtuelle du corps SP

    54

  • 8/7/2019 Cours Robotique 834(1)

    55/91

    Figure 26: Systeme parallele 2*2P

    55

  • 8/7/2019 Cours Robotique 834(1)

    56/91

    qui transforme le systeme parallele en 2 systemes 2P.Les equations de la dynamique pour chacun des chemins sont :

    m1 + m2 00 m2

    rj1rj2

    +

    0m2g

    =

    j1j2

    j = 1, 2

    M(q)j qj + Nj(q) = j

    Les equations de contrainte considerent que :

    OPS12 = OPS22

    Ce qui conduit a 2 relations scalaires de contrainte :

    f1(q) = r11 l + r

    21 = 0

    f2(q) = r12 r

    22 = 0

    Ces dernieres traduisent les contraintes cinematiques de fermeture de chane :

    1 0 1 00 1 0 1

    r11r12r21r22

    =

    00

    Le modele dynamique pour lensemble du systeme est sous la forme de matrices blocks:M1 0

    0 M2

    q1

    q2

    +

    N1

    N2

    + At =

    1

    2

    En partitionnant les variables comme :

    Adqd + Aiqi =

    1 00 1

    r11r21

    +

    1 00 1

    r12r22

    =

    00

    on obtient pour S(q) :

    S(q) =

    1 00 11 00 1

    5.2 Systemes de manipulation coordonneeLa manipulation par plusieurs manipulateurs peut etre rendue necessaire pour des ob jetslourds ou volumineux. Un prehenseur articule peut egalement etre vu comme un systemede manipulation coordonnee comme egalement un systeme de locomotion a pattes.

    56

  • 8/7/2019 Cours Robotique 834(1)

    57/91

    Figure 27: Illustrations de systemes de manipulation coordonnee

    57

  • 8/7/2019 Cours Robotique 834(1)

    58/91

    5.2.1 Statique de la manipulation coordonnee

    5.2.2 Modele des actions de contact

    Une liaison par contact entre un solide S et un solide SP peut etre representee par untorseur dinteraction. Ce torseur reduit en un point peut etre decompose en la somme

    dun glisseur G (force pure) et dun couple C.TS(S/SP) = (f,OP f)

    t G

    + (0, mt)t C

    = (f,OP f + mt)t = (f, mtO)t

    Les 2 composantes vectorielles de ce torseur peuvent etre ecrites dans nimporte quellebase, par exemple B0. Pour operer un changement de base et de point de reduction(definis par une transformation Euclidienne), on peut utiliser la matrice qui serait si la

    transformation est par exemple : TOS =

    ROS dOS0 1

    F

    M

    t

    SBS = RtOS 0

    d0SR

    t

    OS R

    t

    OSF

    M

    t

    O B0ERSRO est la matrice adjointe AdTOS . Le torseur TS(S/SP) (wrench en anglais) peut etreexprime en fonction du torseur geometrique (screw en anglais):

    TS(S/SP) = F (s,s + sP) = f$

    On determine le vecteur directeur de laxe central s du torseur si :

    1. F = 0 FF

    2. F = 0 Mt

    Mt

    Le pas du torseur est :

    =F.Mt

    f2

    les points H de laxe central sont tels que :

    OH =F MtO

    f2+ ks k R

    5.2.3 Modelisation du contact entre 2 solides

    Trajectoires des points de contactSoit deux solides SP et S

    jn (rapportes respectivement aux reperes RP et R ,mo-

    biles dans lespace affine et assujetis a rester en contact a tout instant. Au pointgeometrique I de contact viennent en concidence deux points:- la particule IPt de SP en contact avec S

    jn a linstant t,

    - la particule Int de Sjn en contact avec SP a linstant t.

    Quand t varie, I decrit un arc de courbe Ci a la surface i de Si, qui est la tra-jectoire du point de contact. La position a linstant t du point de contact surchacune des surfaces est la meme, mais leurs trajectoires, vitesses, accelerationssont differentes.

    58

  • 8/7/2019 Cours Robotique 834(1)

    59/91

    Normale au contactSi SP et S sont consideres comme des solides a surface reguliere, ils ont meme plantangent ().Si leur surface est definie par une fonction S(x,y,z), et si S(x,y,z) > 0 est lasurface interieure a SP, la normale ni au point I interieure a SP est donnee par:

    nj =grad(S(Pj )

    grad(S(Pj )

    5.2.4 Transmission de mouvement dans les liaisons par contact

    Soient (VISP , SP/S0) et (VIS , S/S0) les distributeurs des vitesses respectivement de SPet S dans leur mouvement relatif par rapport a R0. Le champ des vitesses de SP dansson mouvement par rapport a S est alors decrit par le torseur:

    (VSISPt

    , SP/S)

    On appelle vitesse de glissement de SP par rapport a S la vitesse VSISPt

    qui est telle que:

    VSISPt

    = VISPt

    VISjn

    t

    Dans les cas reguliers, VISPt

    et VItS sont tangents a la trajectoire de I dans RP et Rjn. La

    vitesse de glissement est donc elle aussi dans (). Le contact etant suppose persistant,la vitesse selon la normale au plan tangent () est donc nulle:

    VSjn

    ISPt

    .nj = 0

    La vitesse angulaire se decompose en une vitesse dite de roulement R et une vitesse depivotement P.

    P = Sjn/SP.nj

    Rtj = Sjn/SP Pnj

    On appelle vitesse de pivotement la composante P et vitesse de roulement la com-posante R. Le pivotement seffectue autour de la normale nj et le roulement autourdun vecteur tj du plan tangent ().

    On dira que le solide SP roule sans glisser sur le solide S

    j

    n lorsque la vitesse de glissementdu premier par rapport au second est nulle:

    VSjn

    ISPt

    = VISPt

    VISjn

    t

    = 0

    Le roulement sans glissement se traduit par deux relations scalaires qui font sannuler la

    vitesse VSjn

    ISPt

    dans le plan ().

    59

  • 8/7/2019 Cours Robotique 834(1)

    60/91

    5.2.5 Champ des actions de contact

    Sil sagit dun contact ponctuel, au point geometrique Pj agit une force pure. Dans cesconditions, le torseur Ts(S/SP) reduit en Pj sexprime:

    Ts(S/SP) = (f(Pj), 0)

    On a, par ailleurs, du theoreme de laction et de la reaction:

    Ts(Sjn/SP) = Ts(SP/Sjn)

    Dans le cas ou le contact nest plus ponctuel, si lon designe par (I) la densite de forcede contact en I agissant sur un element darc de longueur ds ou de surface da, pourobtenir leffort de contact il suffit dintegrer la densite de force sur lelement de surfacepar exemple:

    f(Pj ) =

    (I)da; Mt(Pj) =

    Pj (I)da

    On considere generalement 3 types de contacts elementaires, sachant que par combinaisonde ceux-ci on peut decrire des contacts de complexite superieure. Ces trois contacts sont:

    1. Contact ponctuel sans frottement

    2. Contact ponctuel avec frottement

    3. Contact ponctuel dit deformable

    Ces actions peuvent etre decomposees dans une base de torseurs geometriques propres achaque contact. On peut choisir par exemple la base:

    Bc = [$x, $y, $z, $ox, $oy, $oz]base qui coincide avec les forces et moments purs sexcercant selon et autour des axesdun repere dorigine Pj dont les axes sont ceux definis comme sur la figure 28:

    Dans ces conditions, les differents types dactions sont representables par:

    Figure 28: Repere lie au contact

    60

  • 8/7/2019 Cours Robotique 834(1)

    61/91

    Contact ponctuel sans frottement:

    Ts(Sjn/SP) = (0, 0, f3, 0, 0, 0)

    = f3$z

    (7)

    Contact ponctuel avec frottement

    Ts(Sjn/SP) = (f1, f2, f3, 0, 0, 0)

    = f1$x + f2$y + f3$z

    (8)

    Contact deformable:

    Ts(Sjn

    /SP) = (f1, f2, f3, 0, 0, m3)

    = f1$x + f2$y + f3$z + m3$oz

    (9)

    Ici, les scalaires fi et mi representent respectivement les amplitudes des forces et desmoments elementaires.Dans lhypothese ou le contact est non-dissipatif (on neglige le frottement de roulementet de glissement), le systeme de torseurs reciproques aux systemes definis ci-dessus donneacces aux mouvements relatifs des corps.

    5.2.6 Modele de frottement de Coulomb

    Le travail resistant des actions de liaison resulte en partie du frottement sec. Le travaildes actions induites par le frottement est negatif. Par exemple, pour un glissement deSP dans le plan (), on verifie que:

    VSjn

    P jSPt

    = fti avec > 0

    Ainsi, la force de frottement soppose au mouvement de glissement. Cependant, cetteforce prend une valeur independante de la vitesse de glissement. Elle ne depend pas delaire des contacts mais principalement de la nature des surfaces (materiaux, rugosite).Les forces de frottement peuvent etre approchees par les lois de Coulomb. Celles-ci

    traduisent le fait que les bornes sur les actions induites par frottement ne dependent quede lamplitude de la force normale au contact fn et lui sont proportionnelles. Ces loissennoncent comme suit:

    1. Glissement:VS

    P jSPt

    = 0; f(Pj ).VSP j

    SPt

    < 0 ; f tj = f nj

    VSP j

    SPt

    = 0; f tj < f nj

    61

  • 8/7/2019 Cours Robotique 834(1)

    62/91

    2. Roulement:R(S

    jn/SP) = 0; M

    tR(Pj ).R(S/SP) < 0; M

    tR(Pj ) = f nj

    R(S/SP) = 0; MtR(Pj) = f nj

    3. Pivotement:P(S/SP) = 0; MtP(Pj).P(S/SP) < 0; M

    tP(Pj) = f nj

    P(Sjn/SP) = 0; M

    tP(Pj) = f nj

    , et sont respectivement les coefficients de glissement, roulement et pivotement. Lepremier est sans dimension, les deux autres sont homogenes a une longueur. , pour descorps rigides est du second ordre devant les deux premiers. Dans le cas ou les vitessesde glissement et pivotement sont nulles, il y a adherence du contact. Les forces defrottement dans les conditions dadherence sexpriment par des inegalites strictes. Lesconditions dequilibre peuvent sillustrer geometriquement en posant comme egal a:

    = tg()

    etant le demi-angle au sommet du cone forme par le droites de Coulomb (voir figure29). Ce cone peut etre approxime par un cone polyedrique forme par une combinaisonconvexe de n vecteurs sur la generatrice du cone.

    f

    i=1,n

    ici i 0,

    i=1,n

    i = 1

    Si le point representatif de la resultante fj de leffort de contact se trouve a linterieur

    Figure 29: Representation du cone de Coulomb

    ou au bord du domaine delimite par les droites de Coulomb, il y a equilibre, dans le cascontraire, il y a glissement. Un ensemble de contacts sera represente comme le montrela figure ??.

    62

  • 8/7/2019 Cours Robotique 834(1)

    63/91

    5.2.7 Application a la modelisation dune prise

    Pour representer et analyser differentes prises (comme celles illustrees sur la figure 30),

    le systeme de forces transmis par chaque contact j sur SP est represente par un torseurTs(Sj/SP). Ce torseur peut est decompose sous forme dune combinaison lineaire des

    Figure 30: Differentes configurations de prises

    torseurs de base de leffort transmissible:

    Ts(Sj/SP) =

    i=1,cj

    fi$i avec dim(Ts(Sj/SP)) = cj

    ici, fi est lamplitude du torseur geometrique de base

    fi. Ce contact occupant uneconfiguration m de lespace des configurations M, il peut etre vu comme une applica-tion lineaire bijective j de lespace vectoriel R

    cj sur lespace cotangent a lespace desdeplacements en m Tsm:

    j : Rcj Tsm

    j(fj1 , f

    j2 ,....,f

    jcj

    ) ERPRj Bj(fj1 , f

    j2 ,...,f

    jk )

    t