Projet Sharp

previous up next contents
Précédent : Logiciels Remonter : Projet SHARP, Programmation automatique et Suivant : Actions industrielles



Résultats nouveaux

Planification de mouvement

Environnements évolutifs et systèmes multi-robots



Participants : Moëz Cherif , Marc Vidal


Notre contribution porte sur le développement d'un outil informatique pour la préparation et l'organisation de tâches de maintenance dans des installations nucléaires. Le problème que nous abordons, appelé problème de dépôt, consiste à trouver des trajectoires sans collision permettant à un groupe d'objets d'être déplacés et déposés par une flotte d'engins mobiles dans un environnement de type installation nucléaire. En tenant compte du fait que toutes les opérations de dépôt se déroulent dans le même environnement, notre solution consiste à pré-compiler (en hors ligne) l'espace des configurations des différents engins mobiles (seuls et avec les objets qu'ils déplacent) afin d'en extraire une représentation simplifiée mais informative appelée roadmap. Celle-ci capture en un graphe la connectivité des différents espaces libres des configurations calculées dans l'environnement $\cal W$. La particularité de notre roadmap est qu'elle est construite de manière à être utilisée localement par plusieurs engins et objets de tailles différentes, permettant ainsi de mieux factoriser les informations concernant la topologie des espaces libres des nombreux mobiles. Nous parlons alors de roadmap étiquetée. Sachant que $\cal W$ est évolutif, la mise à jour locale de la roadmap doit être garantie de manière à maintenir une représentation valide dans la suite de la résolution du problème de dépôt.


   Figure: Haut: 5 objets et leur approximation par des cercles. Bas gauche: l'espace de travail et la roadmap construite par l'algorithme. Bas droite: positions finales des objets.

\begin{figure}\centerline{\hbox{ \frame{\includegraphics[width=3.3cm]{5robots.... ...eps}}\hspace{2mm} {\includegraphics[width=4cm]{final-config.eps}}}}\end{figure}



   Figure: Placement séquentiel des 5 objets planifié par l'algorithme.

\begin{figure}\vspace{2mm}\centerline{\hbox{ \includegraphics[,width=4.cm]{02... ...ot4.eps}\hspace{2mm} \includegraphics[,width=4.cm]{11depot5.eps}}}\end{figure}


La version actuelle de l'algorithme est développée pour des robots et objets mobiles autonomes se déplaçant dans le plan. Les espaces des configurations de ces robots sont différents mais de même topologie. Les engins et objets sont répartis en classes selon leurs tailles (diamètres des cercles englobant) permettant ainsi de représenter les différents espaces des configurations de manière hiérarchique (emboîtement les uns dans les autres). La conséquence de cet emboîtement est que tout chemin planifié pour un robot est valide pour un robot plus petit. Nous générons la roadmap grâce à une version simplifiée de l'algorithme du fil d'Ariane [PJEE95]. A partir des entrées de $\cal W$, on construit des arbres de balise qui s'étendent itérativement pour obtenir une représentation de plus en plus précise de l'espace libre. L'algorithme commence par planifier des chemins utilisables par le plus gros robot jusqu'à obtenir une densité de balise donnée, puis complète les arbres par des branches de plus en plus fines, à mesure que la taille des robots diminue. L'ensemble des arbres est transformé en un graphe (la roadmap) le plus connexe possible en reliant les balises proches grâce à un planificateur local, en s'efforçant de ne pas créer d'arcs redondants, qui n'apportent rien à la topologie de la roadmap. La roadmap ainsi construite permet de planifier des trajectoires pour les robots en temps quasi-réel et de gérer sa mise à jour de manière rapide [ML96]. Les résultats obtenus par l'implantation actuelle de l'algorithme (cf. figures [*] et [*]) sont significatifs et prometteurs, et nous ont permis de valider en un premier temps notre approche sur des tâches 2D réalistes. Plus récemment, nous avons abordé le problème plus complexe d'organisation des opérations quand elles sont effectuées par une flotte de robots. L'algorithme en cours de développement porte sur l'utilisation des précédents résultats (roadmap et schéma de génération de mouvement) pour coopérer et ordonnancer les mouvements entre les différents robots permettant l'évitement des collisions et les configurations d'inter-blocage. L'algorithme solution est actuellement en cours d'implantation.

Contraintes cinématiques et dynamiques



Participants : Thierry Fraichard , Alexis Scheuer


Nous avons défini un nouveau problème de planification de chemin pour robot mobile de type voiture. En plus des contraintes cinématiques usuelles, qui sont la continuité de la direction tangente et une borne de la courbure, ce problème prend en compte deux nouvelles contraintes : la continuité de la courbure et une borne de la dérivée de la courbure par rapport à l'abscisse curviligne. La première contrainte permet d'obtenir des chemins pouvant être suivis sans s'arrêter, la seconde correspondant à la limite de la vitesse de rotation du volant de la voiture.

Nous avons démontré la contrôlabilité du robot mobile vérifiant ces quatre contraintes. Autrement dit, nous avons montré que ces contraintes ne limitent pas les configurations atteignables par le robot : l'existence d'un chemin holonome (ne respectant pas les contraintes) est équivalente à celle d'un chemin respectant les contraintes, quels que soient les obstacles encombrant l'espace de travail. De plus, nous avons appliqué les travaux de Boissonnat, Cerezo et Leblond [BCL94] afin de déterminer la nature des chemins optimaux dans notre problématique. Ceux-ci sont constitués de segments de droite, d'arcs de cercle et de portions de clotoïdes (courbe dont la courbure est une fonction linéaire de l'abscisse curviligne). De la même façon que dans le problème considéré par Boissonnat, Cerezo et Leblond, les chemins optimaux dans notre problématique ont l'inconvénient d'être formés d'une infinité de morceaux dans le cas général. On ne s'intéresse par conséquent qu'à des chemins sous-optimaux, formés d'un nombre fini de segments de droite, d'arcs de cercle ou de portions de clotoïdes.

