• Aucun résultat trouvé

102 Modelisation de la perception

6.2 Modeles de capteurs

Des modeles de capteurs ont deja ete mis en uvre, mais surtout dans le cadre de modelisation et de simulation pour des systemes de CAO pour la robotique et la teleoperation [And83b]. Cependant, nous nous interessons plut^ot a la synthese d'images, comme dans [Bou86]. Ainsi, pour modeliser l'e et des capteurs, nous utilisons des methodes graphiques qui renseignent sur la distance. En synthese d'images, ce qui se rapproche le plus des ondes, lumineuses ou sonores, est le modele d'eclairage (cf. Annexe A). Nous pou-vons considerer qu'un capteur simule emet un rayon. Il faut trouver mathematiquement l'intersection entre le rayon et l'obstacle, pour en deduire la distance a cet obstacle. En-suite, nous appliquons un post-traitement pour tenir compte de la distorsion du signal due a la distance et a l'angle d'incidence, ainsi que du bruit d^u aux erreurs et/ou incertitudes liees au capteur.

6.2.1 Outils graphiques

La programmation graphique est realisee avec l'ensemble d'outils 3D orientes objets

OpenInventor

TMetOpenGL

TM, sur des stations Silicon Graphics. Deux outils graphiques

nous interessent : la camera et le lancer de rayon.

a) Camera

Un objet camera genere une image d'une partie de la scene, depuis la position et la direction de cet objet camera dans la scene. Une seule camera est utile pour rendre la scene, mais d'autres cameras peuvent ^etre ajoutees. Les images alors captees peuvent ^etre achees soit dans la fen^etre principale, representant la scene, soit dans des fen^etres annexes hors-ecran. Il existe plusieurs types de cameras, mais celle qui nous interesse est la camera perspective (cf. Figure 6.1). Une camera perspective emule les dispositifs optiques standard (appareil photo, chambre noire, etc.), les objets eloignes apparaissant plus petits. Le volume de vue forme par une camera perspective est une pyramide tronquee. Les parametres associes a l'objet camera perspective sont donnes dans la table 6.1.

Direction de vue Position

Distance proche

(-Z transformé par orientation)

Rapport d’aspect= x/y Angle de hauteur*Rapport d’aspect Angle de largeur =

Angle de hauteur

Distance lointaine

position : c'est la localisation du point de vue de la camera.

orientation : c'est l'orientation de la direction de vue de la camera. Cela decrit la rotation de la camera par rapport a l'orientation initiale de la camera, a savoir de (0:;0:;1:) vers l'origine (0:;0:;0:), la direction vers le haut etant (0:;1:;0:).

rapport d'aspect : il s'agit du rapport largeur sur hauteur de la vue de la camera. Cette valeur doit ^etre a 1.33 pour un format television.

distance proche : c'est la distance du point de vue de la camera au premier plan de coupure (le plus proche).

distance lointaine : c'est la distance du point de vue de la camera au second plan de coupure (le plus eloigne).

angle de hauteur : il speci e l'angle vertical du volume de vue de la camera. angle de largeur: il speci e l'angle horizontal du volume de vue de la camera.

Il est directement determine par l'angle de hauteur et le rapport d'aspect :

angle de largeur = angle de hauteur  rapport d'aspect.

Pendant l'action de rendu de la scene, la camera est placee dans la scene, selon sa position et son orientation speci ees. La camera cree un volume de vue, base sur les plans de coupure proche et eloigne, le rapport d'aspect, et l'angle de hauteur. Un volume de vue, ou vue tronquee, est un volume a six c^otes contenant la geometrie a voir. Les objets hors du volume de vue ne sont pas pris en compte. Ensuite, ce volume de vue 3D est projete en une image 2D en tenant compte de la perspective, de maniere analogue a un instantane qu'un appareil photographique aurait fait d'une scene reelle. Cette projection 2D est achee dans une fen^etre sur l'ecran.

Cette projection represente une image, de maniere similaire a une image par points

