• Aucun résultat trouvé

4.2.1 Objets (obstacles et plate-forme)

En pratique dans une implémentation, les objets peuvent être représentés par leurs frontières numériques, c’est à dire des surfaces elle-mêmes composées de facettes. Le format STL décrit par Burns [1993] décrit un tel modèle surfacique. Ce format, de

facto un standard de l’industrie, est usuellement utilisé pour la liste des descriptions de

ces facettes. Pour représenter un solide, on impose que la surface soit fermée, mais la convexité n’est pas nécessaire. La description des facettes est chargée comme feuillage d’un arbre AABB décrit section 2.2 page 39, et la structure en boîtes est construite sur cette base. Pour subvenir aux nécessités d’agrandissement du modèle (donc pour se prémunir des effets de la discrétisation de la géométrie réelle), et à celles de placement de l’objet (translation de l’origine, rotation), on équipe la fonction de chargement des facettes d’une transformation par translation, et d’une transformation par similitude exacte, toutes deux constantes sur l’ensemble des facettes. La translation est définie par un vecteur, et la similitude exacte, soit par une matrice vérifiant MTM = λI

3 avec λ ∈ R et I3 la matrice identité de R3, soit par une séquence d’angles sur les axes du

repère et un facteur d’échelle.

4.2.2 Câbles

Pour tester les intersections des câbles par l’approche IdfN avec les autres objets (obstacles, plate-forme), ils sont munis d’une définition d’objet. Néanmoins pour chaque câble, les points d’attaches fixe et mobile ne sont pas connus avec une précision infinie, mais comme inclus dans deux boîtes données. En plus de ces erreurs, les boîtes des po- sitions des points mobiles seront des espaces balayés, obtenus par calcul par intervalles, agrandissant encore ces boîtes. Il faut donc définir le faisceau des câbles possibles.

En première approximation, on assimile un câble à sa corde. On définit ainsi le « fourreau du câble (simplifié) i » (cable sheath) comme la surface du polyèdre dé- finissant l’ensemble des segments dont une des extrémités appartient à la boîte des positions possibles pour Ai, et l’autre à la boîte des positions possibles pour Bi. L’es-

pace correspondant est obtenu comme l’enveloppe convexe de ces deux boîtes, qu’on ampute ensuite des deux boîtes génératrices pour des raisons pratiques : d’une part les collisions entre les espaces autorisés d’emplacement des points d’attache fixes avec les obstacles ont leurs tests dédiés, d’autre part les espaces potentiels des attaches mobiles

sont en collision avec la plate-forme par définition. Un exemple de la construction d’un fourreau est donné figure4.3.

Ai

Bi

Figure4.3 – Exemple de fourreau de câble au milieu, c’est à dire la surface du volume défini par l’ensemble des segments dont les extrémités appartiennent à chacune des deux boîtes (volume convexe minimal contenant Ai & Bi) ; les faces dont les contours sont soulignés en rouge sont les faces ajoutées à celles des boîtes pour fermer le polyèdre, et donc constituant le fourreau. À droite, le fourreau est découpé en triangles pour les tests.

Enfin, les 4 à 8 faces de ce polyèdre, c’est à dire le fourreau du câble, sont divisées en triangles dont nous testerons l’intersection avec les autres objets. On appellera « axe du fourreau i » le segment originant du centre de la boîte de Ai et se terminant au

centre de la boîte de Bi.

Dans un second temps, nous assimilerons le câble à son modèle chaînette élastique. Pour cela, nous utiliserons la définition hiérarchique de l’objet câble définie à la sec- tion 4.6.1 page 120 à la place des fourreaux. Cette définition est compatible avec les boîtes de taille non-nulle des points d’attaches fixes et des espaces balayés des points d’attaches mobiles. Le câble originant du centre de la boîte de Ai et se terminant au

centre de la boîte de Bi se substituera à l’axe du fourreau i.

4.2.3 Développement des collisions

Les intersections entre volumes virtuels sont déterminées par l’algorithme « 3D Fast Intersection and Distance Computation algorithm » de Alliez et collab. [2013], qui statue si ces ensembles sont vides ou non. La détermination des espaces balayés repose sur l’analyse par intervalles qui montre encore une fois l’utilité de sa définition pratique. On obtient ainsi les volumes balayés par simple évaluation par intervalles des fonctions décrivant le mouvement considéré, volumes toutefois sujets à la surestimation d’une part et à l’effet d’emballage ensuite.