Ensuite, nous avons proposé une méthode permettant de résoudre le problème considéré dans le cas où le robot se déplace toujours en marche avant. Pour cela, nous avons défini un planificateur en remplaçant, dans la méthode de Dubins [Dub57], les arcs de cercle de courbure maximale par des virages à courbure continue formés d'une portion de clotoïde de dérivée maximale de la courbure, d'un arc de cercle de courbure maximale et d'une seconde portion de clotoïde de dérivée maximale de la courbure. Ce planificateur n'étant pas complet vis-à-vis du sous-problème considéré, il a été intégré dans un algorithme de planification globale, le ``Probabilistic Path Planner''[SO95]. Après avoir été implantés sur station de travail, ces travaux vont maintenant être mis en oeuvre sur les véhicules expérimentaux du projet.


  Figure: Chemin de Dubins, chemin à courbure continue

\begin{figure} \hfill \includegraphics[width=60mm, height=45mm]{RA-97-dubins.e... ...l \includegraphics[width=60mm, height=52mm]{RA-97-scc.eps} \hfill \end{figure}



  Figure: Exemples de planifications globales

\begin{figure} \includegraphics[width=40mm, height=40mm]{svs1a.ps} \hfill \inc... ...\hfill \includegraphics[width=40mm, height=40mm]{jpl-d.ps} \hfill \end{figure}


Ce travail ouvre principalement deux perspectives. D'abord, il serait bon de généraliser à nos chemins les résultats de Bui et al. concernant les chemins de Dubins [BSBL94]. Nous saurions ainsi, pour tout couple de configurations, déterminer le type de chemin le plus court reliant ces configurations, sans avoir à calculer six de ces chemins. D'autre part, le travail effectué sur les chemins de Dubins peut être réitéré sur les chemins de Reeds et Shepp. Autrement dit, il est maintenant plus facile de s'intéresser au problème de planification avec manoeuvres (passages de la marche avant à la marche arrière, et réciproquement). Ce problème est cependant loin d'être résolu, il faut encore considérer plusieurs points. Avant tout, il s'agit de choisir le nombre et la nature exacte des manoeuvres autorisées le long d'un chemin : une manoeuvre doit-elle se faire uniquement lorsque la courbure est nulle (entre un segment de droite et une clotoïde), ou peut-elle aussi se faire lorsque la courbure est maximale (entre un arc de cercle et une clotoïde) ? La courbure peut-elle changer pendant une maoeuvre, sans déplacement ? Ces choix étant fait, il restera encore à mettre au point une méthode permettant de calculer le plus court chemin répondant à ces critères.

Incertitudes géométriques



Participants : Thierry Fraichard , Christian Laugier , Raphaël Mermond


Le problème de la planification de mouvement en présence d'incertitude est celui de détermination de mouvements robustes, i.e. insensibles aux effets des incertitudes (incertitudes sur la position du robot ou des obstacles, sur le résultat d'une commande appliquée au robot, etc.). Dans ce cadre, notre objectif principal est d'aborder la prise en compte de l'incertitude dans la planification de mouvement en s'intéressant à des cas plus réalistes que ceux considérés habituellement, ex. robot ponctuel, déplacement rectiligne, etc. Nous nous sommes donc intéressés au cas d'un robot de type voiture qui est soumis à des contraintes cinématiques dites non-holonomes qui affectent la forme géométrique des mouvements qu'il peut effectuer.

