• Aucun résultat trouvé

3.2. 3 Linéarisation locale

Afin de générer des mouvements plus souplement, une autre méthode numérique consiste à effectuer une linéarisation locale de la fonction cinématique f (cf. Éq. 3.8). Cette solution

consiste à linéariser la fonction f au voisinage de la configuration de la chaîne à un instant

donné [Whitney1969].

Pour cela, une matrice JacobienneJ rassemble les dérivés partielles des M positions cartésiennes

des effecteursX en fonction des N degrés de liberté Θ telle que

J =     ∂f(x1) ∂θ1 ∂f(x1) ∂θ2 . . . ∂f(x∂θ1) N ... ... ... ... ∂f(xM) ∂θ1 ∂f(xM) ∂θ2 . . . ∂f(xM) ∂θN     (3.11)

Les variations angulaires sont alors reliées à celles de l’effecteur par la relation

∆X = J(∆Θ). (3.12)

En inversant cette expression, le problème de cinématique inverse peut être résolu par linéarisa-tion locale avec

∆Θ = J−1(∆X). (3.13)

Cependant, la matrice J n’est pas toujours inversible puisqu’elle doit pour cela être carrée et

non singulière. Or, le corps humain possède généralement beaucoup plus de degrés de liberté (Θ) que l’utilisateur ne fixe de contraintes (X). C’est d’ailleurs le cas de la chaîne cinématique modélisant les membres inférieurs puisqu’elle possède onze degrés de liberté pour six contraintes. Dans ces circonstances, le système est dit sous-contraint et l’inverse de la matrice jacobienne (J−1) ne peut être déterminé. C’est alors la pseudo inverse de Moore Penrose [Penrose1955] notéeJ+ qui est utilisée [Greville1959] et lorsque M est inférieur à N

J+ = JT(JJT)−1. (3.14)

La résolution par linéarisation locale du problème de cinématique inverse (Éq. 3.13) devient alors

∆Θ = J+(∆X). (3.15)

En outre, pour des systèmes sous-contraints, la pseudo inverse est optimale c’est-à-dire qu’il existe au moins une solution et qu’elle sélectionne celle dont la norme euclidienne est minimale [Klein1983]. Pour en choisir une autre, une forme plus générale permet de tenir compte de la redondance des solutions [Liegeois1977]. La solution générale est alors donnée par l’équation

∆Θ = J+(∆X) + PN(J)∆α (3.16)

PN(J) est l’opérateur de projection dans l’espace nul de J de dimension N-M c’est-à-dire le

noyau des solutions de la tâche principale J+(∆X) ; PN(J) est égal à I − J+J où I est la matrice

identité. ∆α est un vecteur de recherche de dimension N dans l’espace articulaire. Ce vecteur permet d’exprimer un ensemble de contraintes supplémentaires appelé tâche secondaire sans remettre en question la réalisation de la tâche principale.

La tâche secondaire permet en fait de sélectionner des solutions réalistes au sens du mou-vement humain. Diverses tâches secondaires ont été proposées comme la minimisation de la distance à une posture d’origine [Wang1999], le respect des butées articulaires [Girard1985], la minimisation de l’énergie mécanique [Nicolas2007b], le contournement des singularités dans la chaîne cinématique [Sciavicco1988] ou encore le respect de la cinétique de la marche bipède [Boulic1994]. Lorsque plusieurs tâches sont associées, il est alors nécessaire de définir leur in-fluence respective. Deux approches se distinguent : l’une leur attribue des priorités et l’autre consiste à pondérer chacune des contraintes.

– L’approche par priorité des contraintes [Hanafusa1981, Baerlocher1998, Baerlocher2004] pré-sent l’avantage de respecter strictement la tâche de plus haute priorité si elle est réalisable, tandis que les autres sont respectées au mieux sans remettre en question la première. La notion de priorité est très forte et l’agencement des tâches secondaires est primordial. Si cette technique semble adaptée aux contraintes d’égalité comme l’atteinte d’une cible, elle est difficilement applicable dans le cadre des contraintes d’inégalité comme les minimisations. – L’approche par pondération paraît quant à elle plus appropriée aux contraintes d’inégalité. À l’inverse de la première, cette méthode conduit à un compromis ; aucune des tâches se-condaires n’est vraiment respectée. Elle permet en outre de gérer un plus grand nombre de tâches. Les pondérations sont alors affectées à chacune des tâches afin d’obtenir finalement un mouvement réaliste.

