• Aucun résultat trouvé

Au travers de ce chapitre, nous avons présenté l’algorithme ESPIONS qui constitue la principale contribution quant aux travaux réalisés dans le cadre de cette thèse. Au delà

4.7 – Conclusion

des principes généraux qui régissent cet algorithme, nous avons introduit plusieurs forma- lismes permettant son utilisation dans le cadre de simulations mettant en scène des objets de différents types : polyèdres, nuages de points, surfaces paramétriques. Nous avons éga- lement présenté le schéma de fonctionnement général de l’algorithme en prenant soins de détailler l’ensemble des étapes qui le composent. Enfin, plusieurs modes opératoires vi- sant à son intégration au sein de processus de simulations ont été proposés.

Discussion concernant la détection d’interpénétrations

Dans ce chapitre, et plus généralement dans le cadre de cette thèse, ESPIONS peut être défini comme un processus visant à identifier des champs de distances minimum locales entre des objets. Ainsi, il peut se voir utilisé dans le cadre de simulations fondées sur le formalisme selon lequel, dans un contexte discret, la collision entre deux objets peut être assimilée à une trop grande proximité entre ces derniers (Cf. paragraphe 2.4.1). Le couplage avec l’algorithme LMD++ proposé en section 5.3 illustre bien cette aptitude.

Cependant, comme il l’a également été expliqué (Cf. paragraphe 2.4.1), les approches proposées dans la littérature consistent souvent à considérer qu’il y a collision entre deux objets lorsqu’une intersection entre ces derniers est observable, auquel cas les informa- tions de contact sont souvent définies comme des vecteurs d’interpénétration. En l’état actuel de l’avancement de nos travaux, ESPIONS ne peut être utilisé dans ce contexte. En effet, le fait de tendre à minimiser la taille des individus, sans prise en considération du signe de la distance séparant les nucléons qui les composent, compromet la pertinence des informations issues de l’algorithme lors d’interpénétrations. Lorsque qu’il y a interpéné- tration entre les objets, les pions tendent à s’agglutiner au niveau des intersections entre les objets au niveau desquelles leur fitness s’annule.

Une voie d’investigation pour répondre à cette problématique pourrait consister à re- définir la fonction fitness en prenant en considération les normales aux surfaces des objets considérés. La fitness serait ainsi assimilable à une distance signée et ESPIONS continue- rait à fonctionner en cas d’intersection. L’algorithme tendrait alors à identifier des dis- tances maximum d’interpénétration, assimilables aux plus grandes diagonales des enve- loppes convexes englobant chacune des intersections inter-objets. Ce type d’informations ne sera cependant pas exploitable en l’état, un vecteur d’interpénétration étant généra- lement défini comme le déplacement minimum à réaliser pour ramener les objets à une situation de contact exact. De plus une telle approche imposerait des contraintes fortes quant à la définition géométrique des objets simulés : connexité, orientation des normales aux surfaces, . . .

consister en une adaptation d’ESPIONS au cas de simulations dans le cadre desquelles les collisions entre les objets sont définies comme des interpénétrations entre ces derniers.

4.7 – Conclusion Initialisation Mutations Population Classification Elite Evaluation Evaluation Cycle générationnel Optimisations Population Traitements Marquage Evaluation Filtrages Sélection/Filtres Initialisation Collisions Mouvements Informations géométriques (contacts) Processus ESPIONS 1 Processus client Informations géométriques

(positions) Accès asynchrones

Initialisation Mutations Population Classification Elite Evaluation Evaluation Cycle générationnel Optimisations Population Marquage Evaluation Filtrages Sélection/Filtres Processus ESPIONS 2

FIG. 4.20 – Architecture permettant une distribution du processus ESPIONS. L’idée est de

partager l’espace à explorer entre plusieurs threads afin de répartir la charge sur plusieurs unités de calcul.

Chapitre 5

Analyse expérimentale d’ESPIONS et

implémentations dans un

5.1

Introduction : ESPIONS, de la théorie à la pratique

Dans le chapitre précédent, nous avons proposé une présentation générale de l’en- semble des composantes de l’algorithme ESPIONS. Nous y avons introduit les concepts fondamentaux de l’algorithme et les différents procédés et modes opératoires qui le com- posent. Au travers de ce nouveau chapitre, nous proposons une analyse du fonctionnement d’ESPIONS. Pour ce faire, nous procédons en deux phases.

Dans un premier temps, nous réalisons une étude expérimentale de l’algorithme dans un cadre général (i.e. sans prise en compte de l’aspect applicatif). Cette première étape a pour but de caractériser l’effet des différents paramètres de l’algorithme sur son com- portement général. La finalité de cette démarche, fondée sur l’évaluation de certaines caractéristiques de l’algorithme, consiste en la mise en place de critères visant à facili- ter l’élaboration de jeux de paramètres pertinents en fonction de la nature du problème à résoudre.

Dans un deuxième temps, nous proposons d’étudier le fonctionnement d’ESPIONS en nous basant sur des implémentations concrètes de ce dernier. Nous souhaitons ainsi valider les hypothèses et affirmations présentées dans le chapitre précédent, et mettre en évidence les apports et limites de notre algorithme dans des contextes spécifiques. Pour ce faire, nous exposons différentes applications concrètes de notre algorithme dans le cadre de deux couplages visant à son intégration au sein de moteurs physiques. Nous souhai- tons ainsi illustrer deux modes d’utilisation d’ESPIONS : Le premier consistant en son intégration au sein d’un pipeline de détection de collisions en vue d’améliorer les perfor- mances du processus, et le deuxième en une utilisation d’ESPIONS comme un module de détection des collisions à part entière, dans le cadre de simulations mettant en scène des objets déformables. Nous proposons également une implémentation visant à illus- trer la parallélisation du processus ESPIONS, afin d’exploiter pleinement les plateformes matérielles pourvues de plusieurs unités de calcul.