• Aucun résultat trouvé

Cinématique inverse de deuxième ordre 4.4.3Régions de singularités

ration des modèles géométriques

4.4.2 Cinématique inverse de deuxième ordre 4.4.3Régions de singularités

La jacobienne est, en général, une fonction de la configuration q, les configurations pour lesquelles la matrice jacobienne J est déficient en rang sont appelées singularités cinéma-tiques [20]. Trouver les singularités d’un système est d’un grand intérêt pour les raisons suivantes :

• Les singularités représentent les configurations dans lesquelles la mobilité de la struc-ture est réduite, c’est-à-dire qu’il n’est pas possible d’imposer un mouvement au système robotique.

• Lorsque la structure est dans une position de singularité, une infinité de solutions pour le modèle cinématique seront possibles.

• Au voisinage d’une singularité, de faibles vitesses dans l’espace opérationnel peuvent entraîner des vitesses élevées dans l’espace articulaire.

L’équation (4.36) présenté dans la section (4.4) donne la pseudo-inverse à droite, le terme

J JT nous donne une matrice de rang plein, et l’inversion est indispensable pour le calcul de la pseudo-inverse.

La technique la plus simple consiste à trouver les régions de singularité à éviter lors du mouvement du manipulateur. Pour cela nous allons déterminer les valeurs de θ2 en fonc-tion de r0pour des déplacements de la glissière entre les valeurs r0min et r0max, ainsi quand le manipulateur se trouve coïncider avec le centre de gravité du multirotor.

Tout d’abord nous allons prendre la matrice d’orientation du multirotor comme matrice identité I3, cela signifie que les valeurs des angles d’Euler seront considérés comme nuls. La décomposition de la matrice J en LU (lower upper), deux matrices triangulaires se résultent tel que le déterminant de la matrice initiale est le produit des deux déterminants des matrices triangulaires.

On posant Jg =J JT. Jg =JLJU (4.42) Jg = 1 0 0 0 0 0 0 1 0 0 0 0 a31 0 1 0 0 0 0 a42 0 1 0 0 a51 0 a53 0 1 0 0 a62 0 a64 0 1 b11 0 b13 0 b15 0 0 b22 0 b24 0 b26 0 0 b33 0 b35 0 0 0 0 b44 0 b46 0 0 0 0 b55 0 0 0 0 0 0 b66

où JL est une matrice triangulaire inférieure et JU triangulaire supérieure. Après des compositions, nous obtenons les paramètres aij et bij suivants :

a42 =−(d0+d1+c2d2+c23d3)/((d0+d1+d3c23+d2c2)(d0+d1+c2d2+c23d3) + (r0+s2d2+s23d3)(r0+d3s23+d2s2) +1)

a51 = (d0+d1+3d3c23+2d2c2)/(d23c223+ (d0+d1+d3c23+d2c2)2 + (d3c23+d2c2)2+2)

4.4. Modèle cinématique inverse 93 a53 =−(r0+3d3s23+2d2s2−(((r0+d3s23+d2s2)(d0+d1+c2d2+d3c23) + (d3s23 +d2s2)(c2d2+d3c23) +d23c23s23)(d0+d1+3d3c23+2d2c2)) /(d23c223+ (d0+d1+d3c23+d2c2)(d0+d1+c2d2+d3c23) + (d3c23+d2c2)(c2d2 +d3c23) +2))−(((r0+d3s23+d2s2)(d0+d1+c2d2+d3c23) + (d3s23+d2s2)(c2d2 +d3c23) +d23c23s23)((r0+d2s2+d3s23)(d0+d1+d3c23+d2c2) + (d2s2 +d3s23)(d3c23+d2c2) +d23c23s23))/(d23c223+ (d0+d1+d3c23 +d2c2)(d0+d1+c2d2+d3c23) + (d3c23+d2c2)(c2d2+d3c23) +2) +1) a62 = (r0+d3s23+d2s2)/((r0+d3s23+d2s2)2+ (d0+d1+d3c23+d2c2)2+1) a64 =−((r0+d3s23+d2s2)(d0+d1+d3c23+d2c2))/(((d0+d1+d3c23 +d2c2)2/((r0+d3s23+d2s2)2+ (d0+d1+d3c23+d2c2)2+1)−1) ((r0+d3s23+d2s2)2+ (d0+d1+d3c23+d2c2)2+1)) b11 =d23c223+ (d0+d1+d3c23+d2c2)2+ (d3c23+d2c2)2+2 b13 =−(d3c23+d2c2)(d3s23+d2s2)−(r0+d3s23+d2s2)(d0+d1+d3c23 +d2c2)− d23c23s23 b15 =d0+d1+3d3c23+2d2c2 b22 = (r0+d3s23+d2s2)2+ (d0+d1+d3c23+d2c2)2+1 b24 =−d0− d1− d3c23− d2c2 b26 =r0+d3s23+d2s2

