Desarrollo de un Sistema de Generación de Movimiento para Robots Humanoides - Ramos Ponce, Oscar Efraín (2019)
Recientemente los robots humanoides, y en general los robots redundantes con base flotante, se han incrementado en universidades y labobratorios de investigaci´on alrededor del mundo debido a las capacidades potenciales que presentan. Sin embargo, el control de movimiento de estos sistemas es diferente al control que se realiza para robots manipuladores debido a la gran cantidad de grados de libertad (motores) que poseen, los cuales requieren coordinaci´on para alcanzar un movimiento adecuado. En esta tesis se presenta el desarrollo de un sistema cinem´atico de generaci´on de movimiento para este tipo de robots, desde el dise˜no del sistema hasta la implementaci´on del mismo y la aplicaci´on en diversos modelos simulados. El dise˜no del sistema se basa en el uso de tareas cinem´aticas, las cuales a su vez toman como referencia conceptos de cinem´atica diferencial. Tradicionalmente la cinem´atica diferencial es aplicada a robots manipuladores con base fija, pero esto no es suficiente para el control de robots humanoides. En esta tesis se muestra paso a paso c´omo pasar de un esquema tradicional a un esquema que considera el movimiento de la base flotante del robot. Esta descripci´on te´orica se basa en el uso de coordenadas Cartesianas para la posici´on, y de cuaterniones para la orientaci´on, con el fin de evitar singularidades de la configuraci´on. Se aprovecha, adem´as, la redundancia del sistema usando esquemas de control cinem´atico basados en ponderaci´on y en jerarqu´ıa de tareas, los cuales permiten realizar varias tareas al mismo tiempo. La implementaci´on del sistema se realiza en C++ utilizando clases y conceptos de polimorfismo, y se basa en la lectura de un modelo URDF que especifica las caracter´ısticas f´ısicas de un robot. Este sistema es independiente de middlewares y solo depende de algunas librer´ıas de c´odigo abierto. El sistema desarrollado es adem´as de c´odigo abierto. Se emplea una interface con Python para poder describir el movimiento usando Python, debido a que es mucho m´as sencillo realizarlo as´ı. El sistema es luego validado mediante una interfaz con ROS (Robot Operating System) para poder visualizar los resultados, usando modelos de robots manipuladores, de un robot arbitrario dise˜nado, y de dos robots humanoides. As´ı, se demuestra la aplicabilidad del sistema para cualquier tipo de robot con extremidades y con base fija o flotante, asumiendo que cada robot dispone de un control de bajo nivel de los motores, que es, en la pr´actica, un caso usual. Palabras clave: rob´otica, control cinem´atico, generaci´on de movimiento