• Aucun résultat trouvé

Un exemple d’utilisation de la connaissance en robotique : une loi de

2.4 Conception modulaire de logiciel de contrôle en robotique

4.1.2 Un exemple d’utilisation de la connaissance en robotique : une loi de

Nous allons illustrer la problématique d’utilisation de la connaissance dans le cadre d’une loi de commande. A travers cet exemple nous allons chercher à décomposer une loi de com- mande pour comprendre comment les connaissances sont utilisées par notre commande et quelles sont les interactions entre elles.

Nous utiliserons la loi de commande présentée dans [LLA+14] pour l’évitement de parois

dans un environnement de type karstique. Nous présenterons ici de manière relativement simple l’exemple qui sera développé avec plus de détails dans le chapitre 10.

Considérons un robot équipé d’un sonar profilométrique et d’un capteur de mesure de vitesse, un Loch Doppler. Notre objectif est que le robot évite les parois d’un conduit kars- tique afin de pouvoir naviguer en toute sécurité pour cartographier le réseau. Pour cela, notre

4.1. La connaissance

contrôleur va devoir déterminer les forces Fv et Fw (voir Figure 4.2) à appliquer au robot (nous

n’évoquerons pas ici la transformation de ces forces en consignes à appliquer par le système d’actionnement du robot) en fonction des mesures capteurs comme le montre la Figure 4.3.

Figure4.2 – Les différentes forces linéaires appliquées au robot

Le Loch Doppler nous donne les mesures de v et w (respectivement vitesses de glisse- ment et de déplacement latéral voir Section 1.3). Le sonar profilométrique nous fournit les points d’impact avec les parois de l’environnement sous la forme d’un tableau de NR couples

{di, αi}, αi étant l’angle du rayon i et di la distance d’impact mesurée sur ce même rayon (voir

Figure 4.4), sachant que le sonar projette NR rayons.

Fv = −KDV Z NR X i=1 [cos(αi)(RDV Z− di)] − (cv+ dv)v (4.1) Fw = −KDV Z NR X i=1 [sin(αi)(RDV Z− di)] − (cw+ dw)w (4.2)

Les équations (4.1) et (4.2) illustrent bien que les différentes connaissances mises en jeu dans le contrôle sous forme monolithique sont assez peu explicites pour tout autre personne que le concepteur de la loi de commande. Décomposons cette loi de commande pour faire ressortir les différentes connaissances utilisées. Une représentation schématique de cette dé- composition est proposée à la Figure 4.5.

Tout d’abord, le sonar profilométrique (Figure 4.5, Bloc A) nous fournit un ensemble de mesures de distance, chacune décrite sous la forme d’un couple (di, αi) où di est la distance à

l’obstacle et αiest l’angle du rayon (Figure 4.4). Nous allons également utiliser deux paramètres

du sonar (Figure 4.5, Bloc B) : NR, le nombre de rayons qu’il projette et dmax, la portée du

capteur.

Un second capteur, le Loch Doppler (Figure 4.5, Bloc C), nous fournit les mesures de vitesse du robot.

Nous définissons ensuite une zone virtuelle circulaire autour du robot inspirée des travaux sur la Zone Virtuelle Déformable (ZVD) introduits dans [ZL93]. Le rayon de cette zone, RDV Z,

est égal à la portée du capteur dmax(Figure 4.5, Bloc D et illustré Figure 4.4) car comme montré

dans [LLA+14], cela permet de s’assurer que l’amplitude de la force induite par les intrusions

dans la zone virtuelle sera indépendante de son rayon, RDV Z. Il s’agit ici clairement de la

mise en relation entre une connaissance portant sur la technologie embarquée par le robot (ici un capteur) et une autre modélisant l’interaction entre le robot et son environnement. En outre, cette relation n’est clairement pas explicite dans le cadre de la description monolithique. Nous calculons ensuite les intrusions réalisées dans cette zone (Figure 4.5, Bloc E). En effet, chaque point d’impact provenant du sonar profilométrique (Figure 4.5, Bloc A) va générer une déformation de norme δi = RDV Z−di dans la zone virtuelle, comme illustré dans la Figure 4.4.

