3T développe un système de freinage d'urgence pour robots avec l'approche Model-Based Design

« Avec Simulink et HDL Coder, nous avons éliminé les erreurs de programmation et automatisé le delay balancing, le pipelining, ainsi que d'autres tâches fastidieuses et sujettes aux erreurs. En conséquence, nous avons pu mettre en œuvre facilement et rapidement les demandes de modifications de nos clients et réduire les délais de mise sur le marché. »

Challenge

Concevoir et mettre en œuvre un système de freinage d'urgence pour robot avec un minimum de tests matériels

Solution

Utiliser l’approche Model-Based Design avec Simulink et HDL Coder pour modéliser, vérifier et implémenter le contrôleur

Résultats

  • Temps de salle blanche réduit de quelques semaines à quelques jours
  • Modifications tardives des exigences rapidement mises en œuvre
  • Bug complexe résolu en un jour
Un robot SCARA.

Un robot SCARA.

Les assemblages SCARA (Selective Compliance Assembly Robot Arm) sont largement utilisés dans la fabrication de semi-conducteurs car ils excellent dans l'exécution de mouvements dans un plan horizontal, où ont lieu la plupart des mouvements de manipulation de wafers. Comme toute machine à haute tension se déplaçant à grande vitesse, les robots SCARA peuvent causer des dommages importants à leurs propres composants et aux machines environnantes en cas de dysfonctionnement. Pour éviter un tel événement, les ingénieurs de 3T ont conçu un système de freinage d'urgence pour les robots SCARA.

Au début du projet, l'équipe de 3T ne savait pas si un système de freinage pouvait être conçu pour arrêter le robot à temps afin d'éviter une collision sans endommager le robot lui-même. Les ingénieurs 3T ont utilisé l’approche Model-Based Design avec MATLAB® et Simulink® pour mener une étude de faisabilité, identifier une solution et mettre en œuvre un contrôleur de système de freinage en temps réel sur un FPGA.

« L’approche Model-Based Design nous a permis d'essayer rapidement différentes approches de contrôle pour voir ce qui fonctionnerait et ce qui ne fonctionnerait pas », explique Ronald van der Meer, ingénieur système chez 3T. « Pour minimiser les tests hardware et le débuggage en salle blanche, nous avons testé et affiné notre solution via la simulation dans Simulink, puis avons utilisé la génération de code avec HDL Coder pour l'implémenter une fois qu'elle a été vérifiée. »

Challenge

Le client de 3T, l'un des principaux producteurs néerlandais d'équipements de fabrication de semi-conducteurs, avait des exigences strictes en matière de système de freinage. Pour éviter des collisions potentiellement désastreuses, le système de contrôle devrait arrêter le robot avec une précision millimétrique en moins de 0,5 seconde sans causer de dommages au robot. Au départ, ni 3T ni son client ne savaient s'il était possible de concevoir un système de freinage répondant à ces exigences.

Les tests en salle blanche et le travail avec une machine réelle ou avec un prototype coûtent cher. De plus, tester le système de freinage sur du matériel réel pourrait endommager l’équipement, lui-même coûteux. Pour cette raison, les ingénieurs de 3T devaient vérifier la conception du freinage avant la mise en œuvre initiale du matériel. Ils ont reconnu qu'écrire du code VHDL® à la main, comme ils l'avaient fait sur des projets précédents, les obligerait à passer trop de temps à tester et à débugger en salle blanche à la fin du projet.

Solution

3T a utilisé l’approche Model-Based Design avec MATLAB, Simulink et HDL Coder™ pour concevoir et mettre en œuvre le contrôleur du système de freinage d'urgence SCARA.

Le fabricant de semi-conducteurs a fourni à l'équipe d'ingénierie de 3T un modèle mécanique du robot créé dans Simulink.

L'équipe 3T a complété ce modèle mécanique avec deux modèles supplémentaires : un modèle de contrôleur de base, créé avec Simulink, et un modèle électronique, créé avec Simscape Electrical™. Ils ont ensuite simulé le modèle complet du système et partagé le modèle et les premiers résultats de simulation avec le client. Cet échange a été l'occasion pour le client d'améliorer le modèle mécanique et de proposer des améliorations au contrôleur.

L'équipe 3T a continué à améliorer et à affiner le modèle de contrôleur dans Simulink, simulant des dizaines de scénarios et de sensibilités de paramètres jusqu'à ce qu'elle ait confirmé la faisabilité de la conception.

Étant donné que la plupart des FPGA fonctionnent plus efficacement en utilisant des implémentations d'algorithmes de contrôle en virgule fixe, l'équipe a développé une représentation en virgule fixe de leur modèle de contrôleur, à l'aide de Fixed-Point Designer™ pour guider les décisions sur la longueur et la mise à l'échelle des mots.

L'équipe a ensuite remplacé le modèle de contrôleur en virgule flottante dans le modèle système par la version en virgule fixe à l'aide du référencement de modèle dans Simulink et a vérifié l'implémentation en virgule fixe à l'aide de la simulation.

Ils ont généré du code algorithmique VHDL à partir du modèle de contrôleur en virgule fixe avec HDL Coder.

À l'aide de HDL Verifier™, ils ont intégré dans leur design un cœur IP tiers provenant du fournisseur FPGA et généré un banc de test pour la vérification du code VHDL à l'aide de Mentor Graphics® ModelSim®.

Après les premiers tests hardware, l'équipe a affiné le modèle, effectué des simulations supplémentaires pour tester les modifications et régénéré le code VHDL pour le système de freinage final, que le client utilise désormais en production.

Les ingénieurs de 3T réalisent actuellement des projets similaires en utilisant l’approche Model-Based Design avec MINT, la nouvelle carte de développement multi-interface SoC de la société, pour un prototypage rapide et des tests hardware-in-the-loop.

Résultats

  • Temps de salle blanche réduit de quelques semaines à quelques jours. « Grâce à l’approche Model-Based Design, nous avons vérifié une grande partie de notre conception dès le début du développement, puis généré un VHDL sans défaut », explique van der Meer. « Ainsi, au lieu de plusieurs semaines, nous n'avons eu besoin que de quelques jours en salle blanche. Le système de freinage n’a nécessité que quelques ajustements mineurs car il était presque parfait dès la première fois que nous l’avons testé. »
  • Les modifications tardives des exigences sont rapidement mises en œuvre. « Lors des tests finaux, une nouvelle exigence est apparue pour limiter la décélération maximale », explique van der Meer. « Avec Simulink, nous avons trouvé un moyen de répondre à cette exigence en utilisant la modulation de largeur d'impulsion. Simulink et HDL Coder nous ont permis de mettre en œuvre une solution en quelques jours et d'éviter que le projet ne soit finalement un échec. »
  • Bug complexe résolu en un jour « Nous avons rencontré un sérieux bug de logique de conception qui aurait facilement pu prendre des semaines, voire des mois, à identifier et à corriger », explique van der Meer. « Nous avons rapidement diagnostiqué le problème en analysant les données enregistrées dans MATLAB et en rejouant ces données dans des simulations Simulink. Nous avons implémenté un correctif dans le modèle, régénéré le VHDL et préparé une version updatée disponible dès le lendemain. »