Un pré-requis à tout processus de planification en présence d'incertitude est de modéliser cette incertitude ainsi que son évolution lorsque le robot se déplace. Nous avons pour cela développé un modèle d'incertitude pour robot non-holonome de type voiture. Ce modèle, de nature ensembliste, porte sur la position et l'orientation du robot. Nous avons fait l'hypothèse qu'il dépendait directement de deux sources d'incertitudes : le couple (direction, vitesse) qui contrôle les déplacements du robot, et que nous représentons par les variables ``angle des roues'' et ``distance parcourue''. Sous ces hypothèses, nous avons proposé une fonction d'évolution de l'incertitude qui permet de déterminer la variation de l'incertitude le long de chemins vérifiant les contraintes cinématiques non-holonomes du robot considéré. Il s'agit en l'occurence de chemins composés de segments reliés par des arcs de cercle tangents (chemins dits de Dubins ou de Reeds et Shepp). Partant de ce modèle d'incertitudes, nous avons développé un planificateur local, i.e. non complet, de chemin robuste, puis nous l'avons intégré dans une structure algorithmique générique de planification de mouvement de façon à obtenir un planificateur complet qui prenne en compte à la fois la non-holonomie et l'incertitude [11].


   Figure: deux exemples de planification de chemins robustes.

\begin{figure}\begin{center}\centerline{\includegraphics[width=40mm]{a-path1.ps} \includegraphics[width=40mm]{a-path2.ps}}\end{center}\end{figure}


Les perspectives incluent la généralisation de la fonction d'évolution à d'autres types de chemins (chemins à courbures continues notamment), et le passage à d'autres types de modèles d'incertitudes (modèles probabilistes).

Manipulation dextre



Participants : Moëz Cherif , Christian Laugier , Luis Alberto Munoz


Notre contribution conjointe a porté sur le développement d'un algorithme général pour la résolution du problème de la planification de mouvements dextres quand la prise finale n'est pas totalement spécifiée. Plus précisément, cet algorithme résout de manière pratique des tâches dites de reconfiguration et/ou de réorientation d'objets 3D (polyèdres et objets convexes à surface lisse) en combinant des techniques de recherche de graphe et d'échantillonnage aléatoire avec des outils de programmation et d'algèbre linéaires. L'algorithme développé est le premier à traiter de manière compréhensive une instance aussi complexe du problème de la planification globale de mouvements dextres.

Planification de mouvements dextres.

Nos travaux dans le domaine de la planification de mouvements dextres ont commencé dans le cadre de la thèse de Ch. Bard portant sur les aspects de la saisie automatique [BLMB$^{+}$95] et d'un séjour sabbatique du professeur K. Gupta au sein du projet Sharp (1992-93). Ils ont été poursuivis au cours d'un séjour post-doctoral de M. Cherif au sein de l'équipe de Robotique dirigée par K. Gupta à l'université Simon Fraser, Canada (1995-96). Dans la suite, nous présentons brièvement nos récents résultats sur le sujet.

