Procédé et système de commande dynamique d'un élément à retour d'effort.
La présente invention relève du domaine de la transmission de retour d'effort à distance, notamment dans le cadre du développement de mondes virtuels répartis et du développement de moyens de téléprésence. De la même façon que les techniques de codage de vidéo numérique s'appuient sur les connaissances de la perception visuelle, et les techniques de reconnaissance vocale sur les connaissances de l'ouïe, les techniques haptiqués . (du grec haptos : la main) s'appuient sûr les connaissances des gestes.
Il existe deux sortes de gestes fins réalisables avec la main : les gestes balistiques, comme déplacer la main vers un verre pour le saisir et les gestes avec contre-réactions du toucher, comme celui qui permet après saisie du verre et fermeture de la pince pouce-doigts, de porter le verre à sa bouche. Le cerveau est alors informé en permanence de la force avec laquelle la main enserre le verre, de son poids qui dépend de la quantité de liquide. Le cerveau réagit alors en donnant l'ordre moteur de "pincer" suffisamment ce verre pour qu'il ne tombe pas, mais pas trop toutefois, pour ne pas le casser, ni dépenser une énergie inutile.
Les gestes balistiques activent l'arc moteur mais ils n'activent pas l'arc sensitif en retour du toucher. Le retour d'informations peut être une représentation visuelle de l'espace, mais aussi une carte gestuelle, c'est-à-dire une représentation mentale apprise ou innée câblée dans le cerveau et qui génère automatiquement la séquence des ordres moteurs des muscles de l'épaule, du bras, de la main pour réaliser ce geste balistique en fonction d'une certaine représentation mentale de l'espace, notamment de la distance présumée main- verre.
Pour les gestes balistiques, il est suffisant de transmettre au cerveau les informations sur le geste avec une fréquence d'échantillonnage de 100 Hz. Cela signifie que si on envoie un échantillon du signal toutes les 10 ms, le signal transmis contiendra toute l'information pertinente du geste balistique.
Les gestes avec contre-réactions du toucher activent en même temps l'arc moteur et l'arc sensitif. Le cerveau ferme la boucle et le cycle complet chez l'hornrne dure moins de 1 ms. La bande passante des neurones sensitifs situés dans les bouts des doigts, c'est-à-dire la fréquence maximale du signal mécanique que ces neurones sont capables de détecter et de transmettre au cerveau, est supérieure à 500 Hz. Si on veut pouvoir coder dans un ordinateur un geste fin, il faut que le système à retour d'efforts utilisé ait lui-même une fréquence de fonctionnement élevée, au moins égale, d'après le théorème de Shannon, au "double de la bande passante des doigts.
Dans la pratique, les systèmes à retour d'efforts sur une machine locale fonctionnent à une fréquence typique de 1 kHz en boucle fermée locale, c'est-à-dire qu'une rétroaction est calculée puis exercée sur leurs moteurs puis perçue par la main toutes les 1/1000 de seconde. Cela permet d'éviter l'effet dit de la "brosse à dents électrique" : l'instrument que l'on tient en main ne doit pas donner l'impression de vibrer.
Cette fréquence de 1 kHz résulte du compromis suivant : elle ne doit être ni trop basse pour pouvoir restituer finement l'impression tactile, ni trop haute pour laisser suffisamment de temps à l'ordinateur pour calculer la force de contre-réaction qui va représenter, dans le monde virtuel mécanique, la simulation fine du geste effectué.
Si maintenant on désire transmettre via un réseau de télécommunications, des gestes fins codés par le système à retour d'efforts et des gestes fins avec contre-réactions, le problème se complique du fait de la latence généralement bien supérieure introduite par le réseau lui- même.
Ainsi, la latence en technologie RNIS est de 30 ms, en technologie ADSL de l'ordre de 200 ms, et sur Internet elle peut atteindre 6 s ou même provoquer le rejet pur et simple du message. Sur ADSL et Internet, la latence varie du fait de la nature asynchrone des réseaux. La
cadence de 1 kHz est donc beaucoup trop élevée pour pouvoir être maintenue si la boucle fermée inclut un aller-retour via le réseau - le geste est codé puis transmis via le réseau, il est appliqué à un objet distant, la contre-réaction de cet objet est à son tour codée et transmise en retour via le réseau -.
Un geste balistique peut être transmis avec un retard de l'ordre de grandeur de 10 ms. En effet, la vue est un sens monodirectionnel : l'oeil est une sorte de caméra enregistrant une scène et le cerveau, à une tolérance près, peut percevoir avec un léger retard le film visuel précis sans perturber l'exécution du geste.
Au contraire, un geste fin avec contre-réaction nécessite de boucler en moins d'une milliseconde, l'aller-retour de décision de l'intensité de la force à exercer :
- émission de l'ordre au muscle via l'arc sensitif moteur, - action mécanique de la main sur le verre,
- sensation du toucher du verre (augmentation de la pression de contact) au niveau des bouts des doigts, et
- retour vers le cerveau via l'arc sensitif tactile de cette information pour permettre au cerveau de décider l'ajustement de la force de la "pince".
Elle est donc inapplicable sur les réseaux asynchrones à messages du type Internet ou ATM, UMTS, qui se caractérisent par un délai de transmission variable, et un rejet si le message se perd ou met trop de temps à traverser le réseau. Le problème de la cadence trop élevée des systèmes à retours d'efforts est exacerbé sur ces réseaux asynchrones, pour lesquels :
- les messages peuvent se perdre, ne pas aboutir, ou être rejetés si l'accusé de réception tarde trop (TCP/IP),
- les messages qui arrivent à bon port mettent un délai variable pour traverser le réseau,
- ils n'arrivent pas forcément dans l'ordre où ils ont été émis,
- il n'existe pas d'horloge commune exacte à la milliseconde près entre deux machines.
L'invention propose de remédier aux inconvénients des systèmes de l'art antérieur.
L'invention propose un système de commande d'un élément à rétroaction situé à distance susceptible de fonctionner avec transmission de données sur réseaux tant synchrones ou qu'asynchrones, de retard connu ou indéterminé. Le système de commande dynamique, selon un aspect de l'invention, est destiné à un élément à retour d'effort apte à interagir avec un autre élément, du type à constante de temps inférieure à celle liée à une commande à distance. Le système comprend un modèle local pour le calcul d'une consigne destinée à l'élément à retour d'effort à partir d'une variable mesurée par l'élément à retour d'effort, de variables intrinsèques à l'élément à retour d'effort, d'une variable de raideur, d'une variable de viscosité et d'une estimation d'une interaction extérieure sur l'élément à retour d'effort, et d'une variable d'état de l'élément à retour d'effort, un modèle distant pour l'estimation des interactions", d'une variable de raideur, d'une variable de viscosité et des variables d'état de l'autre élément avec mise à jour lors de la réception de données reçues d'un autre système situé à distance, et un moyen de recalage apte à émettre un message de recalage vers ledit autre système.
On effectue ainsi une simulation locale du comportement de l'élément distant.
Avantageusement, le système comprend un modèle fantôme pour effectuer une estimation des variables d'état de l'élément à retour d'effort et recaler ladite estimation à réception du message de recalage. Le modèle fantôme permet de simuler localement le modèle distant du système de commande distant.
Dans un mode de réalisation de l'invention, le moyen de recalage comprend un moyen de comparaison de l'estimation des variables d'état provenant du modèle fantôme et de variables d'état provenant du modèle local de façon qu'en cas de différence supérieure à un seuil prédéterminé, le moyen de recalage émette un message de recalage vers le modèle fantôme et vers l'autre système.
Dans un mode de réalisation de l'invention, le système comprend un moyen d'extrapolation pour traiter un message de recalage provenant de l'autre système et pour mettre à jour le modèle distant.
L'invention propose également un ensemble de commande
dynamique de deux éléments à retour d'effort situés à distance l'un de l'autre. Chaque élément est pourvu d'un système de commande comprenant un modèle local pour le calcul d'une . consigne destinée à l'élément à retour d'effort à. partir d'une variable mesurée par l'élément à retour d'effort, de variables intrinsèques à l'élément à retour d'effort, d'une variable de raideur, d'une variable de viscosité et d'une estimation d'une interaction extérieure sur l'élément à retour d'effort, et d'une variable d'état de l'élément à retour d'effort, un modèle distant pour l'estimation des interactions, d'une variable de raideur, d'une variable de viscosité et des variables d'état de l'autre élément avec mise à jour lors de la réception de données reçues d'un autre système situé à distance, et un moyen de recalage apte à émettre un message de recalage vers ledit autre système.
L'invention propose également un procédé de commande dynamique d'un élément à retour d'effort apte à interagir avec un autre élément, dans lequel on effectue une modélisation locale pour obtenir une consigne destinée à l'élément à retour d'effort à partir d'une variable mesurée par ledit élément à retour d'effort, de variables intrinsèques audit élément à retour d'effort, d'une estimation d'une interaction extérieure sur l'élément à retour d'effort, d'une variable de raideur, d'une variable de viscosité, et d'une variable d'état de l'élément à retour d'effort; on effectue une modélisation distante des interactions, d'une variable de raideur, d'une variable de viscosité et des variables d'état de l'autre élément avec mise à jour lors de la réception de données reçues d'un autre système situé à distance; on élabore et on émet vers ledit autre système un message de recalage.
Avantageusement, on effectue une modélisation fantôme des variables d'état de l'élément à retour d'effort avec recalage à réception du message de recalage. Dans un mode de réalisation de l'invention, lors du recalage, on compare l'estimation de variables d'état issues de la modélisation fantôme et de variables d'état issues de la modélisation locale de façon qu'en cas de différence supérieure à un seuil prédéterminé, on émette un message de recalage en vue d'une nouvelle modélisation fantôme, et vers l'autre système.
Dans un mode de réalisation de l'invention, on effectue une extrapolation pour traiter un message de recalage provenant de l'autre système et effectuer une mise à jour de la modélisation distante.
Dans un mode de réalisation de l'invention, la variable de raideur est relative à la raideur selon un axe Z normal à une surface élémentaire reconstruite appartenant à une modélisation de la surface. La surface réelle sera la surface d'un objet en contact avec l'élément à retour d'effort. Le système distant comprend une modélisation distante de la surface. La variable de raideur est calculée par le modèle local à partir de données de position et de force fournies par des capteurs adéquats de l'élément à retour d'effort, puis envoyée au système distant. De même, la variable de viscosité sera relative à la viscosité selon l'axe Z et sera calculée par le modèle local à partir de données de position et de force fournies par lesdits capteurs, puis envoyée au système distant. Dans un mode de réalisation de l'invention, on calcule une variable représentative de la viscosité tangentielle de l'élément à retour d'effort par rapport à l'autre élément. On peut ainsi affiner considérablement la précision et la justesse du retour d'effort.
L'invention concerne également un programme d'ordinateur comprenant des moyens de code programme pour mettre en œuvre les étapes du procédé, lorsque ledit prograrnnie fonctionne sur un ordinateur.
L'invention concerne également un support capable d'être lu par un dispositif de lecture de moyens de code programme qui s'y trouvent stockés et qui sont aptes à la mise en œuvre des étapes du procédé, lorsque ledit programme fonctionne sur un ordinateur.
La présente invention s'applique de façon avantageuse à des systèmes bidirectionnels, par exemple des jeux vidéo avec poignées de commande pourvues d'actionneurs pour le retour d'effort, à la télé- échographie robotisée qui peut être utilisée dans le domaine de l'obstétrique et des examens abdominaux.
Dans le cas de l'échographie, la peau du patient ou de la patiente est généralement enduite d'un gel pour une transmission convenable des ultra sons. La sonde échographique pourra être manipulée à distance par un opérateur. En raison de la présence du gel, les composantes de force exercée par le patient ou la patiente sur la sonde peuvent être considérées
comme normales à la surface locale de la peau. La sonde possède 6 degrés de liberté avec une contre réaction de force selon les trois axes d'un repère tridimentionnel et une contre réaction de couple également selon les trois axes d'un repère tridimensionnel. Le système peut également s'appliquer à des jeux de combat à distance, d'escrime, ou encore à des applications industrielles du genre télé-usinage.
La présente invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description détaillée de quelques modes de réalisation pris à titre d'exemple nullement limitatifs et illustrés par les dessins annexés, sur lesquels : les figures 1 et 4 sont des vues schématiques de systèmes selon deux modes de réalisation de l'invention; la figure 2 est une vue détaillée d'une variante de la figure 1; la figure 3 sont des courbes de certains paramètres du système; la figure 5 est une vue schématique de la reconstruction en un point; et la figure 6 est un organigramme des étapes du procédé. Comme on peut le voir sur la figure 1 , un ensemble de jeux où des joueurs Jl et J2 comparent leur force à distance - jeu souvent appelé "bras de fer" - comprend une poignée PI pour le joueur Jl et une poignée P2 pour le joueur J2. Chaque poignée PI, P2 est reliée à une interface II, 12 comprenant un moyen pour exercer une force sur la poignée PI, P2, par exemple un actionneur du genre vérin électrique, et un moyen pour mesurer la force exercée par le joueur Jl, J2 sur la poignée PI, P2, par exemple un capteur de couple ou encore une jauge de contrainte, et au moins un capteur de position, de type angulaire ou linéaire, de préférence bon marché car sa précision peut être faible. L'interface II, 12 comprendra également une carte d'acquisition reliée au moyen d'exercice d'une force, au moyen de mesure de force et au capteur de position, et capable d'échanger des données numériques avec un autre système numérique tel qu'un ordinateur. Les données numériques envoyées par l'interface II, 12 comprennent un vecteur force ou couple et un vecteur position ou déplacement. Dans le cas de capteurs de position angulaire, les données numériques envoyées par l'interface II, 12 comprennent des angles α,β,γ. Chaque interface II , 12 est reliée à un système de commande S 1 ,
S2. Dans le cas illustré ici, les systèmes SI et S2 sont identiques. Seul le système SI sera décrit. Toutefois, on peut envisager des modes de réalisation dans lesquels l'un des deux systèmes est de structure simplifiée par rapport à l'autre. De façon générale, le système S 1 peut se présenter sous la forme d'un ordinateur, du genre ordinateur personnel généralement pourvu d'au moins un micro-processeur, de mémoires rémanente et non rémanente, d'un bus de communication, de ports d'entrée et de sortie et d'un ou plusieurs logiciels stockés en mémoire et aptes à être exécutés par le micro-processeur.
Le système S 1 est relié d'une part à l'interface II par exemple par un bus de type RS 232 et au système S2 par un réseau de communication référencé 3 dans son ensemble et qui pourra être de type synchrone par exemple RNIS ou asynchrone, de type ATM, UMTS ou encore Internet (TCP/IP). Le système SI est situé à proximité du joueur Jl, par exemple dans la même pièce. Le système S2 est situé à distance du système SI, distance qui peut aller de quelques mètres à quelques milliers de kilomètres. En d'autres termes, le système S 1 , l'interface II , la poignée PI et le joueur Jl sont disposés de façon locale tandis que le système S2, l'interface 12, la poignée P2 et le joueur J2 sont disposés de façon distale par rapport aux précédents.
Plus précisément, le système S 1 comprend un modèle local ML1 apte à envoyer une consigne à l'interface II et à recevoir de ladite interface Il une variable mesurée par l'interface II, par exemple la position X de la poignée P 1 et le force subie. La consigne peut être une variable de force ou de couple et est notée Fe. Le modèle local ML1 calcule une variable de raideur k = Gy3/y3 avec Gy3 la force exercée sur poignée PI selon un axe Y3 et y 3 la position de la poignée PI selon l'axe Y3 et une variable de viscosité λ = Gy3/Vy3 avec G-,3 la force exercée sur poignée PI selon un axe Y3 et Vy3 la vitesse de la poignée PI selon l'axe Y3, obtenue par dérivation de y3. L'axe Y3 peut être pris comme étant la direction principale de la force G = (Gyl,Gy2,Gy3).
Le système S I comprend un modèle distant MD2 prévu pour estimer un état du modèle local ML2 du système S2. Le modèle distant MD2 du système SI est apte à recevoir des données en provenance du
système S2, à recevoir des données en provenance du modèle local MLl et à émettre des données vers le modèle local MLl . Plus particulièrement, le système SI comprend un extrapolateur EXT2 recevant des données en provenance du système S 2 par l'intermédiaire du réseau de communication 3 pour traiter un message de recalage provenant du système S2 et transmettre des données de mise à jour au modèle distant MD2 en fonction du message de recalage reçu en dernier.
Le système S 1 comprend un écran El relié au modèle local MLl pour l'affichage de données issues du modèle local MLl , par exemple une courbe retraçant l'évolution des forces exercées et des positions des poignées PI et P2.
Le système S 1 comprend un recaleur RI recevant des données du modèle local MLl et apte à envoyer des données de sortie à destination du système S2, en particulier à destination de l'extrapolateur EXT1 du système S2. Le recaleur RI est apte à effectuer une préparation de données pour les émettre sous la forme d'un message de recalage qui pourra comprendre une date, la position X de la poignée P 1 , la force F exercée sur la poignée PI à ladite date ainsi que la force exercée sur la poignée PI à une date antérieure. Le système S 1 comprend, en outre, un modèle fantôme MF1 qui reçoit également les messages de recalage en provenance du recaleur RI du système SI et qui effectue une estimation des variables d'état de l'interface II d'après les messages de recalage émis par le recaleur RI et reçu par le système S2. En d'autres termes, le modèle fantôme MF1 effectue une estimation d'après les mêmes données que celles reçues par le modèle distant MD 1 du système S2. Ainsi, le modèle fantôme MF1 permet de modéliser les variables de l'interface II telles qu'elles sont odélisées par le système S2.
La sortie du modèle fantôme MF1 est reliée au recaleur RI qui compare l'estimation des variables d'état provenant du modèle fantôme
MF1 et les variables d'état provenant du modèle local MLl. En cas de différence supérieure à un seuil prédéterminé, le recaleur RI émet un message de recalage destiné au modèle fantôme MF1 et à l'extrapolateur EXT1 du système S2. Ainsi, le volume de données échangé entre les systèmes S 1 et S2 est relativement réduit dans la mesure où un message de
recàlage n'est émis que si l'un des deux systèmes S 1 , S2 estime que l'autre système S2, SI n'est plus en mesure d'estimer convenablement, ces variables d'état.
La figure 2 illustre un autre mode de réalisation de l'invention, dans le domaine de l'échographie. Pour l'opérateur Jl, le vecteur d'état X se décompose en trois parties : Xe variable située à l'interface avec la poignée PI , Xm variable interne au modèle mécanique de l'opérateur Jl et X1 variable d'interaction située à l'interface avec le patient J2. De façon analogue, la variable associée de force ou de couple F se décompose en : Fe force exercée par l'opérateur Jl sur la poignée P 1 , F111 force exercée par la pesanteur, les autres objets, et la force F1 exercée par l'opérateur Jl sur le patient J2. De manière analogue, le vecteur d'état Y du patient J2 se décompose en Y'e, Y'met Y'1 et le vecteur associé de force de couple G se décompose en G'e, G'm, et G 1. L'opérateur Jl et le patient J2 sont en contact virtuel. On a donc X1 = Y1. La loi de l'action et de la réaction donne
: F1 + G'1 = 0.
A chaque pas de temps, l'interface II capte la position Xe n et la transmet au modèle local MLl. L'interface II reçoit la force de consigne Fe n en provenance du modèle local MLl et commande son ou ses actionneurs avec la force de contre-réaction - Fe n. De façon analogue, l'interface 12 capte la position Y'e n et la force Gmesurée et *es transrrιet an modèle local ML2 et reçoit la force G'e n du modèle local ML2 et commande son ou ses actionneurs avec le force de contre-réaction - G'e n.
Au début de l'instant n +1 , le modèle local MLl reçoit la position Xe n + 1 de l'interface 11 , l'estimation d'interaction Gn l +l du modèle distant
MD2, les variables de raideur k et de viscosité λ en provenance du modèle distant MD2, et les variables intrinsèques préenregistrées Fm n +j_. Le modèle local MLl calcule la force exercée par le joueur Jl sur le joueur J :F1 n+^ =< +1 , 1a force exercée par le joueur Jl sur la poignée PI : Fe n+1 = ee {Xe n+1- X ~ AeXn-Bem F^^ +B &n+x }, les matrices A et B étant celles de l'évolution du joueur Jl avec X= AX +BF. Le mo
Le modèle local MLl envoie X
n+ι et F
n+j au. recaleur RI, la consigne - F
e n +ι à l'interface II et la variable de position
distant MD2.
Le modèle fantôme MFl s'il ne reçoit pas de message du recaleur RI calcule ^+ι = + &ι » ^ι étant fourni par le système S 2, et l'estimation de position Xn+1 = (I+A)Xn + BFn+1 , c'est-à-dire l'état mécanique du joueur Jl tel qu'il peut être prédit par le système S2. I est ici la matrice identité.
Sur réception d'un message de recalage Mn = {n,Xn,Fn et F„_λ } en provenance du recaleur RI, le modèle fantôme MFl effectue le recalage suivant : XH = Xn,Fn = Fn et Kl = F„ - Fn^
Le recaleur RI reçoit à chaque pas de temps n la variable de position Xn et les variables d'effort Fn et Fn+ en provenance du modèle local MLl, et l'estimation Xn en provenance du modèle fantôme MFl. Il compare la valeur absolue de la différence entre la variable de position Xn et l'estimation Xn à un seuil prédéterminé et ne fait rien si ladite valeur absolue est inférieure audit seuil. Dans le cas contraire, il compose un message de recalage Mn ={n, Xn, Fn, Fn_^ }. Le recaleur RI envoie le message de recalage Mn au modèle fantôme MFl pour qu'il se recale irnédiatenient et au modèle distant MDl par l'intermédiaire de l'extrapolateur EXT1 du système S2 pour qu'il se recale le plus tôt possible.
L'extrapolateur EXT2 du système SI permet de réaliser une synchrorisation. En effet, le message Mp = {p, Yp, Gp, G- j } émis par le recaleur R2 du système S 2 arrive au système S 1 à un instant compris entre n et n-f- 1. Toutefois, le message Mp est estampillé par la date p en provenance du système S2. L'extrapolateur EXT2 calcule K2 = Gp - Gp_ ι et recale le modèle distant MD2 en effectuant : Gp = Gp et Yp = Yp puis aux instants suivants et quel que soit : j =ρ,..., n, Gj+1 = Gj + K2 et Ϋj+1 = % + CÏJ + DGJ+1, C et D étant le s matrices équivalentes aux matrices A et B pour le joueur J2. L'extrapolateur EXT2 transmet au modèle distant MD2 le résultat du recalage : Ϋ~ n+1,Gn+1 et K2.
Le modèle distant MD2 du système S 1 se recale sur réception d'un message en provenance de l'extrapolateur EXT2 en prenant les valeurs fournies par ledit extrapolateur EXT2 :
G Jn+i1 = G, n+l> Y -SÎ+1 = 1Yn+l κ2 = κz
Hors réception d'un tel message, et à chaque pas de temps, le modèle distant MD2 reçoit la variable de position X1^ en provenance du modèle local MLl et effectue un calcul prédictif :
G~ é ,rr! î-ië ,nt ~rέ ,rri n
»+l — " nΛ &n^ = DU-1{χin^-fn-CΫin-De'Ge' n+l-Dm'Gm' n+l}
Le modèle distant MD2 transmet au modèle local MLl la variable de raideur k, la variable de viscosité λ, et la prédiction de variable de position relative au joueur J2 : GB+,
De préférence, l'extrapolateur EXT2 effectue un recalage en biseau qui permet de lisser les évolutions. Un exemple de ce recalage est montré sur les courbes de la figure 3. Au lieu de ramener brutalement l'estimation de la variable de position Y à la variable f calculée comme exposée ci-dessus par l'extrapolateur EXT2, le recàlage est effectué en quatre étapes entre les instants n et n+4 selon le calcul suivant : k= | Ϋn+1-?n+1 I /seuil +1 ;
Si k = 1, alors Fnn++1l := Ϋ l nn+l
Sinon j = n,
Gj+1=Gj+K2
Yj+1:=Yj + CYj + DGj+1
*,+ι ≈(γJ+l+(κ-i)γJJΛ)/k j:=j+l
Si k est supérieur à 2, alors k : = k-1 Sinon on sort de la boucle et Ϋj+l = fj+v Le recalage en biseau permet un fonctionnement plus doux du système, ce qui est mieux perçu
par les utilisateurs et implique moins de contraintes mécaniques.
Le modèle local ML2 reçoit du modèle distant MD 1 l'estimation de position ~Xi et envoie au recaleur R2 la position Yn+ι, la force Gn+ j_ et la variable de raideur k. Le modèle local ML2 envoie également la consigne - Fe n +χ(~Xi, Y) à l'interface 12.
Le modèle local MLl établit un modèle mécanique de la sonde virtuelle en se basant sur la relation suivante: f = mγ -λv-kx, avec m la masse de la sonde virtuelle, k le coefficient d'élasticité de la peau du mannequin virtuel et λ le coefficient de freinage visqueux qui traduit la vitesse limitée du robot compliant distant. Le déplacement le long de l'axe de la sonde vérifie: dx3/dt = dy3/dt.
Les coefficients k et λ sont ajustés dynamiquement et en temps réel. La viscosité est supérieure à zéro à vitesse nulle et monotone croissante avec la vitesse du robot virtuel, par exemple selon une courbe quadratique ou approchée.La viscosité le long de l'axe de la sonde prend en compte les caractéristiques dynamiques de la peau et celles du robot compliant: λ 3 = (G* + mγ^ - ki i 3)/(dxi 3/dt). On pourra aussi tenir compte des trois degrés de liberté angulaire de la sonde, le modèle local ML2 envoyant à l'interface 12 les angles correspondants , β, γ. L'interface 12 exécute alors les déplacements nécessaires pour que y ≈ j et y2 = x2- Pour que les forces G et F soient égales, on fait varier y3 de façon que si F>G alors y3 décroît et si F<G alors y3 croît.
A la convergence, on a k = G/Δy3 = F/Δy3. On peut ainsi palper un objet distant dont les caractéristiques mécaniques évoluent en fonction du temps. Un opérateur peut sentir l'objet distant dont le modèle mécanique est recalculé en temps réel. Un télécalibrage dynamique peut être effectué automatiquement à la suite d'un télécalibrage statique lors d'une mise en service du système pour un objet donné.
De façon plus générale, le modèle fantôme MFl reçoit les mêmes données que le modèle distant MDl de l'autre système et permet d'effectuer la même simulation que ledit autre système. En d'autres termes, on cherche à savoir ce que l'autre système ne sait pas dans un but de recalage. Le recaleur fonctionne en aveugle par rapport à l'autre système et permet de continuer à simuler en l'absence de données pertinentes transmises par un message de recalage en provenance de
l'autre système. L'extrapolateur EXT2, en particulier dans le cas du recalage en biseau, permet de tenir compte du mouvement tel que mesuré par l'autre système pendant le délai de transmission dû au réseau de communication. Dans une variante simplifiée, on peut parfaitement concevoir que l'un des deux ou les deux systèmes est dépourvu de modèle fantôme. On peut également prévoir de faire fonctionner ensemble un nombre de systèmes supérieur à deux.
Les modèles locaux représentent les modèles mécaniques des deux utilisateurs. Les modèles distants représentent une réplication distante des modèles mécaniques locaux nécessairement approchée du fait des délais de transmission via le réseau de communication des états des modèles locaux. Les modèles fantômes représentent une copie locale approchée des modèles distants. Les modèles distants et les modèles fantômes fonctionnent tous en mode prédicteur-correcteur. Les extrapolateurs effectuent une extrapolation des messages reçus avec un certain retard pour recaler les modèles distants à la valeur de l'horloge de l'autre système. Les recaleurs évaluent la nécessité de lancer un message de recalage sur le réseau de communication dès qu'un écart trop grand apparaît entre les modèles locaux et les modèles fantômes témoins prédictifs locaux des modèles prédictifs distants. Les recaleurs permettent de li niter le nombre de messages émis à travers le réseau de communication pour éviter de l'encombrer. A l'intérieur d'un système, les échanges d'information peuvent être effectués à la cadence d'un khz. Entre les systèmes et donc par l'intermédiaire du réseau de communication, les échanges de message s'effectuent si l'un des recaleurs le considère comme nécessaire.
Sur la figure 4, est représenté un autre mode de réalisation particulièrement adapté à l'échographie. A proximité de la patiente P est disposée la sonde échographique SE2 supportée par le bras BA relié à l'interface 12, lui-même relié au système S2. Ces éléments sont supportés par un support 5. Dans un local situé à distance, sont disposés le système S I, l'interface II et un élément mobile SE1 de même forme extérieure, de même masse et de même inertie que la sonde SE2.
On a représenté en trait fin la modélisation distante Mo dans son état final, c'est-à-dire extrêmement proche de la forme de la patiente P.
L'élément mobile SE1 est ici disposé dans un état de repos, dans une position relative à la modélisation distante Mo identique à la position de la sonde SE2 relativement à la patiente P et écarté de celle-là. L'élément mobile SE1 va être saisi par un praticien comme l'aurait été une véritable sonde échographique et va être descendu progressivement vers le bas. La sonde échographique SE2 suit le même déplacement que l'élément mobile SE1. Le praticien vient d'abord, en déplaçant l'élément mobile SE1, placer la sonde échographique SE2 sur la surface la plus haute de la patiente, en générale le sommet de son abdomen. La force de contre-réaction exercée par l'abdomen de la patiente P sur la sonde SE2 est recopiée à distance de façon que le praticien maniant l'élément mobile SE1 perçoive le même effet, en d'autres termes la même force de contre-réaction, que s'il maniait une sonde échographique réelle contre l'abdomen d'une patiente. A partir du sommet de l'abdomen de la patiente P, le praticien maniant l'élément mobile SE1 en le déplaçant à la fois verticalement et horizontalement, va découvrir progressivement le contour de la patiente P, éventuellement en s'aidant d'un écran de visualisation tel que l'écran El illustré sur la figure 1. Le praticien en manipulant l'élément mobile SE1 va faire décrire l'abdomen de la patiente P à la sonde SE2 qui en réplique le mouvement. La force exercée par l'abdomen de la patiente sur la sonde SE2 est répliquée par l'élément mobile SE1.
Les positions de l'élément mobile SE1 et de la sonde SE2 étant sensiblement identiques, l'élément mobile SE1 est positionné de façon sensiblement identique à la position qu'aurait une sonde réelle parcourant l'abdomen de la même patiente. Le système SI enregistre les différentes positions de l'élément mobile SE1, ce qui permet à partir d'un nombre de points de mesure suffisant, d'effectuer une reconstruction tridimensionnelle de la surface extérieure de l'abdomen de la patiente, et donc d'obtenir la modélisation distante Mo.
On pourra prévoir une plage de force de contre-réaction dans laquelle le système SI considérera que l'élément mobile SE1 est dans une position correspondante à la surface de l'abdomen de la patiente. Au- dessus de la borne supérieure de la plage, on considérera que l'élément mobile SE1 est trop enfoncé dans l'abdomen. En dessous de la borne inférieure de la plage, on considérera qu'il n'y a pas contact et que
l'élément mobile est situé hors de la surface extérieure de l'abdomen de la patiente P.
La figure 5 est un schéma illustrant les étapes de génération de la modélisation distante. Tout d'abord, la modélisation distante se présente sous la forme d'une modélisation initiale Momter, qui est une surface plane maillée, vue ici en coupe. Puis, le praticien en manipulant l'élément mobile SE1 positionne la sonde échographique SE2 sur le sommet de l'abdomen de la patiente P. La modélisation initiale Mθjnjt devient alors une modélisation intermédiaire Mθjnter, toujours sous la forme d'une surface plane, mais tangente au sommet de l'abdomen de la patiente. En d'autres termes, les coordonnées verticales des points de la modélisation ont été diminuées de la distance séparant la modélisation initiale Mθjnjt du sommet de l'abdomen de la patiente, les modélisations initiale Momit et intermédiaire Mθ nter étant des plans horizontaux.
Le praticien décale alors la sonde SE1 horizontalement et l'amène, par exemple dans la position 7 affleurant la modélisation intermédiaire Mθjnter, puis amène l'élément mobile dans la position 8, de sorte que la sonde échographique SE2 est en contact avec l'abdomen de la patiente P. Dès que la force de contre-réaction exercée par l'abdomen de la patiente P sur la sonde SE2 dépasse la borne inférieure de la plage et est transmise au système SI, ledit système SI enregistre la position comme appartenant à la surface supérieure de l'abdomen de la patiente P. En pratique, le praticien pourra effectuer des mouvements courbes de façon que la sonde SE2 suive la surface supérieure de l'abdomen de la patiente P, et ce à la fois pour le confort de la patiente et la rapidité du procédé. En outre, lors de tout déplacement de l'élément mobile SE1 au-delà de la modélisation, on peut prévoir qu'une légère force de contre-réaction soit exercée par l'élément mobile SE1 sur les mains du praticien de façon que ledit franchissement lui soit perceptible. Ladite force sera commandée par le système S 1 et appliquée par l'interface II , et pourra être réglable tout en restant inférieure à la borne inférieure de ladite plage. Ladite force pourra comprendre une partie constante analogue à un frottement sec et une partie variable proportionnelle à la vitesse du déplacement de l'élément mobile SEL
Sur la figure 6, sont illustrées de façon schématique, les
IV
différentes étapes du procédé. A l'étape.10 d'initialisation, la sonde.SE2 et l'élément mobile SE1 se placent dans une position d'attente ou de repos, permettant à la patiente P de s'installer sμr une table d'examen ou de quitter une telle table. A l'étape 11 , le praticien commande l'approche de la sonde SE2 vers le sommet de l'abdomen de la patiente P. A l'étape 12, a lieu le contact entre la sonde SE2 et le sommet de l'abdomen de la patiente, l'enregistrement par le système S 1 des coordonnées du premier point de contact et le déplacement de la modélisation distante Mo de la modélisation distante initiale MOJ^ à la modélisation distante intermédiaire Momter. A l'étape 13, le praticien fait parcourir à la sonde
SE2 la surface supérieure de l'abdomen de la patiente. A chaque fois qu'un point de coordonnées déterminé est considéré comme appartenant à la surface supérieure de l'abdomen de la patiente P, la modélisation distante intermédiaire Mo mter est déformée maille par maille ou noeud par noeud pour épouser la forme de la surface supérieure de l'abdomen de la patiente
P. On parvient ainsi progressivement à la modélisation distante finale Mofin.
La modélisation distante Mo peut comprendre une maille de taille variable ou fixe. On peut mettre en oeuvre éventuellement une resegmentation afin d'affiner la modélisation dans certaines zones.
A l'issue de cet étalonnage, le système SI stocke dans une mémoire la modélisation distante finale, ce qui lui permet de réagir avec un temps de réponse extrêmement bref, même si le réseau de transmission 3 pâtit de délais de transmission élevés. Ultérieurement, lorsque le praticien déplacera l'élément mobile SE1 en traversant la modélisation distante finale, le système S 1 appliquera une force à l'élément mobile SE1 , simulant la force de contre-réaction de l'abdomen de la patiente P sur. la sonde SE2. En y ajoutant éventuellement un terme de frottement afin d'éviter des mouvements trop rapides de l'élément mobile SE1 et donc de la sonde échographique SE2.
L'invention met donc en oeuvre une déformation d'un maillage géométrique sous le geste du praticien utilisateur. Le télé-étalonnage du mannequin virtuel ou modélisation distante, s'effectue par un balayage intuitif du praticien utilisateur afin de faire tendre le maillage de départ ou modélisation distante initiale vers la forme de la patiente dont la
corpulence et notamment le stade de la grossesse sont extrêmement variables d'une personne à une autre. On peut ainsi palper une personne ou l'objet situé à distance d'un poste maître, ce qui permet d'approcher une forme tridimensionnelle et d'appréhender la forme de la personne ou de . l'objet, la présence d'une caméra n'étant pas indispensable. Dans le cadre d'une application utilisant déjà un système à retour d'effort, la méthode proposée permet la reconstruction à distance de la forme tridimensionnelle sans recourir aux méthodes antérieures comme les relevés lasers ou la stéréophotographie.