Commande neuronale adaptative de robots manipulateurs redondants avec évitement d'obstacles fixes

01/10/2017
Publication e-STA e-STA 2003-1
OAI : oai:www.see.asso.fr:545:2003-1:20081
DOI :

Résumé

Commande neuronale adaptative de robots manipulateurs redondants avec évitement d'obstacles fixes

Métriques

20
5
406.99 Ko
 application/pdf
bitcache://808538f462a7bfe05ecc99deb1b75181b73b1aea

Licence

Creative Commons Aucune (Tous droits réservés)
<resource  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="http://datacite.org/schema/kernel-4"
                xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
        <identifier identifierType="DOI">10.23723/545:2003-1/20081</identifier><creators><creator><creatorName>A. Benallegue</creatorName></creator><creator><creatorName>B. Daachi</creatorName></creator><creator><creatorName>A. Ramdane Cherif</creatorName></creator></creators><titles>
            <title>Commande neuronale adaptative de robots manipulateurs redondants avec évitement d'obstacles fixes</title></titles>
        <publisher>SEE</publisher>
        <publicationYear>2017</publicationYear>
        <resourceType resourceTypeGeneral="Text">Text</resourceType><dates>
	    <date dateType="Created">Sun 1 Oct 2017</date>
	    <date dateType="Updated">Sun 1 Oct 2017</date>
            <date dateType="Submitted">Fri 20 Jul 2018</date>
	</dates>
        <alternateIdentifiers>
	    <alternateIdentifier alternateIdentifierType="bitstream">808538f462a7bfe05ecc99deb1b75181b73b1aea</alternateIdentifier>
	</alternateIdentifiers>
        <formats>
	    <format>application/pdf</format>
	</formats>
	<version>34098</version>
        <descriptions>
            <description descriptionType="Abstract"></description>
        </descriptions>
    </resource>
.

