FR 2908293 A1 20080516 FR 0654922 A 20061115 1 DISPOSITIF ET PROCEDE DE SUIVI DU MOUVEMENT D'UN ETRE VIVANT DESCRIPTION Le sujet de cette invention est le suivi du mouvement d'un être vivant afin de le reproduire ou de le compléter ; une application envisagée aujourd'hui, mais qui n'est pas exclusive puisque beaucoup d'autres sont à envisager, est l'aide à la marche d'une personne à mobilité réduite, hémiplégique et donc possédant une seule jambe valide, ou d'une personne possédant une prothèse de jambe. On cherche alors à faire effectuer à la jambe invalide un mouvement complétant celui de la jambe valide pour donner une démarche aussi normale que possible. Une commande artificielle de mouvement d'une jambe invalide peut prendre plusieurs formes : chez le patient hémiplégique, on peut produire une stimulation électrique fonctionnelle sur les muscles de la jambe invalide à l'aide d'électrodes afin de les contracter et de créer ainsi le mouvement ; sur une prothèse, on peut faire une régulation du mouvement du genou artificiel, soit en le bloquant dans les phases où la personne qui en est équipée s'appuie sur lui, soit au contraire en le laissant très souple dans les phases où il ne doit pas freiner le mouvement. Il est alors tentant d'utiliser des capteurs de mouvements sur la jambe valide et de traiter leurs signaux de façon appropriée pour obtenir des instructions de commande du dispositif artificiel 2908293 2 placé sur la jambe invalide. Les articles de Williamson (Williamson, R.p.; Andrews, B.J.; Au, R.: "Contrai of neural prostheses. II. Event detection using machine learning "Proceedings of the RESNA" '96 Annual 5 Conference Exploring New Horizons... Pioneering the 21st Century, p. (291-3), 1996) et Pappas (Pappas I.P.I.; Keller, T.; Mangold, S.: "A reliable, gyroscope base gait phase detection sensor embedded in a shoe insole" Proceedings of IEEE Sensors 002. First IEEE 10 International Conférence on Sensors, p. 1085-8 vol.2, 2002) indiquent quelques façons de procéder. Des états discrets de la marche sont détectés sur les signaux des capteurs et permettent de fournir une commande de la jambe invalide, mais pas de coordonner parfaitement les 15 mouvements des deux jambes. L'objet de l'invention est donc de perfectionner les procédés existants pour obtenir une coordination ou une synchronisation meilleure des mouvements des deux jambes. 20 L'invention concerne un dispositif de suivi de mouvement d'un être vivant, comprenant un capteur fixé à l'être vivant et recueillant des signaux représentatifs de son mouvement, et un contrôleur artificiel de traitement des signaux du capteur, 25 caractérisé en ce que le contrôleur artificiel comprend un module de calcul contenant des paramètres exprimant un modèle de référence du mouvement et délivrant un signal de sortie fonction des signaux du capteur et du modèle de référence. De préférence, le module de calcul est un observateur numérique apte à délivrer un signal de 2908293 3 sortie conforme au modèle de référence de façon à régler le mouvement reproduit ou complété sur le modèle de référence. Avantageusement, le signal de sortie est 5 exprimé en variables d'état du mouvement relatives à une phase du mouvement. Un autre aspect de l'invention concerne un procédé de suivi de mouvement d'un être vivant apte à 10 accomplir seulement une portion effective du mouvement, le procédé consistant à mesurer continûment la portion effective du mouvement par au moins un capteur fixé sur l'être vivant, à traiter des signaux du capteur de façon à produire des instructions de commande pour 15 entraîner un dispositif accomplissant une portion complémentaire du mouvement, caractérisé en ce que les signaux sont traités en utilisant un modèle de référence du mouvement, le mouvement étant exprimé par des variables d'état, et délivrant un signal de sortie 20 en fonction des signaux du capteur et de valeurs instantanées des variable d'état, en utilisant le modèle de référence pour corriger une estimation des variables d'état qui seraient déduites directement des signaux du capteur. 25 Dans des formes de réalisation plus particulières, aptes à donner une synchronisation meilleure, le modèle de référence est obtenu dans une étape d'étalonnage en utilisant un filtre numérique apte à engendrer un cycle du mouvement filtré, défini 30 par des séries de valeurs prises par les variables d'état à des phases du mouvement, et en ajustant des 2908293 4 paramètres du filtre numérique pour ajuster le cycle du mouvement filtré sur un cycle du mouvement mesuré par le capteur, le cycle du mouvement filtré devenant alors le modèle de référence ; ou bien, le procédé utilise un 5 observateur numérique du filtre numérique. Une bonne façon de résoudre numériquement l'ajustement est obtenue si l'observateur numérique effectue continûment un ajustement d'un paramètre d'après des mesures du capteur en résolvant 10 numériquement une équation différentielle, et un ajustement d'au moins une des variables d'état d'après le paramètre intermédiaire. Dans ce cas particulier pour une marche à reconstituer, le capteur étant fixé à la cuisse de la 15 jambe valide, la portion effective du mouvement étant accomplie par la jambe valide, une bonne solution est représentée si les variables d'état sont une vitesse angulaire et une position angulaire de la cuisse portant le capteur (1). Une constitution possible du 20 dispositif est réalisée si le filtre numérique résout un système d'équations x2 = f1 (xi, x2) 25 pour engendrer le modèle de référence du mouvement, et l'observateur numérique résout un système d'équations i = f2(z, u) puis xi = f3 (z, u) où z est le paramètre intermédiaire qui dépend de xi et w2 les 30 variables d'état, xi une des variables d'état, u le signal, du capteur (1) et fir f2 et f3 des fonctions. 2908293 5 Ces aspects de l'invention ainsi que d'autres seront maintenant décrits en liaison aux figures suivantes . 5 - la figure 1 illustre le schéma d'implantation du procédé, - la figure 2 illustre le contrôleur artificiel, - la figure 3 illustre les représentations 10 d'un cycle de mouvements, - la figure 4 illustre les signaux du capteur, - la figure 5 illustre l'ajustement du modèle et des résultats expérimentaux, - et la figure 6 donne une fonction de commande. On passe à la description d'un mode de réalisation spécifique de l'invention pour une application particulière. Le schéma d'implantation du procédé est résumé à la figure 1. Il comprend au moins un capteur 1, fixé sur une personne que le procédé doit aider et qui est sensible au mouvement de son système musculo-squelettique 2. Le système comprend encore un 25 contrôleur artificiel 3 qui peut être porté aussi par la personne, et un dispositif moteur 4. Le capteur 1 peut notamment comporter des accéléromètres, inclinomètres, gyromètres, etc. mesurant une direction ou une inclinaison ; il peut être fixé à la cuisse de 30 la jambe valide du porteur dans le cas où c'est la démarche que le procédé doit améliorer, mais d'autres 15 20 2908293 6 capteurs peuvent être placés ailleurs, par exemple sur le tronc du porteur. Le nombre de capteurs 1 n'est pas critique, et un seul suffit souvent. Le contrôleur artificiel 3 réagit aux 5 mesures du capteur 1 pour calculer quel mouvement appliquer à la jambe invalide ; il estime les valeurs instantanées prises par des variables d'état du mouvement à partir des mesures du capteur 1 et élabore la commande appliquée au dispositif moteur 4. 10 La description porte maintenant plus précisément sur le contrôleur artificiel 3 au moyen de la figure 2. Le contrôleur artificiel 3 comprend trois modules en ligne : un module d'acquisition 5 et de numérisation du signal des capteurs 1 ; un module de 15 calcul 6 en temps réel et un module d'élaboration de la commande 7 qui fournit les instructions de commande au dispositif moteur 4. Le contrôleur artificiel 3 peut être relié à un micro-calculateur 8. Ce dernier reçoit des signaux numérisés provenant du module d'acquisition 20 5 et restitue des paramètres d'observateur au module de calcul 6, de la façon qui sera décrite plus loin. Le module d'acquisition 5 reçoit des signaux analogiques du capteur 1, envoie des signaux numérisés aussi au module de calcul 6, qui lui-même fournit des valeurs 25 instantanées des variables d'état du mouvement au module de commande 7. Lors de la mise en oeuvre du procédé selon 1 a présente invention, on distingue deux phases principales. La première phase est une phase 30 d'étalonnage destinée à paramétrer le module de calcul 6 en temps réel et éventuellement le module 2908293 7 d'élaboration de la commande 7. La phase d'étalonnage se décompose en quatre étapes décrites ci-après. La seconde phase est une phase d'utilisation, au cours de laquelle le module de calcul 6 en temps réel est 5 opérationnel. La présente invention vise à suivre un mouvement cyclique , telle la marche. Le signal détecté par chaque capteur utilisé doit être cyclique, ou autrement dit sensiblement périodique. 10 Lors d'une étape initiale de la phase d'étalonnage, on enregistre le signal mesuré par le capteur pendant une durée au moins égale à un cycle du signal détecté. On sélectionne alors une portion du signal enregistré d'une durée d'un cycle, ci-après 15 appelé signal de référence. On définit ensuite un modèle de type oscillateur permettant de générer un signal présentant sur un cycle donné une forme sensiblement identique au signal de référence. 20 Le modèle d'oscillateur E utilisé dans cette réalisation de la présente invention appartient à la classe des systèmes de Lure. Plus précisément, l'oscillateur est défini à partir d'un jeu d'équations utilisant des variables d'état, selon les formules 25 suivantes . x=A.x+f(y) y=C.x où x est un vecteur de variables d'état, .z est le vecteur dérivé de x, y un vecteur de variables 2908293 8 de sortie, f() une fonction non linéaire et A et C des matrices linéaires de paramètres. La définition de la fonction f et des matrices linéaires de paramètres se fait par un procédé 5 d'optimisation. Une fois le modèle E ajusté, on définit un système observateur E' associé au modèle E selon le système d'équations suivante : 10 Où z est une estimée du vecteur x, y est une estimée du vecteur de sortie y, et K une matrice linéaire de paramètres. La définition de K se fait en fonction du choix de A, C et f selon un procédé connu de l'homme de 15 l'art. Des exemples de définition sont donnés par la suite. On définit ensuite une fonction de commande w destinée à être mise en oeuvre par le module d'élaboration de la commande 7. Les instructions de 20 commande D sont fonction des valeurs de variables d'état estimées x selon la formule D=w(x). Une fois définis, le système observateur E' et la fonction de commande w sont respectivement transférés, ou autrement dit programmés, dans le module 25 de calcul 6 en temps réel et dans le module d'élaboration de la commande 7. Une fois cette phase d'étalonnage terminée, le micro-calculateur 8 peut être déconnecté. Le =A.z+ f(y)+K(-y) @=c.z 2908293 9 contrôleur artificiel 3 programmé peut désormais fonctionner de façon autonome. Lors de l'utilisation du contrôleur artificiel 3, le module de calcul 6 en temps réel 5 reçoit le signal mesuré par le capteur après numérisation. Le module de calcul 6 est un système observateur correspondant au système E' préalablement défini, dans lequel l'entrée y est désormais remplacée par la mesure u du capteur. Le système observateur du 10 module de calcul 6 peut donc être écrit selon la formule suivante . Un exemple détaillé de mise en oeuvre de la 15 présente invention est décrit ci-après. On se reporte à la figure 3. Un mouvement peut être défini par des variables d'état ; deux (xl et x2) peuvent suffire dans le cas de la marche, à savoir la position angulaire et la vitesse angulaire de la 20 cuisse. Une foulée complète, correspondant à deux pas consécutifs, est un cycle du mouvement qui est représenté par une courbe de modèle 9 fermée dont chaque point, ou chaque phase de la foulée, est défini par des valeurs instantanées de xl et x2. La courbe de 25 modèle 9 correspond au cycle que décriraient les variables d'état estimées x par le module de calcul 6 en temps réel si le signal de mesure u reçu par ce dernier correspondait au signal de référence défini ci-dessus. = Ai+ f(u)+K(ùu) @= Ci 2908293 10 Dans une marche réelle, chacune des foulées sera différente, mais en s'écartant de petites quantités seulement du modèle. Le signal du capteur 1 est à peu près périodique et pourra prendre l'aspect 5 représenté à la figure 4, où une courbe de mesure 10 donne son intensité en fonction du temps. La description porte maintenant plus précisément sur le module de calcul 6. Il sert à convertir les signaux issus du capteur 1 et mis en 10 forme par le module d'acquisition 5 en variables d'état du modèle retenu pour la marche. Le signal de du capteur 1 est numérisé par le module 5 avec une fréquence d'échantillonnage donnée. Le module 5 fournit une succession, ou suite, 15 d'échantillons de mesure u(n), où n correspond à un instant donné. Pour chaque échantillon u(n), le module de calcul 6 détermine des valeurs x(n) des variables d'état estimées. Chaque valeur x(n) n'est pas uniquement fonction de l'échantillon u(n) présent mais 20 également de l'historique des échantillons précédents. En se référant à la figure 3, chaque valeur x(n) des variables d'état estimées peut être représentée par un point du plan. Une courbe 19 représente un exemple de suite de valeurs de variables 25 d'état estimées obtenue pour une foulée imparfaite . Le système E' permet d'assurer une convergence de la courbe 19 vers la courbe modèle 9. Dans le cas particulier de l'invention appliquée à une marche, l'élément 1 peut être défini 30 au moyen du système d'équations (3) . 2908293 11 zl =x2 X2 =1u(1-bxl -x2 x? )x2 co2xl y = xi où , b et (00 sont réglés de façon optimale par le micro-calculateur 8 pour minimiser l'erreur 5 entre les résultats de calculs et les mesures pendant l'étape préliminaire d'étalonnage. La figure 5 donne, en superposition au profil de référence 11 représenté à la figure 4, mais avec une échelle différente, la courbe de la sortie (y) 12 de l'élément 1 et la 10 courbe d'erreur 13 entre les courbes 11 et 12. Afin de déterminer le système E', considérons la variable z définie par l'équation (4) z=x2+k1. y+k2 . y2+k3 . y3 . On obtient l'équation (5) en exploitant le système d'équations (3) . 15 = (,u + ki )x2 + (2.k2 -,u.b) xi .x2 + (3.k3 - ,u)xi - x2 - wô .xi En choisissant k1=- -1, k2= .b/2 et k3= /3, on obtient l'équation (6) . z=-z+(ki -co)y+k2.y2+k3.y3 qui, avec le système d'équations (7) . =y k3 y3 .v= 20 25 2908293 12 correspond au système observateur E'. Les coefficients k1r k2 et k3 sont obtenus à partir des valeurs de b, p et calculées par l'élément 1 à l'étape d'étalonnage. 5 Lors de l'utilisation du contrôleur artificiel 3, le module de calcul 6 reçoit le signal de mesure u. Le module de calcul 6 est alors un système observateur correspondant au système E' préalablement défini, dans lequel l'entrée y est désormais remplacée 10 par la mesure u du capteur. L'élément E' recalcule sans cesse la valeur de z après avoir calculé z selon l'équation (6), puis z2 d'après la seconde équation du système (7) et délivre en sortie des valeurs des variables d'état 15 x (x1, x2). Dans le cas présent, z2 correspond à une estimation de la vitesse angulaire et z1 à une estimation de la position angulaire. Nous soulignons que l'élément 1 , utilisé 20 pendant l'étape d'étalonnage pour donner les valeurs des coefficients et construire le modèle donnant les relations entre les variables d'état, reste inactif pendant l'utilisation de l'invention où seul l'élément l' travaille, alors que ce dernier était inerte 25 pendant l'étalonnage. Le micro-calculateur 8 est d'ailleurs retiré pendant cette utilisation, après avoir fourni les résultats au contrôleur artificiel 3. L'élément 1 sert à décrire le mouvement, l'élément l' à synchroniser la commande sur lui. 2908293 13 Tel est le système par lequel les variables d'état du mouvement sont calculées de façon continue, avec une bonne synchronisation avec les indications du capteur 1. Il faut remarquer qu'une reconstitution 5 parfaite des variables d'état serait obtenue seulement dans le cas où la démarche correspondrait exactement à la courbe modèle 9 pour chacune des foulées, ce qui n'est pas le cas en réalité, mais un autre effet de l'élément d'observation 1' est d'atténuer les erreurs 10 provenant de cette différence entre les foulées réelles et la foulée modélisée. Le module de commande 7 délivre des instructions de commande C en fonction des variables d'état estimées x(xl, x2). selon des formules telles 15 que D = w(x). La fonction w dépend entre autres du dispositif moteur 4 placé sur le membre invalide et de la nature de commande qu'il faut lui appliquer. Afin de définir le type de fonction w, pouvant s'appliquer pour des personnes hémiplégiques, 20 on peut par exemple utiliser le protocole expérimental suivant : on place sur une personne valide (autre que la personne invalide que l'on souhaite par la suite aider) un capteur de mouvement sur un de ses membres correspondant au membre de la personne invalide sur 25 lequel on va placer ultérieurement le capteur de mouvement ainsi qu'un capteur d'activité musculaire sur l'autre de ses membres. On observe alors au moins une foulée de la personne valide. Pour un cycle de mesure, on établit une correspondance entre les valeurs de 30 variable d'état estimées (à partir du signal de mesure correspondant) et les mesures d'activités musculaires 2908293 14 relevées par le capteur d'activité musculaire. Par ailleurs, on peut définir une correspondance entre chaque mesure d'activité musculaire du membre valide de la personne valide et une valeur de paramètres de 5 stimulation du membre invalide de la personne invalide permettant de retrouver la mesure d'activité musculaire correspondante . Ainsi, on peut définir la fonction w, par exemple, sous la forme d'une table de correspondance associant à chaque valeur de variable 10 d'état estimée x une commande correspondant aux paramètres de stimulation susmentionnés. La commande se fait d'après chaque phase du cycle. La figure 6 donne un exemple concret d'après le cycle de la figure 3, pour des points correspondant à 15 A, B, C ou D de ce groupe et un point quelconque S. Par ailleurs, afin de tenir compte des différences entres les individus, la fonction w susmentionnée pourra être paramétrée de façon à pouvoir régler notamment l'amplitude des mouvements de la 20 personne invalide. La définition de tels paramètres pourra alors se faire lors de la phase d'étalonnage. Selon une variante de réalisation du dispositif décrit ci-dessus et représenté en figure 2, le contrôleur artificiel 3 ne contient pas de module de 25 numérisation. Le signal reçu par le module de calcul 6 en temps réel est alors analogique. Le module de calcul 6 et le module 7 sont alors des dispositifs analogiques. Les avantages principaux de l'invention 30 sont donc le caractère continu de la commande qui aboutit à une synchronisation bien meilleure, la 2908293 15 stabilité de l'oscillateur et la facilité de mise en oeuvre. Le procédé a été décrit dans le cas d'une personne invalide, et plus particulièrement une 5 personne hémiplégique. D'autres applications sont possibles. On pourra par exemple commander un robot, éventuellement par télé-opération, à partir des commandes émises par le module 7. Ce robot peut par 10 exemple suivre la personne sur laquelle est placé le capteur 1 afin de l'assister dans ces mouvements. REVENDICATIONS 1) Dispositif de suivi de mouvement d'un être vivant, comprenant un capteur fixé à l'être vivant et recueillant des signaux représentatifs de son mouvement, et un contrôleur artificiel (3) de traitement des signaux du capteur, caractérisé en ce que le contrôleur artificiel (3) comprend un module de calcul (6) contenant des paramètres exprimant un modèle de référence du mouvement et délivrant un signal de sortie fonction des signaux du capteur et du modèle de référence. 2) Dispositif de suivi de mouvement selon la revendication 1, caractérisé en ce que le module de calcul (6) est une observateur numérique apte à délivrer un signal de sortie conforme au modèle de référence. 3) Dispositif de suivi de mouvement selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que le signal de sortie est exprimé en variables d'état du mouvement relatives à une phase du mouvement. 4) Dispositif de suivi de mouvement selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comprend un calculateur (8) d'étalonnage, délivrant des paramètres du modèle de référence au module de calcul (6) en fonction d'au moins une série préliminaire de signaux du capteur. 5) Dispositif de suivi du mouvement selon la revendication 4, caractérisé en ce que le calculateur (8) est séparable du contrôleur artificiel (3). 2908293 17 6) Dispositif de suivi du mouvement selon l'une quelconque des revendications 4 ou 5, caractérisé en ce que le calculateur comporte un filtre numérique de la série préliminaire des signaux du capteur. 5 7) Dispositif de suivi du mouvement selon la revendication 6, caractérisé en ce que le filtre numérique est conforme à un oscillateur selon un système de Lure. 8) Dispositif de suivi du mouvement selon 10 l'une quelconque des revendications 1 à 7, caractérisé en ce que le capteur (1) mesure une vitesse angulaire et une position angulaire. 9) Dispositif de suivi du mouvement selon l'une quelconque des revendications 1 à 8, caractérisé 15 en ce qu'il comprend un module d'élaboration d'une commande (7) pour compléter ou reproduire le mouvement par un dispositif moteur. 10) Procédé de suivi de mouvement d'un être vivant, le procédé consistant à mesurer 20 continûment une portion effective du mouvement par un capteur fixé sur l'être vivant, à traiter des signaux du capteur de façon à produire des instructions de commande pour entraîner un dispositif accomplissant une portion complémentaire du mouvement, caractérisé en ce 25 que les signaux sont traités en utilisant un modèle de référence du mouvement, exprimé par des variables d'état, et délivrant un signal de sortie fonction des signaux du capteur et de valeurs des variables d'état, en utilisant le modèle de référence pour corriger une 30 estimation des variables d'état qui seraient déduites directement des signaux du capteur. 2908293 18 11) Procédé de suivi de mouvement selon la revendication 10, caractérisé en ce que le modèle de référence est obtenu dans une étape d'étalonnage en utilisant un filtre numérique (1) apte à engendrer un 5 cycle du mouvement filtré, défini par des séries de valeurs prises par les variables d'état à des phases du mouvement, et en ajustant des paramètres (b, coo) du filtre numérique pour ajuster le cycle du mouvement filtré sur un cycle du mouvement mesuré par le capteur 10 (1), le cycle du mouvement filtré devenant alors le modèle de référence. 12) Procédé de suivi de mouvement selon la revendication 11, caractérisé en ce qu'il utilise un observateur numérique (1') du filtre numérique (1). 15 13) Procédé de suivi de mouvement selon la revendication 12, caractérisé en ce que les variables d'état comprennent deux variables d'état (xi, x2) déductibles l'une de l'autre par une dérivation 20 temporelle. 14) Procédé de suivi de mouvement selon la revendication 13, caractérisé en ce que les variables d'état représentent une position et une vitesse. 15) Procédé de suivi de mouvement selon la 25 revendication 12, caractérisé en ce que l'observateur numérique (1') effectue continûment un ajustement d'un paramètre intermédiaire (z) d'après des mesures (u) du capteur (1) en résolvant numériquement une équation différentielle (6), et un ajustement d'au moins une des 2908293 19 variables d'état (z2) d'après le paramètre intermédiaire. 16) Procédé de suivi de mouvement selon l'une quelconque des revendications 10 à 15, 5 caractérisé en ce que le mouvement est une marche. 17) Procédé de suivi de mouvement selon les revendications 14 et 16, caractérisé en ce que les variables d'état sont une vitesse angulaire et une position angulaire d'une cuisse portant le capteur (1). 10 18) Procédé d'aide au mouvement selon les revendications 15 et 17, caractérisé en ce que le filtre numérique (1) résout un système d'équation 15 I.x = X2 z2 = f1 (xi, x2) pour engendrer le modèle de référence du mouvement, et l'observateur numérique (1) résout un 20 système d'équations i = f2(z, u) puis xi = f3 (z, u) où z est le paramètre intermédiaire qui dépend de xi, x1 et x2 les variables d'état, xi une des variables d'état, u le signal, du capteur (1) et fir f2 et f3 des fonctions.