b33 =d3s23+ (r0+d3s23+d2s2) −((d3c23+d2c2)(d3s23+d2s2) + (r0+d3s23+d2s2)(d0+d1+d3c23+d2c2) +d23c23s23)2/(d23c223 + (d0+d1+d3c23+d2c2)2+ (d3c23+d2c2)2+2) + (d3s23+d2s2)2+1 b35= (((d3c23+d2c2)(d3s23+d2s2) + (r0+d3s23+d2s2)(d0+d1+d3c23 +d2c2) +d23c23s23)(d0+d1+3d3c23+2d2c2))/(d23c232 + (d0+d1+d3c23 +d2c2)2+ (d3c23+d2c2)2+2)−3d3s232d2s2− r0 b44 =1 −(d0+d1+d3c23+d2c2)2/((r0+d3s23+d2s2)2+ (d0+d1+d3c23+d2c2)2+1) b46 = ((r0+d3s23+d2s2)(d0+d1+d3c23+d2c2))/((r0+d3s23+d2s2)2 + (d0+d1+d3c23+d2c2)2+1) b55 =3 −(d0+d1+3d3c23+2d2c2)2/(d23c223+ (d0+d1+d3c23+d2c2)2 + (d3c23+d2c2)2+2)−(r0+3d3s23+2d2s2−(((d22sin(2t2))/2+ (r0+d3s23 +d2s2)(d0+d1+d3c23+d2c2) +d23sin(2t2+2t3) +d2d3sin(2t2+t3))(d0+d1 +3d3c23+2d2c2))/(d23c223+ (d0+d1+d3c23+d2c2)2+ (d3c23 +d2c2)2+2))2/(d23s223−(d42s2c2+2(r0+d3s23+d2s2)(d0+d1+d3c23 +d2c2) +2d2 3sin(2t2+2t3) +2d2d32s23c23)2/(4(d23c223+ (d0+d1+d3c23 +d2c2)2+ (d3c23+d2c2)2+2)) + (r0+d3s23+d2s2)2+ (d3s23+d2s2)2+1) b66 = ((r0+d3s23+d2s2)2(d0+d1+d3c23+d2c2)2)/(((d0+d1+d3c23 +d2c2)2/((r0+d3s23+d2s2)2+ (d0+d1+d3c23+d2c2)2+1)−1)((r0+d3s23 +d2s2)2+ (d0+d1+d3c23+d2c2)2+1)2)−(r0+d3s23+d2s2)2/((r0+d3s23 +d2s2)2+ (d0+d1+d3c23+d2c2)2+1) +1

Le déterminant du Jgest égal au déterminant de la matrice JU, c’est la multiplication des éléments de la diagonale car les deux matrices JL et JU sont des matrices triangulaires, d’où det(Jg) = det(JL).det(JU) or det(JU) = 1, alors :

4.4. Modèle cinématique inverse 95 En développant l’expression (4.43) en fonction de θ2 et r0, nous pouvons écrire :

