Compte rendu réunion du 17.06.2022
Présentation Martin
Descriptif : Présentation de la boite noire pour l'optimisation de la découpe de surface gauche
Résumé :
Le but du stage est de permettre à des logiciels tel que NOMAD de pouvoir optimiser la boite noire. Pour cela, l'installation et l'utilisation de la boite noire doivent être simple et un guide doit être fournit pour permettre à n'importe qui en dehors du projet d'utiliser simplement la boite noire sur un logiciel d'optimisation. Pour cela, un fichier au format .jar exécuté en ligne de commande pourrait convenir. Le logiciel Maven permettra d'embarquer toute les librairies utilisées par le projet de façon à avoir un code stand alone et donc plus simple à utiliser.
L'algorithme de clustering utilisé pourrait être un paramètre d'utilisation de la boite noire mais l'algorithme du KMeans étant meilleur que les algorithmes RPCL et de classification hiérarchique ascendante on se concentrera sur le KMeans. Aussi, cet algorithme à l'avantage tel qu'implémenté de ne pas posséder de caractère stochastique contrairement au RPCL. Il renvoie donc en théorie pour les mêmes entrées le même clustering.
Néanmoins, un risque de variation de la précision du calcul numérique d'une machine à une autre ou d'un système d'exploitation à un autre existe. Il faudra donc s'assurer que ce n'est pas le cas et si ce problème se présente, on se contentera de la précision maximale qui donne les mêmes résultats sur toutes les machines. Pour le moment, 1e-12 est considéré comme nul. Aussi, une précision au delà de 6 décimale pour la solution n'est pas pertinent car cela corresponds à une précision de l'ordre du micron, précision maximale des machines à usiner dans l'industrie.
Chaque appel de la boite noire (par un logiciel comme NOMAD) sur une même instance recalcule le clustering. Cela ne pose pas de problème en théorie car le temps de calcul du clustering est négligeable devant le temps d'évaluation de la boite noire. On vérifiera que le calcul numérique n'induit pas de variation susceptible de donner un clustering différent pour deux appels de la boite noire sur la même instance.
Pour aider au débogage, un outil de visualisation de la pièce ainsi que des trajectoires d'usinage est implémenté. Il utilise le logiciel VTK mais n'est utilisable pour le moment que sous linux. Il faut donc envisager un portage Windows ou l'installation de ce logiciel sur les machines du GERAD afin de lancer la visualisation à distance.
Différentes variables du problème ont été envisagées parmi lesquelles:
- Le type d'algorithme de clustering mais comme mentionné précédemment, seul le KMeans sera utilisé.
- Le nombre de zones d'usinage (ou cluster). L'utilisation de l'algorithme Kmeans nécessite de fixer le nombre de clusters lors du partitionnement de la zone. Cette variable K corresponds à une variable d'optimisation de la boite noire (une variable méta)
- La surface usinée, on se concentrera dans un premier temps sur l'hélice de bateau (fichier 7x7BezierBlade.igs) car à chaque surface différente corresponds une instance différente du problème.
- La métrique, elle influence le clustering. On utilisera la métrique SLOPE.
- Les poids, ils influencent la métrique. On laissera ces poids à un 1 car les valeurs des angles s et θ sont exprimés en radian et les longueurs u et v varient entre 0 et 1. Ils sont donc assez proches pour ne pas avoir à les corriger.
- Les directions et orientations d'usinage. On se contentera dans un premier temps d'une machine 3 axes, on fixera donc à des valeurs de références les angles d'orientations de la fraise pour n'optimiser que les directions d'usinage.
Un dossier GitHub sera aussi crée pour mettre le code de la boite noire et tenir à jour ses modifications.
https://polymtl.webex.com/polymtl/j.php?MTID=m32f2355dde31fd3d03d1e79830540e2c