Estudio de viabilidad para un sistema de control en tiempo real integrado basado en Python
Autores: Cho, Se Yeon; Delgado, Raimarius; Choi, Byoung Wook
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
Estudio de viabilidad para un sistema de control en tiempo real integrado basado en Python
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Python
Sistemas de control en tiempo real
Sistemas embebidos
Planificador
Prioridad
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 31
Citaciones: Sin citaciones
Debido a su simplicidad y el soporte de numerosas bibliotecas útiles, Python se ha convertido en uno de los lenguajes de programación más populares para el desarrollo de aplicaciones, incluso en sistemas integrados. Sin embargo, en sistemas de control existentes donde las tareas específicas deben cumplir con plazos temporales específicos y admitir la planificación con asignaciones de prioridad adecuadas, el intérprete de Python puede no satisfacer los requisitos de tiempo real, debido a características como el bloqueo del intérprete global y el recolector de basura. Este documento aborda estas limitaciones con un enfoque que ejecuta tareas en tiempo real periódicas bajo el planificador preemptible de prioridad fija de RT-Preempt. Primero, implementamos un módulo de tiempo real de Python que permite a los usuarios crear y ejecutar tareas periódicas con prioridades fijas basadas en Python. Luego, realizamos experimentos en un sistema integrado abierto, en este caso, un Raspberry Pi 4. Evaluamos el rendimiento en tiempo real, centrándonos en métricas de prueba para sistemas de control, como la periodicidad de las tareas, la capacidad de respuesta y la respuesta a interrupciones. Los resultados se compararon con los de tareas en tiempo real convencionales desarrolladas con el lenguaje C para validar la viabilidad del método propuesto. Finalmente, realizamos una validación experimental rastreando la posición de los servomotores EtherCAT para demostrar la viabilidad de un sistema de control en tiempo real basado en Python en una aplicación práctica.
Descripción
Debido a su simplicidad y el soporte de numerosas bibliotecas útiles, Python se ha convertido en uno de los lenguajes de programación más populares para el desarrollo de aplicaciones, incluso en sistemas integrados. Sin embargo, en sistemas de control existentes donde las tareas específicas deben cumplir con plazos temporales específicos y admitir la planificación con asignaciones de prioridad adecuadas, el intérprete de Python puede no satisfacer los requisitos de tiempo real, debido a características como el bloqueo del intérprete global y el recolector de basura. Este documento aborda estas limitaciones con un enfoque que ejecuta tareas en tiempo real periódicas bajo el planificador preemptible de prioridad fija de RT-Preempt. Primero, implementamos un módulo de tiempo real de Python que permite a los usuarios crear y ejecutar tareas periódicas con prioridades fijas basadas en Python. Luego, realizamos experimentos en un sistema integrado abierto, en este caso, un Raspberry Pi 4. Evaluamos el rendimiento en tiempo real, centrándonos en métricas de prueba para sistemas de control, como la periodicidad de las tareas, la capacidad de respuesta y la respuesta a interrupciones. Los resultados se compararon con los de tareas en tiempo real convencionales desarrolladas con el lenguaje C para validar la viabilidad del método propuesto. Finalmente, realizamos una validación experimental rastreando la posición de los servomotores EtherCAT para demostrar la viabilidad de un sistema de control en tiempo real basado en Python en una aplicación práctica.