(bitmap), mais au lieu de contenir un seul bit pour chaque pixel, cette image peut contenir

bien plus d'informations, notamment la couleur (RGB =(red, green, blue)= (rouge, vert,

bleu)), la transparence (alpha), la profondeur (Z), ou la luminance (L) quand on ne tra-vaille pas en couleur. Ces donnees des pixels peuvent ^etre manipulees directement, gr^ace a des actions de lecture, d'ecriture, de copie. La lecture permet de recuperer les informations

concernant l'image, en lisant dans le tampon d'image (frame bu er). L'ecriture est l'action

opposee : une image a ete calculee ou modi ee, et on l'ecrit dans le tampon d'image, de maniere a l'acher dans la fen^etre. On peut en n copier directement un tampon d'image dans un autre tampon d'image.

b) Lancer de rayon

Open InventorTM o re la possibilite d'appliquer des actions sur les objets de la scene.

Notamment, il existe une action de selection par rayon qui permet de trouver des ob-jets le long d'un rayon. Cette action donne tous les obob-jets rencontres par le rayon de selection, tries du plus proche au plus eloigne. Par defaut, tous les objets de la scene sont selectionnables, on peut cependant rendre certains objets invisibles. Avant d'appliquer l'action de selection par rayon, on de nit le rayon gr^ace auquel s'e ectue la selection, par un point de depart, un vecteur directeur, un plan de coupure proche et un plan de coupure eloigne pour les objets selectionnes (cf. Figure 6.2), et on speci e si l'on desire tous les objets touches par le rayon, ou seulement l'objet le plus proche, s'il existe.

P éloigné proche plan de coupure plan de coupure D

Fig. 6.2: De nition du rayon pour l'action de selection.

Les resultats de la selection sont stockes sous forme d'une liste eventuellement vide de points selectionnes. Un point selectionne represente un point de la surface d'un objet qui a ete touche par le rayon. Ce point selectionne contient diverses informations, celles qui nous interessent etant le point d'intersection, dans le repere du monde, ou dans le

6.2 Modeles de capteurs 105

repere local a l'objet, et la normale a la surface en ce point d'intersection, dans le repere du monde ou dans le repere local a l'objet.

6.2.2 Modelisation des signaux capteurs

Nous souhaitons utiliser les outils graphiques precedemment presentes, a n de calculer a chaque instant, la distance capteur-obstacle. Cependant, il faut transformer cette dis-tance exacte en une valeur raisonnable correspondant a la sortie d'un capteur dans un cas reel. Aussi, nous decrivons dans ce paragraphe, la mise en uvre de ces outils graphiques ainsi que les traitements e ectues, pour modeliser la propagation d'onde, de maniere a realiser des modeles de capteurs reels.

Un capteur optique envoie un train d'impulsions. Nous modelisons ce mode de fonc-tionnement par un lancer de rayon, ce qui correspond a une detection ponctuelle des obs-tacles. Aussi appelons-nous ce type de capteur modelise, un capteur 1D (cf. Figure 6.3 (a)). Nous pouvons egalement utiliser ce type de capteur pour emuler un capteur a balayage par exemple, ou plus simplement en prenant une batterie de capteurs, de maniere a cou-vrir un plan. Ainsi, nous obtenons un capteur 2D (cf. Figure 6.3 (b)).

L'autre type de capteurs que nous souhaitons modeliser est le capteur a ultra-sons. Ce capteur est beaucoup moins directionnel que le capteur optique. En e et, son champ d'action est plus etendu, volumique (cf. Figure 5.11). Nous modelisons ce mode de fonc-tionnement par une camera, permettant ainsi de detecter des obstacles dans un certain volume. Ce capteur est ainsi de type 3D (cf. Figure 6.3 (c)).

distance capteur dmin dmax distance capteur dmin dmax w capteur distance h min d dmax

a)Lignedevisiondecapteur1D. b)Plandevisiondecapteur2D. c)C^onedevisiondecapteur3D.

Fig. 6.3: Types de perception.

Documents relatifs