det(Jg) =4d0d1+2d2 2c22+4d2 2s22+2d2 0+2d2 1+4r2 0+4d2r0s2 +d22r20c22+d02d22s22+d21d22s22+2d0d2c2+2d1d2c2+2d0d1d22s22 − d0d22r02s2c2− d1d22r02s2c2+6 (4.44) det(Jg) = λ1r20 +λ2r02c22 + λ3c22 + λ4s22 +λ5r0s2c2 + λ6c2 + λ7s2 + λ8 (4.45) avec λj, j =1...8 des constantes selon (4.44), sont fonction de d0, d1, d2, d3.

L’étude de variation du déterminant passe par le mouvement de la prismatique r0qui varie de r0min = −0.04 à r0max = 0.04 en passant par zéro. Trois tests sont implémentés dont les solutions sont en fonction de r0 et θ2. Les valeurs de det(Jg) dénotées par sol(r0, θ2)

et en fonction de θ2, sont présentées comme suit :

sol(−0.04, θ2) = (1.2312e − 04)sin(2) +0.0342 cos(θ2)−0.0288 sin(θ2) +0.0649 cos(θ2)2 +0.1299 sin(θ2)2+6.0244 (4.46) La solution donnée par Matlab est en fonction de i comme suit :

θ21 =−log(root(z4− z3(1.0550+0.8816i)− z2(376.4871 − 1.4254i)− z(1.0483 − 0.8896i) + (1 − 0.0076i), z, 1))i

sol(0, θ2) = 0.0342 cos(θ2) + 0.0648 cos(θ2)2 + 0.1299 sin(θ2)2 + 6.0180 (4.47) Les solutions trouvées par Matlab

θ221 =acos(−9.4594) =3.1416 − 2.9373i. θ222 =acos(9.9848) =2.9917i. θ223 =−acos(−9.4594) =−3.1416+2.9373i. θ224 =−acos(9.9848) =−2.9917i

sol(0.04, θ2) = 0.0342 cos(θ2)−(1.2312e − 04)sin(2) +0.0288 sin(θ2)

Et pour le dernier cas, la solution trouvée est :

θ23 =−log(root(z4− z3(1.0550 − 0.8816i)− z2(376.4871+1.4254i)− z(1.0483+0.8896i) + (1+0.0076i), z, 1))i

La présentation de ces solutions dans un plan (x, y) illustrée dans la figure (4.6).

-5 -4 -3 -2 -1 0 1 2 3 4 5 Real parts -5 0 5 Imaginary parts

Figure 4.6 – Solutions complexes du déterminant.

Les solutions complexes nous montrent que l’inversion de la matrice Jg) est toujours possible quelles que soient les valeurs données pour r0et θ2. La solution pour cette équation dépendra des valeurs de la prismatique r0, la fonction ezplot sous Matlab nous permet de tracer ces solutions dans le domaine [−2π, 2π], les valeurs de θ2 sont illustrées, figure (4.7). -6 -4 -2 0 2 4 6 6.05 6.1 6.15 6.2

4.5. Conclusion 97 La figure nous montre que la variation du θ2 dans une période de 2π garde toujours le déterminant loin de zéro, ce qui signifie que l’inversion est possible quel que soit la valeur prise par les angles des articulations et le mouvement des segments.

4.5 Conclusion

Ce chapitre a été consacré à la modélisation cinématique du Q-PRR, dans la première partie, le modèle cinématique direct est présenté en utilisant la technique de dérivation des équations de la position, la méthode a montré l’efficacité de cette approche et sa simplicité. Pour la deuxième partie où le modèle cinématique inverse est développé, en se basant sur la méthode itérative définie dans [93] pour trouver les vitesses articulaires pour chaque partie du système (multirotor et manipulateur), le modèle cinématique inverse est principalement fondé sur la génération de la matrice jacobienne, pour laquelle on a calculé la jacobienne du manipulateur séparément. De plus, un algorithme de calcul CLIKA est appliqué et ensuite testé dans l’environnement Simulink/Matlab. Les résultats montrent la fiabilité des calculs et l’efficacité du programme. Une analyse des singularités est finalement étudiée dans la dernière partie pour trouver le domaine du fonctionnement du modèle cinématique.

