3T desarrolla un sistema de frenado de emergencia para robots con diseño basado en modelos

"Con Simulink y HDL Coder eliminamos los errores de programación y automatizamos el equilibrio de retardo, la canalización, y otras tareas tediosas y propensas a errores. Como resultado, pudimos implementar fácil y rápidamente las solicitudes de cambio de nuestro cliente y reducir el plazo de comercialización".

El reto

Diseñar e implementar un sistema de frenado de emergencia robótico con pruebas mínimas en hardware

La solución

Usar diseño basado en modelos con Simulink y HDL Coder para modelar, verificar e implementar el controlador

Los resultados

  • Tiempo de depuración en sala blanca reducido de semanas a días
  • Cambios de último momento en los requisitos implementados rápidamente
  • Errores complejo resueltos en un día
Un robot SCARA.

Un robot SCARA.

Las juntas de SCARA (Selective Compliance Assembly Robot Arm) se utilizan ampliamente en la fabricación de semiconductores porque destacan en la realización de movimientos en un plano horizontal, donde tienen lugar la mayoría de los movimientos de manipulación de obleas. Como cualquier maquinaria de alto voltaje que se mueve a altas velocidades, los robots SCARA pueden causar daños importantes a sus propios componentes y a las máquinas circundantes si no funcionan correctamente. Para ayudar a prevenirlo, los ingenieros de 3T diseñaron un sistema de frenado de emergencia para robots SCARA.

Cuando comenzó el proyecto, el equipo de 3T no sabía si se podría diseñar un sistema de frenado para detener el robot a tiempo y evitar una colisión sin dañar el robot. Los ingenieros de 3T utilizaron el diseño basado en modelos con MATLAB® y Simulink® para realizar un estudio de viabilidad, identificar una solución e implementar un controlador del sistema de frenado en tiempo real en una FPGA.

"El diseño basado en modelos nos permitió probar rápidamente diferentes enfoques de control para ver qué funcionaba y qué no", dice Ronald van der Meer, ingeniero de sistemas de 3T. "Para minimizar las pruebas en hardware y la depuración en una sala blanca, probamos y refinamos nuestra solución mediante simulación en Simulink y luego utilizamos la generación de código con HDL Coder para implementarla una vez verificada".

El reto

El cliente de 3T, un productor holandés líder de equipos de fabricación de semiconductores, tenía requisitos estrictos para el sistema de frenado. Para evitar colisiones potencialmente desastrosas, el sistema de control tenía que detener el robot con precisión milimétrica en menos de 0,5 segundos sin causar daños al robot. Al principio, ni 3T ni el cliente sabía si era posible diseñar un sistema de frenado que cumpliera estos requisitos.

Probar en una sala blanca y trabajar con una máquina o prototipo real es costoso. Además, probar el sistema de frenado en hardware real podría dañar el costoso equipo. Por este motivo, los ingenieros de 3T necesitaban verificar el diseño de frenado antes de la implementación inicial en hardware. Reconocieron que escribir código VHDL® manualmente, como lo habían hecho en proyectos anteriores, requeriría pasar demasiado tiempo probando y depurando en la sala blanca al final del proyecto.

La solución

3T utilizó diseño basado en modelos con MATLAB, Simulink y HDL Coder™ para diseñar e implementar el controlador del sistema de frenado de emergencia SCARA.

El fabricante de semiconductores proporcionó al equipo de ingeniería de 3T un modelo mecánico del robot creado en Simulink.

El equipo de 3T complementó este modelo mecánico con dos modelos adicionales: un modelo de controlador básico, creado con Simulink, y un modelo de la electrónica, creado con Simscape Electrical™. Luego simularon el modelo del sistema completo y compartieron el modelo y los resultados de simulación inicial con el cliente. Este intercambio permitió mejorar el modelo mecánico y sugerir mejoras al controlador.

El equipo de 3T continuó mejorando y refinando el modelo de controlador en Simulink, simulando docenas de escenarios y sensibilidades de parámetros hasta que confirmaron la viabilidad del diseño.

Dado que la mayoría de los FPGA funcionan de manera más eficiente utilizando implementaciones de algoritmos de control de punto fijo, el equipo desarrolló una representación de punto fijo del modelo de controlador, utilizando Fixed-Point Designer™ para ayudar a tomar decisiones sobre longitud de palabras y escalado.

Luego, el equipo reemplazó el modelo de controlador de punto flotante en el modelo del sistema con la versión de punto fijo usando referencias de modelo en Simulink y verificó la implementación de punto fijo usando simulación.

Generaron código VHDL algorítmico a partir del modelo de controlador de punto fijo con HDL Coder.

Utilizando HDL Verifier™, integraron un núcleo PI de terceros del proveedor de FPGA en su diseño y generaron un banco de pruebas para la verificación del código VHDL utilizando Mentor Graphics® ModeloSim®.

Después de las pruebas iniciales en hardware, el equipo perfeccionó el modelo, ejecutó simulaciones adicionales para probar las modificaciones y regeneró el código VHDL para el sistema de frenado final, que el cliente está utilizando ahora en producción.

Los ingenieros de 3T ahora están completando proyectos similares utilizando el diseño basado en modelos con MINT, la nueva placa de desarrollo de interfaz múltiple SoC de la compañía, para la creación rápida de prototipos y pruebas de hardware-in-the-loop.

Los resultados

  • Tiempo de depuración en sala blanca reducido de semanas a días. "Con el diseño basado en modelos verificamos gran parte de nuestro diseño en las primeras etapas de desarrollo y luego generamos VHDL sin defectos", dice van der Meer. "Como resultado, en lugar de semanas, solo necesitamos unos días en la sala blanca. El sistema de frenado sólo necesitó ajustes menores porque estaba casi perfecto la primera vez que lo probamos".
  • Cambios de último momento en los requisitos implementados rápidamente. "Durante las pruebas finales surgió un nuevo requisito que limitaba la desaceleración máxima", dice van der Meer. "En Simulink encontramos una manera de abordar este requisito mediante la modulación por ancho de pulsos. Simulink y HDL Coder nos permitieron implementar una solución en días y evitar que el proyecto fracasara".
  • Errores complejos resueltos en un día. "Encontramos un error serio en la lógica de diseño que fácilmente podría haber llevado semanas o meses identificar y corregir", dice van der Meer. "Diagnosticamos rápidamente el problema analizando los datos registrados en MATLAB y reproduciendo estos datos en simulaciones de Simulink. Implementamos una solución en el modelo, regeneramos el código VHDL y teníamos una versión actualizada y lista al día siguiente".