Chacune de ces déformations va générer une force de réaction, similaire à celle produite par un ressort, ~fi = −KDV Zδ~i où KDV Z est un paramètre de notre zone déformable (Figure 4.5,

Bloc D) permettant de faire varier sa rigidité (i.e. plus la zone sera "rigide" plus grande sera la force résultant des intrusions et plus importante sera la réaction induite du robot). Après avoir calculé les déformations, nous allons déterminer la force totale résultant de celles-ci par sommation des différentes ~fi (Figure 4.5, Bloc F) :

4.1. La connaissance

Figure 4.4 – Vue en coupe (plan yz) du robot dans un conduit

FRy = −KDV Z NR X i=1 cos(αi)δi (4.3) FRz = −KDV Z NR X i=1 sin(αi)δi (4.4)

Nous allons donc chercher à atteindre le point d’équilibre entre ces différentes forces, c’est- à-dire le point tel que FRy = 0 et FRz = 0, évitant de fait les parois du conduit.

Pour cela, nous allons déterminer les accélérations à appliquer pour à la fois annuler les forces et atteindre ce point avec une vitesse nulle. Le robot étant iso-actionné, les déplace- ments suivant ses axes ~yB et ~zB sont découplés. De fait, annuler la force résultante calculée

précédemment (Figure 4.5, Bloc F), revient à annuler chacune de ces composantes de manière indépendante. Nous utilisons une équation d’ordre 2 de type masse-ressort-amortisseur pour chaque axe (Figure 4.5, Blocs G et H) :

˙vco= FRy mv −cvv mv (4.5) ˙ wco = FRz mw − cww mw (4.6) mv et mw sont les masses totales (i.e. en eau) du robot suivant les différents axes de

Bloc K). Les coefficients d’amortissement cv et cw sont calculés par les formules (Figure 4.5,

Blocs I et J) :

cv = 2pmvKDV ZNR (4.7)

cw = 2pmwKDV ZNR (4.8)

Il s’agit là encore d’une équation constituée par assemblage de connaissances portant sur des éléments très divers :

– La relation entre le robot et son environnement au travers des paramètres du modèle dynamique (Figure 4.5, Bloc K).

– La technologie embarquée sur le robot au travers du nombre de rayons projetés par le sonar (Figure 4.5, Bloc B).

– Le paramétrage d’un modèle de l’interaction entre le robot et son environnement utilisé à des fins de commande (Figure 4.5, Bloc D).

Les liaisons entre elles sont réifiées sans ambiguïté par la décomposition (Figure 4.5, Blocs I et J).

Enfin les accélérations de commande sont transmises au modèle dynamique (Figure 4.5, Bloc L). Il est chargé de calculer la force que doivent appliquer les actionneurs (Figure 4.5, Bloc M) du robot afin d’obtenir les accélérations désirées. Pour cela, il doit connaître la masse du robot en eau ainsi que les différentes forces perturbatrices induites par la relation hydrodynamique entre le robot et son environnement. Dans le modèle très simplifié présenté Figure 4.5, Bloc L, la trainée générée par le robot lorsque celui-ci se déplace dans l’eau est la seule force prise en compte. Ce modèle dynamique dépend de divers paramètres (Figure 4.5, Bloc K) qui varient d’un robot à l’autre en fonction de caractéristiques telles que sa masse à sec ou sa forme. Celles-ci sont donc affectées par le retrait ou l’ajout de capteurs par exemple. Il est donc important de pouvoir adapter rapidement ces paramètres en fonction du robot utilisé et de son équipement.

4.1. La connaissance

Figure 4.5 – Décomposition des connaissances utilisées par le contrôleur de centrage

Naturellement, l’élaboration d’une telle décomposition est un processus itératif. En effet, partant de la loi de commande monolithique, la réification de chaque connaissance et de chaque interaction est susceptible de faire apparaître au concepteur des connaissances supplémentaires qu’il est possible de décomposer. Ce processus se poursuit également bien au-delà de la phase de conception. La réutilisation de certaines connaissances dans un contexte différent (une autre architecture de contrôle par exemple) peut faire apparaître un besoin de décomposition supplémentaire de certaines connaissances nécessitant dès lors de faire évoluer l’assemblage de connaissances précédemment conçu.