6. Conclusiones y Trabajos Futuros
6.3 Trabajos Futuros
Los resultados obtenidos pueden sugerir posibles mejoras y trabajos sobre la misma línea de investigación:
Profundizar en el modelo matemático, introduciendo perturbaciones al sistema para observar su respuesta.
Un diseño nuevo del robot, que permita hacerlo más pequeño y ligero. Buscar materiales alternativos como plásticos para reducir peso, también es recomendable reducir el no. de componentes para reducir el costo de manufactura.
Migrar de músculos neumáticos a motores de CD y aplicar un control. Instalar sensores de posición angular en las rodillas y cadera para conocer la velocidad de las articulaciones.
Rediseñar los pies teniendo como base el pie del ser humano, cambiar el pie tipo patineta y mejorar el sistema de enclavamiento de la rodilla utilizando servomotores.
Cerrar el lazo y controlar al sistema completo utilizando diferentes técnicas de control.
Bibliografía
1. Atkeson, Christopher G. , Matjin Wisse. Controlling Velocity In Bipedal Walking: A Dynamic Programming Approach. IEEE : Humanoids, 2006. pag. 124-130.
2. Anderson, Wisse, Atkenson, Hodgins. Powered Bipeds Based on Passive Dynamic Principles, IEEE-RAS International Conference on Humanoid Robots. 2005. pag. 110-116.
3. Asano, Fumihiko. Virtual Gravity and Coupling Control for Robotic Gait Synthesis, IEEE transactions on systems, man, and cybernetics. November 2001. Vol. 31, No. 6.
4. Coleman, Michael J. Prediction of stable walking for a toy that cannot stand, The American Physical Society. 2001. Vol. 64.
5. Collins, Steven H., Martjin Wisse, Andy Ruina. A three Dimensional Passive Dynamic Walking, IEEE The International Journal of Robotics Research, Sage Publications. 2001. Vol. 20, No. 7 pag. 607 - 615.
6. Craig, John J. Robótica,Pearson, Prentice Hall. 2006.
7. Fallis, G. T.Walking toy (‘improvement in walking toys’). 1888.
8. Garcia, A. Chatterjee, A. Ruina, and M. J. Coleman. The simplest walking model: Stability,complexity, and scaling. ASME Journal of Biomechanical Engineering. 1998.
9. Goswami, Ambarish. A study of the passive gait of a compass-like biped robot, International Journal or Robotics Research. 1998.
10. http://www.ccsinfo.com/. Pic C Compiler. [Online] [Cited: Junio 22, 2010.] 11. http://www.mscsoftware.com/. MSC ADAMS. [Online] [Cited: Junio 18, 2010.]
12. http://www.shadowrobot.com. Shadow Robot Company. [Online] [Cited: Junio 22, 2010.] 13. http://www.smc.com.mx. SMC México. [Online] [Cited: Junio 20, 2010.]
14. Kuo, A.D. Choosing Your Steps Carefully, IEEE Robotics & Automation Magazine. Junio 2007. pag. 18 - 29.
15. Kuo, Arthur D. Stabilization of lateral motion in passive dynamic walking, The International Journal of Robotics Research. USA : Sage Publications, Inc., Septiembre 1999. Vol. 18, No. 9.
Bibliografía
16. Linde, Richard Q. van der. Design, Analysis, and Control of a Low Power Joint for Walking Robots, by Phasic Activation of McKibben Muscles, IEEE transactions on robotics and automation. Agosto 1999. Vol. 15, No. 4 pag. 599- 604.
17. Machorro, Julio Pérez. Generacion de locomocion de un hexapodo usando dos celulas neuronales analogicas, Tesis de Maestría. Cuernavaca, Morelos : CENIDET, 2009.
18. McGeer, T. Passive dynamic walking. International Journal of Robotics Research. 1990.
19. McGeer, Tad.Powered flight, child’s play, silly wheels, and walking machines, IEEE Int. Conf. on
Robotics and Automation. 1989.
20. McMahon, S. Mochon and T. A. Ballistic walking, J. Biomechanics, 13:49 –57. 1980.
21. Ortésica. [Online] Junio 20, 2010. [Cited: Junio 20, 2010.] http://www.oandplibrary.org/reference/ortesica/.
22. Ralston, H. J. Energy-speed relation and optimal speed during level walking, Int. z. angew. Physiol, 17:277 –283. 1958.
23. Sakagami, Y. , R. Watanabe, C. Aoyama, S. Matsunaga, N. Higaki, and. The intelligent asimo: System overview and integration, Int. Conf. on Intelligent Robots and Systems. 2002.
24. Schuitema, E., Martjin Wisse. Using a controller based on reinforcement learning for a passive dynamic walking robot, IEEE-RAS International Conference on Humanoid Robots. 2005. pag. 232 - 237.
25. Sciavicco, L., B.Siciliano. Modelling and Control of Robot Manipulators,Editorial Springer segunda edicion. 2000.
26. Sedeño, Elizabeth. Control de un Robot Cuadrúpedo: Un Enfoque a Redes Neuronales Analógicas, Tesis de Maestría. Cuernavaca : CENIDET, 2010.
27. Spong, Mark W. Controlled Symmetries and Passive Walking. 2005.
28. Spong, Mark, Jonathan K. Holm, And Dongjun Lee. Passivity-Based Control of Bipedal Locomotion, IEEE Robotics & Automation Magazine. Junio 2007. pag. 30 - 40.
29. Vukobratovic, M. , B. Borovac, D. Surla, and D. Stokic. Biped Locomotion:Dynamics, Stability, Control and Applications, Editorial Springer. 1990.
30. Weber, E. Mechanik der Menschlichen Gehwerkzeuge. 1836.
31. Wisse, M., Atkenson. Swing leg retraction helps biped walking stability, IEEE RAS International Conference on Humanoid Robots. 2005. pag. 295 - 300.
Bibliografía
32. Wisse, Martijn , Daan G. E. Hobbelen, and Arend L. Schwab. Adding an Upper Body to Passive Dynamic Walking Robots by Means of a Bisecting Hip Mechanism, IEEE. Febrero 2007. Vol. 23, No. 1 pag. 112-123.
33. Wisse, Martijn , Daan G.E. Hobbelen,and Remco J.J. Rotteveel. Ankle springs instead of arc- shaped feet for passive dynamic walkers, IEEE Humanoids. 2006. pag. 110 - 116.
34. Wisse, Martijn. Three additions to passive dynamic walking; actuation, an upper body,and 3D stability, IEEE Humanoids. 2004. pag. 113 - 132.
35. Wisse, Martjin, Arend L. Schwab, Richard Q. van der Linde, and Frans C. T. van der Helm. How to Keep From Falling Forward: Elementary Swing Leg Action for Passive Dynamic Walkers, IEEE Transactions on robotics. Junio 2005. Vol. 21, No. 3 pag. 393-401.
36. Wisse, Martjin, Guillaume FeliksdalL, Jan Van Frankenhuyzen, and brian moyer. Passive- Based Walking Robot, IEEE Robotics & Automation Magazine. Junio 2007. pag. 52 - 62.
Anexo A. Programa .m para la cinemática directa
clc clear L1 = .01; L2 = 3; L3 = 4; tett1 = [-10:2:10]; tett2 = [65:-5:-25]; tett3 = [90:-5:0]; % tett1 = [0:5:90,90*ones(1,19),90*ones(1,19)]; % tett2 = [zeros(1,19),0:-5:-90,-90*ones(1,19)]; % tett3 = [zeros(1,19),zeros(1,19),0:-5:-90]; tet1 = tett1*2*pi/360; tet2 = tett2*2*pi/360; tet3 = tett3*2*pi/360; figure for c = 1:length(tett1) T_10 = [cos(tet1(c)) -sin(tet1(c)) 0 0;... sin(tet1(c)) cos(tet1(c)) 0 0;... 0 0 1 0;... 0 0 0 1]; T_21 = [cos(tet2(c)) 0 sin(tet2(c)) 0;... 0 1 0 L1;... -sin(tet2(c)) 0 cos(tet2(c)) 0;... 0 0 0 1]... *[0 0 -1 0;... 0 1 0 0;... 1 0 0 0;... 0 0 0 1]... *[1 0 0 0;... 0 0 1 0;... 0 -1 0 0;... 0 0 0 1]; T_32 = [cos(tet3(c)) -sin(tet3(c)) 0 L2;... sin(tet3(c)) cos(tet3(c)) 0 0;... 0 0 1 0;... 0 0 0 1]; i0 = [1;0;0]; j0 = [0;1;0]; k0 = [0;0;1];plot3([0 i0(1)],[0 i0(2)],[0 i0(3)],'.-r','LineWidth',1.5) hold on
Anexo A. Programa .m para la cinemática directa grid on xlabel('eje x') ylabel('eje y') zlabel('eje z') axis([-6 6 -6 6 -6 6]) plot3([0 j0(1)],[0 j0(2)],[0 j0(3)],'.-r','LineWidth',1.5) plot3([0 k0(1)],[0 k0(2)],[0 k0(3)],'.-r','LineWidth',1.5) E1 = T_10*[0;L1;0;1];
plot3([0 E1(1)],[0 E1(2)],[0 E1(3)],'o-k','LineWidth',5) i1 = T_10*[i0;1];
j1 = T_10*[j0;1]; k1 = T_10*[k0;1];
plot3([0 i1(1)],[0 i1(2)],[0 i1(3)],'.-b','LineWidth',1.5) plot3([0 j1(1)],[0 j1(2)],[0 j1(3)],'.-y','LineWidth',1.5) plot3([0 k1(1)],[0 k1(2)],[0 k1(3)],'.-m','LineWidth',1.5) E2 = T_10*T_21*[L2;0;0;1];
plot3([E1(1) E2(1)],[E1(2) E2(2)],[E1(3) E2(3)],'o-k','LineWidth',5) i2 = T_10*T_21*[i0;1];
j2 = T_10*T_21*[j0;1]; k2 = T_10*T_21*[k0;1];
plot3([E1(1) i2(1)],[E1(2) i2(2)],[E1(3) i2(3)],'.-b','LineWidth',1.5) plot3([E1(1) j2(1)],[E1(2) j2(2)],[E1(3) j2(3)],'.-y','LineWidth',1.5) plot3([E1(1) k2(1)],[E1(2) k2(2)],[E1(3) k2(3)],'.-m','LineWidth',1.5) E3 = T_10*T_21*T_32*[L3;0;0;1];
plot3([E2(1) E3(1)],[E2(2) E3(2)],[E2(3) E3(3)],'o-k','LineWidth',5) i3 = T_10*T_21*T_32*[i0;1];
j3 = T_10*T_21*T_32*[j0;1]; k3 = T_10*T_21*T_32*[k0;1];
plot3([E2(1) i3(1)],[E2(2) i3(2)],[E2(3) i3(3)],'.-b','LineWidth',1.5) plot3([E2(1) j3(1)],[E2(2) j3(2)],[E2(3) j3(3)],'.-y','LineWidth',1.5) plot3([E2(1) k3(1)],[E2(2) k3(2)],[E2(3) k3(3)],'.-m','LineWidth',1.5) hold off axis([-6 6 -6 6 -6 6]) pause(0.1) EE3(1:3,c) = E3(1:3); end for c=1:length(tett1) hold on
plot3([0 EE3(1,c)],[0 EE3(2,c)],[0 EE3(3,c)],'.') pause(0.1)
Anexo B. Programa del microcontrolador
#include <16F84A.H> //configuración del microcontrolador #use delay( clock = 4000000 )
#fuses XT,NOWDT,NOPROTECT,NOPUT
void primer_paso(); // declaración de funciones void paso1(); void paso2(); void parpadeo1(); void parpadeo2(); long tiempo_paso(); int detener;
void main() // programa principal { detener=0; do { if(input(pin_a2)) { detener=1; do { if(input(pin_a3)) { output_high(pin_b0); output_low(pin_b1); output_high(pin_b7); primer_paso(); do //ciclo principal { if(input(pin_b2)) paso1(); if(input(pin_b3)) paso2(); if(input(pin_a4)) { detener=0; output_low(pin_b7); output_low(pin_b6); } }while(1&&detener); } else
Anexo B. Programa del microcontrolador parpadeo1(); }while(1&&detener); //detener } else parpadeo2(); detener=1; }while(TRUE); }
void paso1() //activación de válvula derecha { output_low(pin_b7); output_low(pin_b0); output_high(pin_b1); output_high(pin_b4); output_high(pin_b6); delay_ms(tiempo_paso()); output_low(pin_b4); }
void paso2() //activación de válvula izquierda { output_low(pin_b6); output_low(pin_b1); output_high(pin_b0); output_high(pin_b5); output_high(pin_b7); delay_ms(tiempo_paso()); output_low(pin_b5); }
void primer_paso() //inicio del robot { int bandera; do { if(input(pin_b2)) { output_low(pin_b7); output_low(pin_b0); output_high(pin_b1); output_high(pin_b4); output_high(pin_b6); delay_ms(tiempo_paso()); output_low(pin_b4); bandera=1; } else
Anexo B. Programa del microcontrolador bandera=0;
}while(bandera==0); }
long tiempo_paso() //tiempo de paso { if(input(pin_a0)) { if(input(pin_a1)) return 1200; else return 800; } else { if(input(pin_a1)) return 1000; else return 600; } return 1000; }
void parpadeo2() //indicador 1 { output_low(pin_b0); output_low(pin_b1); delay_ms(100); output_high(pin_b0); output_high(pin_b1); delay_ms(100); }
void parpadeo1() //indicador 2 { output_low(pin_b1); delay_ms(100); output_high(pin_b1); delay_ms(100); }
Anexo C. Hojas de especificaciones
En el presente anexo se muestra un compendio de hojas de especificaciones para el desarrollo de esta tesis, así como del elemento de control neumático (válvula neumática) que permite la regulación de presión en los músculos, pistones y reguladores de presión.
Adicionalmente se adjuntan las especificaciones de los materiales usados en la construcción del robot descrito en la tesis.
Anexo D. Planos de partes del robot
Los planos agrupados en este anexo son una muestra de la documentación conformada por 28
Anexo D. Planos de partes del
Anexo E. Bitácora de Pruebas
Anexo E. Bitácora de Pruebas
Construcción de un robot bípedo basado en caminado dinámico Construcción de un robot bípedo basado en caminado dinámico
Problemas pre
Problemas presentados en sentados en la la etapa de petapa de pruebasruebas Resultados Obtenidos
Resultados Obtenidos
Tesista: Ing. Cesar Humberto Guzmán Valdivia Tesista: Ing. Cesar Humberto Guzmán Valdivia
Directores de Tesis: Directores de Tesis:
Dr. Enrique Quintero Mármol Márquez Dr. Enrique Quintero Mármol Márquez
Dr. Andrés Blanco Ortega Dr. Andrés Blanco Ortega
En esta tercera etapa de pruebas, se corrigieron problemas a nivel diseño y En esta tercera etapa de pruebas, se corrigieron problemas a nivel diseño y construcción del robot, se realizaron varios cambios que influyen directamente en el ciclo construcción del robot, se realizaron varios cambios que influyen directamente en el ciclo de caminado del prototipo. Surgieron varios problemas en la etapa de pruebas, pero de caminado del prototipo. Surgieron varios problemas en la etapa de pruebas, pero también se obtuvieron buenos resultados.
también se obtuvieron buenos resultados.
La tercera etapa de pruebas es la más importante de esta tesis, debido a que se muestra el La tercera etapa de pruebas es la más importante de esta tesis, debido a que se muestra el robot con un ciclo de caminado de 4 tiempos funcionando. Además se tomó video para robot con un ciclo de caminado de 4 tiempos funcionando. Además se tomó video para demostrar los pasos que dio el robot.
Anexo E. Bitácora de Pruebas Anexo E. Bitácora de Pruebas
Problemas Presentados
Problemas Presentados
No Linealidad de los Músculos No Linealidad de los Músculos
El problema de usar músculos neumáticos es su no linealidad, debido a que no se El problema de usar músculos neumáticos es su no linealidad, debido a que no se tiene la misma resp
tiene la misma respuesta cuando se llenan duesta cuando se llenan de aire, e aire, lo que provoca una poslo que provoca una posible caída en elible caída en el prototipo. Para el robot no se pensó en este tipo de problemas, este problema su
prototipo. Para el robot no se pensó en este tipo de problemas, este problema surgió en rgió en lala tercera etapa de pruebas y no se puede corregir.
tercera etapa de pruebas y no se puede corregir.
La recomendación que se hace es ya no utilizar músculos neumáticos en este tipo La recomendación que se hace es ya no utilizar músculos neumáticos en este tipo de prototipos, debido a la experiencia que se tuvo en estas pruebas. Además de su elevado de prototipos, debido a la experiencia que se tuvo en estas pruebas. Además de su elevado costo inicial no hacen muy
costo inicial no hacen muy conveniente el utilizar más este tipo de conveniente el utilizar más este tipo de actuadoresactuadores..
Problemas con los músculos Problemas con los músculos
Cuando se iniciaron las pruebas se tomo la presión que el fabricante recomienda Cuando se iniciaron las pruebas se tomo la presión que el fabricante recomienda para trabajar los músculos,
para trabajar los músculos, esta presión es esta presión es de 0.3MPa, se de 0.3MPa, se realizaron las primeras pruebasrealizaron las primeras pruebas pero después
pero después de unos 10 de unos 10 min, 2 min, 2 músculos presentarmúsculos presentaron fugas de on fugas de aire, lo aire, lo que se procedió que se procedió aa hacer fue hacer una prensa con un alambre en la entrada de la manguera del músculo hacer fue hacer una prensa con un alambre en la entrada de la manguera del músculo para
para evitar evitar que que se se siguiera siguiera fugando fugando el el aire. aire. Pero Pero aún aún no no está está resuelto resuelto el el problemaproblema completamente.
completamente.
El problema es que los músculos no son de fábrica, son todavía ensamblados a mano, lo El problema es que los músculos no son de fábrica, son todavía ensamblados a mano, lo que no se tomo en cuenta para encargar algunos músculos extras para evitar este tipo de que no se tomo en cuenta para encargar algunos músculos extras para evitar este tipo de inconvenientes. El principal problema que se tuvo, es que son limitados en presión, lo que inconvenientes. El principal problema que se tuvo, es que son limitados en presión, lo que no permite que se pueda incrementar la fuerza del músculo.
no permite que se pueda incrementar la fuerza del músculo.
Peso del Robot Peso del Robot
Sin duda el peso es un factor que siempre se ha estado vigilando desde que se Sin duda el peso es un factor que siempre se ha estado vigilando desde que se construyo el robot, en un inicio se tomo
Anexo E. Bitácora de Pruebas
alrededor de 7kg. El prototipo construido con las mejoras de la segunda etapa, redujo considerablemente el peso, cuando se instalaron los componentes en la tercera etapa incrementó su peso a 9Kg. Este incremento sigue siendo perjudicial para el caminado del robot.
La recomendación es investigar otro tipo de materiales, el material que se utilizó en el prototipo fue aluminio, también reducir el prototipo ayudaría a tener más estabilidad en el
robot.
Inestabilidad en3D
Sin duda es el tema principal que se puede mencionar en este tipo de investigaciones, la inestabilidad en 3D se presenta por varias razones, la primera es por el tipo de pie, la forma que tiene el pie es un factor importante para que un robot pueda realizar el caminado dinámico exitoso, la segunda son los resortes, estos resortes dan un par torsional para mantener el robot erguido y la tercera son las condiciones del piso. Las
condiciones del piso son muy importantes, se realizaron pruebas en varios terrenos, el caminado presentaba distintos comportamientos dependiendo de la rugosidad y el ángulo de inclinación del piso.
Un problema que se presentó, fue que no se tiene con certeza que ángulos de radio y rigidez para el pie son los correctos para obtener la mayor estabilidad, además no se cuenta con un trabajo de investigación previo para tener una mejor guía.
Duración del CO2
Las pruebas que se realizaron tienen una duración muy corta, el tiempo aprox. es de 5 min, este fue un inconveniente porque se perdió mucho tiempo en estar llevando el tanque a un centro de llenado.
La recomendación es que se cuente con un tanque de CO2 en el laboratorio para estar recargando el tanque del robot continuamente.
Anexo E. Bitácora de Pruebas
Resultados Obtenidos
Los resultados obtenidos fueron grabados en video para tener evidencia del trabajo que se realizó, estos videos se encuentran anexados en la carpeta de la tercera etapa de pruebas.
Primeramente se mencionan las pruebas que se llevaron primero a cabo antes de iniciar con el prototipo funcionando. La primera fue de revisar que el sistema neumático estuviera regulando correctamente las presiones de salida. Para eso se aseguro que los indicadores no sobrepasaran los 0.3MPa, además se reviso que el PIC estuviera funcionando correctamente (ver video 1).
Después se verificó que la rodilla no tuviera fricción en las uniones, además que el tope de extrapolación (no deja que la rodilla se pase de los límites) fue bien maquinado. También se probó que el tobillo tuviera movimiento limitado por los resortes, también que se compruebe que simula un resorte de torsión (ver video 2).
La última prueba que se realizo antes de iniciar fue de alinear los pistones de enclavamiento, dar la velocidad y fuerza necesaria para que la rodilla se enclave correctamente (ver video 3). En esta prueba se dedico más tiempo, debido a que también se probaron salidas del PIC, para comprobar que el circuito electrónico funcione correctamente. Además se probó que el circuito neumático estuviera entregando la presión a los pistones. Finalmente se probaron los músculos inyectándoles CO2 para
verificar que estén funcionando adecuadamente (ver video 4).
Antes de iniciar se dio una revisión general a todo el sistema para asegurarse que se tienen todos los componentes probados y listos (ver video 5).
La prueba principal que se buscaba es que el robot camine unos cuantos pasos para cumplir con los objetivos de esta tesis (ver video 6), se tomó en cuenta el hecho que no se tiene aún la estabilidad al 100%, es por eso que el robot es cuidado constantemente para evitar una caída, si el robot tuviera una caída podría implicar daños serios en los componentes lo cual no le convendría a nadie. Por otro lado, se puede observar la naturalidad del caminado del robot, la eficiencia que tiene utilizando el caminado dinámico, también se observa la cantidad mínima de componentes que utiliza el prototipo. La velocidad de caminado del robot es de 0.3 m/s con irregularidades de 3mm, en un piso plano. El tiempo de caminado con el tanque de CO2 lleno es de 7 min
Anexo E. Bitácora de Pruebas
aproximadamente. El la figura se muestra el ciclo del caminado que el robot realiza en el video, se pueden observar los 4 estados del caminado dinámico.
Se puede observar como las rodillas se flexionan para realizar la etapa del avance de la pierna, cuando la pierna se encuentra en el punto máximo se enclava la rodilla para no dejar caer el robot, además cuando la pierna de avance cae al piso el sensor detecta que ya llego y manda una señal de control al PIC para indicarle que puede continuar con el siguiente estado.
En total se utilizaron 3 tanques de CO2 para obtener alrededor de 20 min de pruebas, en este lapso de tiempo se presentaron todo tipo de caídas en el robot, la más
común fue la de hacia adelante, por otro lado se realizo un video con la recopilación de los mejores pasos que dio el prototipo (ver video 7).
En este último video se decidió el nombre del robot, llamado “Fresny” , este nombre surgió por el municipio de procedencia del creador del robot.
Conclusiones
Las conclusiones que se pueden obtener de este proyecto son muchas,
Después de haber iniciado en enero del 2009 con esta tesis, no se tenía idea de que era el caminado dinámico, no tenía idea de cómo empezar, tardé 6 meses en entender cómo es que funcionaban este tipo de robots, son muy diferentes debido a que son dinámicos y siempre están cambiando su momento y centro de gravedad. Sin embargo, yo tenía ganas de hacer un robot que caminara, pero sinceramente tenía miedo de abordar el tema porque pensaba que no iba a poder. Con los resultados que se obtuvieron ahora sé que todo se puede hacer con trabajo y esfuerzo.
Otra conclusión muy importante que hay que mencionar, es que el artículo que se propuso como guía tiene cajas negras, no fue tan fácil como se había pensado en la propuesta de tesis, debido a que se encontraron detalles que no concuerdan. Por ejemplo: el autor menciona el peso del robot final, pero no menciona los materiales de construcción. Se supuso que fue de aluminio, pero sin embargo el robot construido pesó más, además las medidas que el sugiere no concuerdan con las medidas de construcción. Por otro lado, el autor no menciona los problemas que
Anexo E. Bitácora de Pruebas
tuvo con el prototipo, solamente selecciono el mejor video que obtuvo con su robot. También queda en duda el tamaño y la cantidad de músculos que utiliza, debido a que en unos artículos menciona que utilizó 4 y en otros 8. En sus videos los músculos de su robot se ven muy grandes a comparación de los que se utilizaron en