Estamos a las puertas de que la robotización de nuestros hogares. Con las Inteligencias Artificiales (IA) instaladas en nuestros equipos gracias a ChatGPT o Copilot (en pleno auge de entrenamiento) y Boston Dynamics o Elon Musk (Tesla) empeñados en hacer que los robots realicen acrobacias más cada vez más complicadas. Solo faltaba el Figure 01 de Brett Adcock que unifica los dos conceptos, siendo el primer robot humanoide con IA (de OpenIA).
Pero los robots, como sistemas autónomos que son, necesitan de un software que realice los cálculos necesarios para planificar el movimiento de su cuerpo. Ya sea el movimiento que uno de sus dedos debe hacer para poder tocar un objeto, o elegir el camino que debe recorrer para cruzar un espacio lleno de objetos. Los algoritmos que ayudan a los sistemas autónomos o a los programadores de sistemas automáticos, a calcular los diferentes movimientos para completar los movimientos, se agrupan bajo la denominación de cálculo de trayectorias. Pero tiene variantes como planificación de caminos o diferentes mezclas de ambos.
El término cálculo de trayectorias no implica que el objeto se desplace por un campo. Una trayectoria o camino es tanto el movimiento de un dedo, como el de un helicóptero o la ejecución de un triple salto desde la carrera hasta el posicionamiento del cuerpo al preparar la caída. Las diferencias entre unos y otros son la cantidad de espacio recorrido y el objeto que realiza el movimiento.
Los diseñadores de sistemas automáticos y autónomos se han inspirado en su entorno y en ellos mismos. Por lo que los movimientos que estos calculan son una imitación de lo que los cerebros de los seres vivos realizan sin ser conscientes de ello. Cuando caminamos o cuando un mono salta de rama en rama para llegar a un plátano, el cerebro realiza una gran cantidad de cálculos y operaciones con las que calcula las acciones que tienen que realizar los músculos y tendones para lograr el movimiento. Los cerebros por tanto realizan un cálculo de trayectorias en un abrir y cerrar de ojos y sin que nos demos cuenta.
Por eso el cálculo de trayectorias en robótica y automática suele inspirarse en la naturaleza. Pero no es lo mismo mover un helicóptero, que es un objeto estático que avanza de forma lineal con cambios de dirección sobre dos planos, que un dedo con tres partes móviles sobre tres puntos de torsión y diferentes grados de libertad.
Los brazos robóticos industriales son programados para realizar sus «delicados» movimientos después de realizar el estudio de los movimientos conjuntos de sus diferentes partes. Pueden tener dos tipos de partes móviles. Las secciones longitudinales que se extienden y acortan. Y, los «codos» que son elementos giratorios definidos con restricciones sobre los ejes de rotación. Cada codo puede rotar en diferentes ejes. Según como esté diseñado. Pero puede ser que en un de ellos solo puede tener un límite de torsión.
Como el cuello de los humanos. Que puede girar en tres ejes. Sobre la coluna con una amplitud de unos 180º, de hombro a hombro. Hacia arriba desde el punto en el que la barbilla toca el pecho hasta ver el cielo. O de forma lateral llevando las orejas hacia los hombros.
A lo largo de los años, los algoritmos empleados tanto para mover las partes móviles de un robot, como para desplazarlos por una escena, han ido evolucionando. Y con el incremento de la potencia de cálculo de los computadores la obtención de resultados es cada vez más rápida y precisa. Por lo que el cálculo de trayectorias es mucho más completo y su ejecución es más dinámica y fluida.
Los complejos Diagramas de Voronoi, grafos, Bresenham, interpolaciones, cinemáticas directas e indirectas, muestreos, ecuaciones para grados de libertad, Dijkstra, etc. ya no asustan tanto. Y los diferentes fabricantes ya ofrecen completas librerías de algoritmos o toolbox de calculo de trayectorias para sus sistemas.
La obtención de las matrices de movimiento para ejecutar los cálculos de trayectorias, fragmentan el proceso completo en pequeñas instrucciones relativas a los desplazamientos y rotaciones de las diferentes partes del sistema. Estas son matrices cuadridimensionales con componentes espacio-temporales que representan los ejes cartesianos. Gracias a ellas, a las transformaciones cartesianas y a la trigonometría, se puede representar en una simple matriz el movimiento de cada parte o de un subconjunto de «móviles». Como por ejemplo el de el dedo de una mano.
El cálculo de trayectorias es por tanto la obtención del mejor camino para ejecutar una tarea. Pero sin una conjunto de matrices de movimiento que estructure en pasos esa trayectoria, el móvil no podrá ejecutar la acción.
Referencias:
- Apuntes de la asignatura de Robótica de la carrera de Ingeniería Electrónica de la UCM.
- https://www.researchgate.net/publication/380030693_Control_cinematico_para_el_seguimiento_de_trayectorias_de_un_manipulador_3R