3T sviluppa un sistema di frenata di emergenza per robot con la progettazione Model-Based

“Con Simulink e HDL Coder abbiamo eliminato gli errori di programmazione e automatizzato il bilanciamento dei ritardi, la definizione della pipeline del progetto e altre attività noiose e soggette a errori. Di conseguenza, siamo stati in grado di implementare facilmente e rapidamente le richieste di modifica dei nostri clienti e di ridurre il time-to-market”.

Sfida

Progettazione e implementazione di un sistema di frenata di emergenza per robot con test hardware minimi

Soluzione

Uso della progettazione Model-Based con Simulink e HDL Coder per modellare, verificare e implementare il controller

Risultati

  • Il tempo impiegato nelle camere bianche è stato ridotto da settimane a giorni
  • Modifiche tardive ai requisiti implementate rapidamente
  • Bug complesso risolto in un giorno
Un robot SCARA.

Un robot SCARA.

Gli assemblaggi SCARA (Selective Compliance Assembly Robot Arm) sono ampiamente utilizzati nella produzione di semiconduttori perché eccellono nell'esecuzione di movimenti su un piano orizzontale, dove avviene la maggior parte dei movimenti di gestione dei wafer. Come qualsiasi macchinario ad alta tensione che si muove ad alta velocità, i robot SCARA possono causare danni significativi ai propri componenti e alle macchine circostanti in caso di malfunzionamento. Per aiutare a prevenire un simile evento, gli ingegneri di 3T hanno progettato un sistema di frenata di emergenza per i robot SCARA.

All'inizio del progetto, il team della 3T non sapeva se fosse possibile progettare un sistema di frenatura in grado di fermare il robot in tempo per evitare una collisione senza danni al robot stesso. Gli ingegneri 3T hanno utilizzato la progettazione Model-Based con MATLAB® e Simulink® per condurre uno studio di fattibilità, identificare una soluzione e implementare un controller del sistema di frenatura in tempo reale su un FPGA.

“La progettazione Model-Based ci ha permesso di provare rapidamente diversi approcci di controllo per vedere cosa avrebbe o non avrebbe funzionato”, afferma Ronald van der Meer, ingegnere di sistema presso 3T. “Per ridurre al minimo i test e il debug dell'hardware nella camera bianca, abbiamo testato e perfezionato la nostra soluzione tramite simulazione in Simulink e quindi utilizzato la generazione di codice con HDL Coder per implementarla una volta verificata.”

Sfida

Il cliente di 3T, uno dei principali produttori olandesi di apparecchiature per la produzione di semiconduttori, aveva requisiti severi per il sistema frenante. Per evitare collisioni potenzialmente disastrose, il sistema di controllo dovrebbe fermare il robot con precisione millimetrica in meno di 0,5 secondi senza causare danni al robot. All'inizio né 3T né il suo cliente sapevano se fosse possibile progettare un sistema frenante che soddisfacesse questi requisiti.

Testare in camera bianca e lavorare con una macchina o un prototipo reale è costoso. Inoltre, testare il sistema frenante su hardware reale potrebbe danneggiare le costose apparecchiature. Per questo motivo, gli ingegneri 3T hanno dovuto verificare il progetto dei freni prima dell'implementazione iniziale dell'hardware. Hanno riconosciuto che scrivere codice VHDL® a mano, come avevano fatto nei progetti precedenti, avrebbe richiesto loro di dedicare troppo tempo ai test e al debug nella camera bianca nelle fasi avanzate del progetto.

Soluzione

3T ha utilizzato la progettazione Model-Based con MATLAB, Simulink e HDL Coder™ per progettare e implementare il controller del sistema di frenata di emergenza SCARA.

Il produttore di semiconduttori ha fornito al team di ingegneri 3T un modello meccanico del robot creato in Simulink.

Il team 3T ha integrato questo modello meccanico con due modelli aggiuntivi: un modello di controller di base, creato con Simulink, e un modello dell'elettronica, creato con Simscape Electrical™. Hanno quindi simulato il modello del sistema completo e condiviso il modello e i risultati della simulazione iniziale con il cliente. Questo scambio ha offerto al cliente l'opportunità di migliorare il modello meccanico e suggerire miglioramenti al controller.

Il team 3T ha continuato a migliorare e perfezionare il modello del controller in Simulink, simulando decine di scenari e sensibilità dei parametri finché non ha confermato la fattibilità del progetto.

Poiché la maggior parte degli FPGA funziona in modo più efficiente utilizzando implementazioni a virgola fissa degli algoritmi di controllo, il team ha sviluppato una rappresentazione a virgola fissa del modello di controller, utilizzando Fixed-Point Designer™ per guidare le decisioni sulla lunghezza delle parole e sul ridimensionamento.

Il team ha quindi sostituito il modello del controller a virgola mobile nel modello di sistema con la versione a virgola fissa utilizzando il riferimento al modello in Simulink e ha verificato l'implementazione a virgola fissa utilizzando la simulazione.

È stato generato codice algoritmico VHDL dal modello di controller a virgola fissa con HDL Coder.

Utilizzando HDL Verifier™, hanno integrato nel loro progetto un core IP di terze parti del fornitore FPGA e hanno generato un banco di prova per la verifica del codice VHDL utilizzando Mentor Graphics® ModelloSim®.

Dopo i test hardware iniziali, il team ha perfezionato il modello, ha eseguito ulteriori simulazioni per testare le modifiche e ha rigenerato il codice VHDL per il sistema frenante finale, che il cliente sta ora utilizzando in produzione.

Gli ingegneri 3T stanno ora completando progetti simili utilizzando la progettazione Model-Based con MINT, la nuova scheda di sviluppo multi-interfaccia SoC dell'azienda, per la prototipazione rapida e il test Hardware-In-the-Loop.

Risultati

  • Il tempo impiegato nelle camere bianche è stato ridotto da settimane a giorni. “Con la progettazione Model-Based abbiamo verificato gran parte del nostro progetto nelle prime fasi dello sviluppo e quindi abbiamo generato un VHDL privo di difetti,” afferma van der Meer. “Di conseguenza, invece di settimane, abbiamo avuto bisogno solo di pochi giorni nella camera bianca. L’impianto frenante ha avuto bisogno solo di piccole modifiche perché era quasi perfetto la prima volta che l’abbiamo provato”.
  • Modifiche tardive ai requisiti implementate rapidamente. “Durante i test finali è emerso un nuovo requisito che limitava la decelerazione massima,” afferma van der Meer. “In Simulink abbiamo trovato un modo per soddisfare questo requisito utilizzando la modulazione della larghezza di impulso. Simulink e HDL Coder ci hanno permesso di implementare una soluzione nel giro di pochi giorni e di evitare che il progetto andasse verso il fallimento.”
  • Bug complesso risolto in un giorno. “Abbiamo riscontrato un bug terribile nella logica di progettazione che avrebbe potuto facilmente richiedere settimane, se non mesi, per essere identificato e risolto,” afferma van der Meer. “Abbiamo diagnosticato rapidamente il problema analizzando i dati registrati in MATLAB e riproducendo questi dati nelle simulazioni Simulink. Abbiamo implementato una correzione nel modello, rigenerato il VHDL e avevamo una versione aggiornata pronta il giorno successivo.”