• Aucun résultat trouvé

V.2 Mod´elisations pour l’expression de tˆaches coop´eratives

V.2.3 Mod`eles de contraintes spatiales

Les MCS visent `a d´ecrire un ensemble de contraintes spatiales entre des entit´es (UAV ou environnement), selon les besoins des missions `a r´ealiser. Ces MCS s’appliquent aux blocs des rˆoles, c’est `a dire `a certaines sections d’instructions `a r´ealiser dans les rˆoles. Lorsqu’un bloc au- quel est attach´e un MCS est actif, alors le MCS en question est appliqu´e. Concrˆetement, cela se traduit par une v´erification cyclique de l’ensemble des contraintes spatiales d´efinies dans ce MCS et appliqu´ees autour de cet UAV, dans son contexte d’ex´ecution. Les MCS des blocs actifs sont trait´es par le v´erificateur de CS, ou VCS, dont il est question dans les m´ecanismes de traitement des mod`eles d’interaction (section V.4).

Formellement, un mod`ele de contraintes spatiales est d´efini comme suit :

D´efinition V.2 : mod`ele de contraintes spatiales mcs= (id, ListeCS), o`u :

– id est un l’identifant de ce MCS,

– ListeCS est une liste de contraintes spatiales (CS).

Les CS sont `a consid´erer du point de vue de l’UAV qui endossera un rˆole donn´e dans lequel s’appliquent ces CS. Autrement dit, une composante commune `a toutes les CS est la position de l’UAV. Deux types de contraintes spatiales sont propos´ees `a partir de l`a : il s’agit des contraintes de distance, et des contraintes d’orientation.

Les contraintes de distance peuvent ˆetre exprim´ees de deux mani`eres. La premi`ere consiste `a fournir un point P, une valeur num´erique V, et une relation de comparaison R devant ˆetre satis- faite. Dans ce cadre, la contrainte exprime que la distance de l’UAV `a P d’un cˆot´e et la valeur V de l’autre cˆot´e, dans cet ordre, doivent satisfaire R. Cette premi`ere mani`ere est utile pour d´efinir une comparaison de distance par rapport `a une valeur num´erique connue ou impos´ee.

exemple : cs0 = (P0, 200, <), sera compris comme “la distance de l’UAV `a P0 doit ˆetre

inf´erieure `a 200”.

La seconde mani`ere consiste `a fournir d’un cˆot´e un point P0 d´efinissant la distance `a l’UAV,

et de l’autre cˆot´e deux points P1 et P2 d´efinissant la distance devant ˆetre compar´ee ainsi que la

relation R `a v´erifier. Cette seconde mani`ere est utile pour d´efinir une comparaison de distance par rapport `a d’autres entit´es de l’environnement, et non plus seulement par rapport `a une valeur arbitraire.

exemple : cs1= (P0, P1, P2, <), sera compris comme “la distance de l’UAV `a P0 doit ˆetre

inf´erieure `a la distance de P1 `a P2”.

Les contraintes d’orientation sont ´evalu´ees sur la base d’un r´ef´erentiel qui doit ˆetre explici- tement sp´ecifi´e dans la contrainte spatiale. Le r´ef´erentiel est d´efini par deux points : le premier point Q0permet de sp´ecifier un plan parall`ele au “sol”. Sur le plan ainsi d´efini, nous consid´erons

les coordonn´ees c´elestes : azimuth et altitude. Pour cela, le second point Q1permet de d´efinir la