Le problème de la planification pour la reconfiguration d'un objet 3D consiste à trouver une trajectoire (configurations et forces) pour les doigts de la main permettant de faire bouger l'objet d'une configuration (position/orientation) initiale vers une configuration but désirée. Les contraintes considérées concernent : le maintien d'un contact permanent entre les bouts des doigts et l'objet, la non collision entre les doigts, la cinématique de la chaîne articulée de la main, l'atteignabilité des prises, l'équilibre statique du système de manipulation main/objet et la présence de frottements. L'algorithme de planification de mouvement opère en deux niveaux. Le premier niveau a pour objectif d'explorer l'espace des configurations de l'objet (défini par la groupe Euclidien $SE(3)$) et de générer de manière incrémentale un réseau de sous-buts capturant la connectivité entre les configurations initiale et finale. Ceci est effectué grâce à une recherche de graphe opérant sur $SE(3)$ où les noeuds sont des configurations hypothétiques que l'objet peut traverser pour atteindre son but. A tout instant, le meilleur sous-but est sélectionné (en utilisant une fonction de coût) et vérifié s'il est effectivement atteignable. Ceci est effectué par le niveau local qui a pour but de trouver une trajectoire quasi-statique faisable et lisse permettant de faire évoluer le système main-objet entre les sous-buts. Le problème de dimensionalité est résolu au niveau local par une recherche aléatoire de l'espace des contrôles des vitesses de roulement et glissement des contacts [7]. Ceci permet de simplifier considérablement la prédiction des mouvements quasi-statiques du système, et de poser le problème du calcul des forces de contact sous la forme d'un programme linéaire correspondant à une linéarisation du principe de la puissance minimale de Peshkin [PS89]. La figure [*] illustre l'application de l'algorithme pour une main idéalisée à trois doigts, h'misphériques manipulant une ellipsoïde.

Le problème de la réorientation est semblable à la problématique précédente, sauf que nous cherchons maintenant à planifier des trajectoires quasi-statiques du système de manipulation permettant de déplacer l'objet entre une prise initiale et une orientation désirée. L'algorithme solution se base sur l'application d'une stratégie de manipulation consistant à contraindre, à chaque instant, le mouvement de l'objet en fixant un sous-ensemble des doigts et à agir sur lui par l'action de ceux qui sont contrôlés. Dans le cas d'une main à 4 doigts dont 3 sont fixés, la méthode prend avantage de la présence de contraintes algébriques (liées à l'immobilité de ces 3 doigts) pour se ramener à une formulation du problème de la planification dans un espace de recherche difféomorphe au groupe Euclidien $SO(3)$. Ceci a conduit à ramener la recherche des mouvements de l'objet de $SE(3)$ à $SO(3)$. L'algorithme traite les cas dégénérés (e.g. rupture de certains contacts ou dépendance des contraintes algébriques) afin de garantir qu'un tel difféomorphisme soit constamment défini.


   Figure: Reconfiguration d'une ellipsoïde par des bouts de doigts h'misphériques avec contact de type roulement pur. La prise initiale et la configuration finale désirée de l'objet sont montrées en haut de la figure. En bas à gauche, nous montrons la séquence de sous-buts (prises) atteints localement et traversés par la trajectoire globale obtenue par le planificateur. En bas à droite, nous montrons les trajectoires de contact des 3 doigts sur la surface de l'objet.

\begin{figure}\begin{center}\begin{minipage}{125mm}\begin{minipage}{25mm}{... ...cs[width=40mm]{exple5-3.ps}}\end{minipage}\end{minipage}\end{center}\end{figure}


Contrôle-commande avec asservissement visuel en manipulation dextre.

Au cours de l'année 1997, nous avons poursuivi nos recherches sur la manipulation dextre en utilisant l'asservissement visuel. Nous avons repris le cas d'une main simplifiée à deux doigts qui manipule un objet dans un espace 2D (cet exemple avait été déjà traité pour les aspects planification de mouvements). L'objectif de cette démarche est de mieux appréhender la problématique générale en utilisant la vision. Nous définissons l'espace de travail des robots de manière à ce qu'il soit tout entier visible par la caméra montée au dessus du robot (Fig. [*], gauche).
   Figure: Plate-forme de test pour la manipulation dextre avec une caméra fixe

\begin{figure}\centerline{\includegraphics[height=4cm]{grasp_7.ps}\hspace{1cm}\includegraphics[height=4cm]{grasp_6.eps}}{}\end{figure}


La position de chaque extrémité de doigt est définie par la cinématique directe (Fig. [*], droite) qui exprime aussi la position du point de contact avec l'objet. Les vecteurs $x_0$ et $x_1$ définissent la position initiale et finale du centre de gravité de l'objet dans le repère $\Sigma_p$. $f_{R_x}$ (dans l'équation qui suit) permet d'estimer ces positions basées sur des estimations fournies par la cinématique de chaque doigt. La fonction $\Psi$ relie le vecteur de position du bout du doigt aux vecteurs qui définissent la position et le centre de gravité de l'objet. Nous faisons l'hypothèse qu'il est facile de repérer la position des cibles attachées à l'objet dans l'image fournie par la caméra au moyen de l'équation suivante :



\begin{eqnarray}\left[\matrix{u_o\cr v_o \cr u_1\cr v_1 \cr}\right] &=&\frac{\... ... & 0 \cr0 & 1 \cr}\right]\left[\matrix{ u_c \cr v_c \cr}\right],\end{eqnarray}








