Inicio Artículos Seleccionando el mejor controlador de motor para el desarrollo de aplicaciones robóticas

Seleccionando el mejor controlador de motor para el desarrollo de aplicaciones robóticas

renesas imagen

Autor: Naoki Abe, Renesas Electronics

Introducción

Los robots, que se han utilizado principalmente en fábricas como equipos de fabricación industrial, se están extendiendo rápidamente a los espacios en los que vivimos y trabajamos en un contexto de escasez de mano de obra y costos laborales altísimos, y sus aplicaciones se están expandiendo. En particular, los robots de servicio están activos en una amplia variedad de campos, como la logística, la construcción, la atención médica, la asistencia eléctrica, el apoyo quirúrgico, los electrodomésticos donde los robots de limpieza son ampliamente utilizados, las oficinas para orientación empresarial y robots de apoyo en la cocina. En este artículo, nos centraremos en los requisitos y la tecnología básica necesaria para desarrollar robots de servicio y control de motores, y presentaremos soluciones que resuelven los desafíos a los que se enfrentan los ingenieros involucrados en el desarrollo de nuevos robots de servicio.

Robot de servicio

Los robots de servicio ayudan y respaldan las acciones y tareas realizadas por humanos, y su adopción avanza rápidamente, especialmente en trabajos donde el riesgo de introducción es bajo. Se espera que las aplicaciones se amplíen aún más y que el mercado crezca de manera constante. Existen varias tendencias tecnológicas según la aplicación y la demanda de detección de obstáculos autopropulsada, utilización de IA de mapeo de información de posición, reconocimiento de imagen/voz, operación remota, análisis de datos, cooperación con otros robots, rendimiento de seguridad, etc.

Campo Aplicaciones de robot Tendencias del mercado
Construcción, Logística, Transporte, Infraestructura Transporte de materiales de construcción, transporte dentro de fábricas, inspección de equipos, conducción automática de maquinaria agrícola La introducción de robots se está acelerando como medio de ahorro de mano de obra y transporte. Los robots no tripulados están desempeñando un papel activo en el trabajo en lugares peligrosos, como las inspecciones de infraestructura. Se espera un sólido crecimiento en el futuro.
Atención médica/de enfermería Power Assist, Soporte de Cirugía, Soporte de Independencia/Asistencia El propósito es resolver la escasez de mano de obra y reducir la carga sobre los trabajadores.

Se espera un crecimiento estable, centrado en robots de asistencia y trajes eléctricos para el transporte de cargas pesadas, robots que reducen la carga de cuidados de enfermería, endoscopios y farmacia dispensadora.

Oficina/Tienda Limpieza/seguridad, caja registradora, cocina, orientación De manera similar al uso doméstico, la demanda de ahorro de mano de obra para las tareas domésticas está impulsando el crecimiento del mercado de robots de servicio para cocinar y servir.
Uso doméstico limpieza, robot de comunicación Basado en los robots de limpieza del hogar, el mercado de robots de servicio se ha elevado y se espera que la demanda continúe creciendo de manera constante en el futuro.

 

La tecnología común más importante y básica es el control de las partes móviles del robot. Además, la tecnología central es el control motor, que es necesario para la locomoción y el movimiento articular. Con base en este control de motores, se puede decir que los robots son aplicaciones compuestas que combinan funciones para cada propósito. Hay varios tipos de motores que se utilizan en los robots, pero los desarrolladores deben comprender los tipos de motores y su control de acuerdo con los requisitos de los robots de servicio.

Por ejemplo, los siguientes tres tipos de motores son típicos de los robots de servicio.

Tipo de motor instalado en la parte móvil del robot de servicio

Motor CC sin escobillas

