Control de los movimientos del brazo de un robot guía

Autor: Prada Moriones, Blanca de
Přispěvatelé: Matía Espada, Fernando, Alvarado Vásquez, Biel Piero Eloy
Rok vydání: 2018
Předmět:
Zdroj: Archivo Digital UPM
instname
Popis: En los últimos años, los robots, concebidos inicialmente para sustituir a los humanos en las tareas más pesadas y repetitivas, están siendo objeto de un acelerado proceso de integración en la sociedad, desde un planteamiento que trata de hacerlos cada vez más cercanos e interactivos. Se trata de los denominados robots sociales, capaces de interactuar con las personas siguiendo normas y convenciones de uso cotidiano, y para cuya efectividad es preciso incorporarles no solo un sistema de percepción de alto nivel, sino también “inteligencia social”: habilidades de comunicación, aprendizaje y comprensión. En este contexto, dada la importancia del lenguaje corporal en la comunicación entre personas, se intenta que estos robots puedan realizar una amplia variedad de gestos y expresiones conocidos por los humanos, para fomentar una respuesta empática y así facilitar la interacción y su mejor integración en la sociedad. Como es sabido, esta comunicación no verbal se logra principalmente a través de las expresiones de la cara y los gestos ejecutados con los brazos. Se entiende así la importancia de que los robots sociales cuenten con brazos similares a los humanos. Un brazo cuyo extremo efector sea una pinza puede parecer suficiente, ya que permite coger y entregar objetos. Sin embargo, al carecer de dedos no puede realizar gran cantidad de gestos que los humanos empleamos e interpretamos como parte de nuestra comunicación. En el Centro de Automática y Robótica de la UPM, en el departamento de control inteligente, se trabaja con dos robots sociales de apariencia semihumanoide, Urbano y Doris. El objetivo es que lleguen a ser empleados como robots guías en museos y ferias, para lo que se desarrollan diversos proyectos sobre ellos, como dotarles de capacidad de navegación autónoma, de habla y de capacidad emotiva al poder mostrar diferentes estados de ánimo a través de las expresiones de la cara. Si bien el robot Urbano posee dos brazos con manos de cinco dedos, Doris todavía carece de brazos. El objetivo de este trabajo de fin de grado es la programación en lenguaje C++ de un brazo robótico que se colocará en Doris, permitiéndole realizar diversos gestos para incrementar así sus posibilidades como robot social. Las decisiones tomadas se han enfocado hacia una futura coordinación entre las expresiones faciales y los gestos del brazo, de modo que Doris pueda expresarse de una manera más similar a la humana. Dicho brazo, construido mediante impresión 3D por estudiantes de la UPM durante el primer semestre de 2016, cuenta con una mano de tres dedos. Se controla mediante nueve motores: tres servomotores SM 2309-S para los dedos y seis motores marca Dynamixel para los movimientos del brazo (giro del hombro, del codo y de la muñeca, con dos motores en cada articulación que permiten el giro en dos planos en cada caso). Para el gobierno de los servomotores se emplea la controladora Maestro Pololu USB 18 y para los motores, el convertidor USB2Dynamixel, programados ambos a través del editor de código Sublime Text en el entorno Linux. Los servomotores se alimentan a 5 V desde la propia controladora Maestro Pololu, mientras que los motores Dynamixel son alimentados a 12 Voltios a través de una fuente externa. Una vez el brazo se coloque en Doris, se sustituirá la alimentación desde la fuente de ordenador por una alimentación desde una batería que se colocará en Doris, puesto que es más ligera y menos voluminosa. Los motores Dynamixel pueden registrar gran cantidad de parámetros, como su velocidad, voltaje, temperatura o torque. Esta capacidad se ha aprovechado a lo largo del programa para perfeccionar las funcionalidades del brazo, sobre todo de cara a la seguridad, por ejemplo al permitir para parar los motores en caso de sobrealimentación, sobrecalentamiento o torque excesivo y al evitar que los motores intenten moverse a una posición inalcanzable. A la hora de implementar el control de los movimientos del brazo se han diseñado tres formas diferentes:  Mover uno o varios motores a los ángulos que desee el usuario  Efectuar gestos predefinidos como saludar o el gesto “ok”  Jugar al juego “piedra, papel o tijera” En las tres opciones los motores se mueven a una velocidad tal que todos finalizan el movimiento al mismo tiempo, consiguiendo así gestos más realistas. Estos movimientos del brazo se pueden controlar mediante la ejecución directa del programa o a través de una interfaz web. Previamente a este proyecto ya existía una página web desde la cual se pueden gestionar las expresiones de la cara de Doris o controlar su navegación. En este proyecto se ha añadido una sección en dicha página que permite controlar los movimientos del brazo mediante sliders y botones con las posiciones definidas, de forma que resulte más intuitivo y visual que la ejecución directa del código desarrollado. Además, el uso de sliders impide que se introduzcan ángulos fuera del rango de alcance de cada articulación. El control desde la ejecución directa del programa contiene algoritmos que comprueban que los ángulos indicados por el usuario son accesibles para los motores antes de enviar el comando de movimiento. Es menos atractivo visualmente, estando enfocado más bien a un uso técnico, fuera del ámbito de exhibición y empleo público del robot. Por ejemplo, ofrece la posibilidad de mostrar ciertos parámetros de los actuadores Dynamixel según se va ejecutando el movimiento, como son la velocidad, la corriente consumida o el torque. Los gestos predefinidos se han diseñado teniendo en cuenta los realizados por Urbano, su compañero, las situaciones en que puede verse el robot, y las expresiones de la cara que ya tiene implementadas, para poder realizar ambos gestos simultáneamente en un futuro. Cada gesto predefinido consiste en un conjunto de posiciones, una para cada motor, almacenadas en un fichero de texto que el programa consulta cuando se solicita efectuar un movimiento. Como ejemplo de estos movimientos, el robot saluda, hace el gesto “ok” o balancea el brazo al caminar. Se ha decidido desarrollar el juego “piedra, papel o tijera” como un ejemplo muy visual de interacción completa con niños. Se juegan tres partidas, en las que el usuario introduce el resultado de cada una, de forma que al acabar el juego el robot sabe si ha ganado o perdido, haciendo un gesto de victoria o derrota con el brazo. Se espera que más adelante este gesto se coordine con las expresiones faciales y frases que exclame Doris, dependiendo de si gana o pierde la partida, resultando así una clara muestra de las posibilidades de interacción del robot. Paralelamente al desarrollo del programa se han estudiado los cuaternios, comprobando y corrigiendo unas librerías en C++ existentes en el departamento. Como futura línea de desarrollo pueden emplearse estas librerías para calcular la cinemática inversa del robot, por ejemplo para tareas pick&place, y al mismo tiempo podría implementarse también una interpolación con cuaternios, analizando si mejora de la calidad del movimiento. En este proyecto también se han realizado algunas mejoras físicas del brazo. En primer lugar se detectaron ciertas piezas débiles en los mecanismos que mueven los dedos, que se han sustituido por otras piezas mecanizadas en aluminio. Así mismo, se han reimpreso en 3D algunas piezas defectuosas y se han sustituido los tornillos de difícil acceso con llave Allen por otros de cabeza cuadrada, de forma que puedan ajustar con una llave inglesa. Finalmente, también se ha propuesto un diseño, realizado en CATIA, de una mano más grande y con cinco dedos, ya que amplía las posibilidades de gesticulación del robot. Como se detectaron posiciones inalcanzables por el brazo robot pero sí por un brazo humano, se han estudiado las fuerzas y pares que soportan los motores y los mecanismos de transmisión del giro del motor a la articulación. Además, se han realizado diversos ensayos para caracterizar algunos parámetros de los motores, como su consumo o precisión.
Databáze: OpenAIRE