La tâche de manipulation est à ce niveau, exprimée par le vecteur position désiré de chaque cible placée sur l'objet $[u_o^\ast\ \ v_o^\ast \ \ u_1^\ast\ \ v_1^\ast ]^T\in\mbox{I\hspace{-.6mm}R}^4$ tel qu'il est décrit dans la figure [*]. De cette façon, nous pouvons assurer qu'il existe des trajectoires continues pour le mouvement de chaque doigt qui permettent d'amener l'objet vers son but. Basé sur une approche énergétique, et pour assurer la stabilité asymptotique, nous proposons la loi de commande :  



\begin{eqnarray}\bf \tau &=& \left[ J_o(\bf \theta)^T\ \ J_1(\bf \theta)^T \ri... ...a) \nonumber \\ & & \mbox{} +J_h^T(\bf \theta)[\bf f_N+\bf f_c],\end{eqnarray}






où les termes $K_p$ et $K_v$ du côté droit de l'égalité, constituent respectivement, le gain d'action proportionnelle et dérivatif (filtré), tandis que le dernier terme correspond au Jacobien qui intègre l'influence des forces internes qui assurent le contact. Avec cette loi de contrôle, nous obtenons la dynamique du système en boucle fermée :



\begin{displaymath}M(\bf \theta,\phi)\ddot{\bf \theta}+C(\bf \theta,\dot{\bf \... ...ight]K_p \left[\matrix{\tilde{x}_o\cr \tilde{x}_1\cr}\right] \end{displaymath}

\begin{displaymath}-K_v\dot{\bf \theta}+J_h^T(\bf \theta)\bf f_N \end{displaymath}





Cette boucle peut être exprimée dans l'espace des états par l'équation :



\begin{displaymath}\frac{d}{dt}\left[\matrix{\bf \theta \cr \dot{\bf \theta} \... ...ht]-K_v\dot{\bf \theta}-C\dot{\bf \theta}\right] \cr}\right] \end{displaymath}







Pour démontrer la stabilité nous proposons la fonction de Lyapunov suivante :




\begin{displaymath}V(\bf \theta-\bf \theta_d, \dot{\bf \theta})=\frac{1}{2} {\... ...ht]}^TK_p\left[\matrix{\tilde{x}_o\cr \tilde{x}_1\cr}\right]. \end{displaymath}


L'utilisation de cette fonction est due au fait que le système est de type Euler-Lagrange. Pour ces systèmes, il est facile de reconnaître les termes d'énergie. Pour ces termes, la première dérivée reste négative :



\begin{displaymath}\dot{V}(\bf \theta-\bf \theta_d, \dot{\bf \theta})=-{\dot{\bf \theta}}^TK_v\dot{\bf \theta}. \end{displaymath}




Ces hypothèses nécessaires et suffisantes étant satisfaites, il est alors possible d'utiliser la fonction de Lyapunov pour montrer la stabilité. Ceci est l'un des résultats sur lequel nous nous sommes appuyés pour la suite. Nous sommes arrivés à simuler la dynamique de l'ensemble de système, main et objet, en utilisant le simulateur ``Differential-Algebraic Advanced Software Library'' fournis par L. Petzold[BCP89] en ajoutant le formalisme GGL[GGL85] pour la réduction des systèmes Euler-Lagrange.

Ces résultats nous servent pour estimer la possibilité d'implanter des familles de contrôleurs plus sophistiqués. Plus précisément, nous nous intéressons à implanter le formalisme fonction de tâche[ECR92]. L'un des problèmes présent dans le cas de la manipulation dextre est justement l'incorporation des contraintes holonomes et non-holonomes dans le modèle. Une fois ces problèmes résolus, la fonction de tâche devrait nous permettre de contrôler les glissements des doigts sur l'objet.

Nous sommes en train de développer une méthodologie pour traiter ensemble des contraintes holonomes et non-holonomes pour la solution numérique. De plus, cette méthodologie permettrait l'analyse de contrôleurs dans l'espace des états sans différencier la nature des contacts. Nous envisageons dès maintenant la prise en compte de contraintes combinées car la présence de roulis (non-holonome) et de glissements (holonome) pendant la tâche de manipulation n'est pas négligeable. L'application de cette méthode est en voie d'expérimentation.

