Noticias
¿Qué está pasando?

Un repaso a la actividad de estos meses en la AEITM
con las noticias más recientes e importantes.

Gemelos digitales: cómo probar sistemas complejos sin arriesgar millones

El valor estratégico que sólo la experiencia senior puede aportar

¿Qué tienen en común el mecanismo de una antena orientable de una sonda espacial, un circuito convertidor de potencia y una rama de la red eléctrica? Son elementos que necesitan ser controlados con precisión porque son caros, delicados o manejan mucha energía. Cualquier error podría costar mucho dinero y ser peligroso para las personas. Este fue el tema de una tesis doctoral que acabé y defendí este año 2025, a la edad de 51 años.

Un reto para el ingeniero que diseña un sistema de control de este tipo es probarlo en las etapas iniciales del desarrollo. ¿Cómo estar seguro de que el controlador funciona bien y no va a estropear el elemento controlado ("planta")? Nadie va a querer conectar su mecanismo o su convertidor a nuestro controlador hasta que demostremos que no lo vamos a romper.

La solución suele ser construir un modelo (gemelo digital) que dé al controlador las mismas respuestas en tiempo real que daría la planta. Para conseguirlo, el proceso de ingeniería podría ser:

  • Generar un modelo matemático que describa con precisión el comportamiento de la planta.
  • Implementar ese modelo en un hardware que devuelva la respuesta en tiempo real.
  • Probar el controlador con este gemelo digital hasta que estemos seguros de que el control es adecuado.
  • Conectar el controlador ya depurado al elemento real y hacer las pruebas finales.

Precisión y limitaciones del hardware

Un modelo matemático que describa el comportamiento de la planta suele ser realizable. Pero los ingenieros sabemos que el reto es traducir este elemento ideal al mundo real: cómo construir el gemelo digital con un presupuesto limitado. Que sea lo suficientemente simple como para funcionar en un dispositivo y lo bastante preciso como para representar con fidelidad el elemento real (porque nuestras pruebas tienen que ser representativas). Es decir, que calcule rápido y con mucha precisión.

El modelo matemático puede ser todo lo complejo que queramos, y podemos calcular su comportamiento con muchísima precisión. Pero en la práctica tenemos que limitar las operaciones para poder funcionar en tiempo real. Usar muchos bits y métodos de cálculo complejos dará una respuesta realista, pero necesitamos reducirlos para que el gemelo digital también dé una respuesta rápida.

¿Qué hardware se puede elegir? Puede ser muy costoso. Hay equipos comerciales específicos, que podremos usar si tenemos un presupuesto de 100.000 euros o más. Y con ellos, no siempre es posible simular respuestas muy rápidas, del orden de nanosegundos.

Si nuestro presupuesto es más ajustado, necesitamos respuesta muy rápida o quizá control total sobre el gemelo digital, la mejor opción es implementarlo directamente en una placa con una FPGA. Por ejemplo, una basada en un Zynq de Xilinx (1), que contiene una FPGA equivalente a la serie Artix-7, y cuesta 299 dólares en este momento (julio de 2025).

El proceso de generación del gemelo digital podría resumirse así:

  1. Partimos de una descripción ideal, basada en ecuaciones.
  2. Lo implementamos en nuestro hardware. Si está basado en una FPGA, significa que tendremos que traducir el lenguaje de alto nivel a VHDL o Verilog. Bien podemos usar la traducción automática de MATLAB o escribir directamente el código VHDL/Verilog. El segundo paso da mucho más control, pero puede que no tengamos los conocimientos para poder implementar esos cálculos en lenguaje de descripción de hardware. La mayoría de los ingenieros preferirán usar una traducción automática. Si queremos que la traducción nos dé código muy eficiente, podemos usar procesos iterativos como el propuesto en (2). Ese artículo propone un proceso de diseño en varias etapas que asegura que no se generen operaciones redundantes y que las señales tengan el número de bits adecuado en el proceso de traducción automática. De ese modo, el modelo en VHDL/Verilog calcula con una velocidad y precisión igual que si lo hubiese escrito un experto en VHDL/Verilog.
  3. El siguiente paso es añadir los elementos necesarios para que funcione en la placa FPGA de nuestra elección y ofrezca el interfaz que deseamos. Lo normal será añadir:
    • Bloque de mando y control, para configurar los parámetros del modelo, funciones de arranque/parada, detección de estados, depuración.
    • Bloque de interfaz: tenemos que simular el interfaz que nuestro controlador espera. Típicamente, habrá que añadir entradas y salidas analógicas y dotar al modelo de control de ADCs y DACs.
      Estos dos añadidos pueden ser código muy estándar y aplicable para diferentes modelos que necesitemos.
  4. Sólo queda integrar todo y programarlo en la placa FPGA elegida, añadiendo los interfaces analógicos o digitales necesarios. De este modo podemos tener funcionando en un hardware asequible el gemelo digital de la planta para probar nuestro controlador.

El valor del ingeniero senior

Puede parecer que esta actividad, centrada en bits, código y optimización, sea más apropiada para un ingeniero junior. Pero un ingeniero senior aporta una visión completa del sistema: entiende cómo funcionan todos los elementos (hardware de simulación, interfaces, código), sabe cómo contribuye cada uno a las prestaciones finales y optimiza el conjunto. También calcula errores en cada etapa para evitar sobreespecificar, determina el nivel justo de complejidad del código y sitúa el simulador dentro de la planificación global del proyecto.

Frente al prejuicio de que “los mayores no se actualizan”, este trabajo demuestra que un senior puede aprender nuevas tecnologías y mantenerse al día. No es demasiado tarde: como volver a hacer deporte tras un tiempo parado, al principio cuesta, pero enseguida se recupera la forma. En este caso, la forma mental.

Podemos construir gemelos digitales a partir de descripciones de alto nivel que nos sirvan para el desarrollo y depuración de controladores. Hay métodos que permiten obtener gemelos digitales eficientes en hardware comercial, ajustados al tiempo y al presupuesto de proyectos reales. Y es una actividad donde el ingeniero senior aporta eficiencia y visión global.

(1) Efficient Hardware-in-the-Loop Models Using Automatic Code Generation with MATLAB/Simulink

(2) Roberto Saralegui, Alberto Sanchez, Angel de Castro. “Efficient Hardware-in-the-Loop Models Using Automatic Code Generation with MATLAB/Simulink”. In: Electronics 12.13 (2023). ISSN: 2079-9292. DOI: 10.3390/electronics12132786