Los motores de CC sin escobillas son pequeños y livianos, y se caracterizan por una excelente disipación de calor y una alta durabilidad. Además, se requieren circuitos dedicados como MCU y módulos de potencia para el control, pero la capacidad de control es buena y es posible controlar el par y la velocidad de rotación deseados. Además, tiene las ventajas de una larga vida útil, alta capacidad de mantenimiento y excelente silencio. La detección de posición se puede seleccionar según la aplicación, como sensores Hall, resistencias de derivación y codificadores. Muy adecuado para aplicaciones con cargas y velocidades variables.

Motor paso a paso

Un motor paso a paso es un motor cuya posición del eje se puede controlar fácilmente. Es relativamente económico y tiene una amplia gama de usos. Se genera un pulso desde el lado de control, se envía un comando al motor paso a paso a través del controlador y funciona la función de control de bucle abierto. También es adecuado para su instalación en robots industriales que necesitan cambiar su posicionamiento con frecuencia. Sin embargo, dado que no es un control de retroalimentación, tiene desventajas como el control de supresión de vibraciones finas y el ruido. Además, dado que el par es bajo a alta velocidad, es difícil acelerar y puede que no sea posible mantener una velocidad constante. Dependiendo del tipo de robot, puede que no sea posible utilizarlo.

Servo motor

Los servomotores son capaces de controlar la posición y la velocidad con alta precisión. Por lo tanto, es caro pero tiene un alto rendimiento, por lo que se utiliza en la fabricación de equipos en las fábricas. El mecanismo en el que los comandos se envían desde el lado de control al motor a través del generador de impulsos y el controlador es el mismo que un motor paso a paso, pero la diferencia es que hay retroalimentación del motor al controlador y del controlador al generador de impulsos. Los servomotores se controlan mediante un control de bucle de retroalimentación mediante un controlador, como el uso de un codificador para la detección de posición.

Se puede mantener un alto par incluso durante la rotación a alta velocidad, y es menos probable que ocurran caídas y desviaciones de velocidad.

Configuración del sistema de robot de servicio

La configuración de hardware de los robots de servicio generalmente se divide en control de motores, como las partes móviles antes mencionadas, y control del sistema, que administra todo el robot. Es posible construir el control del sistema y el control del motor en un SoC grande, pero los requisitos para el procesamiento del lado del motor, que requiere un rendimiento en tiempo real, y el lado del sistema que incorpora HMI, reconocimiento de imagen/voz e IA en el host sistema son muy diferentes. Por lo tanto, si está integrado en el mismo SoC, pueden producirse conflictos de bus debido a la comunicación dentro del chip y al acceso a la memoria, y el rendimiento en tiempo real del motor puede verse muy reducido. Además, existen varios requisitos del sistema, incluido el desarrollo de lotes pequeños y de alta combinación y la adición de nuevas funciones, por lo que no es realista desarrollar un SoC cada vez debido al alto riesgo de costos de desarrollo y horas de trabajo de desarrollo. En general, es ventajoso en términos de eficiencia de desarrollo separar el hardware en el lado de control del sistema y el lado de control del motor, seleccionar la MCU o MPU óptima para cada uno y realizar la comunicación de datos utilizando un IF de comunicación común. En el lado del motor, incluso si se usan varios tipos de motores en aplicaciones de robots de servicio, no hay una gran diferencia en la configuración de hardware requerida. En otras palabras, la mayor parte del hardware y el software se pueden reutilizar y, desde la perspectiva de la eficiencia del desarrollo y la reducción de costos, es efectivo desarrollar una plataforma para el lado del motor como una tecnología común para los sistemas robóticos.

control tipico de sistema

Tabla 2: Control típico del sistema y control del motor para cada robot de servicio

Microcontrolador para control de motores

El rendimiento en tiempo real es un requisito esencial para las MCU para robótica, especialmente para el control de motores. Si falta el rendimiento en tiempo real, hay casos en los que la capacidad de respuesta a los valores indicados se deteriora y el rendimiento de seguridad disminuye. En un robot básico, la MCU de control del motor recibe información de instrucción sobre la posición del motor y el par del lado de control del sistema host, calcula la información de posición y el valor actual recibido del motor al mismo tiempo, lo compara con el valor de instrucción y cambia la forma de onda PWM. Para cumplir con estos requisitos, los MCU optimizados para el control de motores, como las líneas de productos RA-T basadas en núcleos Arm de la familia Renesas RA, brindan un rendimiento especializado para el control de motores y funciones periféricas, como funciones analógicas y temporizadores PWM. Además, cuentan con periféricos de comunicación como serial y CAN y la realización de procesamiento en paralelo con tareas de control de motores.