Simulation Dynamique



Participants : François Boux De Casson , Anton Deguet , Ammar Joukhadar , Philippe Laffont , Christian Laugier


Modèles et algorithmes de base

Les modèles et algorithmes en cours de développement au sein du projet Sharp ont pour but la simulation dynamique des mouvements et déformations en respectant les contraintes précitées de rapidité, réalisme et identifiabilité.

Le modèle utilisé est basé sur le principe des réseaux masses-ressorts. Ce modèle a été étendu afin de prendre en compte les formes géométriques des objets et ainsi réutiliser des bases de données CAO existantes. Le calcul des mouvements et déformations utilise un algorithme basé sur un pas de temps adaptatif fonction du niveau d'énergie du système mécanique qui permet d'éviter la divergence numérique tout en ne pénalisant pas les temps de calcul. Enfin, l'identification des propriétés physiques des objets déformables (répartition des masses, paramètres de visco-élasticité) est rendu possible par deux algorithmes développés au sein du projet.

A travers trois sujets de recherche distincts, nous avons au cours de cette année fait progresser le modèle, validé par des exemples nouveaux l'algorithme de pas de temps adaptatif et les techniques d'identification, mais aussi élargi les domaines d'application.

Modèle de contact

Le but des travaux sur ce thème est de montrer d'une part que le modèle de contact dit ``de pénalité'' est valide et que ses paramètres sont identifiables de manière automatique et d'autre part que le pas de temps adaptatif développé pour le calcul des mouvements et déformations reste efficace pour le calcul des forces de collision.

Ces travaux sont importants dans la mesure où il nous semble que les modèles ``de pénalité'' sont les seuls aptes à modéliser rapidement et correctement les contacts avec des objets déformables, conditions préalables à toute tentative de simulation de manipulation ou de découpe de corps déformables. En outre, ces travaux ont permis de lever une certaine ambiguïté entre les modèles ``de pénalité'' et les techniques d'optimisation basées sur des fonctions de pénalité [14].

Le modèle de contact ``de pénalité'' est basé sur une représentation locale et continue du phénomène de la collision. Le principe de base consiste à considérer que le volume de l'intersection des volumes des objets en collision est représentatif de la déformation qui survient nécessairement dans le réalité (aucun solide réel n'étant indéformable). Ceci, combiné au modèle de Kelvin-Voigt de déformation, permet d'évaluer la composante normale de la force de réaction. Ainsi la force de réaction $F$ est fonction du volume $x$d'interaction: $F = -\lambda x - \mu x \dot x$ (où $\lambda$ et $\mu$ sont des paramètres physiques liés aux propriétés des matériaux et qui peuvent se déduire de $e$, le coefficient de restitution de Poisson).

Cette identification en elle-même ne permet pas de réaliser des simulations consistantes. En effet, le modèle est basé sur une observation continue des phénomènes réels et, dans le cas d'un simulateur à pas de temps discret constant, il est toujours possible de trouver des situations pour lesquelles la simulation est incohérente. Le pas de temps adaptatif fonction du niveau d'énergie (cf.  [1,4]) nous a permis de conserver la consistance et de valider l'approche utilisée pour l'identification des paramètres. Ceci nous a permis d'obtenir de très bons résultats, y compris pour des problèmes à très haute fréquence réputés insolubles avec les modèles ``de pénalité'' [14]. Nos recherches sur ce thème portent maintenant sur les problèmes liés à la découpe, tels que les changements de topologie et les collisions entre l'objet et lui-même.

Modélisation et identification de paramètres

Les travaux sur ce thème concernent le processus de modélisation et d'identification des paramètres physiques du modèle. L'objectif est de pouvoir à terme construire des modèles déformables réalistes à partir de mesures faites sur l'objet à modéliser. Le cas d'étude considéré est celui de la modélisation d'une cuisse humaine, afin de pouvoir reproduire en simulation le comportement des tissus lors du passage d'une sonde échographique pour la détection d'une thrombose veineuse. Sur le plan applicatif, ce modèle, intégré à un simulateur doté d'un système à retours d'efforts, permettrait aux médecins de se familiariser avec ce type d'examen sans risquer de provoquer un accident sur les patients réels (appuyer trop fort risquant de débloquer le caillot).