Dans cette partie, nous allons donc décrire les collisions entre objets comme des tests d’intersections. Plus exactement, nous définissons une liste de conditions nécessaires pour que le robot se trouve dans au moins un type de collision (définissant un statut de collision indéterminé pour la boîte de pose), et une liste de conditions suffisantes pour qu’il y ait collision (extérieur duNIW). En supposant que ces listes soient exhaustives, ce qui semblerait être le cas en couvrant tous les types définis dans la section4.1.4, la réfutation de toutes ces conditions sur l’ensemble de la boîte de pose implique l’absence de collisions (intérieur duNIW).

4.2.4 Conditions nécessaires pour une collision d’objets

Une bissection de la boîte de pose considérée sera nécessaire pour maximiser leNIW

si une des intersections suivantes est détectée sur au moins une partie de la boîte :

Obstacle / espace balayé par la plate-forme : un obstacle intersecte une partie

de l’espace balayé par la plate-forme. Soit pour des raisons de rapidité de calcul, soit si aucun modèle numérique de la plate-forme n’a été fourni, cette intersection peut être évaluée par l’intersection des obstacles et des espaces balayés par les points d’attache mobile Bi. L’espace balayé de chacun des points d’attaches est obtenu par calcul par

intervalles, il en est de même pour l’espace balayé par la plate-forme. Un exemple d’une telle intersection est représentée figure 4.4.

Q

Figure4.4 – Exemple de l’intersection de la plate-forme avec un obstacle : bien que le point d’action Q de l’organe terminal soit dans l’espace de travail requis (le parallélépipède en bleu), la forme de la plate-forme l’amène en collision avec l’obstacle

Objet (obstacle ou plate-forme) / câble : l’objet intersecte une partie de l’espace

balayé par le câble, comme présenté par l’exemple de la figure 4.5.

4.2.5 Conditions suffisantes pour une collision d’objets

Une boîte de pose considérée et de dimension modérée est entièrement hors duNIW

si une des intersections suivantes est détectée pour au moins un morceau de la boîte :

Objet (obstacle ou plate-forme) / axe d’un fourreau de câble : si l’objet in-

tersecte l’axe d’un fourreau et que ce fourreau est défini à partir d’une boîte de position du point d’attache mobile petite, on considère que cette intersection n’est pas causée par la surestimation (surestimation dans la l’évaluation des position du point d’attache mobile, et surestimation par l’encapsulation large qu’est le fourreau). L’axe du four- reau est représenté par la ligne épaisse centrale (et surlignée en vert) sur la figure 4.5. Dans l’implantation, cette condition de dimension modérée est évaluée comme une va- leur de la mesure normale de la boîte (déf. 2.1, page 35) du point d’attache mobile

Ai

Bi

axe fourreau

Figure 4.5 – Représentation de l’intersection (nez de l’avion, en rouge) d’un fourreau de câble et d’un obstacle

sens de leurs positions, dans le repère de la plate-forme). Cette condition peut sembler drastique, mais il faut considérer que l’axe du fourreau représente un seul cas, le plus conservateur, parmi le faisceau des câbles. Comme les boîtes ont une taille minimum (la précision du système informatique dans le pire des cas), si celui-ci intersecte un objet, alors il existe forcément d’autre poses de la boîte avec collisions.

Le robot est intrinsèquement avec au moins un type de collision si une intersection du type suivant est détectée :

Obstacle / espace de travail requis : l’obstacle intersecte une partie de l’espace

de travail demandé, voir l’exemple figure 4.6. Dans ce cas tout robot conçu pour cet espace de travail requis, avec cet obstacle, ne peut éviter cette collision.

Figure 4.6 – Exemple d’une application dont la définition présente intrinsèquement des collisions

Un robot n’est pas valide si une intersection d’un des types suivants est non vide :

Obstacle / espace autorisé pour les points d’attache : l’obstacle intersecte au

Espace de travail requis / espace autorisé pour les points d’attache : l’espace

de travail requis intersecte au moins une partie d’une des boîtes encadrant la position d’un guide de sortie du câble.

Comme définit à la section 4.1.4, ces trois derniers type de collisions relèvent de la conception du CDPR, et ne doivent normalement pas avoir d’influence sur le NIW

d’un robot bien conçu.