Memoria flash rápida

Generalmente, cuando la CPU accede a la memoria lenta, espera a que se complete el acceso, por lo que se utiliza la memoria caché para reducir esta sobrecarga. Sin embargo, en los programas de control de motores, el procesamiento de bifurcaciones y las interrupciones ocurren con frecuencia, lo que provoca fallas en la memoria caché y degrada el rendimiento. Por lo tanto, la memoria flash de alta velocidad reduce las penalizaciones incluso en el caso de errores de caché y logra un rendimiento en tiempo real con poca fluctuación.

Acelerador para control de motores

También son importantes las TFU (Unidad de función trigonométrica) y un IIRFA (Acelerador de filtro IIR) para los cálculos de control de motores de alta velocidad. El TFU maneja el cálculo rápido de las funciones sinf, cosf, atan2f e hypotf, y sobresale en las transformaciones de coordenadas controladas por vectores. De manera similar, IIRFA se puede aplicar a filtros de muesca para suprimir la resonancia mecánica. Los datos de coeficientes y retardos se pueden guardar en la memoria local, por lo que los resultados de los cálculos se pueden obtener simplemente configurando los valores de entrada. Dado que estos aceleradores solo admiten los elementos básicos del control del motor, se pueden aplicar fácilmente a varios algoritmos existentes.

Estas dos funciones específicas de rendimiento en tiempo real reducen la variabilidad del rendimiento y reducen en gran medida la carga de la CPU. Como resultado, se asegura suficiente tiempo para el procesamiento distinto del control del motor, y se hace posible la coexistencia con el procesamiento que no es en tiempo real, como la comunicación con el lado de control del sistema.

efecto acelerador de hardware

Figura 1: Efecto del acelerador de hardware

Micro – Solución ROS

Hasta ahora, lo hemos explicado desde la perspectiva del control de motores, pero en el desarrollo real de las aplicaciones de robótica, el control de sistemas y el control de motores se combinan de manera compleja, por lo que, al diseñar, tratamos tanto como sea posible. Se prefiere una arquitectura simple para reducir el riesgo de desarrollo. ROS (Robot Operating System) es un software de código abierto utilizado para el desarrollo de robots. Dado que ROS es compatible con varios lenguajes informáticos, como C++ y Phyton, es posible desarrollar robots utilizando lenguajes familiares y fáciles de usar. Renesas está desarrollando una solución micro-ROS, un proyecto de código abierto para usar ROS 2, la segunda generación de ROS, con microcontroladores. Al realizar nodos ROS 2 en microcontroladores y usar un marco común, es posible interoperar con robots convencionales y sensores y dispositivos IoT.

ejemplo de configuracion de hardware

Figura 2: Ejemplo de configuración de hardware que combina microcontroladores RA6M5/RA6T2 basados en micro-ROS

Resumen

El mercado de la robótica se está expandiendo rápidamente debido a la escasez de mano de obra y al aumento de los costos laborales. El control de motores, que es indispensable para el funcionamiento de esta robótica, requiere comunicación para la cooperación con el sistema host además del control de motores, que es la base de este, por lo que una MCU que puede controlar la multitarea en tiempo real es mejot que una en la que no es en tiempo real. El RA6T2 de la familia Renesas RA aborda esta necesidad incorporando memoria flash de alta velocidad y aceleradores de hardware para funciones trigonométricas y filtrado IIR para reducir el tiempo de procesamiento para el control del motor y permitir que se realicen otras tareas. Estas son las funcionalidades que el desarrollador debe buscar.