L'acquisition des données expérimentales a été réalisée grâce à des masses appliquées sur une sonde échographique, elle-même placée à la surface de la cuisse et à la mesure par un système de suivi optique des déplacements de la sonde induits. Dans un premier temps, un modèle purement surfacique a été utilisé. Ce modèle n'a pas permis de simuler correctement le comportement dynamique de la cuisse et en particulier la résistance à l'enfoncement. Nous avons donc ajouté des relations visco-élastiques perpendiculairement à la surface afin de modéliser cette résistance. Après identification des paramètres [16,15], il s'est avéré que les relations linéaires visco-élastiques n'étaient pas les mieux adaptées au problème traité. Aussi avons-nous opté pour un modèle non linéaire obtenu par des connecteurs dont le comportement est défini par une approximation (moindres carrés) des données réelles (Fig. [*]). Le processus d'identification reste nécessaire pour la détermination des paramètres des liaisons qui modélisent le comportement surfacique.


   Figure: Modèles de la cuisse, approches linéaire (à gauche) et non linéaire (à droite) pour la résistance à l'enfoncement.

\begin{figure}\centerline{\hbox{\includegraphics[,width=3.cm]{liaisons2.eps}\includegraphics[,width=3.cm]{liaisons4.eps}}}\end{figure}


Ces résultats montrent la nécessité d'adapter le modèle aux situations ainsi que la validité des algorithmes d'identification que nous avons développés [31]. Les recherches portent maintenant sur les techniques de modélisation et dediscrétisation (semi-) automatiques afin de passer d'un modèle géométrique surfacique à un modèle volumique auquel nous pourrons appliquer nos algorithmes d'identification.

Planification de mouvements par simulation dynamique

L'utilisation d'un modèle géométrique permet de planifier des mouvements tout en respectant des contraintes de type géométrique (cinématique, non collision, distance optimale). Afin de raisonner sur des contraintes dynamiques (inertie, oscillations, déformations), il est nécessaire d'utiliser des modèles dynamiques.

Dans un premier temps, nous avons développé un modèle simplifié de bras articulé à trois degrés de liberté et implanté une méthode de planification locale. Cette méthode est philosophiquement proche de la méthode des potentiels fictifs : elle repose sur l'utilisation d'une force attractive pour guider l'outil terminal vers le but. La direction de cette force est définie par l'axe but-effecteur, et sa norme est une une fonction visco-élastique de la distance au but. Les potentiels de répulsion sont remplacés par les forces de collisions, ce qui présente l'avantage de ne pas avoir d'influence des obstacles dans l'espace libre (i.e. les obstacles éloignés de la solution recherchée) et de n'utiliser que les ``contacts'' robots/obstacles pour guider le mouvement (les obstacles pouvant être grossis pour respecter une distance de sécurité) (Fig. [*]). Les résultats ont montré que les contacts entre le robot et les obstacles induisent des rebonds et des oscillations qui permettent d'éviter certains des minima locaux qui seraient engendrés par la méthode des potentiels fictifs [29].


   Figure: Planification à l'aide d'un simulateur dynamique.

\begin{figure}\centerline{\hbox{\includegraphics[width=3.cm]{3blocs00.ps}\inc... ...idth=3.cm]{3blocs30.ps}\includegraphics[width=3.cm]{3blocs35.ps}}}\end{figure}


Dans un deuxième temps, nous avons réalisé des simulations intégrant deux doigts articulés à trois degrés de liberté pour effectuer des opérations de saisie d'objets. Ces simulations ont montré d'une part que les informations que l'on peut extraire de telles expériences en ``réalité virtuelle'' fournissent une multitude de données exploitables et d'autre part que le modèle d'articulation que nous avons utilisé n'est pas optimal pour tester des stratégies de contrôle. Dans un proche avenir, nous comptons ajouter au simulateur les modèles et algorithmes de Lilly-Featherstone pour les articulations.

Autonomie de Mouvement pour Véhicules

Conception-intégration d'architecture de contrôle distribuée



Participants : Gérard Baille , Christian Laugier , Leszek Lisowski



   Figure: Le protoype Cycab.

\begin{figure}\centerline{\includegraphics[width=12cm]{grenoble.ps}}\end{figure}


Dans un premier temps, nous avons développé des noeuds intelligents (IPA) composés : d'un module de calcul, d'un module d'interface et d'un module de puissance. Nous avons choisi le bus CAN (Controler Area Network) bien connu du monde de l'automobile comme support de communications. La modularité et la possibilité de particulariser et de programmer l'application via le bus CAN font de ces noeuds des briques de base universelles pour la réalisation de systèmes de contrôle/commande réparti. Ces IPAs ont été utilisés pour contrôler et commander les deux véhicules Cycab de l'Inria (Fig. [*]).


   Figure: Architecture de contrôle distribuée.