99

5

Modélisation Dynamique

Sommaire :

5.1 Introduction . . . 100

5.2 Modèle dynamique inverse . . . 101

5.2.1 Tenseur d’inertie . . . 102

5.2.2 Calcul de l’énergie cinétique du Q-PRR . . . 104

5.2.3 Calcul de l’énergie potentielle du Q-PRR . . . 106

5.2.4 Calcul des forces de Coriolis et Centrifuge . . . 107

5.3 Modèle dynamique direct . . . 109

5.4 Modèle dynamique dans l’espace opérationnel . . . 111

5.5 Modèle dynamique du manipulateur. . . 112

5.5.1 Vecteur des forces non linéaires de Coriolis et Centrifuge . . . 113

5.5.2 Calcul du vecteur des forces de gravité du manipulateur . . . 113

5.5.3 Couples et forces générés par le manipulateur . . . 114

5.6 Conclusion . . . 115

Ce chapitre est dédié à l’étude du troisième niveau de la modélisation mathématique. L’objectif est de décrire les propriétés dynamiques du système composé d’un qua-drotor et un bras manipulateur attaché à sa base, le modèle global du Q-PRR dans son état couplé est présenté en utilisant le formalisme de Lagrange. Pour la partie découplée, un modèle dynamique pour le bras manipulateur pour une base fixe est abordé. Les équations des énergies cinétique et potentielle sont calculées. Les mo-dèles dynamiques inverse et direct sont présentés, tandis que le modèle dynamique du bras manipulateur est détaillé pour l’utiliser dans le modèle découplé. L’obtention des modèles sont basés sur des outils et des fonctions de calcul symbolique à cause de la complexité du modèle et la non-linéarité des équations.

5.1 Introduction

Le modèle dynamique du système est important pour la simulation du mouvement, l’analyse de la structure du mécanisme robotique et pour la conception et le développe-ment des algorithmes et les lois de commande. La simulation du mouvedéveloppe-ment du système permet de valider les stratégies de contrôle et les techniques de planification de trajectoire sans avoir besoin d’un prototype réel. Le modèle dynamique est donné par l’ensemble des relations mathématiques entre les couples et les forces appliqués aux actionneurs et l’évolution des positions, vitesses et accélérations articulaires dans le domaine temporel. Selon les besoins dans la partie commande, plusieurs définitions du modèle dynamique pour les systèmes articulaires multi-corps sont adoptés, nous nous intéressons aux deux types les plus utilisés : le modèle dynamique inverse dit généralement modèle dynamique, qui présente les relations mathématiques exprimant les couples en fonction des variables articulaires ; Le modèle dynamique direct qui exprime les accélérations articulaires en fonction des positions, vitesses et couples des articulations. Plusieurs formalismes sont utilisés pour déterminer les équations du mouvement dans l’espace articulaire.

Comme la plate-forme aérienne et le bras robotique sont considérés comme une entité appariée, la première étape est la dérivation du modèle dynamique. En règle générale, deux approches peuvent être suivies : le Formalisme d’Euler-Lagrange, avec lequel il est possible d’avoir une forme matricielle symbolique de l’ensemble du modèle dynamique [122,120], et la formulation récursive de Newton-Euler qui permet plus de simplifications du point de vue du codage informatique [87, 6].

