Thèse de doctorat en Génie informatique et automatique
Sous la direction de Richard Berland.
Soutenue en 2000
à Limoges , en partenariat avec Université de Limoges. Faculté des sciences et techniques (autre partenaire) .
Ce travail s'inscrit dans le cadre de la vérification automatique des programmes d'usinage où le centre de l'outil de coupe, en 2D1/2, suit des trajectoires linéaires et circulaires. Pour étudier les aspects géométriques de la simulation d'usinage, on est amené à calculer la subdivision du plan résultant de la superposition des courbes d'usinage qui délimitent les portions de surface correspondant aux déplacements de l'outil. Nous procédons de la façon suivante. Etant données les trajectoires et les caractéristiques de l'outil de coupe, les courbes d'usinage sont construites : celles-ci se composent d'arcs de cercle et de segments. Un graphe planaire décrivant la subdivision résultant de la superposition de toutes ces courbes est alors à déterminer. Pour calculer le graphe planaire nous proposons d'étendre aux arcs de cercle l'implémentation de l'algorithme de Bentley-Ottmann disponible dans LEDA (Library of Efficient Data types and Algorithms). Cet algorithme, très efficace en termes de complexité, est connu pour être sensible aux erreurs numériques. Les apports de notre travail sont les suivants : - l'extension de l'algorithme pour la prise en compte d'arcs de cercle. Les arcs de cercle sont décomposés en arcs monotones. Les principales difficultés résident dans le fait que deux arcs de cercle, ou un arc de cercle et un segment de droite, peuvent être tangents sans être confondus, contrairement à deux segments de droite, et que s'ils ne sont pas confondus, ils peuvent se couper en plus d'un point. - la modification des prédicats et constructeurs géométriques utilisés dans l'algorithme : comparaison de deux points, positionnement d'un objet géométrique (point, segment, arc) par rapport à un autre objet géométrique, test d'intersection de deux objets géométriques. Pour contrôler la robustesse de l'algorithme, il est nécessaire de contrôler à priori le degré des expressions numériques. Nous réalisons une étude approfondie afin de déterminer, en utilisation les règles de réécriture énoncées par PREPARATA, les degrés de toutes les expressions numériques intervenant dans l'application : le nombre d'expressions est beaucoup plus important que dans le cas de l'intersection de segments, puisque non seulement interviennent des arcs de cercle, mais l'application présente des constructions en cascade et un grand nombre des cas dégénérés. Les expressions sont donc de degré élevé et l'algorithme est hautement sensible aux erreurs d'arrondi. Pour abaisser les degrés des expressions, nous utilisons un calcul filtré par des informations topologiques. Nous manipulons aussi les liens géométriques existants entre les segments et arcs et les trajectoires exactes les définissant. Et éventuellement nous reformulons les prédicats de façon à ce qu'ils utilisent les trajectoires. L'algorithme modifié a été implanté en utilisant la bibliothèque LEDA. Notre implémentation utilisant la précision fournie par les degrés s'est révélée plus efficace que l'utilisation de la borne de séparation de LEDA. Une étude approfondie de la complexité a été réalisée. L'étude est tout d'abord théorique, puis une étude expérimentale très détaillée est présentée sur des exemples réalistes issus d'un système CFAO industriel en considérant plusieurs types de temps de calcul.
Pas de résumé disponible.