direction d’azimuth 0 (voir sch´ema V.6 ci apr`es).

Q0

Q1

az = 0

FIG. V.6 – D´efinition du r´ef´erentiel c´eleste `a partir de deux points

Dans un rep`ere c´eleste, les coordonn´ees des points ne sont consid´er´ees que du point de vue de leur orientation, ce qui est parfaitement adapt´e `a la d´efinition de contraintes d’orientation. Les coordonn´ees de points dans un tel rep`ere sont l’azimuth, angle variant de 0 `a 2π radians dans le plan “horizontal” du rep`ere, croissant dans le sens anti-trigonom´etrique, et l’altitude, angle variant de−π/2 `a π/2 de “bas en haut”.

De mˆeme que pour les contraintes de distance, les contraintes d’orientation peuvent s’expri- mer de deux mani`eres qui permettent respectivement de faire une comparaison par rapport `a une valeur num´erique, ou de faire une comparaison par rapport `a d’autres entit´es de l’environnement. La premi`ere consiste `a comparer l’angle de l’UAV par rapport `a une valeur num´erique V, dans un rep`ere c´eleste d´efini par deux points Q0et Q1. L’angle peut ˆetre soit l’azimuth, soit l’altitude.

exemple : cs2= (Q0, Q1, ALT ITUDE, π/2, =), d´efinit une contrainte pour laquelle l’altitude

de l’UAV doit ˆetre ´egale `a π/2 dans le rep`ere c´eleste d´efini par Q0et Q1.

La seconde consiste `a comparer l’angle de l’UAV (azimuth ou altitude) dans un rep`ere c´eleste d´efini par deux points Q0et Q1avec l’angle d’un autre point P dans ce rep`ere.

exemple : cs3= (Q0, Q1, AZIMUT H, P, >), d´efinit une contrainte pour laquelle l’azimuth de

l’UAV doit ˆetre sup´erieur `a l’azimuth de P dans le rep`ere c´eleste d´efini par Q0et Q1.

Les valeurs num´eriques donn´ees dans les exemples sont illustratives. En r´ealit´e, elles ne sont explicitement fournies qu’au moment d’instancier les mod`eles de contraintes spatiales, dans la table de coordination d’un mod`ele d’interaction (voir la section V.2.4).

En combinant des contraintes d’orientation et de distance, il est possible de d´efinir explici- tement des configurations spatiales qui doivent ˆetre respect´ees pendant la r´ealisation de tˆaches jointes.

Nous verrons par ailleurs que ces contraintes spatiales peuvent ˆetre exploit´ees pour d´eduire les positions valides d’activit´e, pendant la r´ealisation d’une tˆache jointe : le VCS dispose en effet de moyens de d´eterminer des positions de l’espace valides, compte tenu des contraintes. Nous en parlons dans la section V.4.3.

Exemple de r ´ef ´erence - partie 6 : mod `eles de contraintes spatiales

Nous d ´efinissons dans cette partie des mod `eles de contraintes spatiales qui sont employ ´es dans le mod `ele d’interaction de notre exemple de r ´ef ´erence. Trois mod `eles de contraintes seront d ´efinis :

Le premier, mcs1, est assez basique. Il ne contient qu’une seule contrainte spatiale, et

vise `a conserver une distance de s ´ecurit ´e entre les UAV. Nous ´ecrivons donc la contrainte comme suit : cs1= (R,V, >). Nous fixons arbitrairement cette distance de s ´ecurit ´e `a 20 m `etres.

Le deuxi `eme, mcs2, concerne la t ˆache de perception du feu. Nous d ´efinissons deux con-

traintes de distance, et deux distances d’orientation :

– Une premi `ere contrainte concerne la distance au feu : la contrainte s’ ´ecrit : cs21= (P,V, >)

Nous fixons V `a 25 m `etres, pour une question de s ´ecurit ´e.

– La deuxi `eme contrainte concerne aussi la distance au feu : pour r ´ealiser des percep- tions de bonne qualit ´e, la distance au feu doit en effet ˆetre inf ´erieure `a 40 m `etres.

cs22= (P,V, <)

– La troisi `eme contrainte concerne la direction de perception du feu : il s’agit d’une per- ception de face, et l’angle d’azimuth, doit donc ˆetre nul par rapport aux deux points de r ´ef ´erence :

cs23= (P0, P1, AZIMUT H,V, =)

La valeur de V sera fix ´ee `a 0 lors de l’instanciation du mod `ele de contraintes spatiales. – La quatri `eme contrainte concerne la hauteur de perception du feu : l’angle d’altitude est arbitrairement fix ´e `a π/6 pour notre exemple de r ´ef ´erence :

cs24= (P0, P1, ALT ITUDE,V, =)

Le troisi `eme, mcs3, concerne la t ˆache de relais de communication. Nous d ´efinissons deux

contraintes de distance :

– Une premi `ere contrainte concerne la distance `a l’UAV relay ´e : elle ne doit jamais ˆetre sup ´erieure `a la distance de communication, arbitrairement fix ´ee `a 100 m `etres. cs31= (R,V, <)

– La deuxi `eme contrainte concerne la distance au centre de contr ˆole, consid ´er ´e comme un point : la distance ne doit jamais ˆetre sup ´erieure `a la distance de communication, arbitrairement fix ´ee `a 100 m `etres.

cs32= (P,V, <)

Ces mod `eles de contraintes spatiales sont pour l’instant d ´eclar ´es de fac¸on abstraite : celui conc¸u pour le relais de communication peut tr `es bien ˆetre utilis ´e dans beaucoup d’autres cas de figure que notre exemple de r ´ef ´erence, par exemple. De m ˆeme, celui destin ´e `a la perception de feu peut ˆetre utilis ´e dans d’autres contextes de perception de cible. Les valeurs num ´eriques, r ˆoles et points seront instanci ´es dans la table de coordination, qui fait l’objet de la sous-section suivante.