Notons que les méthodes de résolutions de cinématique inverse posent un problème supplé-mentaire. En effet, si la solution sélectionnée vérifie des contraintes cinématiques, elle peut transgresser les lois de la physique. Toutefois, la conservation de l’équilibre par exemple peut être vérifiée par la projection du CoM dans le polygone de sustentation. En outre, des méthodes de cinétique inverse permettent d’assurer le contrôle de la position du CoM en situations quasi statiques [Phillips1991, Boulic1996, Kulpa2005].

• • • • • • •

Finalement, la résolution par linéarisation locale paraît répondre au problème de cinématique inverse posé par la chaîne cinématique modélisant les membres inférieurs. Même si ce système est sous-contraint, 11 degrés de liberté pour six contraintes liées aux effecteurs, l’utilisation de la pseudo inverse de la matrice jacobienne propose une solution pertinente. Cette résolution offre en effet l’avantage de respecter strictement une tâche principale, le respect des contraintes par les effecteurs, tout en laissant la possibilité d’ajouter des contraintes secondaires. Bien que cette méthode ne soit valide que pour de petites variations, l’algorithme peut être intégré dans une boucle de manière à s’approcher du but par petits déplacements successifs et offrir une solution valide.

Pour la simulation de la marche pathologique, l’atout majeur de cette approche réside dans sa capacité à tenir compte de paramètres secondaires. L’intégration des spécificités de la marche d’un individu et de sa pathologie est envisageable tout en laissant la possibilité de tester des hypothèses de marche. La suite de ce chapitre décrit donc l’application de cette méthode de résolution à notre chaîne cinématique et au type de mouvement à générer : la marche hémiplé-gique.

3.3 Application de la cinématique inverse à la marche

hé-miplégique

Au vu des méthodes présentées dans la section précédente, le problème de cinématique inverse posé par la chaîne décrite dans la section3.1 est résolu par une méthode de linéarisation locale. L’application de cette approche vise à modéliser le mouvement de marche hémiplégique et né-cessite de définir quatre éléments :

– la matrice jacobienne liée à la modélisation des membres inférieurs, – la tâche principale,

– les tâches secondaires modélisant un mouvement de marche biomécaniquement réaliste, – les tâches secondaires modélisant la pathologie.

3.3.1 Matrice jacobienne de la chaîne cinématique

La chaîne cinématique modélisant les membres inférieurs est composée de 6 segments, de 11 degrés de liberté et a pour effecteurs les deux extrémités de la chaîne : les chevilles droite et gauche. Autrement dit, il s’agit d’un système sous-contraint ∆X = J(∆Θ) où M est égal à 6, N égal à 11. D’après les Éq. 3.5, 3.6 et 3.11, la matrice jacobienne est égale à

J =     ∂f(xcg) ∂θxp ∂f(xcg) ∂θyp . . . ∂f(xcg) ∂θzgd ... ... ... ... ∂f(zcg) ∂θxp ∂f(zcg) ∂θyp . . . ∂f(z∂θ cg) zgd     (3.17)

Lorsque les angles des degrés de liberté sont nuls, le squelette numérique est en posture de référence. La chaîne articulaire représente alors la structure à animer. Pour cela, la pseudo inverse de la matrice jacobienne permet le calcul des angles articulaires en fonction des contraintes imposées au système ; il s’agit de la tâche principale. Cependant, nous l’avons vu (cf. sous-section 3.2.3), les solutions fournies sont de normes euclidiennes minimales et rien n’assure qu’elles vérifient des contraintes telles que les butées articulaires ou des trajectoires valides au sens de la biomécanique. Pour pallier à cet effet, la tâche secondaire est ajoutée afin de rendre le mouvement de marche réaliste et de tenir compte de la pathologie. La résolution de la cinématique inverse s’écrit alors

∆Θ = J+(∆X) + PN(J)∆α (3.18)