Commande neuronale adaptative de robots manipulateurs redondants avec évitement d’obstacles fixes A. Benallegue1 , B. Daachi1 A. Ramdane Cherif2 1Laboratoire de robotique de Versailles 10, avenue de l’Europe, 78140 Vélizy, France. 2Laboratoire de recherche en informatique (PRiSM) 45, avenue des États-Unis 78035 Versailles Cedex benalleg@robot.uvsq.fr Résumé– Dans cet article, on utilise les réseaux de neurones à couches pour commander un robot manipulateur redon- dant contraint par des obstacles. La loi de commande est déterminée en utilisant l’espace cartésien étendu pour min- imiser les déplacements articulaires et éviter les obstacles. Les réseaux de neurones ont été utilisés pour l’approxima- tion séparée des différentes fonctions du modèle dynamique du robot écrit dans l’espace cartésien. Les lois d’adapta- tion des coefficients synaptiques, pour chaque réseau, sont obtenues via l’étude de stabilité en boucle fermée au sens de Lyapunov. Les performances de l’approche de commande proposée ont été testées en simulation sur un robot manip- ulateur à 3 degrés de liberté évoluant dans le plan vertical. Mots-clés– Réseaux de neurones, Commande adaptative, Robots redondants, Stabilité, Evitement d’obstacles. I. Introduction Les robots manipulateurs redondants sont partic- ulièrement intéressants pour leur dextérité, leur capacité d’éviter les obstacles et les contraintes mécaniques sans altérer à la tâche réalisée par l’effecteur. Cette dernière est toujours spécifiée dans l’espace cartésien appelé aussi es- pace opérationnel, espace où il est plus facile de représenter le mouvement du robot. C’est pour cela qu’il est naturel de concevoir des lois de commande directement dans cet es- pace. Dans ce cas, le problème de synthèse de la commande est généralement transformé en un problème de planifica- tion de trajectoire de l’espace articulaire à partir de l’espace cartésien. Le passage d’un espace vers un autre est réalisé via des transformations géométriques et cinématiques. Ces transformations sont basées sur des modèles directs et in- verses décrivant la relation entre les positions cartésiennes en fonction des positions articulaires (modèle géométrique) et les vitesses catésiennes en fonction des vitesses articu- laires (modèle cinématique) du robot. Lorsque le robot est redondant, il existe une infinité de solutions représentant les différentes configurations du robot pour un point dans l’espace cartésien. Le problème à résoudre est donc de déterminer, dans le cas redondant, des positions et des vitesses articulaires optimales correspondant à la tâche demandée. Plusieurs travaux ont été réalisés dans ce do- maine. Un certain nombre de solutions proposées dans la littérature est basé sur des méthodes d’optimisation non linéaires qui sont difficiles à implémenter et caractérisées par de longs temps de convergence ainsi que leur possible instabilit [1][2][3][4][5]. Récemment, des travaux basés sur les réseaux de neurones visant à réduire la complexité des calculs dans la procédure de planification de trajectoires, ont été proposés. En effet, plusieurs méthodes neuronales ont été considérées pour la modélisation et l’identification des deux modèles, direct et inverse, des robots manipula- teurs redondants [6][7]. Ces méthodes, malgré leurs per- formances ne permettent pas de donner, en temps réel, une solution nécessaire à l’exécution d’une tâche donnée. De plus, elles ne garantissent pas la stabilité lorsqu’on les intègre dans la boucle de commande. Dans cet article, notre intérêt est d’exploiter la commande neuronale proposée dans [8] sans problème d’inversion et avec méconnaissance du modèle dynamique du robot manipulateur. Cette com- mande, moyennant une stratégie d’optimisation basée sur un critère énergétique est valide en cas de présence d’ob- stacles et elle permet aussi au manipulateur de passer par des configurations articulaires optimales. L’article est organisé comme suit : la section 2 décrit la dynamique du robot manipulateur, ses propriétés struc- turelles et le principe retenu pour l’évitement d’obstacles. Dans la section 3 une représentation neuronale du modèle du système est donnée. La section 4 présente la commande proposée avec l’analyse de stabilité du système en boucle fermée. Les résultats de simulation sur un robot plan à trois degrés de liberté sont présentés et commentés dans la section 5. La section 6 est une conclusion à ce travail. II. Modèle du robot et évitement d’obstacles On considère un robot manipulateur à n degrés de liberté à liaisons rotoı̈des. Son modèle dynamique est donné par : M(q)q̈ + C(q, q̇)q̇ + H(q, q̇) = τ (1) avec q, q̇ et q̈ (vecteurs de n dimension) sont respective- ment, les positions, les vitesses et les accélérations articu- laires, M(q) la matrice d’inertie, C(q, q̇)q̇ les forces de Cori- olis et centrifuges, H(q, q̇) le vecteur représentant la force de gravité, les forces de frottements et toutes les autres dy- namiques, et τ le vecteur des couples agissant au niveau des articulations. La vitesse de l’effecteur du robot ẋ ∈ Rm et la vitesse ar- ticulaire q̇ ∈ Rn sont liées par la matrice jacobienne J(q) ∈ Conférence Internationale Francophone d’Automatique, Nantes, 8-10 juillet 2002 33 Rm×n de la manière suivante : ẋ = J(q)q̇ µ J(q) = ∂φ(q) ∂q ¶ (2) où x = φ(q) est la position de l’effecteur. Le vecteur d’accélération de l’effecteur est lié au vecteur des accélérations articulaires par la relation : ẍ = Jq̈ + ˙ Jq̇ (3) Dans le cas des robots non redondants (m = n), et pour des situations non singulières du manipulateur, la matrice J est toujours inversible. On peut alors utiliser les équations (2) et (3), pour calculer les positions et les vitesses articulaires comme suit : q = J−1 x et q̈ = J−1 ẍ − J−1 ˙ JJ−1 ẋ Dans le cas des robots redondants (m < n), le problème de la cinématique inverse pose un réel problème. En effet, pour une position donnée de l’effecteur, il existe une in- finité de configurations articulaires du manipulateur. Pour pallier ce problème, nous proposons de concevoir une loi de commande dans l’espace cartésien en utilisant le modèle géométrique étendu. Dans le but d’éviter les singularités numériques et physiques, nous introduisons un critère con- vexe sur les déplacements articulaires. L’objectif est de minimiser ce critère via l’utilisation d’un ensemble de vari- ables représentées par le vecteur h de dimension (n − m) permettant d’assurer la convergence vers un minimum global. Le vecteur h est introduit dans le modèle précédent pour former le modèle géométrique étendu de dimension n : X(q) = F(q) = · x h ¸ = · φ(q) h(q) ¸ (4) avec dim(X) = n. L’expression de h(q) résulte de la minimisation d’un critère énergétique fonction des positions articulaires : Ω(q) = 1 2 n X i=1 q2 i = 1 2 qT q (5) Cette fonction est convexe au regard de la variable q. Pour que le manipulateur évite un obstacle durant son mouvement, il faut maintenir une distance minimale entre tous les points du manipulateur et cet obstacle. On suppose que n’importe quel obstacle peut être enveloppé dans un volume dans l’espace 3D. On utilise plus souvent les formes convexes (sphère, cylindre, etc) et plus particulièrement la sphère car il est alors plus facile de calculer la distance entre ce volume et les différents segments du manipulateur. Dans ce cas, les contraintes inégalités représentent les distances perpendiculaires entre les segments du manipulateur et le centre de l’objet à éviter. On assure qu’un segment évite un obstacle, si sa distance minimale à l’obstacle est supérieure à une distance prédéfinie (seuil). Si tous les segments satis- font cette condition, le robot évitera l’obstacle lors de son mouvement. Considérons un obstacle assimilé à une sphère de rayon r et de centre (x1b, x2b), di est la distance perpen- diculaire entre le centre de l’obstacle et un segment li du manipulateur. La contrainte qu’il faut satisfaire le long de la trajectoire pour éviter le contact entre l’obstacle et l’un des segments du manipulateur est : d(q) − r > 0 (6) Sur la figure (1), on présente un exemple de calcul de la distance entre le centre de l’obstacle et le premier seg- ment du manipulateur de longueur l1 ( − → OA = − → v 1, −→ OD = − → v 2, AC = r et AB = d). l3 l2 l1 x1b A C x1 x2 O q1 q3 q2 x2b B l3 l2 l1 x1b A C x1 x2 O q1 q3 q2 x2b B D l3 l2 l1 x1b A C x1 x2 O q1 q3 q2 x2b B l3 l2 l1 x1b A C x1 x2 O q1 q3 q2 x2b B D Fig. 1: Un exemple d’évitement d’obstacle. On a les formules suivantes : − → v 1 = µ x1b x2b ¶ , − → v 2 = µ x1d = l1 cos(q1) x2d = l1 sin(q1) ¶ (7) avec : − → v 1.− → v 2 = |− → v 1||− → v 2|cos(Ψ) d’où, nous tirons : cos(Ψ) = − → v 1 − → v 2 |− → v 1||− → v 2| et sin(Ψ) = d1 v1 ce qui nous permet d’écrire : d2 1 v2 1 + (− → v 1 − → v 2)2 |− → v 1||− → v 2| = 1 de même, il est possible d’écrire : d2 1 = v2 1 · 1 − (− → v 1 − → v 2)2 |− → v 1||− → v 2| ¸ .si |− → v 1||− → v 2| < |− → v 2| avec : v2 1 = x2 1b + x2 2b, v2 2 = l2 1, − → v 1 − → v 2 = x1bl1cos(q1) + x2bl1sin(q1) La contrainte inégalité s’écrit donc comme suit : d2 1 = x2 1b + x2 2b − (x1bcos(q1) + x2bsin(q1))2 ≥ r2 34 Conférence Internationale Francophone d’Automatique, Nantes, 8-10 juillet 2002 si |x1bcos(q1)+x2bsin(q1)| = l1. La même démarche peut être appliquée pour calculer les autres distances di avec i variant de 1 à n. Les fonctions scalaires traduisant les contraintes liées à l’obstacle sont définies par : Ti(q) = d2 i − r2 < 0 (8) Nous avons utilisé les pénalités internes qui nous ont menés à de bons résultats par rapport aux pénalités ex- ternes [6]. Dans ce cas, le critère à minimiser est donné comme suit : Ω(q) = 1 2 qT q + n X i=1 αi −1 Ti(q) (9) n est le nombre de contraintes et i et un gain scalaire de pénalité. Dans ce cas, le problème est de trouver les posi- tions articulaires qui minimisent Ω(q) sous les contraintes géométriques x = φ(q). Pour cela, considérons le critère objectif étendu suivant : Θ(q, λ) = Ω(q) + λT (x − φ(q)) (10) λ est un vecteur de dimension m représentant les mul- tiplicateurs de Lagrange. La condition nécessaire d’opti- malité peut être écrite sous la forme suivante : ( ∂Θ ∂q = 0 ⇒ ∂Ω ∂q = ³ ∂φ ∂q ´T λ = JT λ ∂Θ ∂λ = 0 ⇒ x = φ(q) (11) Cette condition peut être réécrite en utilisant une ma- trice N représentant l’espace nul de la matrice jacobienne J (JN = 0). En multipliant la première équation du système (11) par NT , la condition nécessaire d’optimalité devient : NT ∂Ω(q) ∂q = 0 (12) Comme le critère Ω est convexe par rapport à q, on peut conclure que la condition (12) est nécessaire et suffisante [7]. Le choix de la variable h est alors donnée par : h(q) = NT ∂Ω(q) ∂q (13) sa dérivée par rapport au temps est la suivante : ḣ(q) = ∂h(q) ∂t = ∂h(q) ∂q q̇ = Jhq̇ (14) et les valeurs de ses trajectoires désirées hd, ḣd et ḧd sont définies par : hd = ḣd = ḧd = 0 (15) L’espace augmenté des trajectoires désirées est défini par les vecteurs suivants : Xd = · xd hd ¸ ; Ẋd = · ẋd ḣd ¸ ; Ẍd = · ẍd ḧd ¸ Le modèle cinématique étendu peut être écrit sous la forme : Ẋ = Jeq̇ Ẍ = Jeq̈ + ˙ Jeq̇ avec Je = · J Jh ¸ Si la matrice Jacobienne étendue n’est pas singulière, on peut écrire : q̇ = J−1 e ẋ; q̈ = J−1 e ẍ − J−1 e ˙ JeJ−1 e ẋ (16) Lorsqu’on remplace q̇ et q̈ données par (16) dans (1), le modèle exprimé dans l’espace cartésien étendu peut être écrit sous la forme : M∗ (q)Ẍ + C∗ (q, q̇)Ẋ + H∗ (q, q̇) = τ∗ (17) avec :        M∗ = J−T e MJ−1 e C∗ = J−T e (CJ−1 e − MJ−1 e ˙ JeJ−1 e ) H∗ = J−T e H τ∗ = J−T e τ ⇒ τ = JT e τ∗ La dynamique du robot (17) possède des propriétés physiques utilisées dans la synthèse de la loi de commande : Propriété 1 : La matrice M∗ est Symétrique Définie Pos- itive (SDP). Propriété 2 : La matrice C∗ peut être choisie de telle sorte que M∗ − 2C∗ soit antisymétrique. Le problème de la commande est de calculer les matrices M , C et le vecteur H qui contiennent une inversion de ma- trice. Pour éviter ce problème et en même temps se passer de la connaissance du modèle dynamique du système, on propose d’utiliser une loi de commande neuronale adapta- tive utilisant l’espace cartésien étendu. Le problème d’in- version est alors transformé en un problème d’estimation des matrices M∗ (q), C∗ (q, q̇) et le vecteur H∗ (q, q̇). III. Approximations neuronales Le réseau de neurones considéré est le Perceptron Mul- ticouches (MLP) avec une seule couche cachée et une sortie linéaire. Les approximations possèdent la structure θT 1 ϕ(θT 2 v) où θ2 représente le vecteur des poids entre la couche d’entrée et l’entrée du réseau de neurones, θ1 le vecteur des poids entre la couche cachée et la sortie du réseau de neurones, ϕ la fonction d’activation et v est le signal d’entrée. Les fonctions à approcher sont les éléments de la matrice M∗ (q), les éléments de la matrice C∗ (q, q̇) et les éléments du vecteur H∗ (q, q̇) et ils sont notés par : m∗ ij(z) = αT 1ijϕ(αT 2iz) + #mij (z) c∗ ij(ź) = βT 1ijϕ(βT 2iź) + #cij (ź) h∗ i (ź) = γT 1iϕ(γT 2iź) + #hi (ź) z = q; ź = (q, q̇) où ||#(.)(ź)|| < #̄ (ź), avec les coffecients #̄ (ź) ∈ C1 , αT 2i ∈ RpM ×n , αT 1ij ∈ RpM ,. βT 2i ∈ RpC×(2n) ,βT 1ij ∈ RpC , γT 2i ∈ RpH×(2n) , γT 1i ∈ RpH . La fonction d’activation est du type sigmoı̈dal. Sous forme matricielle, ces approximations s’écrivent : M∗ (z) = αT 1 ϕ(αT 2 z) + #M (z) C∗ (ź) = βT 1 (βT 2 ź) + #C(ź) H∗ (ź) = γT 1 (γT 2 ź) + #H(ź) où : αT 1 = [αT 11, · · · , αT 1m] βT 1 = [βT 11, · · · , βT 1m] Conférence Internationale Francophone d’Automatique, Nantes, 8-10 juillet 2002 35 ϕ(αT 2 z) =       ϕ(αT 21z) 0 · · · 0 0 ϕ(αT 22z) . . . . . . · · · ... 0 0 0 0 ϕ(αT 2mz)       ; ϕ(βT 2 ź) =         ϕ(βT 21ź) βT 21ź) 0 · · · 0 0 ϕ(βT 22ź) . . . . . . · · · ... 0 0 0 0 ϕ(βT 2mź)         avec αT 1i ∈ Rn×pM , βT 1i ∈ Rn×pC , γT 1 ∈ Rn×pH . Les estimations de la matrice M∗ (z), la matrice C∗ (ź) et le vecteur H∗ (ź) sont données par : M̂∗ (z) = α̂T 1 ϕ(α̂T 2 z) Ĉ∗ (ź) = β̂ T 1 (β̂ T 2 ź) Ĥ∗ (ź) = γ̂T 1 (γ̂T 2 ź) (18) avec α̂1, α̂2, β̂1, β̂2, γ̂1,et γ̂2 sont des paramètres neu- ronaux qui seront mis à jour par un algorithme d’adap- tation basé sur l’analyse de stabilité. Par rapport aux réseaux linéairement paramétrés, [9][10], l’avantage des réseaux MLP est certainement le nombre relativement réduit de paramètres. Il est clair que ce nom- bre dépend de la dimension de l’entrée, néanmoins cette dépendance n’est pas exponentielle. L’inconvénient de ce type de réseaux est leur paramétrisation non linéaire. Une alternative pour traiter ces non linéarités est d’utiliser le développement en série de Taylor des fonctions ϕ(θT z) au- tour de (θ̂ T z). On peut alors écrire : ϕ(θT z) = ϕ(θ̂ T z) − ϕ0 (θ̂ T z)θ̃ T z − O(θ̂ T z) (19) avec ϕ0 (ẑ) = dϕ(z)/dz|z=ẑ, et O(z) représentent les ter- mes d’ordre supérieur, leur valeurs sont : O(θ̂ T z) = (ϕ(θ̂ T z) − ϕ(θT z)) − ϕ0 (θ̂ T z)θ̃ T z (20) Puisque les fonctions sigmoidales ϕ ainsi que leur dérivées ϕ0 sont bornées, donc à partir de (20) on peut déterminer les bornes de l’erreur d’approximation par séries de Taylor qui sont tel que : ||O(z)|| ≤ c1 + c2||θ̃||F ||z|| (21) où ci(i = 1, 2) sont des constantes positives calculées à partir des expressions de ϕ et ϕ0 . IV. Commande neuronale adaptative L’objectif principal de cette commande est de réaliser un suivi de trajectoire de l’effecteur du robot manipulteur. La trajectoire désirée est définie dans l’espace opérationnel augmenté, par le vecteur Xd de dimension n. Les erreurs de poursuite et les signaux de référence sont définis par : e = X − Xd; ė = Ẋ − Ẋd; s = ė + Λe; ẋr = Ẋd − Λe; ẍr = Ẍd − Λė (22) Λ est une matrice diagonale positive. La loi de commande proposée est donnée par : u = M̂∗ (z)ẍr + C∗ (ź)ẋr + Ĥ(ź) − Kvs + w (23) Kv > 0 est une matrice de gain. Le signal w, défini plus loin, est utilisé pour compenser les erreurs d’approxima- tion. Les lois d’adaptation des paramètres neuronaux sont définies comme suit : α̂1 = −κΓM ||s||α̂1 − ΓM (ϕ(α̂T 2 z) + ϕ0 (α̂T 2 z)α̂T 2 z)ẍrsT α̂2 = −κΓM ||s||α̂2 − ΓM zẍrsT α̂T 1 ϕ0 (α̂T 2 z) β̂1 = −κΓC||s||β̂1 − ΓC(ϕ(β̂ T 2 ź) + ϕ0 (β̂ T 2 ź)β̂ T 2 ź)ẋrsT β̂2 = −κΓC||s||β̂2 − ΓCźẋrsT β̂ T 1 ϕ0 (β̂ T 2 ź) γ̂1 = −κΓH||s||γ̂1 − ΓH(ϕ(γ̂T 2 ź) + ϕ0 (γ̂T 2 ź)γ̂T 2 ź)sT γ̂2 = −κΓH||s||γ̂2 − ΓHźsT γ̂T 1 ϕ0 (γ̂T 2 ź) (24) avec κ est un gain positif et Γ{M,C,H} sont des matrices positives. La dynamique des erreurs du système en boucle fermée est obtenue en utilisant la loi de commande (23) avec les signaux définis par (22) : M∗ (z)ṡ = −Kvs − C∗ (ź)s + w + +M̃∗ (z)ẍr + C̃∗ (ź)ẋr + H̃(ź) +#(x, ẋr, ẍr) (25) avec #(x, ẋr, ẍr) = #M (z)ẍr + #C(ź)ẋr + #H(ź) et f (.) = c (.) − (.). En utilisant la matrice d’approximation donnée par (18) et le développement en séries de Taylor au premier ordre de la fonction d’activation, l’équation (25) peut être réécrite : M∗ (z)ṡ = −C∗ (ź)s − Kvs + w − ³ α̂T 1 ϕ0 (α̂T 2 z)α̃T 2 z + α̃T 1 ϕ(α̂T 2 z) ´ ẍr − ³ β̂ T 1 ϕ0 (β̂ T 2 ź)β̃ T 2 ź + β̃ T 1 ϕ(β̂ T 2 ź) ´ ẋr (26) − ³ γ̂T 1 ϕ0 (γ̂T 2 ź)γ̃T 2 ź + γ̃T 1 ϕ(γ̂T 2 ź) ´ + ε(ź, ẋr, ẍr) avec : ε(ź, ẋr, ẍr) = #(ź, ẋr, ẍr) + εϕ(ź, ẋr, ẍr) et εϕ(ź, ẋr, ẍr) sont les perturbations dues à l’approxi- mation par séries de Taylor au premier ordre. Elles peuvent être représentées comme suit : εϕ = γ̃T 1 ϕ0 (γ̃T 2 ź)γ̃T 2 ź − γT 1 O(γ̂T 2 ź) + ³ β̃ T 1 ϕ0 (β̃ T 2 ź)β̃ T 2 ź − βT 1 O(β̂ T 2 ź) ´ ẋr + ³ α̃T 1 ϕ0 (α̃T 2 ź)α̃T 2 ź − αT 1 O(α̂T 2 ź) ´ ẍr En utilisant la norme de Frobenius sur les matrices, on peut écrire : ||#|| ≤ ||#M ||||ẍr||| + ||#C||||ẋr|| + ||#H||. et : ||#ϕ|| ≤ (c1||α̃1||||α2||||z|| + ||α1||||OM ||)||ẍr||ẋr +c2||γ̃1||||γ̃||||ź|| + ||γ1||||OH|| (27) +(c3||β̃1||||β2||||ź|| + ||β1||||OC||)||ẋr|| 36 Conférence Internationale Francophone d’Automatique, Nantes, 8-10 juillet 2002 Soient θ, θ̂ et θ̃ des matrices contenant respectivement, tous les paramètres α1,2, β1,2, γ1,2, tous les paramètres es- timés α̂1,2, β̂1,2, γ̂1,2 et toutes les erreurs sur les paramètres α̃1,2, β̃1,2, γ̃1,2. On considère que : — ||θ||F ≤ ||θ||max — ||[xd ẋd ẍd]|| ≤ Y d (Yd est un signal borné) — ||ź|| ≤ p1Yd +p2||s|| (p1 et p2 sont des nombres réels positifs fonctions de λ ) — ||xr|| ≤ p3Yd + p4||s|| En rappelant l’approximation par séries de Taylor au premier ordre et en manipulant les équations précédentes, on obtient : ||#ϕ + ε|| ≤ A1 + A2||θ̃|| + A3||θ̃||||s|| (28) où A1, A2,et A3 sont des constantes réelles positives fonc- tions de θmax,Yd, λ, ϕ ainsi que les propriétés liées aux réseaux de neurones (#M , #C et #H). Pour le système défini par l’équation d’erreur (26), on propose le terme de com- pensation suivant : w = −K(||θ̂|| + ||θ||max)s (29) avec : Kθ ≥ A3 (30) Dans la conception du terme de compensation (29), l’estimation de ||θ||max est nécessaire. Toutefois, les paramètres neuronaux ne possèdent pas une signification physique, cette valeur peut être choisie d’une façon heuris- tique. Théorème : Le système défini par (17) en boucle fermée avec la loi de commande donnée par (23) ainsi que les lois d’adaptation des paramètres (24) et le terme de compen- sation (29) est stable en boucle fermée dans le cas où les conditions suivantes sont vérifiées. ||s|| ≥ A1 + (θmax + A2/κ)2 /4 λmin(Kv) ou: ||θ̃|| ≥ θmax + A2/κ 2 + r A1 + (||θ|| + A2/κ)2/4 κ Le détail de la démonstration est donné dans [8]. V. Résultats de simulation Les performances de la commande proposée ont été testées en simulation sur un robot manipulateur plan évoluant dans l’espace vertical (n = 3, m = 2). La tra- jectoire désirée à réaliser par l’effecteur du manipulateur est un cercle. L’obstacle à éviter défini dans la figure (2) est englobé par un cercle. Le critère à optimiser afin de réaliser la trajectoire désirée en présence de l’obstacle tout en minimisant l’énergie des déplacements articulaires est défini par : Ω(q) = 1 2 (q2 1 + q2 2 + q2 3) − α1 T1(q) avec T1(q) défini par l’équation (8) (i = 1) et α1 = 0.01. Nous avons utilisé des réseaux de neurones à une couche avec 5 cellules cachées et la tangente hyperbolique comme fonction d’activation. Les paramètres de la loi de com- mande sont choisis comme suit : Kv = 20 Λ = 10 κ = 0.01 Kw = 0.1 η{1,2}{m,c,h} = 5 ||θ||max = 10 Sur la figure (2), on voit que le robot manipulateur tient compte lors de son mouvement, de l’obstacle limitant le déplacement de son premier segment. En effet, le robot ma- nipulateur utilise sa redondance pour contourner l’obstacle en question et réalise par son effecteur, la poursuite de tra- jectoire qui lui est assignée. De plus, on peut facilement remarquer sur les courbes de la figure (3), une optimisa- tion des déplacements articulaires et par conséquent l’util- isation d’une énergie minimale. Les erreurs de poursuite en abscisse et en ordonnée sont données par la figure (4). On remarque sur cette figure une convergence de l’erreur vers un voisinage de zéro après un court temps d’adaptation. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 Position X [m] Position Y [m] Fig. 2: Evitement d’obstacle génant le premier segment du robot manipulateur. 0 2 4 6 8 10 12 14 16 18 20 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 Temps [sec] Positions articulaires [rad] Fig. 3: Positions articulaires du manipulateur. Conférence Internationale Francophone d’Automatique, Nantes, 8-10 juillet 2002 37 0 5 10 15 20 -0.4 -0.35 -0.3 -0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 Temps [sec] [m] Erreur de poursuite en abscisse (x) 0 5 10 15 20 -0.02 0 0.02 0.04 0.06 0.08 0.1 Temps [sec] [m] Erreur de poursuite en ordonnée (x) Fig. 4: Erreurs de poursuite de trajectoire exprimées en abscisse et en ordonnée. VI. Conclusion Nous avons proposé dans cet article une commande neu- ronale adaptative dans l’espace cartésien pour les robots manipulateurs confrontés à des obstacles. Les connais- sances a priori sur le modèle dynamique sont uniquement sa structure et ses propriétés fondamentales. Les simulations réalisées sur le modèle d’un robot à trois degrés de liberté évoluant dans le plan vertical avec un obstacle gênant le mouvement du premier segment du robot, montrent l’ef- ficacité de l’approche proposée. Il est nécessaire de noter qu’il n’y a pas eu d’inversion en ligne de matrices, ce qui permet d’éviter des problèmes numériques relatifs aux pos- sibles singularités des matrices. Après un lapse de temps d’adaptation, l’effecteur se rapproche de plus en plus de la trajectoire désirée et la consommation de l’énergie est minimisée. La méthode proposée peut être appliquée de la même façon aux robots manipulateurs parallèles dont les modèles cinématique et géométrique directs sont difficiles à obtenir. Références [1] S. W. Kim, K. B. Park, and J. J. Lee, “Redundancy resolution of robot manipulators using optimal kinematic control”, in Proc. of ICRA, San Diego, 1994. [2] C. A. Klein and C. H. Huang, “Review of pseudoinverse con- trol for use with kinematically redundant manipulators”, IEEE Trans. on Systems Man and Cybernetics, pp. 245-250, 1983. [3] A. De Luca, L. Lanari, and G. Oriolo, “Control of redundant robots on cyclic trajectories”, in Proc. Of ICRA’1992, Nice, France, 1992. [4] Y. Nakamura and H. Hanafusa, “Optimal redundancy control of robot manipulators”, International Journal of Robotics Re- search, vol. 6, no. 1, pp. 32-42, 1987. [5] T. Shamir, “Repeatability of redundant manipulators : Math- ematical solution of the problem”, IEEE Tran. on Automatic Control, vol. 35, pp. 1004-1009, 1988 [6] A. Cherif, V. Perdereau, and M. Drouin, “On-line neural network algorithm for the constrained motion planning of redundant ma- nipulators”, in Proc. of MCCS’97, Minneapolis, USA,1997. [7] Amar Ramdane-Cherif, “Inversion Des Modèles Géométrique et Cinématique d’un Robot Redondant : Une Solution Neuronale Adaptative”, Ph.D. thesis, Université Pierre et Marie Curie, 1998. [8] A. Benallegue, B. Daachi, and N.K. M’Sirdi, “Stable neural network adaptive control of redundant robot manipulators”, in The 10th International Conference on Advanced Robotics ICAR’2001, Budapest, Hungary, August 22-25 2001. [9] D.Y. Meddah and A. Benallegue, “A stable neuro-adaptive con- troller for rigid robot manipulators”, Journal of Intelligent and Robotic Systems, vol. 20, pp.181-193, 1997. [10] R. M. Sanner and J.J. E. Slotine, “Gaussian networks for direct adaptive control”, IEEE Trans. on Neural Networks, vol. 3, no.6, pp. 837-863, Nov. 1992. 38 Conférence Internationale Francophone d’Automatique, Nantes, 8-10 juillet 2002