Diseño y control de un robot de cuatro patas
Design and control of a four-leg robot
Fernando Lezcano1, Celine Quintero1, Pedro de la Torre1, Victoria Serrano2*
1Licenciatura en Ingeniería Electromecánica, Centro Regional de Chiriquí, Universidad Tecnológica de Panamá
2Facultad de Ingeniería Eléctrica, Centro Regional de Chiriquí, Universidad Tecnológica de Panamá
*Corresponding author: [email protected]
DOI: https://doi.org/10.33412/rev-ric.v6.1.2606
Resumen Se ha propuesto resolver la problemática del transporte de objetos a nivel doméstico utilizando un robot de cuatro patas, y en este caso se trabajó con una tarjeta Arduino. Se ha planteado si es posible crear un robot de cuatro patas que funcione a nivel doméstico, para lo cual se busca que camine y que pueda ser controlado. En esta investigación se describen los enfoques de cómo debe ser la estructura en términos de mecánica, y la programación de la placa Arduino para que el robot cumpla su misión. También se plantean los problemas que surgieron sobre el robot como la estabilidad y su control, y esto ha dado diferentes giros a la investigación, lo que lleva a incluir también factores como el ángulo al que se moverán los motores y el material para la estructura final de las patas, para que tenga la resistencia suficiente para cargar o transportar diferentes objetos. Además, se presentan los componentes que se deberán incluir tanto, a la estructura, como a los softwares con los que trabajamos.
Palabras clave Robot, Arduino, servomotor, robot de cuatro patas.
Abstract It has been proposed to solve the problem of transporting objects at the domestic level using a four-legged robot, and in this case we worked with an Arduino board. It has been considered whether it is possible to create a four-legged robot that works at the domestic level, for which it seeks to walk and that it can be controlled. This research describes the approaches of how the structure should be in terms of mechanics, and the programming of the Arduino board for the robot to fulfill its mission. The problems that arose about the robot such as stability and its control are also raised, and this has given different twists to the investigation, which leads to also include factors such as the angle at which the motors will move and the material for the final structure of the legs, so that it has enough resistance to load or transport different objects. In addition, the components that must be included, both the structure and the softwares with which we work, are presented.
Keywords Robot, Arduino, servomotor, four-legged robot.
1. Introducción
En el diario vivir existen personas que por diferentes circunstancias carecen de la capacidad de cargar objetos. Esto nos lleva a la siguiente pregunta: ¿Será posible resolver esto con la robótica actual? A través de los años se han hecho estudios para mejorar el movimiento de los robots de cuatro patas, entre ellos, se desarrolló una tesis que plantea los conceptos básicos para un robot de cuatro patas, y esquematiza cómo debe ser el desarrollo de los pasos que da [1]. A través de un análisis, se concluye que existen muchos problemas en robots de este tipo, dado que consumen mucha energía y debido a su considerable peso, se disminuye su velocidad y eficiencia [2]. En otro estudio se presenta el movimiento de las patas del robot y se llega a la conclusión de que el movimiento de éste es un poco complicado, ya que la cinemática que estos cuerpos tienen depende considerablemente de la coordinación de las diferentes patas y cómo se mueve cada una individualmente [3]. Koo y Yoon obtuvieron un algoritmo para investigar los efectos de la inercia y la dinámica en un robot de cuatro patas [4]. Freeman y Orin crearon una simulación eficiente acerca de cómo se mueve un robot de cuatro patas [5].
Liu y Song crearon un modelo eficiente de cómo camina un robot de cuatro patas, basado en la dinámica, estabilidad y ahorro de energía [6]. Marhefka y Orin trabajaron en una programación utilizando motores DC para disminuir el consumo de energía de dichos motores [7]. Adicionalmente, se ha encontrado que la fricción en el robot puede ser disminuida con arreglos en la estructura, para aumentar la eficiencia y disminuir la pérdida de energía [8].
El movimiento de las patas de los robots, específicamente los de cuatro patas puede ser de dos formas: una en la que cada pata se mueve individualmente, y otra en la que se mueve primero el par delantero y luego el par trasero o viceversa [9]. En general, los estudios hasta el momento se han enfocado en las condiciones y características del movimiento de los robots de cuatro patas y en cómo lograr la eficiencia y movilidad deseada. También se ha analizado las estructuras, materiales y las posibles programaciones para un robot con un movimiento adecuado y preciso. En el pasado se han hecho múltiples investigaciones sobre los robots de cuatro patas y han arrojado diferentes resultados, pero no se ha logrado crear robots de esta magnitud y función utilizando tarjetas de bajo costo como Arduino. Adicionalmente, hasta el momento no se presenta ningún estudio en el que el robot transporte objetos, o se desempeñe a nivel doméstico. Las investigaciones previas se basan en generar un movimiento eficaz. Sin embargo, nuestro enfoque no es el movimiento del robot, sino en su función y utilidad. Por lo tanto, este estudio preliminar muestra qué ángulo de orientación deben tener las patas del robot, así como los materiales recomendados para lograr que el robot no pierda estabilidad, a la vez que sea capaz de transportar objetos a nivel doméstico, utilizando herramientas de bajo costo. Este artículo está organizado de la siguiente manera: en la sección 2 se presentan las técnicas empleadas, tanto en diseño como en la programación del robot de cuatro patas. La sección 3 muestra los resultados del estudio para lograr que el robot caminara. La sección 4 describe algunas recomendaciones para lograr la estabilidad del robot, mientras que la sección 5 presenta las conclusiones de este estudio.
2. Técnicas empleadas
Para el desarrollo del robot se utilizaron diferentes técnicas y métodos, tanto para crear la programación como para el montaje de la estructura.
2.1 Diseño
Primeramente, se diseñó un bosquejo o esquema a mano, de las partes que se imprimieron, ya que luego se pasaron a crear en el software de dibujo en 3D (SolidWorks versión 2017).
Figura 1. Articulación para unir el motor a las patas (a) diseño en el software,(b) impresión en 3D.
Estas piezas fueron las cuatro bases de la pata (feet) o pierna mecánica como se muestra en la figura 1. Para las articulaciones superiores se utilizaron cuatro partes que conectaron la pata al servomotor, como se muestra en la figura 2, y que permitió que los servosmotores realizaran su movimiento para que el robot pudiera caminar.
Se buscó un soporte que funcionó como un cargador de objetos y este necesitó tener todas las características necesarias para que el robot pudiera caminar bien, ya que el mismo no podía ser pesado ni tan frágil. De otro modo, esto impediría que el robot se moviera adecuadamente y realizara su función para cargar objetos.
Por último, se añadió una superficie, que tapara todo el sistema de cableado, ya que, si este quedaba desprotegido, la programación podría efectarse.
Figura 2. Las piezas impresas en 3D unidas a la estructura de aluminio.
2.2 Programación
Se creó una programación utilizando la versión 1.8.2 de Arduino en conjunto con una tarjeta Arduino Mega. Dicha programación debía permitir que el robot pudiera: caminar uniformemente como debe hacerlo un perro, hacia adelante y hacia atrás. Así mismo debía poder encender un led RGB, el cual mostraba tres colores (verde, azul y rojo), de acuerdo con la función que se estaba realizando. Estas funciones fueron, encendido, caminando y apagado, respectivamente. Finalmente, fue incluido el uso del control remoto (modelo AX1838HS) que al apretar los botones (ok= enciende, *= se apaga, -->= avanza, 1 3 5 7= levantar pata, 2 4 6 8= bajar pata). La figura 3 muestra la programación usando Arduino para la conexión de pines que se muestra en la figura 4.
Figura 3. Programación del robot en Arduino.
Figura 4. Esquema de las conexiones del Arduino y sus componentes.
Figura 5. Primer montaje de los componentes del Arduino, desde los servos hasta el control remoto.
Finalmente, después de la creación del programa, se procedió a pruebas físicas con el Arduino armado con sus compontes como se ve en la figura 5.
2.3 Montaje
Se armó el cuerpo del robot utilizando las diferentes partes que se imprimieron en la impresora 3D. Además, se tuvieron que crear otras partes de aluminio manualmente (piernas y cuerpo). Se adaptaron las cuatro piernas con los servos motores a la coraza que fue utilizada como el cuerpo, y luego se incorporó dentro de esta, la placa Arduino. Esta última etapa fue ensamblada con mucho cuidado para que los cables no se soltaran. Por último, se protegió con otra base la placa para crear una segunda superficie y que esta fuera la definitiva en donde se alojaran los objetos a transportar.
Los componentes 3D se unieron a los cuatro servomotores utilizando alambre dulce y soldadura tal como se muestra en la figura 6. Una vez el robot estuvo completamente ensamblado, como se muestra en la figura 7, se procedió a trabajar en el movimiento de este para determinar su semejanza a un cuadrúpedo.
Figura 6. Unión del fémur (servomotor) a las patas del primer prototipo armado, (a) solo la estructura, (b) estructura unida al servomotor.
Figura 7. Robot finalizado.
3. Resultados
A continuación, se presentan los resultados en las diferentes etapas del proyecto.
3.1 Omisión de componentes
A través de diferentes pruebas en la programación se determinó conveniente eliminar algunos componentes del planteamiento inicial, como el sensor de distancia y el zumbador. El zumbador era un accesorio adicional para darle algo de vistosidad al robot, pero para este prototipo inicial se vuelve algo innecesario. En cuanto al sensor de distancia, es mejor que sea controlado por control remoto dado que es a nivel doméstico. Además, el mismo presentó problemas en la programación, debido a que en diferentes pruebas en las que se contemplaba la utilización de ambos componentes (control y sensor de distancia), presentaba múltiples fallas, como se muestra en la figura 8.
Figura 8. Resultado de fallas obtenidas al utilizar control remoto y sensor de distancia.
3.2 Relación entre el ángulo del servo y la movilidad
Primeramente, para lograr un movimiento fue necesario determinar aproximadamente en qué ángulos se generaba movimiento y en cuál no. A través de pruebas determinamos que el rango de ángulos que generaban el movimiento en las patas del robot estaba entre 30° y 60°.
Como se muestra en la figura 9, de 60° en adelante se restringe el movimiento, ya que para esos casos la parte superior de la pata empezaba a rozar o chocar con la coraza (cuerpo) del robot. Los ángulos menores a 30°, por otra parte, no generaban un movimiento lo suficientemente fuerte para que las patas se movieran. Por lo tanto, el ángulo para que el robot se mueva está entre 30° a 60°.
Figura 9. Existencia de movimiento en el robot. A medida que el ángulo aumenta, para ángulos mayores a 60°, no se mueve debido a que la pata choca con el cuerpo del robot.
3.3 Determinación del ángulo para el movimiento del robot
Conociendo que el ángulo debe estar entre 30° y 60°, se determina que el ángulo ideal para que el robot se mueva de la mejor forma posible es de 45°.
3.3.1 Observaciones por ángulo
Ángulo de 30°:
El ángulo se presta para el movimiento, pero no le brinda la suficiente capacidad a la pata para tocar bien el piso, por lo que no es suficientemente estable.
Ángulo de 45°:
Al estar en el punto medio del rango de movilidad, permite que el movimiento sea más preciso y el robot tenga más estabilidad.
Ángulo de 60°:
El ángulo es demasiado grande y se presta mucho para la falta de equilibrio en las patas.
3.4 Resistencia de las articulaciones de las patas
Se utilizaron distintos materiales para la fabricación de las patas (articuladas y rectas), para determinar cuál era material y la forma más firme y resistente para sostener el cuerpo del robot.
La figura 10 muestra algunas de las pruebas de las patas en el prototipo del robot. Las articulaciones se crearon con un componente 3D, goma caliente, y cinta adhesiva. En la práctica falló, por lo que se decidió utilizar una sola estructura de aluminio para las patas para brindar mayor estabilidad del robot. Al final, demostramos que el mejor material para este prototipo es el aluminio dado su resistencia y peso.
Figura 10. Materiales utilizados para la fabricación de las patas del robot. (a) patas de aluminio sin unión de articulaciones, (b) Patas articuladas que no resistieron el peso de la caja para transportar objetos, (c) Patas del prototipo final.
La figura 11 muestra el robot completamente ensamblado, cuya programación permitió que el mismo avanzara de modo que pueda transportar objetos domésticos en el compartimiento superior.
Figura 11. Prototipo del robot finalizado demostrando su estabilidad y utilidad para el transporte de objetos domésticos.
4. Recomendaciones
Basados en las dificultades y limitaciones durante el transcurso de la investigación se recomienda que:
- Se debe considerar que el robot tenga dos servomotores por pata, brindándole dos articulaciones, una en la parte superior y otra en la mitad de la pata. Será más complicada su programación, pero se obtendrá un mayor control para el movimiento del robot.
- Entre mayor sea el peso del robot, el torso debe ser más ancho y las patas más gruesas, de modo que el centro de gravedad del robot no lo haga perder el equilibrio.
- La forma de la terminación de las patas debe ser apropiada para el terreno en el que se va a usar el robot, de modo que entre más liso es el terreno, más tracción debe tener la pata.
5. Conclusiones
Hoy en día la robótica avanza a pasos agigantados. Hemos comprobado que se puede fabricar un robot de cuatro patas para el transporte de objetos a nivel doméstico con materiales de bajo costo. Para ello, es importante tomar en cuenta, tanto los materiales utilizados, como el ángulo de orientación de las patas para evitar que el robot pierda el equilibrio al momento de realizar un movimiento.
Se espera que en un futuro se trabaje en crear robots de este tipo con más articulaciones y movilidad, que puedan ser accesibles a nivel doméstico y desempeñen diferentes funciones. También se busca que en un futuro se logre crear robots que se muevan en múltiples direcciones.
REFERENCIAS
[1] J. Chestnutt, Navigation Planning for Legged Robots, 1st ed. The Robotics Institute (Carnegie Mellon University) Pittsburgh, Pennsylvania, 2008, pp. 8, 65-70.
[2] "Legged robots – an overview", Transactions of the Institute of Measurement and Control, pp. pp. 185–202, 2007.
[3] "Dynamics and Optimal Feet Force Distributions of a Realistic Four-legged Robot", International Journal of Robotics and Automation (IJRA), vol. 1, no. 4, pp. pp. 223~234, 2012.
[4] T.W. Koo, Y.S. Yoon, “Dynamic instant gait stability measure for quadruped walking,” Robotica, vol. 17, pp. 59- 70, 1999.
[5] S. Freeman, D. E. Orin, “Efficient dynamic simulation of a quadruped using a decoupled tree-structure approach,” The International Journal of Robotics Research, vol. 10(6), pp. 619- 627, 1991.
[6] B.S. Lin, S.M. Song, “Dynamic modeling, stability and energy efficiency of a quadrupedal walking machine,” IEEE International Conference on Robotics and Automation, pp. 367-373, 1993.
[7] D. W. Marhefka, D.E. Orin, “Quadratic optimization of force distribution in walking machines,” Proc. of IEEE International Conference on Robotics and Automation, Lueven, Belgium, pp. 477–483, May, 1998.
[8] D.C. Kar, K. Issac, K. Jayarajan, “Minimum energy force distribution for a walking robot,” Journal of Robotic Systems, vol. 18(2), pp. 47-54, 2001.
[9] Robotplatform.com. (2018). Robot Platform | Knowledge | Wheeled Robots. [online] Available at: http://www.robotplatform.com/knowledge/Classification_of_Ro bots/legged_robots.html [Accessed 7 Apr. 2018].