\begin{figure}\centerline{\includegraphics[width=12cm]{archi-fr.ps}}\end{figure}


Le premier prototype est opérationnel à Rocquencourt : il dispose de 5 noeuds et peut être vu comme une machine MIMD multiprocesseurs tournant sous l'environnement SynDEx (fig. [*]). Le second prototype est opérationnel à Grenoble : il dispose de 3 noeuds et d'une carte au format VME avec interface CAN : les IPAs contrôlent localement les moteurs sous la supervision du processeur qui gère les missions grâce à l'environnement ORCCAD. Deux stagiaires de troisième année Enserg ont étudié une version encore plus compacte (format PCMCIA) de ces noeuds. Par ailleurs une ceinture de capteurs à ultrasons ``intelligents'' avec interface CAN a été réalisée. Elle permet de construire une carte locale de l'environnement proche des véhicules.

Structures décisionnelles pour l'autonomie



Participants : Philippe Garnier , Eric Gauthier , Christian Laugier , Igor Paromtchik


Les problèmes inhérents à l'absence de trajectoire locale lorsque la trajectoire nominale proposée par le planificateur de mouvement de notre architecture hybride n'est plus valide, nous ont conduits au concept de manoeuvre générique. Le principe consiste à disposer d'un ensemble de trajectoires associées à chaque contexte et paramétrées par des informations capteurs. Cette année, nous avons étudié deux types de manoeuvres génériques en environnement routier : le parking automatique et le suivi/changement de file. Ce travail théorique a donné de bons résultats expérimentaux sur notre prototype Ligier [13,19,25]. Des démonstrations ont d'ailleurs été faites lors de la conférence internationale IROS'97 à Grenoble (Fig. [*]). De nouvelles manoeuvres génériques seront étudiées durant l'année 1998, en particulier l'insertion et la sortie automatique d'un train constitué de véhicules reliés par accrochage immatériel. De plus, les applications déjà développées (ainsi que les nouvelles précédemment exposées) seront portées sur notre dernière plate-forme expérimentale Cycab. Ce portage sera réalisé en utilisant la nouvelle version d'Orccad, logiciel d'aide à la spécification de tâches robotiques, développé à l'Inria, et permettant de contrôler plusieurs tâches au sein d'une même application (séquencement, parallélisme, etc.).


   Figure: Le créneau automatique.

\begin{figure}\centerline{\includegraphics[width=33mm]{photo1.ps}\includegrap... ...ics[width=33mm]{photo3.ps}\includegraphics[width=33mm]{photo4.ps}}\end{figure}


Dans le but de remédier aux limitations liées à la difficulté de régler précisément le comportement du véhicule avec le contrôleur flou développé précédemment, un nouveau modèle a été étudié. Celui-ci permet d'affiner le comportement général du système par apprentissage, en adaptant les algorithmes issus des techniques des réseaux neuronaux artificiels à la logique floue. Ce travail s'effectue en collaboration avec l'équipe Réseaux d'automates du laboratoire Leibniz. Les tests sur simulateur ont montré que l'apprentissage permet au véhicule de reproduire des trajectoires sans oscillations très proches de celles souhaitées. La phase d'apprentissage permet également de régler certains paramètres tels que par exemple la distance de sécurité que le véhicule garde par rapport aux obstacles. Les résultats obtenus sur simulateur sont prometteurs et le système doit rapidement être porté sur le véhicule expérimental.

De la géométrie aux probabilités



Participants : Pierre Bessière , Emmanuel Mazer , Kamel Mekhnacha


Nous avons implanté un noyau de calcul géométrique bayésien. Ce noyau utilise des techniques classiques du calcul bayésien : méthode de Monte-Carlo. Ce noyau permet de résoudre des problèmes de taille raisonnable : inversion de coordonnées pour un bras à 6 ddl, calibration de longueur d'axes à partir de lectures de capteurs de proximétrie. Notre objectif est maintenant d'adapter ce noyau à un modeleur géométrique du commerce et d'en améliorer les performances pour résoudre des problèmes en vraie grandeur.



previous up next contents Précédent : Logiciels Remonter : Projet SHARP, Programmation automatique et Suivant : Actions industrielles