Dans la littérature, ces deux méthodes sont les plus utilisées, les auteurs dans [77] ont utilisé le formalisme d’Euler-Lagrange pour modéliser un système composé d’un bras manipulateur monté sur un quadrotor en se basant sur les travaux de [186] tout comme dans [122]. Une approche pour un système couplé est présentée dans [164] pour le contrôle de suivi de trajectoire. Le formalisme de Lagrange est utilisé pour générer les équations de la dynamique pour un système découplé, deux équations séparées sont prises en compte, l’une pour la dynamique du quadrotor et l’autre pour le manipulateur, cette approche est souvent utilisée. Dans [2], un contrôleur dynamique non-linéaire passif pour le multirotor et un contrôleur multitâches cinématique intégré pour le manipulateur, et un système d’optimisation pour coordonner leurs mouvements relatifs sont implémentés.

Le formalisme de Newton-Euler est utilisé dans [52] pour un système de 6-Ddl d’un qua-drotor et un bras manipulateur, les auteurs dans [150] ont appliqué le même formalisme pour un système en coopération de multi-quadrotors avec un manipulateur attaché sur une plateforme commune pour une tâche de manipulation. Dans [173], un contrôleur multi-couches est utilisé en utilisant le formalisme de Newton-Euler pour modéliser un système

5.2. Modèle dynamique inverse 101 avec une batterie en mouvement pour compenser le déplacement du centre de gravité du système quand le bras manipulateur est en mouvement.

Pour calculer le modèle dynamique des robots manipulateurs, nous allons utiliser le for-malisme d’Euler-Lagrange [186]. Pour cela, il est nécessaire de commencer par le calcul des expressions des énergies cinétique et potentielle du mécanisme. Le formalisme de La-grange présente plusieurs avantages, tels que :

• Il est systématique et de compréhension immédiate.

•Il fournit les équations du mouvement sous une forme analytique compacte contenant la matrice d’inertie, la matrice des forces centrifuges et Coriolis, et le vecteur des forces gra-vitationnelles. Une telle forme est avantageuse pour l’écriture du vecteur de commande. • Il est efficace si l’on souhaite inclure des effets mécaniques plus complexes tels que la déformation des segments flexibles.

Tandis que le formalisme de Newton–Euler présente un avantage fondamental sous l’égide d’une méthode intrinsèquement récursive efficace en termes de calcul. Ce formalisme est basé sur le principe des puissances virtuelles en dynamique pour un système de solides indéformables. Il consiste à calculer les forces des actionneurs en exprimant pour chaque corps rigide l’ensemble des efforts. En outre, le modèle dynamique inverse est obtenu systématiquement d’une manière récursive en appliquant le principe fondamental de la dynamique. Ces différents formalismes sont basés sur la mécanique classique des solides in-déformables et produisent des résultats identiques même si la méthodologie de traitement diffère d’une approche à l’autre en fonction de l’analyse structurelle [66].

Pour notre cas, le modèle dynamique duQ-PRRest établi avec la formulation de Lagrange (ou d’Euler-Lagrange) détaillée dans [186]. La fonction lagrangienne est exprimée par L = I − U ou I, U désignant respectivement l’énergie cinétique et l’énergie potentielle du système. Les équations de Lagrange sont données par :

d dt

∂L ∂ ˙ξi∂L

∂ξi =ui (5.1)

où i =1, ..., 6+n est la i-ème coordonnée du vecteur ξ, et ui de dimension ((6+n)×1)

est le vecteur généralisé des forces et moments appliqués par l’organe terminal. Dans ce cas, nous parlons du modèle dynamique inverse.

5.2 Modèle dynamique inverse

Le modèle dynamique inverse est la relation entre les couples appliqués aux actionneurs et les positions, vitesses et accélérations articulaires. L’objectif est d’exprimer les couples

pour la commande dynamique, obtenu par la relation suivante :

Γ =F(q, ˙q, ¨q, fext) (5.2) Le calcul du modèle dynamique inverse est utile pour la planification de trajectoire du système et l’implémentation des algorithmes de contrôle. Nous cherchons tout d’abord les énergies cinétiques et potentielles pour l’ensemble des composants du système, multirotor et manipulateur.