Plataforma Movil Omnidireccional

145

description

tesis

Transcript of Plataforma Movil Omnidireccional

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO FACULTAD DE INGENIERA PLATAFORMA MVIL OMNIDIRECCIONAL A PARTIR DE DOS ROBOTS MVILES DIFERENCIALES TESIS ueporoobtenereltituloJe INGENIEROMECATRNICO 35(6(17$ ARTURO MARTINEZ CARRILLO DIRECTOR DE TESIS DR. VCTOR JAVIER GONZLEZ VILLELA MXICO, D. F., ENERO 2012 BEBICAT0RIA A mis padres que me apoyaron incondicionalmente y que nunca dejaron de impulsarme para alcanzar todas mis metas. A mis hermanos porque siempre han sido mi ejemplo a seguir. AuRABECINIENT0S Agradezco a la Universidad Nacional Autnoma de Mxico por brindarme todas las facilidades para mi formacin profesional. Agradezco a los profesores que me impartieron clases por todo el conocimiento que me transmitieron. Agradezco al Dr. Vctor Javier Gonzlez Villela por asesorarme en este proyecto y apoyarme en mi proceso de titulacin. Agradezco en lo que le corresponde a la DGAPA, UNAM, por el apoyo brindado para la realizacin de este trabajo,a travs de los proyectos PAPT N108308: nvestigacin y desarrollo en robtica mvil, robtica paralela y sistemas mecatrnicos (2008-2010) y PAPT N115811: nvestigacin y desarrollo en sistemas mecatrnicos: robtica mvil, robtica paralela, robtica hbrida y teleoperacin (2011-2013). RES0NEN Elpresentetrabajomuestraelanlisiscinemticodeunrobotmvil omnidireccional con dos robots diferenciales como elemento de traccin, mediante laimplementacindeunateoraunificadora.Serealizaelanlisisde controlabilidadmediantelgebradeLieylaimplementacindelcontrolmediante campos potenciales. Tambin contempla los resultados de pruebas en lazo abierto ycerrado,deseguimientodetrayectoriaydealcancedeobjetivoconunmodelo funcionaldelrobotqueutilizaelsoftwarereacTVisioncomosistemadevisin para la ubicacin del robot. Se programan las ecuaciones provenientes del anlisis cinemticoyseimplementaelcontrolmedianteelsoftwareSimulinkyseenvan los datos mediante mdulos XBee de radiofrecuencia. En las pruebas se observa que la plataforma s es capaz de seguir las trayectorias definidas con la orientacin requerida, as como de alcanzar el objetivo solicitado. Con ello se comprueba que el anlisis con la teora unificadora es correcto y que la plataformamvil esomnidireccionaly controlable. Tambin se pruebaque con campos potenciales se puede controlar la plataforma desde su cinemtica. C0NTENIB0 CAPT0L0 I INTR0B0CCI0N 1 CAPT0L0 II BESCRIPCI0N BE LA PLATAF0RNA N0vIL 0NNIBIRECCI0NAL 7 II Definicin de un vebculo con ruedas convencional 7 II Configuracin del robot 8 II Postura del robot 9 CAPT0L0 III CINENATICA INvERSA 13 III Propagacin de las velocidades 13 lll Propoqocin Jel sistemo Xp Yp ol X Y 15 lll Propoqocin Jel sistemo X Y ol X Y 16 III Restricciones cinemticas 17 III Coordenadas generalizadas de configuracin 19 III Definicin del tipo de robot 22 lll 6roJo Je moviliJoJ 22 lll 6roJo Je JireccionobiliJoJ 23 lll 6roJo Je moniobrobiliJoJ 23 CAPT0L0 Iv ANALISIS BE C0NTR0LABILIBAB Y BEFINICI0N BE LA LEY BE C0NTR0L 25 IV Configuracin cinemtica con variables de estado 25 IV Anlisis del lgebra de control de Lie 28 IV Control por campos potenciales 31 CAPT0L0 v BESCRIPCI0N BE LA SIN0LACI0N Y EL SISTENA PARA PR0EBAS C0N EL N0BEL0 F0NCI0NAL 35 V Descripcin de los elementos de la simulacin 35 v Softwore 36 v Fstructuro Je lo simulocin 37 V Elementos del sistema para pruebas con el modelo funcional 37 v HoJelo funcionol 39 v P 39 v k 40 v k 40 v M 40 v 41 v 1 Mu 42 v 1 4 u 43 v x8 5 45 v 4 45 v l 45 v Sistemo Je visin 46 v c 46 v 5 1lv 47 v P 1ulO 48 v L 49 v Sistemo Je control 50 v HJulo Je roJiofrecuencio 51 CAPT0L0 vI RES0LTAB0S BE LAS SIN0LACI0NES Y LAS PR0EBAS 57 VI Movimiento del punto de anlisis en lnea recta diagonal sin giro de la plataforma 58 vl Simulocin 59 vl HoJelo funcionol 60 VI Movimiento circular del punto de anlisis sin giro de la plataforma 64 vl Simulocin 65 vl HoJelo funcionol 66 VI Seguimiento de trayectoria rectilnea del punto de anlisis con orientacin de cero grados de la plataforma 70 vl Simulocin 71 vl HoJelo funcionol 75 VI Seguimiento de trayectoria rectilnea del punto de anlisis con giro de la plataforma 79 vl Simulocin 80 vl HoJelo funcionol 81 VI Seguimiento de trayectoria circular del punto de anlisis con orientacin de la plataforma a cero grados 84 vl Simulocin 85 vl HoJelo funcionol 86 VI Seguimiento de trayectoria circular del punto de anlisis con giro de la plataforma 89 vl Simulocin 90 vl HoJelo funcionol 91 VI Alcance de ob|etivo con orientacin de la plataforma 94 VI Seguimiento de trayectoria dinmica con orientacin de la plataforma 96 CAPT0L0 vII C0NCL0SI0NES Y TRABA}0 A F0T0R0 99 VII Conclusiones 99 VII Traba|o a futuro 100 APENBICES 103 Apndice I Diagramas de bloque y programacin de las simulaciones 104 Apndice II Programa de los microcontroladores 119 Apndice III Diagramas de bloque y programacin de las pruebas 122 REFERENCIAS 137 LISTA BE FIu0RAS Figura - 1 a) Rueda sueca b) Rueda universal. ...................................................... 2 Figura - 2 Castora automtica (Holmberg) b) Robot omnidireccional todo terreno (Udengaard) c) Robot de traccin diferencial para robot omnidireccional (Yamada). .................................................................................................................................. 4 Figura - 1 Plataforma mvil omnidireccional con dos robots diferenciales como elemento de traccin................................................................................................. 9 Figura - 2 Sistemas de ejes coordenados de la plataforma mvil omnidireccional. ................................................................................................................................ 10 Figura - 3 Distancia entre orgenes de los sistemas de ejes coordenados. ........ 12 Figura - 1 Propagacin de velocidades del eslabn L al eslabn L ................. 14 Figura - 2 Distancia particular entre puntos. ....................................................... 20 Figura V 1 Alcance de objetivo con campos potenciales. .................................. 32 Figura V 1 Estructura de la simulacin. ............................................................... 37 Figura V 2 Diagrama del sistema para pruebas. ................................................. 38 Figura V 3 Fotografa del modelo funcional. ........................................................ 39 Figura V 4 Motor EMG30. .................................................................................... 40 Figura V 5 Tarjeta MD25. .................................................................................... 42 Figura V 6 Arduino Duemilanove. ........................................................................ 43 Figura V 7 Conexin entre MD25 y Arduino Duemilanove. ................................. 44 Figura V 8 Xbee Shield. ....................................................................................... 45 Figura V 9 Ejemplo de marcadores fiducial. ........................................................ 48 Figura V 10 Diagrama de funcionamiento del protocolo TUO. ........................... 49 Figura V 11 (a) Fiducial de reacTVision (b) Hojas blancas y negras y su centroide (c) Hojas negras y su centroide (d) Vector para calcular la orientacin. 49 Figura V 12 Diagrama del sistema de control. ..................................................... 50 Figura V 13 Mdulo Xbee. ................................................................................... 52 Figura V 14 X-CTU PC Settings. ......................................................................... 53 Figura V 15 X-CTU configuracin del coordinador. ............................................. 54 Figura V 1 Simulacin movimiento rectilneo sin giro en lazo abierto. ............... 59 Figura V 2 Prueba movimiento rectilneo sin giro en lazo abierto. ..................... 60 Figura V 3 Desplazamiento en el eje X (esperado y realizado). ......................... 61 Figura V 4 Error absoluto de desplazamiento en el eje X. ................................. 61 Figura V 5 Desplazamiento en el eje Y (esperado y realizado). ......................... 62 Figura V 6 Error absoluto de desplazamiento en el eje Y. ................................. 62 Figura V 7 Rotacin de la plataforma (esperada y realizada). ........................... 63 Figura V 8 Error absoluto de rotacin. ................................................................ 63 Figura V 9 Simulacin movimiento circular sin giro en lazo abierto. .................. 65 Figura V 10 Prueba movimiento circular sin giro en lazo abierto. ...................... 66 Figura V 11 Desplazamiento en el eje X del punto de anlisis (esperado y realizado). ............................................................................................................... 67 Figura V 12 Error absoluto de desplazamiento en el eje X. ............................... 67 Figura V 13 Desplazamiento en el eje Y del punto de anlisis (esperado y realizado). ............................................................................................................... 68 Figura V 14 Error absoluto de desplazamiento en el eje Y. ............................... 68 Figura V 15 Rotacin de la plataforma (esperada y realizada). ......................... 69 Figura V 16 Error absoluto de rotacin. .............................................................. 69 Figura V 17 Simulacin de seguimiento de trayectoria rectilnea con orientacin fija en lazo cerrado. ................................................................................................. 71 Figura V 18 Desplazamiento del punto de anlisis en el eje X (a alcanzar y simulado). ............................................................................................................... 72 Figura V 19 Error de desplazamiento en el eje X. .............................................. 72 Figura V 20 Desplazamiento del punto de anlisis en el eje Y (a alcanzar y simulado). ............................................................................................................... 73 Figura V 21 Error de desplazamiento en el eje Y. .............................................. 73 Figura V 22 ngulo de rotacin de la plataforma (a alcanzar y simulado). ........ 74 Figura V 23 Error del ngulo de rotacin. ........................................................... 74 Figura V 24 Prueba de seguimiento de trayectoria rectilnea con orientacin fija en lazo cerrado. ...................................................................................................... 75 Figura V 25 Desplazamiento del punto de anlisis en el eje X (a alcanzar y realizado). ............................................................................................................... 76 Figura V 26 Error de desplazamiento en el eje X. .............................................. 76 Figura V 27 Desplazamiento del punto de anlisis en el eje Y (a alcanzar y realizado). ............................................................................................................... 77 Figura V 28 Error de desplazamiento en el eje Y. .............................................. 77 Figura V 29 ngulo de rotacin de la plataforma (a alcanzar y realizado). ........ 78 Figura V 30 Error del ngulo de rotacin. ........................................................... 78 Figura V 31 Simulacin de seguimiento de trayectoria rectilnea con giro. ........ 80 Figura V 32 Prueba de seguimiento de trayectoria rectilnea con giro. .............. 81 Figura V 33 Desplazamiento en el eje X del punto de anlisis (a seguir y realizado). ............................................................................................................... 82 Figura V 34 Error de desplazamiento en el eje X. .............................................. 82 Figura V 35 Desplazamiento en el eje Y del punto de anlisis (a alcanzar y realizado). ............................................................................................................... 83 Figura V 36 Error de desplazamiento en el eje Y. .............................................. 83 Figura V 37 ngulo de rotacin de la plataforma (realizado). ............................ 84 Figura V - 38 Simulacin de trayectoria circular del punto de anlisis. ................. 85 Figura V - 39 Prueba de trayectoria circular del punto de anlisis con orientacin fija. .......................................................................................................................... 86 Figura V - 40 Desplazamiento en el eje X del punto de anlisis (a alcanzar y realizado). ............................................................................................................... 86 Figura V - 41 Error de desplazamiento en el eje X. ............................................... 87 Figura V - 42 Desplazamiento en el eje Y del punto de anlisis (a alcanzar y realizado). ............................................................................................................... 87 Figura V - 43 Error de desplazamiento en el eje Y. ............................................... 88 Figura V - 44 ngulo de rotacin de la plataforma (a alcanzar y realizado). ......... 88 Figura V - 45 Error de rotacin. ............................................................................. 89 Figura V - 46 Simulacin de trayectoria circular del punto de anlisis con rotacin constante de la plataforma. .................................................................................... 90 Figura V - 47 Prueba de trayectoria circular con giro de la plataforma. ................ 91 Figura V - 48 Desplazamiento en el eje X del punto de anlisis (a alcanzar y realizado). ............................................................................................................... 91 Figura V - 49 Error de desplazamiento en el eje X. ............................................... 92 Figura V - 50 Desplazamiento en el eje Y del punto de anlisis (a alcanzar y realizado). ............................................................................................................... 92 Figura V - 51 Error de desplazamiento en el eje Y. ............................................... 93 Figura V - 52 ngulo de rotacin de la plataforma. ............................................... 93 Figura V - 53 Secuencia del alcance de objetivos. ................................................ 95 Figura V - 54 Recorrido del punto de anlisis para el alcance de objetivos. ......... 96 Figura V - 55 Desplazamiento en el eje X (objetivo y plataforma). ........................ 97 Figura V - 56 Desplazamiento en el eje Y (objetivo y plataforma). ........................ 97 CAPT0L0 I INTR0B0CCI0N Larobticamvileslaramaqueestudiaatodosaquellosrobotsquepuedan desplazarsedentrodesumedio,yaseaenelaire,elaguaosobrelasuperficie terrestre. En esta ltima categora, los que presentan un desarrollo ms avanzado sonaqullosqueutilizanruedascomoelementodeavance,debidoasufcil montajeyestabilidadalmomentodemoverse.Adems,comolosmediosde transporteterrestremsutilizadosutilizanruedas,esnaturalqueenrobticase tratedeevolucionarconunatendenciainicialhaciaunsistemayamuybien estudiado. Paralosrobotsmviles(noslolosterrestres)setienentresproblemticas principalesaresolverparapoderdesplazarse:lacinemticadelvehculo,que define las capacidades de movilidad propias del mismo; la definicin del camino o latrayectoriaaseguirylapercepcindelentornoparaubicaralrobotensu espaciodetrabajo.Enuncasototalmentemanual,losltimosdosrubrosson procesadosporelusuarioyelgradodeautomatizacindelvehculopuedeir subiendo,hastaquelostrespuntosseanresueltosenteramenteporelrobot utilizandosensores,procesandoeinterpretandolassealesdestospara alcanzar el objetivo definido por el usuario. Se puede observar que la problemtica quesiguepresente,independientementedelniveldeautomatizacin,esla cinemtica del vehculo. Enparticular,paralosrobotsimpulsadosporruedas,dichamovilidadest directamenteligadaaltipoderuedasqueseutilicenyalatopologadelas mismas. stas definen el grado de libertad de movimiento, dependiendo de cmo estnacomodadas,quesetraducealosmovimientoslinealesenelplano,de rotacin del sistema y la relacin entre ambos. Asescomosetieneunaformadeclasificaralosrobotsmvilesconruedas. Aqullos que tienen control sobre uno o dos posibles movimientos son conocidos comonoholonmicos,comobienpuedeserelmovimientodeunautomvil,que avanzaycambiadedireccin,peronopuededesplazarselateralmente.Porotro lado,setienenlosomnidireccionalesuholonmicosquetienenlaventajade podersemoverencualquierdireccinpermisibleporelmedio.Estetipoderobot puedeirdeunpuntoaotrocualquieraenunsolomovimientoygirardemanera independiente;sepuedepensarcomoelmovimientodeunasillagiratoriade oficina. Laimportanciadedesarrollarunvehculoomnidireccionalsedebeavarios factores: xMayor movilidad en espacios reducidos xCambios repentinos de direccin y sentido para evasin de obstculos xDesplazamiento y orientacin independientes. Lograr que un robot sea omnidireccional no es algo trivial, dado que el movimiento de avance de una rueda convencional est restringido a un solo sentido. Por ello, algunos investigadores proponen la fabricacin de ruedas especiales que permiten el movimiento del vehculo en cualquier direccin, como la rueda sueca o la rueda universal mencionada por Cullar, F. (2006) [1]. & / Z Z La implementacin de tres de stas ltimas, por ejemplo, en un arreglo triangular permitedichomovimiento,ademsdesimplificarconsiderablementeelanlisis cinemticodelrobot.Noobstante,estasruedassondemanufacturacomplicada, noestnpensadasparaavanzarensuperficiesirregulares,ademsdeque presentaninestabilidaddadoqueenciertospuntosperimetralessepierdeel contactoconelsuelo.Estodalugaraquenosedejendeladolossistemasde traccin convencionales. Apartirdeanalizarlacinemticadeunvehculoquetengaunaconfiguracinde ruedascualquieraquelepermitagirar,sepuedecomprobarquecualquierpunto quenoestsituadoenelejetransversaldelasruedasescapazdeseguir cualquiertrayectoriacontinua.Bajoesteprincipiofuncionanlasruedascastoras, que son las que se encuentran en los carritos del supermercado o en las sillas de oficina. Holmberg,R.etl.(1999)[2]yWada,M.etl.(1995)[3]proponenparasus respectivas aplicaciones modelos de castora automtica que permita desplazar al robot de manera que ste sea holonmico, motorizando la rueda en sus rotaciones paralela y perpendicular al suelo. Udengaard, M. et l. (2008) [4] y Yamada, T. et l. (2001) [5] utilizan el principio de la castora con dos ruedas unidas entre ellas y con traccin independiente, que a su vez tienen una unin descentrada y libre de giro con respecto al robot. El giro en el punto de apoyo del robot se logra mediante la diferencia de velocidades en las ruedas. & / , Z h Z z Todasestasalternativassonmsfactiblesparaaplicarseenvehculosfuerade laboratorio, particularmente la de Udengaard, M. et l. (2008) [4] que est pensado expresamente para ello. No obstante, en los ltimos dos trabajos mencionados, el anlisis matemtico que comprueba la holonomicidad no queda enteramente claro y slo aplica para ese caso en particular. Por otro lado, Gonzlez Villela, V. (2006) [6] propone una teora unificadora para el anlisis cinemtico y dinmico de robots con ruedas convencionales. Los trabajos propuestosporUdengaard,M.etl.(2008)[4]yYamada,T.etl.(2001)[5] utilizan configuraciones no convencionales, pero parten de las mismas bases que el anlisis para uno convencional. EIpropsitodeestetrabajoeseIdecomprobarsiesposibIeextenderIas apIicacionesdeIateoraunificadoradeGonzIezViIIeIa,V.(2006)[6]aun modeIoderobotmviInoconvencionaI,enestecasounapIataformamviI omnidireccionaI,yconeIIosercapacesdecontroIareImovimientodeIa misma mediante un modeIo fsico. Paraello,enelcaptulosedescribelaplataformaysusistemadetraccin.Se define la postura del robot generalizando los parmetros, para que la extensin de lateoraunificadorapuedaseraplicableconotraconfiguracinderobotno convencional. Despus en el captuo , se realiza el anlisis cinemtico para la propagacin de las velocidades del robot a las ruedas. Esto es, que las velocidades deseadas del puntodeanlisispuedansertraducidasenvelocidadesdegirodelasruedas,a travs de la cadena cinemtica formada por el eslabonamiento de los cuerpos que integrantodoelrobot.Posteriormentesedeterminaeltipodevehculoquees, para comprobar la omnidireccionalidad del mismo. EnelcaptuloVsecompruebamedianteellgebradeLiesilaplataformaes controlable.Yaconelmodeloobtenidoyluegodeasegurarquees omnidireccional,seproponeunaleyparacontrolaralaplataforma,conla intencin de que sea totalmente automatizada. EnelcaptuloVsedescribeelalgoritmodelassimulaciones,ascomola constitucin del modelo funcional y del sistema montado para la realizacin de las pruebas. En el captulo V se muestran y comentan los resultados de las simulaciones y las pruebas con el modelo funcional para verificar que la respuesta sea la esperada. Por ltimo, en el captulo V se mencionan las conclusiones de los experimentos y el trabajo a futuro. CAPT0L0 II BESCRIPCI0N BE LA PLATAF0RNA N0vIL 0NNIBIRECCI0NAL II Definicin de un vebculo con ruedas convencional Engeneral,losvehculosterrestresanalizadoscomnmentesuponenquese cuenta con una estructura rgida, es decir, que no cuenta con partes flexibles. Se puedepensarcomounbloqueunidoasusruedas,dondeelnicomovimiento relativo existente es el giro de stas con respecto al cuerpo del mvil. Adems se asumequeesunvehculonodegenerado,estoesquecuentaconlasruedas suficientes para poder controlar su posicin y orientacin. A esto se le considerar como un vehculo con ruedas convencional. El robot mvil propuestoparaestetrabajo,seconstituyedeleslabonamientodedistintos elementosparagenerarunmovimientodeseadoparaunodeloseslabones, mediantelacombinacindelosmovimientosdelosotros.Porlotantoelrobota analizar ser de una topologa no convencional. II Configuracin del robot Parallevaracabolacomprobacindequelateoraunificadorapropuestapor Gonzlez Villela, V. (2006) [6] es aplicable de manera extendida a un robot mvil noconvencional,sedebeexplicarculeslaconfiguracinpropuesta.Eneste caso,seplanteaqueexisteunconjuntoderobotsmvilesconvencionalesno holonmicos(elementodetraccin)queestnunidosporuncuerpocentralque ser visto como el cuerpo de anlisis. Las juntas que acoplan este ltimo con los robots de traccin permiten el libre giro entre ambos elementos unidos, adems de situarseenpuntosdondeelejedegironoseanormalalejederotacindelas ruedas. Elcasomssencillodeanalizareseldedosrobotsdetraccinunidosporun cuerpocentral,mismoqueseutilizaparaeldesarrollodeestetrabajo.Adems, comoposteriormenteseobservar,eselmnimosuficienteparaquese compruebe que el cuerpo central es omnidireccional con el anlisis cinemtico. Demaneraparticular,enestecasoseutilizanparalatraccindosrobotsen configuracindiferencialo(2,0)segnlaclasificacindevehculosdeCampion. Ambosestnsujetosaunaplataformaendospuntosdescentradosconla intencindequeelclculonopresentesingularidadesalestaralineadoslos puntosdeapoyoyelpuntodeanlisis.Deestaformaseconsiguequestesea aplicable a cualquier punto del plano en el cual se mueve la plataforma. & // W Lafigura-1muestralaplataformatriangulardondeenlapuntasuperiordel tringuloseencuentraelpuntodeanlisis,mientrasquesusotrosdosvrtices fungencomopivotesdelosrobotsdiferenciales.Lasilustracionesencadapunto son identificadores que sern descritos ms adelante. II Postura del robot Para el anlisis se deben definir sistemas de coordenadas que permitan describir eldesplazamientodelaplataformaensuuniverso,ascomodeloselementos internos que presenten un movimiento relativo entre ellos, por lo que se obtiene lo siguiente ilustrado en la figura - 2. & // ^ Donde{X,Y}representaelsistemacoordenadodeluniversoconOcomosu origen.{Xp,Yp}eselsistemacoordenadodelaplataformayestancladoenel puntoPP,queeselpuntodeanlisis.Elsistema{Xi,Yi}situadoenelpuntoPi representaalsistemadecoordenadasdeli-simorobotdetraccin.Deigual manera,elsistema{Xi,j,Yi,j}situadoenelpuntoPi,jrepresentaalsistemade coordenadas de la j-sima rueda del i-simo robot. Adems,elngulop,correspondealaorientacindelosejescoordenados {Xp,Yp}conrespectoalsistemadeluniverso.Elnguloihacereferenciaala orientacindelosejescoordenados{Xi,Yi}conrespectoalsistemadela plataforma. Los sistemas coordenados de los robots de traccin y la plataforma, as como su orientacinsonsuficientesparadescribirlaposturadelrobot.Noobstante,se aprovechadesdeestepuntoparadefinirlanomenclaturaylosejescoordenados delasruedasconlaintencindequesedistingadeformaclaralasucesin progresivaenlanumeracindetodoslossistemasdecoordenadasquese utilizarn para los clculos. Enestepunto,tambinseconsideraelnguloi,jdecadaruedaconrespectoal robot que pertenecen con la intencin de que el anlisis sea vlido para cualquier otra configuracin de robot de traccin. Dado que el esquema de la representa el sistemaaanalizar,demaneraparticularparaestecasolosngulosi,jtienenun valordeceroconstantedebidoalaconfiguracindiferencialdelosrobotsde traccin, sin embargo este valor no se toma en consideracin durante el inicio de los clculos. Posteriormentesedefinenlasdistanciasentrelospuntosdeorigendelos sistemascoordenadosquesernnecesariasparaelanlisiscinemtico. Manteniendo nuevamente las magnitudes sin definir, la figura - 3 muestra dichos parmetros. & // Sepuedeobservarquetodaslasdimensionesdefinidasenlafigura-3estn medidas a lo largo de los ejes coordenados definidos anteriormente. CAPT0L0 III CINENATICA INvERSA III Propagacin de las velocidades Una vez definido el sistema y declarado los parmetros necesarios, se resuelve la cinemtica de la plataforma mvil. Esto se puede abordar de dos formas: a travs de la cinemtica directa o la inversa. En la directa se obtienen las ecuaciones que permitenconocerlavelocidadyposicindelaplataformaapartirdevelocidades arbitrariasaplicadasalasruedas.Esteenfoqueresultaimprctico,dadoqueel propsito del robot no es el de andar de manera aleatoria por el entorno, sino el de alcanzar un objetivo en concreto. Esporesoqueseoptaporresolverlacinemticainversa,dondeapartirde velocidades de entrada de la plataforma se pueden obtener las velocidades de los actuadoresnecesariasparacumplirdichaorden.Lasecuacionesresultantesson laexpresinmatemticaquedefinelasrestriccionescinemticasdelrobot.Para elloseutilizaelmtododepropagacindevelocidadesdeleslabnialeslabn i+1. & /// W Lo que este mtodo sugiere es que la velocidad angular del eslabn i+1 relativa a supropiosistemadereferenciaesigualalavelocidadangulardeleslabnicon respecto al sistema i+1, ms una componente propia del sistema i+1.

Dondeeslamatrizderotacindelsistemaialsistemai+1.Porloqueal aplicrselaalavelocidadanguladeiconrespectoalsistemai,seobtienela velocidad angular de i con respecto a i+1 que se mencion anteriormente. Por otro lado, la velocidad lineal del eslabn i+1 en relacin con s mismo es igual alavelocidadlinealdeleslabnimslavelocidadprovocadaporelbrazode palancaylavelocidadangulardei.Todoestoreferenciadoalejede coordenadas de i+1. DadoqueelpuntodeanlisiseselpuntoPPdelaplataforma,serealizala propagacindelasvelocidadesangularylinealdedichopuntohastalasruedas, utilizandolasEcuaciones1y2respectivamente.Ladefinicindelossistemas coordenados permite una secuenciacin ordenada del proceso. lll Propoqocin Jel sistemo Xp Yp ol X Y Sea la velocidad angular del sistema P con respecto a s mismo representada por el vector Y la velocidad lineal por el siguiente vector. Y sea la matriz de rotacin del sistema P a 1. Por otro lado, sea la velocidad angular propia del sistema 1 Y el vector de posicin del punto P1 con respecto a PP Sustituyendo en la ecuacin 1, se obtiene: Donde es la velocidad angular del robot de traccin 1 con respecto a s mismo. Adems,sepuedeobtenerlavelocidadlinealsustituyendolasecuaciones en la ecuacin 2 Unavezobtenidasambasvelocidades,serepiteelprocedimientoparala propagacin del robot a la rueda. lll Propoqocin Jel sistemo X Y ol X Y Sea la matriz de rotacin del sistema 1 al 1,1 El vector de velocidad angular propia de la rueda 1,1 Y el vector de posicin del punto P1,1 con respecto a P1 Sustituyendonuevamenteenlasecuaciones1y2,seobtienenlassiguientes velocidades: Siendolavelocidadangularortogonalalplano{X1,1,Y1,1}ylavelocidad lineal en el mismo plano, ambas para la rueda 1,1. III Restricciones cinemticas Delaexpresindelavelocidadlineal,seobtienenlasrestriccionescinemticas para la rueda 1,1 reescribindose de la siguiente manera: Restriccinortogonalalplanodegirodelarueda{Y1,1,Z1,1},suponiendoqueno hay deslizamiento lateral: Donde Restriccin sobre el plano de giro de la rueda {X1,1,Z1,1}, suponiendo rotacin pura sin deslizamiento: Donde r1,1 es el radio de la rueda y es la velocidad de rotacin de la misma. Estesegundotrminoaparecedebidoaquelavelocidadlinealparaunpuntoen una circunferencia es igual a la velocidad angular multiplicada por el radio de giro. Laecuacin4eselresultadodeigualarlasdosexpresionesyagruparlos trminos en un mismo lado de la ecuacin. Seaplicaelmismoprocedimientodemanerarecursivaparalasdemsruedasy se obtienen las siguientes restricciones cinemticas: Restricciones ortogonales al plano de giro de la rueda {Yi,j,Zi,j} Donde Restricciones el plano de giro de la rueda {Xi,j,Zi,j}: Donderi,jyeselradioylavelocidadderotacindelaj-simaruedadeli-simo robot. III Coordenadas generalizadas de configuracin De acuerdo a la teora unificadora de Gonzlez Villela, V. (2006) [6], un robot mvil tiene nT = 3 + NT + NC + NOC coordenadas de configuracin q = [q1,.,qnT]T y estn distribuidasentrelascoordenadasdepostura,losngulosdelasruedas centradas,losngulosdelasruedasdescentradasyderotacindelas ruedas.definelaposturadelrobotmvilconvencional,sinembargo paraestecasosepuedeobservarenlasrestriccionescinemticasqueexisten otrasdoscomponentesnecesariasparaladefinicindelapostura.stas corresponden al ngulo de orientacin de los robots de traccin 1 y 2, por lo que elnmerodecoordenadasgeneralizadasaumentadependiendoelnmerode robots de traccin que se tengan de manera que ahora DondexNT es el nmero de ruedas en general xNC el nmero de ruedas giratorias centradas xNOC el nmero de ruedas descentradasxNDR el nmero de robots de traccin. Adems,laposturadelrobotmvilnoconvencionalsedefineahoraporypor que corresponde a los ngulos de orientacin de los robots de traccin. Finalmente esto da como resultado que las coordenadas generalizadas sean Con las velocidades generalizadas Enparticular,paralaplataformamvil,lascoordenadasyvelocidades generalizadas son: Con estos vectores definidos, se puede agrupar toda la cinemtica del sistema en unasolaexpresindeltipo,demodoquesisereescribenlas ecuaciones3a10delasrestricciones,laexpresinquedaradelasiguiente forma: Laecuacin14expresalacinemticadelaplataformamvildemanerageneral, esdecir,todavacontemplatodaslasdimensionesylosnguloscomosifueran valores distintos. Esto permitira variar la configuracin del robot sin necesidad de realizartodoelclculonuevamenteparaotrocasoparticular,inclusivepudiendo llegaracasosinviablesparaproducirmovimiento.Noobstante,apartirdeeste punto es necesario definir los parmetros de la plataforma a analizar, por lo que se obtiene lo siguiente. & /// En la figura - 2 se observa que el nico elemento que queda sin una posicin fija eselpuntoPp.Estosedejasconlaintencindequelaplataformapueda analizarsedesdecualquierpuntodelsistemadereferencia{X,Y};eselmismo principio del anlisis de punto descentrado que se utiliza comnmente en robtica mvil, pero integrado al punto de referencia de la plataforma. Porotrolado,hayquerecordarquelosrobotsdetraccinseleccionadossondel tipo (2,0) por lo que los ngulos i,j de las ruedas son cero y que todas las ruedas tienenelmismodimetro.ntegrandolosvaloresdelasdimensionesydelos ngulosalaecuacin14,seobtienelacinemticadeestaconfiguracinen particular. III Definicin del tipo de robot El tipo de robot se define de acuerdo a los grados de movilidad, direccionabilidad y maniobrabilidadqueposea.stosestndefinidosporlosmovimientos permisibles,mismosqueseobtienendelacinemticadelrobotdefinida completamente en la ecuacin 15. lll 6roJo Je moviliJoJ Elgradodemovilidadcorrespondealosgradosdelibertadinstantneosque posee un robot y se obtiene a partir de la siguiente ecuacin: Dondecorrespondealadimensindelascoordenadasgeneralizadas que definen la postura de la plataforma mvil y corresponde al rango de la submatriz perteneciente a la matriz. Dicha submatriz corresponde a la seccindelasrestriccionescinemticasortogonalesalplanodelarueda comprendidaporlasruedasfijasylasruedascentradasdireccionables,queen este caso es Ya se sabe con anterioridad que es igual a cinco, mientras que se observa que es igual a dos. Por lo tanto, sustituyendo los valores en la ecuacin 16,. lll 6roJo Je JireccionobiliJoJ Elgradodedireccionabilidaddefineelnmerodeelementosquecambianla direccin del vehculo y se obtiene a partir de la siguiente ecuacin: Dondecorrespondealrangodelasubmatrizpertenecientealamatriz definidaporloselementosdelasruedascentradasdireccionablesdelas restriccionescinemticasortogonalesalplanodelasruedas.Enestecaso,dado que todas las ruedas son fijas, dicho rango es cero, por lo que. lll 6roJo Je moniobrobiliJoJ El grado de maniobrabilidad corresponde a los grados de libertad totales del robot y se define por la ecuacin: Por lo que se obtiene que es igual a tres. Estosignificaquelaplataformamviltienetresgradosdelibertad.Utilizando nuevamentelaclasificacindeCampion,eltipoderobotseexpresadeforma sencilla por la expresin, por lo tanto la plataforma mvil corresponde a un robot del tipo (3,0). El que tenga tres grados de libertad comprueba que el robot es omnidireccional en el plano. CAPT0L0 Iv ANALISIS BE C0NTR0LABILIBAB Y BEFINICI0N BE LA LEY BE C0NTR0L IV Configuracin cinemtica con variables de estado Dadoquesetienentresgradosdelibertadenlaplataformamvil,lasiguiente cuestin es saber cules variables se seleccionan como variables de entrada y si el sistema es controlable. Lo que resulta ms evidente es tomar directamente las variables de velocidad y, as como la velocidad angular P. stassernlasvariablesdeestadodelsistema,porloquelaexpresindela cinemtica de la plataforma se tiene que expresar en trminos de dichas variables, como en la siguiente ecuacin: Dondeeslamatrizasociadaalascoordenadasdepostura;,lamatriz asociada a las coordenadas de las ruedas descentradas;, la matriz asociada a lascoordenadasderotacindelasruedasy,lamatrizasociadaalas coordenadasdelasruedascentradas.Adems,ycorrespondenalas componentes de movilidad y direccionabilidad. Enelcasodelaplataforma,loselementosdelaecuacin19,yno existen,ademselvectorcorrespondeclaramentealas variables de entrada definidas anteriormente. Por lo tanto: Deestaformasetienelacinemticainternadelaplataformaexpresadaen trminos de las variables de entrada. No obstante, el hecho de que sea interna se refiereaqueanestreferenciadaconrespectoalsistemacoordenado{XP,YP}, por lo que se le tiene que aplicar una rotacin de forma que el sistema coordenado de referencia sea el del universo {X,Y}. Esto para que se tenga la representacin completa de acuerdo a como se observa desde fuera del robot. Para esto se define la matriz de rotacin de postura del sistema {XP,YP} al sistema {X,Y} Y la matriz de rotacin de configuracin, como una extensin de la matriz anterior. Donde y tanto, como son matrices identidad. Dicha matriz de rotacin, est definida por Gonzlez Villela, V. (2006) [6] de forma general considerando todos los tipos de ruedas que se pueden tener, con la nica diferencia que en este caso se agrega la matriz identidad correspondiente al nmero de robots de traccin. Por lo tanto, multiplicando al sistema por la matriz de rotacin, se tiene la siguiente expresin: Laecuacin21expresalasvelocidadesgeneralizadasdelaplataformamvilen trminos de las variables de entrada con respecto al sistema coordenado {X,Y}. IV Anlisis con lgebra de control de Lie Utilizando la explicacin que da Gonzlez Villela, V. (2006) [6] y el tutorial para la aplicacindellgebradeLiepararobotsmvilesdeCoelho,P.(2003)[7],se aplicelmtodoparaanalizarlacontrolabilidaddelsistemanolinealdela cinemtica de la plataforma mvil. Paraelloseobtienelasubmatrizquecorrespondealoselementosdelas coordenadas de postura de la matriz, por lo que Dondecadacolumnasenombrarcomounvector.Porello, . Despus se analiza la controlabilidad mediante la obtencin del corchete de Lie, que corresponde a la expresin DondeeselcorchetedeLie;ysonvectorescolumnaelegidos arbitrariamente.ElmtodoconsisteenobtenerelcorchetedeLieparatodaslas parejas de vectores columna de la matriz y cada que se obtiene uno, agregarlo alamatriz;posteriormentesecompruebasilanuevacolumnaagregadaes linealmenteindependientedelasanteriores.Deseras,semantienelamatriz extendidaydichacolumnatambinseconsideraparaelanlisisdela independencialinealdeloscorchetesdeLiesubsecuentes;sinoeslinealmente independiente,sedesechaysepruebaconotropardecolumnas.Esclaroque conforme aumenta el tamao de la matriz, tambin aumentan la cantidad de pares de columnas posibles para probar. Enlaecuacin22sepuedeverque,porloqueinvertirlas columnas resultara en un corchete de Lie linealmente dependiente. Unavezqueyanoseobtienenmscolumnaslinealmenteindependientes,el rango de la matriz extendida determina cuntas variables son controlables. Paracomprobarlaindependencialinealdelnuevoelemento,sehaceusodela ecuacin Siexisteunasolucinpara,entonceselcorchetedeLieeslinealmente dependiente. De acuerdo con ello se resuelve para el caso de la plataforma. xPara Sustituyendo en la ecuacin 22 se obtiene el siguiente resultado. Al tratar de resolver la ecuacin 23, no se obtiene ninguna solucin, por lo que el corchetedeLieeslinealmenteindependienteyporelloseaumentaunvector columna a la matriz, de tal forma que xPara Sustituyendo en la ecuacin 22: Al tratar de resolver la ecuacin 23, no se obtiene ninguna solucin, por lo que: xPara Sustituyendo en la ecuacin 22: Al tratar de resolver la ecuacin 23, se obtiene la siguiente solucin: Porlotanto,elcorchetedeLieeslinealmentedependienteynoseagregaala matriz. xPara El corchete de Lie es linealmente dependiente. Comonoquedaningnpardevectorescolumnaporprobar,aquterminael proceso iterativo de los corchetes de Lie. Claramente, se observa que la matriz ahoratienedoscolumnasnuevaslinealmenteindependientesyporende, . Comoyasevioenlaexplicacindelmtodo,elrangodelamatrizdeterminael nmero de variables que son controlables. En este caso, el rango de la matriz esigualacinco,porloquelascincovariablesdelvectordeposturason controlables.Estosignificaqueelrobotsepuedellevaracualquierposicin deseada, aunque como el nmero de grados de libertad es menor que el rango del vector de postura, dicha posicin no puede ser alcanzada en un solo movimiento. IV Control por campos potenciales Unavezdefinidaslasvariablesacontrolarysabiendoqueelsistemases controlable,seprocedeaelegirunaleydecontrolparaelmovimientodela plataformamvil.Sedecideutilizarelmtododecampospotencialesparael controldelaplataformamvilenlazocerrado,conlaintencindecomprobarde formarpidalaomnidireccionalidaddelrobot,yobservarlascapacidadesde adaptacin ante el cambio de trayectoria y de objetivo. De acuerdo a lo explicado por Gonzlez Villela, V.etl. (2004) [8], elmtodode campos potenciales se define por fuerzas de atraccin y repulsin provocadas por el medio que interacta con el robot, que sumadas obtienen la fuerza de atraccin resultante que seguir el robot hasta alcanzar su destino. Este mtodo puede ser aplicado desde el punto de vista cinemtico cambiando los vectores de fuerza por vectores de velocidad. Elobjetivoaalcanzarrepresentaunvectordevelocidadendireccindelrobot haciaste.Lamagnituddelavelocidadesdirectamenteproporcionalala distanciaexistenteentreamboscuerpos.Paraevitarvectoresdevelocidad infinitosoexcesivamentegrandes,sedefineunavelocidadmximayunreade evasin alrededor del objetivo a partir del cual la velocidad comienza a disminuir, tal y como se muestra en la figura V - 1. & /s En la figura V - 1, se muestra dg como el vector de atraccin del robot al objetivo, gcomoelngulodedichovector,icomoelngulodeinclinacindelrobota controlar y e como el error que existe entre ambos ngulos. El rea de evasin de radioKresdefinidademaneraarbitrariaporelusuario,dependiendodela aplicacin para la que se requiera. Tambin se define un rea de seguridad en la plataformamvilderadioKOWR,dadoqueelpuntodeanlisisestcontenido dentro del espacio ocupado por la plataforma y existe riesgo de colisin. Apartirdeestadescripcin,sepuededefinirlasvelocidadeslinealesenXPyen YP de la siguiente forma: Las ecuaciones 24 y 25 muestran la ley de control para las velocidades lineales de entrada, para el alcance de un objetivo. Aunque en la figura V - 1 se observa que el vector que conduce al robot hacia el objetivo es dg, el ngulo contemplado para la descomposicin de la velocidad necesario para que el robot alcance el objetivo noesg.Estodebidoaquelasvelocidadesdeentradaestndefinidascon respecto a los ejes coordenados de la plataforma mvil y no a los del universo. Por lotanto,tomandocomoreferenciaelsistemadeejescoordenadosdela plataforma, el vector dg se descompone en dos elementos orientados por el ngulo de error e. Laventajaquemuestralaplataformamvilesquenosetienequeorientarde algunamaneraparaalcanzarelobjetivodebidoasuscapacidadesdemovilidad, por lo que no es necesario reducir el ngulo e a un valor de cero. No obstante, de ser importante la orientacin de la plataforma, se puede aplicar la siguiente ley de control: Donde correspondealngulovariableeneltiempoquepermiteorientarla plataforma.Enparticular,paralaspruebasarealizarseutilizandosleyesde control para la velocidad angular: Laecuacin27permiteunaorientacindelaplataformadecerogradoscon respectoaluniverso,mientrasquelaecuacin28orientaalaplataformadetal maneraquelapuntadeltringuloapuntehaciaelobjetivoysepercibadeforma ms clara la correccin de postura. Conestasecuacionesdefinidas,sepuedetenerelcontroldelasvariablesde entradadelsistemaparaelalcancedeunobjetivoyporende,elcorrecto desplazamiento de la plataforma. Ademsdelalcancedeobjetivos,loscampospotencialestambincontemplanla evasin de obstculos. Esto implica que el obstculo sea representado como una fuerzaderepulsinqueesinversamenteproporcionalaladistanciaalaquese encuentre el robot de ste. La suma de las fuerzas de atraccin del objetivo y de repulsin de los obstculos es la que determina la resultante que tomar el robot. Debidoalosobjetivosdeesteproyecto,noserealizanpruebasconevasinde obstculos,yaquelaomnidireccionalidaddelaplataformamvilpuedeser comprobadasloconlaspruebasdelazoabiertoyalcancedeobjetivoenlazo cerrado. CAPT0L0 v BESCRIPCI0N BE LA SIN0LACI0N Y EL SISTENA PARA PR0EBAS C0N EL N0BEL0 F0NCI0NAL V Descripcin de los elementos de la simulacin Unavezquesetieneresueltalacinemticainversadelaplataformayseha determinadounaleydecontrol,serealizansimulacionesconlaintencinde corroborar de forma rpida si los clculos realizados arrojan resultados coherentes y que la plataforma (de forma terica) se mueve de acuerdo a lo esperado. Las simulaciones tambin sirven como una forma de disear las pruebas a realizar por el modelo real que sean ms representativas para corroborar las propiedades omnidireccionalesdelaplataforma,ascomolaleydecontrol.Deestaformase tieneunpuntodecomparacinnosloenlosdatosyvaloresderivadosdelas ecuaciones cinemticas y de control, sino tambin una referencia visual de cul es el comportamiento esperado por la plataforma. Aunado a esto, se pueden anticipar errores de movimiento que sean inherentes a las propiedades cinemticas y/o a la ley de control propuesta. v Softwore SedecideutilizarlapaqueteradeSimulinkdelacompaaMathWorks,porsu amplia gama de herramientas de clculo, control, operaciones lgicas y funciones embebidas;lafacilidaddeimplementacin;laclaridadparaelseguimientodel programa, adems de la familiaridad que ya se cuenta con este software. Adems, el control del modelo funcional de la plataforma mvil puede realizarse desde este mismoprograma,porloquesloserequieredeadaptarlasimulacinparala adquisiciny envo de seales. Simulinkesunaplataformaparasimulacinmultidominioydiseobasadoen modelosdesistemasdinmicosyembebidos.Proporcionaunentornogrfico interactivoyunconjuntodelibrerasdebloquespersonalizablesquepermiten disear,simular,implementaryprobarunagranvariedaddesistemascon variacin temporal, entre los que se incluyen sistemas de comunicaciones, control, procesadodeseales,vdeoeimagen.SimulinkestintegradoconMATLABy ofreceaccesoinmediatoaunaampliagamadeherramientasquepermiten desarrollaralgoritmos,analizaryvisualizarsimulaciones,crearseriesde procesadodelotes,personalizarelentornodemodelajeydefinirseales, parmetros y datos de pruebas.[9] v Fstructuro Je lo simulocin I V L LafiguraV-1muestraeldiagramadebloquesgeneraldelaestructuraseguida por las simulaciones. Cada una cuenta con ligeras variaciones dependiendo si es delazoabiertoocerradoodelatrayectoriaoperfildevelocidadaseguir;no obstante,loselementosmostradossiempreestnpresentes.Paramayordetalle delaprogramacinyelprogramadeSimulinkparacadasimulacin,revisarel Apndice . Cabe sealar que previo al arranque del programa de Simulink, se debe correr un archivodeMATLABquecontienelasdimensionesdelaplataforma,ascomo otros parmetros constantes (velocidades mximas, condiciones iniciales, posicin del objetivo, radio del rea de evasin). V Elementos del sistema para pruebas con el modelo funcional La figura V - 2 muestra un diagrama con los elementos del sistema y cmo fluye la informacin a travs de ste. Est conformado por el modelo funcional, el sistema de visin artificial, el sistema de control y el mdulo de radiofrecuencia. I V D El modelo funcional es en s el robot a controlar, con la instrumentacin necesaria quelepermitacomunicarseconlosdemselementosdelsistema.Elespaciode trabajo en el que se mueve la plataforma est delimitado por el rea cubierta por la cmara del sistema de visin. El software utilizado por el sistema de visin otorga los datosde realimentacin necesariospara el sistema de control. ste ltimo es el que procesa los datos de entrada para que se obtengan las velocidades de las ruedas necesarias para el desplazamiento deseado de la plataforma. Los datos se envanyrecibenmediantemdulosderadiofrecuenciaXbee;unoconectadoal puerto serial de la computadora que emite datos y dos montados en cada uno de los robots de traccin de la plataforma que reciben los comandos de velocidad. Cada unode los elementos del sistemaes por s solo un subsistema que cuenta conmselementosquesonnecesariosdedetallarparacomprenderelcompleto funcionamiento del sistema de pruebas. v HoJelo funcionol I V I La figura V - 3 muestra todos los componentes montados en el modelo funcional. ste puede ser dividido en distintos elementos para facilitar su descripcin. Dichos elementosson:plataforma,robotsdetraccin,ruedas,motores,elementosde soporte, elementos electrnicos, alimentacin e identificadores para el sistema de visin. v P Laplataformaconstadetrescuerposunidosaunelementodesoportequeen conjuntodanunaformatrapezoidal.Dichaformaacentaelarreglotriangularde lospuntosenloscualesdescansanlosidentificadoresparaelsistemadevisin. Adems,permite una vista clara del movimiento delos robotsde traccin y de la orientacindelaplataformadurantesusmovimientos.Lasdimensionesson suficientes para evitar colisiones entre los robots de traccin al momento de girar y paradesplazarseenelespaciodetrabajodefinidoporelsistemadevisin permitiendo movimientos largos y significativos para las pruebas. v k Cadaunodestosesunrobotmvilconvencionalporssolo,dearreglo diferencial (como se vio en el captulo ). Cuentan con tres niveles de altura para elmontajedesuselementos.Enelnivelmsbajoseencuentralabaterayel sistema de traccin, el segundo nivel aloja a la tarjeta que controla los motores y eneltercerniveldescansalatarjetadelmicrocontroladorquetieneadaptadoel mdulo Xbee para la recepcin de datos. v k Elrobotcuentacondistintostiposderuedasparasudesplazamiento:Cuatro ruedas fijas necesarias para la configuracin diferencial de los robots de traccin. Dosbalinesenlapuntadecadarobotdetraccinparasoportarynivelarsin afectarlamovilidaddelosrobots.Unaruedacastoraquedasoportealpunto descentradodelaplataformamvilyquenoafectaalacinemticadela plataforma mvil. v M I V M LMG La traccin de las ruedas est dada por cuatro motores EMG30 [10]. Son motores quefuncionancon12voltsdecorrientedirecta,conencoderdeefectohall integradoyunareduccin30:1.Suvelocidadmximasincarga,utilizandola tarjetaMD25comocontrolador,esde200revolucionesporminutoysus especificaciones nominales estn dadas en la Tabla 1. 1 L LMG v v 1 k v C A v C A C A W v Sonlosqueunenlasdistintaspartesdelaplataformamvilydanrigidezala estructura. Se tiene, como elemento principal, una barra rectangular a la que van atornilladaslasplacasdelaplataforma,ademsdecontarensusextremoscon juntas con rodamientos donde se acoplan los robots de traccin y permita el libre girodestos.Losrobotsdetraccintambincuentanconunabasecontres postes atornillados a sta que sirven de soporte para los niveles superiores y para el eslabn que une a estos robots con la placa principal. v 1 Mu I V 1 MD LatarjetaMD25[11]esuncontroladordedoblepuenteHdesarrolladoparael control de dos motores de DC modelo EMG30. Sus caractersticas principales son: Lectura de los encoders para determinar el desplazamiento de los motores y el sentido de giro de stos Alimentacin con un voltaje nico de 12 volts de corriente directa Regulador de +5Vcc a 300mA para alimentar la circuitera externa Suministro de hasta 3 de corriente por cada motor nterfaz serial o 2C con posibilidad de conectar hasta 8 controladores MD25 en el mismo bus Control de potencia y aceleracin. Estatarjetafacilitaelcontroldelosmotores,graciasaloscomandos preestablecidosqueslorequierenlaactivacindedistintosregistros.Sedecide utilizar la interfaz 2C para el control de la tarjeta, debido a que el microcontrolador autilizarslocuentaconunaterminalparacomunicacinserial,mismaquese utiliza para la comunicacin inalmbrica. Paraelcontroldelosmotores,existendistintasopcionesconfigurablesenla tarjeta, dependiendo de la aplicacin y de la practicidad para el manejo de datos. Para este proyecto, los motores se manejan en modo independiente con datos de entradadevelocidadquevande0a255,siendo0lavelocidadmximaenun sentido y 255 la velocidad mxima en sentido contrario. v 1 4 u I V A D Arduino[12]esunaplataformadecdigolibrebasadaenhardwareysoftware flexible y fcil de usar. Cuenta con distintas versiones de tarjetas que trabajan con microcontroladoresdelacompaaAtmeldedistintascapacidades,dependiendo de las necesidades requeridas. EnparticularlatarjetaArduinoDuemilanove[13](figuraV-6)trabajaconel microcontrolador Atmega328. Las caractersticas de la tarjeta son las siguientes: 1 L A D v v v v v v LS WM L C LS A C v A M l k8 k8 S8AM k8 LL8CM k8 v MP AdemsdelascaractersticasespecificadasenlaTabla2,dosdelospines digitales (0 y 1) pueden utilizarse para la comunicacin serial, mientras que otros dos (4 y 5) sirven para la comunicacin 2C.SuprogramacinesenlenguajeC,atravsdelsoftwareproporcionadopor Arduino.Cuentaconnumerosasbibliotecasparaelmanejodelasinterrupciones delmicrocontrolador,lacomunicacinseriale2C,salidasdePWM,ascomo actuadores y funciones comunes, entre muchas otras ms. En el modelo funcional, esta tarjeta recibe de forma inalmbrica los comandos de velocidaddelasruedasyaprocesadosparaenviarsealatarjetaMD25.El microcontrolador se encarga de recibir datos del receptor inalmbrico a travs de lacomunicacinserialaunavelocidadde9600baudios,utilizandolalibrera Serial.h. Tambin del correcto direccionamiento y envo de estos datos a la tarjeta MD25mediantecomunicacin2CconlalibreraWire.h.Paraelcorrecto funcionamientodeestalibrera,laconexinentreambosdispositivosserealiza comoenlafiguraV-7.Aunqueelprotocolodictaquesetenganresistenciasde pull-up en los canales de comunicacin, no es necesario colocarlas debido a que elArduinoDuemilanoveyacuentaconestasresistenciasqueentranen funcionamiento al momento de llamar a la librera Wire.h. I V C MD A D Para observar el cdigo a detalle de cada uno de los microcontroladores, vase el Apndice . v x 5 I V x S Este es un mdulo diseado para el montaje del radio Xbee en la tarjeta Arduino Duemilanoveosusmodelosposteriores[14].Estemdulocanalizalosdatos recibidos por el radio a las terminales de puerto serie de la tarjeta Arduino. v 4 Paralaalimentacinseutilizaunabaterarecargablededocevoltsdecorriente directaycuatroampere-horaencadaunodelosrobotsdetraccin.stase conecta a la tarjeta MD25, que a su vez alimenta a la tarjeta del microcontrolador a travsdesuterminaldealimentacindecincovoltsparacircuiteraexterna.El XbeeShieldsealimentadelatarjetadelmicrocontrolador,debidoaquecuenta condospinesqueseacoplanalasterminalesdecincovoltsytierradelArduino Duemilanove. v l Laplataformacuentacontresidentificadoresensupartesuperiorqueson necesarias para identificar la postura de la plataforma mvil, as como del ngulo de giro de los robots de traccin. La forma particular de estas figuras es necesaria paraqueseanreconocidasporelsoftwaredelsistemadevisinartificial.ste ser explicado a detalle ms adelante. Ademsdelossistemasdescritosanteriormente,sedefinenlasdimensiones realesdelaplataforma,quesonnecesariasparalosclculosdelacinemtica inversa de la plataforma en la Tabla 3. 1 D A v Sistemo Je visin El sistema de visin permite observar desde una vista area a la plataforma mvil yapartirdelaimagenobtenidaubicarpuntosimportantesdelaplataformayde losobjetivosdentrodelespaciodetrabajo.Elcampodevisinquecubrela cmarautilizadaesquiendelimitaelreadondesepuedemoverelrobot.Si algunodelosidentificadoressaledelcampodevisin,elsistemayanopuede reconocersuubicacinyporlotantonosepuedeteneruncontroldela plataforma.Ademssirveparadefinirelsistemadeejescoordenadosdel universo. v c El sistema utiliza una cmara Sony Handycam DCR-TRV361 para la captacin de imgenes en tiempo real. sta se conecta de forma almbrica a travs del puerto firewire a la computadora que aloja al programa de reconocimiento de imagen. El softwarecuentaconsoporte,enWindows,paraprcticamentecualquiercmara queutilicepuertoUSB,USB2.0ofirewire.Estaltimaopcineslaquepermite unatransferenciamsrpidadedatos,dentrodelospuertosdelacomputadora provista,loquepermiteunavelocidadmsrpidadedesplazamientodela plataforma mvil. El rea quealcanza a cubrir la cmara ya montadaen el techo del laboratorio es de 1.96 x 1.47 [m]. v 5 1lv Elsoftwareutilizadoparaelreconocimientodeimgenesparaesteproyectoes reacTVision[15].Esunsoftwaredecdigolibreparaelreconocimientode marcadoresfiducial(figuraV-9),ascomodededossobreunasuperficie.Fue diseadoenunprincipiocomoelcomponentesensorialdelReactable,un sintetizadormodularquecuentaconunaseriedeestndaresparaaplicaciones multi-touch. LaformaenquereacTVisionfuncionaeslasiguiente:reacTVisionrastrea marcadoresfiducialdiseadosdeformaespecial,mediantevideoentiemporeal. Laimagenfuenteesconvertidaenunaimagenenblancoynegromedianteun algoritmo de umbral adaptativo. Despus esta imagen es segmentada en un rbol deregionesnegrasyblancascambiantes(grficadereginadyacente).Enesta grfica se buscan secuencias especficas que se codifican en un smbolo fiducial. Finalmente, las secuencias encontradas se relacionan mediante un diccionario de smbolosparaobtenerunnmerodeidentificacinnico.Eldiseodelfiducial permiteelclculoeficientedelcentrodelmarcador,ascomosuorientacin. MensajesOSCqueimplementanelprotocoloTUOcodificanlapresenciadel fiducial,sulocalizacin,orientacinynmerodeidentificacinysetransmitela informacin a las aplicaciones cliente. I V L v P 1ulO ReacTVisionesunaaplicacinindependiente,queenvamensajesTUOa cualquieraplicacinqueesthabilitadaconunclienteTUO.ElprotocoloTUO [16] fue implementado inicialmente en reacTVision, aunque ha sido adoptado por otros proyectos relacionados con interaccin al tacto y multi-touch. Esteprotocoloproveeunainterfazdecomunicacingeneralyverstilentre controladores de tacto y aplicaciones que requieran de estos datos. Fue diseado paralasnecesidadesdesuperficiesmulti-touchdemesasinteractivas,dondeel usuario es capaz de manipular una serie de objetos y trazar figuras en la superficie delamesaconlapuntadesusdedos.Losobjetossonseguidosporunsistema desensadoypuedenseridentificadosylocalizadosencuantoasuposiciny orientacinenlasuperficiedelamesa.LafiguraV-10ilustraeldiagramade funcionamiento del sistema de mesa interactiva utilizando el protocolo TUO. I V D 1UIC v L I V I 1IV n n V LafiguraV-11ilustradeformaclaraelalgoritmoutilizadoporelprograma.Del fiducialcompletoseutilizanloselementosmspequeos(hojasdelagrficade reginadyacente),debidoaquealserloselementosmspequeos,esms probablequesuscentrosseanlainformacinespacialmsexactaquesetenga del fiducial. Despus, obteniendo el centroide promedio de todas las hojas blancas y negras, se tiene el centro del smbolo y realizando el mismo procedimiento slo para las hojas negras se obtiene un segundo centroide que genera un vector que vadelcentrodelsmboloalcentroidedehojasnegrasyquepermiteconocerla orientacin del fiducial. Aprovechandolascapacidadesdereconocimientodemarcadoresfiducial,se coloca uno en el punto P (punto de anlisis), otro en el punto P1 y un tercero en el punto P2. Del fiducial del punto P se obtiene la posicin y orientacin del sistema deejescoordenados{XP,YP}conrespectoaluniverso.Delosotrosdospuntos slo es necesario saber la orientacin, debido a que la posicin con respecto a su sistemadeejescoordenadosanterioresconstante.Enloscasosenquese requierealcanzarunobjetivomediantecampospotenciales,seutilizaunfiducial ms que funge como la meta a alcanzar. De este ltimo slo se requiere conocer suposicin,dadoquelaorientacinesirrelevanteparaunreadeevasin circular. Para que Simulink sea capaz de interactuar con reacTVision, se agrega el archivo declienteTUOalabibliotecadeMATLAB.Deestaforma,sepuedencrear objetos de esta clase dentro de una funcin para recibir los parmetros obtenidos porreacTVisionquesernmanipuladosporelsistemadecontrol.Ademsse realiza un ajuste de dimensiones para que los datos obtenidos concuerden con las dimensiones reales. v Sistemo Je control El sistema de control es el que se encarga de recopilar la informacin del sistema devisinylosparmetrosdereferencia.Despus,seintroducencomodatosde entradaparalaleydecontrolquedeterminalasvelocidadeslinealyangular requeridasparalarealizacindelmovimientoystosasuvezincluirlosenla cinemtica inversa de la plataforma mvil para el clculo de las velocidades de las llantas. La figura V - 12 ilustra de forma clara el proceso. I V D Comosemencionanteriormente,seadaptaelprogramadelasimulacinen Simulink para el control de la plataforma mvil en tiempo real. La retroalimentacin de variables que exista en la simulacin ahora se da por los datos obtenidos del sistema de visin, ya no del clculo interno de la cinemtica. En el caso de las pruebas en lazo abierto no cuentan con la ley de control dentro del diagrama de bloques, mientras que en las dems s influye. Ademsseincluyeelbloquedeacondicionamientodedatosaenviarse inalmbricamentealrobot,estoes,escalarlasvelocidadesdelasruedaspara tener valores entre 0 y 255, como lo descrito en la descripcin de la tarjeta MD25. Ademsseconviertenendatosenterosnosignadosdeochobits,porserel formatopermisibleporelbloquedecomunicacinserialdeSimulink.Ademsse incluyeunquintodatoquecorrespondeaunprotocolodecorroboracindela tramaaenviar(checksum),paraqueelreceptorconfirmequelainformacin recibida es correcta. Losgraficadoressirvenparaalmacenarlosresultadosobtenidosdelaspruebas envariablesypoderutilizarlosposteriormenteparasuanlisis.Tambinsirven paracorroborardeformavisualyrpidaelfuncionamientodelmodelorealy detectarerroresquenosaltanaprimeravistaalmomentodeobservarel movimiento de la plataforma mvil omnidireccional. Para observar la programacin de cada una de las pruebas, vase el Apndice . v HJulo Je roJiofrecuencio El mdulo de radiofrecuencia es el que permite la comunicacin inalmbrica entre elsistemadecontrolyelmodelofuncional.Estoabrelaposibilidaddetenerun controlremotodelaplataformamvilydeaprovecharlavelocidadyversatilidad deunacomputadorapersonalparaelcontroldelrobot.Enrobticamvilesto resulta de gran utilidad, dado que el robot est hecho para desplazarse, por lo que resulta poco prctico conectar cables que cubran todo el espacio de trabajo y que noseenredenoentorpezcanelmovimientodelrobot.Enparticular,parala plataformamvilomnidireccionalesimprescindiblecontarconcomunicacin inalmbrica, debido a que los robots de traccin giran por debajo de la plataforma y de forma independiente, lo que imposibilita el uso de una conexin por medio de cables. Paralacomunicacininalmbricasedecideutilizarmdulosderadiofrecuencia Xbee Serie 2 [17]. Esta serie fue diseada para operar con el protocolo ZigBee y soportar las necesidades de redes inalmbricas de bajo costo y baja potencia. Los mdulos consumen un nivel mnimo de potencia y proveen una entrega confiable de informacin entre los dispositivos remotos. I V M x El protocolo Zigbee [18] fue creado por las compaas pertenecientes a la Alianza Zigbee. Corresponde a una tecnologa inalmbrica desarrollada como un estndar global y abierto para cumplir con las necesidades descritas anteriormente para el mduloXbee.Esteprotocolooperabajolasespecificacionesfsicasdelestndar EEE802.15.4.Proveecomunicacinenambienteshostilesderadiofrecuencia que son comunes en las aplicaciones comerciales e industriales. Adems soporta unaampliagamadetopologasdered,comosonpuntoapunto,puntoapuntos mltiples o redes de malla. Permitedosmodosdeconfiguracin.Elmodotransparente(AT)dondelos mdulos dejan pasar toda la informacin enviada y el modo AP, que requiere de la construccin de una trama especfica como protocolo de comunicacin. En este proyecto se utiliza el modo transparente por su sencillez y simplificacin de cdigo. Una red personal (PAN) consiste de un coordinador y uno o ms enrutadores y/o dispositivosfinales.Laredsecreacuandoelcoordinadoreligeuncanalyun nmerodeidentificacindered(PAND).Unavezquesteinicialared,puede dar permiso a otros enrutador o dispositivos finales para que se unan. Cuando un enrutador o un dispositivo final se unen a la PAN, recibe una direccin de 16 bits y puede enviar o recibir informacin de otros dispositivos en la PAN. Los enrutadores y los coordinadores pueden otorgar permiso a otros dispositivos para que se unan a la red y pueden ayudar en el envo de informacin dentro de la red paraasegurarquelosdatosseanencausadosaldispositivoreceptorcorrecto. Cuando un enrutador o un coordinador permiten la entrada de un dispositivo final, ste se convierte en un hijo de quien le dio acceso. Losdispositivosfinalespuedenenviarorecibirinformacin,peronopueden encausar informacin de un nodoaotroni dar accesoa otrodispositivo a lared. Slopuedencomunicarseconeldispositivoquelesdioacceso.Elenrutadoro coordinadorpadrepuedenenviarinformacinenrepresentacindeldispositivo finalparaquellegueasudestino.Estoselementosestnpensadosparaser alimentados por bateras y soportan modos de bajo consumo de energa. ParaconfigurarlosmdulosseutilizaelsoftwareX-CTUprovistoporlaempresa Digi.steesunprogramagratuitoyfuecreadoexpresamenteparala configuracindelosmdulosXbee.Laconfiguracinenmodotransparentese realiza de la siguiente forma: Paraelcoordinador,seconectaelmduloXbeealacomputadoramedianteun adaptadordeUSB.DentrodelprogramaX-CTU,enlapestaaPCSettings seleccionar elpuerto en el que est conectado el mdulo (figura V- 14). Darclic enelbotnTest/Queryparacorroborarqueestbienlavelocidaddeflujode datos, el control de flujo, nmero de bits, la paridad y el nmero de bits de parada. Simarcaerror,generalmentesloesnecesariocambiarlavelocidadde transmisin. I V xC1U C S Unavezquelacomunicacinentrelacomputadorayelmduloseacorrecta, ingresar a la pestaa Modem Configuration y presionar el botn Read para leer la configuracin que tenga previamente el mdulo Xbee. Despus, seleccionar en el men Function Set la opcin ZNET 2.5 COORDINATOR AT (figura V - 15). I V xC1U ElegirelPANIDdeformaarbitrariaylavelocidaddetransmisindeseadaen BaudRate.ntroducirladireccindestinodeldispositivoaenviarinformacinen DH Destination Address High y en DL Destination Address Low. El nmero que seintroduceeselnmerodeseriede64bitsenformatohexadecimalqueviene escrito en el mdulo, en DL se escriben los bits menos significativos y en DH los ms significativos. Se puede tambin utilizar la direccin de 16 bits que adquiere el dispositivo al unirse a la red, pero slo se puede observar una vez que se une a la red, lo que vuelve el proceso ms tardado, adems de ser un nmero que puede cambiar con el tiempo, mientras que el nmero de serie nunca cambia. PresionarelbotnWriteparaquequedegrabadalaconfiguracinenelmdulo. Despus presionar el botn Read nuevamente para corroborar que haya quedado biengrabadalaconfiguracin.Ponerespecialatencinenelcanaldeoperacin CH;aunquenosepuedacambiar,steeselcanalalqueseunirnlosdems dispositivos.Encasodeexistiralgnerrordecomunicacin,puedeserdebidoa que el canal de operacin y el PAN D de los dispositivos en la red no coinciden. Paraeldispositivofinal,realizarelmismoprocedimiento,peroelegirenelmen FunctionSetlaopcinZNET2.5ROUTER/ENDDEVICEAT.Estedispositivono tendr el mismo canal que el coordinador hasta que se pongan en funcionamiento los dos mdulos. Despus de que ambos estn encendidos, el dispositivo final o el enrutadorautomticamentebuscanelcanaldecomunicacindelcoordinadory ste les da permiso. En total se utilizan tres radios para el funcionamiento del sistema de pruebas: 9Unemisorconectadoalacomputadoramedianteunmdulode comunicacin va puerto USB (coordinador). 9Un receptor y emisor en el robot de traccin 1 conectado a un Xbee Shield (dispositivo final). 9Unreceptorenelrobotdetraccin2conectadoaotroXbeeShield (dispositivo final). Elcoordinadorenvalosdatosdelsistemadecontrolcomosedescribi anteriormente al receptor del robot de traccin 1. ste enva los datos del robot de traccin 2 al mdulo receptor de dicho robot, junto con otro byte de corroboracin de la trama (checksum). Con esto finaliza la descripcin de los elementos del sistema para pruebas con el modelo funcional de la plataforma mvil omnidireccional. CAPT0L0 vI RES0LTAB0S BE LAS SIN0LACI0NES Y LAS PR0EBAS Comosemencionanteriormente,losexperimentosarealizarfueronpensados paralaclaraapreciacinvisualdelaspropiedadesomnidireccionalesdela plataforma. Los experimentos a realizar son los siguientes: 9Lazo abierto RMovimientodelpuntodeanlisisenlnearectaendiagonalsingiro de la plataforma RMovimiento circular del punto de anlisis sin giro de la plataforma 9Lazo cerrado RSeguimientodetrayectoriarectilneadelpuntodeanlisiscon orientacin de la plataforma a cero grados RSeguimiento de trayectoria rectilnea del punto de anlisis con giro de la plataforma RSeguimientodetrayectoriacirculardelpuntodeanlisiscon orientacin de la plataforma a cero grados RSeguimientodetrayectoriacirculardelpuntodeanlisiscongirode la plataforma RAlcance de objetivo con orientacin de la plataforma RSeguimiento de trayectoria dinmica con orientacin de la plataforma Losexperimentosenlazoabiertopermitenobservarqutantoafectaes controlable el robot. Esto permite conocer las causas de distintos errores que sean ajenosalaleydecontroloerroresenestadopermanente.Porotrolado,losde lazo cerrado comprueban si el robot es estabilizable, adems del funcionamiento y desempeodelmismosistemadecontrol.Ademspermitedemostrarlas capacidadesdedesplazamientodelaplataforma,dadoquesepuedenrealizar pruebas con movimientos ms complejos y controlados. La realizacin de cada simulacin y prueba con el modelo funcional se describe a continuacin. VI Movimiento del punto de anlisis en lnea recta diagonal sin giro de la plataforma Serealizaunmovimientorectilneoconunainclinacinde45conrespectoal sistema {X, Y}. Para ello se introducen velocidades lineales constantes e iguales, tantoparacomoparayseeliminalavelocidadangular.Deforma arbitrariaseseleccionalaposicininicialdelaplataformaydelosrobotsde traccin. xVelocidades de entrada: R R R vl Simulocin I VI S EnlafiguraV-1seobservacmoenlasimulacinlaplataformamvillogra realizarelmovimientorectilneoconrespectoalpuntodeanlisis(crculo amarillo).Cabedestacarlaorientacinqueadquierenlosrobotsdetraccin,que al final terminan alineados con la trayectoria. vl HoJelo funcionol I VI EnlafiguraV-2seobservacmoenlapruebarealyainfluyenlasfuerzas dinmicasquenofueroncontempladas.Elmarcadorfiducialdecoloreselque est anclado al punto de anlisis, mismo que se resalta para no perder de vista el movimiento.Adiferenciadelasimulacin,sepresentaunarotacininvoluntaria provocadaporelderrapey/oestancamientodelasruedas.Estogeneraquela rectaa45quetienequedescribirenelmovimiento,sepierda.Alprincipiodel movimientoesmsnotorioesteefecto,debidoaunareaccinligeramentetarda delrobotdetraccin2almomentodevencerlafuerzadefriccindearranque. Esto es ms visible en las siguientes grficas. I VI D x I VI L x I VI D I VI L I VI k I VI L Enlosdatosdelapruebaesmsclarocmolaplataformasintentadescribirla rectade45.Noobstante,elprincipalproblemaeslarotacin,yaquelas velocidades de entrada estn dadas con respecto a los ejes de la plataforma {XP, YP}. Por esta razn, si la plataforma gira, seguir avanzando a 45 con respecto a s misma, pero no con respecto al universo. Como era de esperarse, la variacin del error durante toda la prueba es aleatoria. Estodejaenclaroquepuedenserdiversoslosefectosquelopuedanproducir. Como distincin, ninguna de las variables lineales excedi los diez centmetros de error y el ngulo despus de su error inicial, termina por oscilar con una variacin de tres grados. VI Movimiento circular del punto de anlisis sin giro de la plataforma Se realiza un movimiento circular del punto de anlisis con respecto al sistema {X, Y} sin giro de la plataforma. Este movimiento permite observar cmo la velocidad lineal puede cambiar sin alterar la orientacin de la plataforma mvil. Para ello se introducenperfiles sinusoidales de velocidada laentrada, uno desfasado90 del otro. La velocidad angular se mantiene nula. xVelocidades de entrada R R R vl Simulocin I VI S Lasimulacinrealizaelmovimientosolicitado,comosepuedeobservarenla figuraV-9,dondestecomienzaenlascoordenadas(-30,0).Latrayectoria sealadaporlalneanegratocaentodomomentoalpuntodeanlisis.Unavez msesnotorialaorientacindelosrobotsdetraccin,quetiendenaavanzar paralelos entre s. vl HoJelo funcionol I VI Una vez ms se observa en la figura V - 10 lo mismo que en la prueba anterior: unavariacindenguloqueprovocalamodificacindelatrayectoria.Eneste caso,provocauncambiodecentroinstantneoderotacindelaplataforma,lo que genera un desplazamiento del crculo dibujado por el punto de anlisis. Cabe destacarqueelmovimientodelosrobotsdetraccincoincideconeldela simulacin. A continuacin se muestran las comparaciones de la trayectoria ideal y la descrita por la plataforma y las grficas de error. I VI D x I VI L x I VI D I VI L I VI k I VI L Dado que el movimiento a realizar es ms complejo, era de esperarse que el error tendiera a ser ms grande. No obstante, no tiende a aumentar en demasa y en el desplazamientolinealseobservaciertaperiodicidadquecoincideconeltipode movimiento que se est realizando. En esta prueba el ngulo oscila un poco ms, probablemente debido al constante cambiodedireccinquesetieneenelmovimiento,loqueprovocaunamayor probabilidad de derrape de las llantas. Esimportanterecalcarelsiguientefenmeno:lafrecuenciadadaalasfunciones develocidadnocorrespondeconlareaccinrealdelaprueba.Noobstante,la plataformamvilsrealizaelmovimiento,sloqueaunafrecuenciamenor.Esto esmsnotorioenpruebasposteriores.Despusdetodasellas,sediscutirpor qu sucede. Conestoconcluyenlaspruebasenlazoabierto.Esimportantetenerencuenta queelerrornofuetangrandecomoparaprovocarunadesviacinexcesivadel movimientodeseado.Sedebeesperarqueelerrormximoenlazocerradose mantenga en niveles menores a ste. VISeguimientodetrayectoriarectilneadelpuntodeanlisiscon orientacin de cero grados de la plataforma Setrazaunatrayectoriarectade45comoenlapruebadelazoabierto,conla diferencia de que es una recta fija en el plano XY que comienza en el punto (-30,-30).Elpuntoobjetivorequeridoporlaleydecampospotencialesperteneceala rectadelatrayectoriayescambianteconrespectoaltiempo,porloqueserige por el siguiente sistema de ecuaciones: L LasecuacionesdecontroldevelocidadfuerondefinidasenelcaptuloV.Dado que se requiere de una orientacin de la plataforma de cero grados con respecto al sistema de ejes coordenados {X,Y}, se utiliza la ecuacin 27 para el control de velocidad angular. xParmetros R R R R R R vl Simulocin I VI S Encomparacinconlapruebadelazoabierto,laplataformacomienzaenuna posturacualquierayescapazdealcanzarlatrayectoriayorientarsecomose solicit.LafiguraV-17muestracmorpidamentelaplataformabuscalalnea delatrayectoria,conformestasigueavanzandoconpendientepositivade45. Esdeesperarsequenuncaalcancealpuntoquedescribelatrayectoria,puesto que ste avanza constantemente. I VI D x I VI L x I VI D I VI L I VI I VI L Es claro que la plataforma ya es capaz de corregir errores una vez que la accin decontrolentraenjuego.Comoelpuntodeanlisisnuncaalcanzaalpunto objetivodentrodelatrayectoria,elerroreneldesplazamientolinealtiendea estabilizarse y el del ngulo de rotacin de la plataforma tiende a cero, ya que ste sesfijo.Deestaformasecompruebaquedeformasimuladalaleydecontrol funciona de manera correcta. vl HoJelo funcionol I VI LafiguraV-24muestraunmovimientobastantesimilaralobtenidoporla simulacin.Noobstante,comosemencionanteriormente,elerrordeposicin tenderaestabilizarseenotrovalorqueenlasimulacin,debidoala incongruencia en los tiempos de avance. En el caso de esta prueba, el avance del puntoquedescribelatrayectoriaesmslentoqueenlasimulacin,aunquela accindecontrolquecorrigelaposturadelaplataformasreaccionadeforma adecuada. I VI D x I VI L x I VI D I VI L I VI I VI L Encuantoalaposicinserefiere,lasprimerascuatrogrficasdejanmuyclaro cmolaleydecontrolsactadeformaadecuada,llegandoatenerunerrorde aproximadamenteuncentmetrounavezqueseestabiliza.Estocompruebaque los problemas que presenta Simulink, no afectan al proceso de clculo y envo de datos, solamente al avance de la trayectoria. Porotrolado,laaccindecontrolderotacinreaccionarpidamente,loquele permiti tener un error mximo de poco ms de 3.5. Esto contrasta bastante con los errores obtenidos en lazo abierto que eran tres o cuatro veces mayores. VISeguimientodetrayectoriarectilneadelpuntodeanlisiscongiro de la plataforma Se realiza la misma prueba que la anterior, con la excepcin de que se agrega una velocidad de giro constante. vl Simulocin I VI S La simulacin muestra un movimiento ms complejo que el anterior, pero el punto deanlisisnodejadeseguirlatrayectoriadelamismaformaquelorealiz anteriormente. vl HoJelo funcionol I VI La figura V - 32 muestra la secuencia de avance del marcador fiducial que lleva la plataforma mvil en el punto de anlisis, junto con algunas proyecciones del resto delrobotparaqueseobservelarotacinrealizada.Losmarcadorescoloreados corresponden a aquellos cuyos cuerpos completos no aparecen en la imagen. Si se observa con detenimiento el fiducial del punto de anlisis, es notorio el giro que realiza la plataforma, dado que ste est girando. Por otro lado, el avance en diagonal propio de la trayectoria a seguir es claro. I VI D x I VI L x I VI D I VI L I VI Unavezagregadoelgiro,elerrordedesplazamientoaumenta,aunquenode maneraconsiderable.Porotrolado,larotacintambinpresentaligeros problemas y no es tan uniforme. No obstante, s se mantiene en aumento durante toda la prueba. VISeguimientodetrayectoriacirculardelpuntodeanlisiscon orientacin de la plataforma a cero grados Se realiza lo mismo que en el seguimiento de trayectoria rectilnea, pero ahora con las siguientes ecuaciones para el avance de la trayectoria. L vl Simulocin I VI S vl HoJelo funcionol I VI Enlasgrficassiguientesseobservarqueenlapruebalaplataformadados vueltas a la circunferencia, aunque en la figura V - 39 se muestre slo una. I VI D x I VI L x I VI D I VI L I VI I VI L Loserroresdedesplazamientoenlosdosejesmuestranivelesmximos parecidosentresquerondalos3.5[cm].Elngulosigueoscilandodeforma similar a las pruebas anteriores. VI Seguimiento de trayectoria circular del puntode anlisis con giro de la plataforma Deigualformaqueenlatrayectoriarectilnea,serepitelapruebacircular,pero con velocidad de rotacin constante de. vl Simulocin I VI S vl HoJelo funcionol I VI I VI D x I VI L x I VI D I VI L I VI Eldesplazamientolinealmuestraunerrormayorquecuandonoexistegiro constante.Estocoincideconlosucedidoenlapruebadeseguimientode trayectoria rectilnea. VI Alcance de ob|etivo con orientacin de la plataforma Paralapruebadealcancedeobjetivo,secolocaunmarcadorfiducialadicional quefuncionacomolametaaalcanzar.Laplataformaseorientaparaformarun ngulo de 90 entre el eje Xp y el vector dg (captulo V) mediante la ecuacin 28. Se consideran las siguientes condiciones para las pruebas: R R R R R I VI S LafiguraV-53muestralaposicininicialyfinaldecadasecuenciaparael alcancedelosobjetivos.ElrecorridorealizadoporelpuntodeanlisisPal momento de la prueba se muestra en la siguiente figura. I VI k En las cinco ocasiones, se puede observar que la plataforma se detiene dentro del radio de 20 [cm] que tiene de lmite, por lo que cumple con lo sealado con la ley decontrol.Tambinesimportanterecalcarqueelpuntodeanlisisnorealiz movimientostotalmenterectos,aunquecomoseobservenlaspruebasde seguimiento de trayectoria, el giro y avance simultneos genera errores que puede esperarsequeaumentenconformelavelocidadaumenta.Enestecasolas velocidadeslinealesmximasparaambosejesfuedeltriplequeenlaspruebas anteriores, como tambin lo fue la velocidad angular mxima. Paraestaprueba,ascomoparalasiguientenofuenecesariocerciorarsedel funcionamientodelaplataformamediantelasimulacin,debidoaquelaleyde control ya haba sido probada satisfactoriamente en el seguimiento de trayectoria. VISeguimientodetrayectoriadinmicaconorientacindela plataforma Esta prueba sigue el mismo principio que la anterior con la salvedad de que no se esperaaquelaplataformaalcancealobjetivoyseestabilice,sinoquese mantieneenmovimientoconstanteylaplataformalosigue.Esteesun comportamiento comn en el caso de que se requiera seguir a un lder que gua el camino o para persecucin (de otro robot, otro ser vivo u otro objeto). I VI D x I VI D Se observa que el punto de anlisis P cambia con un ligero desfase en tiempo con respectoalcambiorealizadoporlatrayectoria.Anas,seobservancambiosde direccin bastante similares a los realizados por la trayectoria. Conestoterminanlaspruebasrealizadasparalacomprobacindelas propiedadescinemticas,lacontrolabilidadylacapacidaddeestabilizarsedel robot. CAPT0L0 vII C0NCL0SI0NES Y TRABA}0 A F0T0R0 VII Conclusiones La teora unificadora de Gonzlez Villela, V. (2006) [6] funciona para el anlisis de robotsmvilesnoconvencionales,comosepudoobservarenlosprimerostres captulos.Estodiolugaraqueelanlisissedesarrollaradeformarpiday sencilla. Slo fue necesario definir algunos trminos que no son contemplados, por tratarse de un robot mvil no convencional. Porotrolado,laconfiguracinpropuestasesomnidireccionalysecomprob tantodeformatericacomoprctica.Fueposiblemanipularlostresgradosde libertadpermisiblesenelplanodemaneraindependienteyestreflejadoen movimientosdetraslacinindependientesdelosderotacinenvariasdelas pruebas. Tambin es importante recalcar que la plataforma s es controlable y que la ley de campospotencialessesaplicabledesdeelpuntodevistacinemtico,comose observenlaspruebasdelazocerrado.Enelseguimientodetrayectoriase observquelaaplicacindecampospotencialesesviablesiempreycuandose tenga un espacio que permita desviaciones de unos cuantos centmetros. Tambin es importante recalcar que conforme la velocidad aumenta, el control tarda ms en corregir,comoseobservenlaspruebasdealcancedeobjetivoytrayectoria dinmica. Encuantoaloquesevereflejadoenlosresultadosdelaspruebas,hayvarios detalles que es importante hacer notar. Primero, en lo que al modelo funcional se refiere, hubo principalmente problemas mecnicos que propiciaban vibraciones al momentodeavanzarocascabeleodeciertoscomponentes,aunqueno represent ningn contratiempo considerable ms all de provocar oscilaciones en elngulodeorientacin.Laelectrnicamontadafuncioncorrectamente,de acuerdo a lo demandado y las bateras permitieron varias horas de pruebas antes de requerir una recarga, lo que refleja un bajo consumo de energa. Elsistemadevisincumplesufuncin,aunquesepresentabanerroresms grandes cuando se trabajaba en los lmites del campo de visin, lo que refleja que lacurvaturadellentetambinpuedeserunfactorimportanteparalageneracin deerrores.Laresolucindelacmaraylavelocidaddecapturatambinson factoresimportantesqueinfluyenprincipalmenteenlavelocidadde desplazamiento y giro del robot, as como en el tiempo de reaccin ante el cambio de objetivo. Porotrolado,elsoftwareutilizadonocumpliensutotalidadlosolicitadoal momento de realizar las pruebas. En lo que a la simulacin se refiere, Simulink es unaherramientaadecuada,quemuestrafielmenteloquedebesuceder.No obstante, el hecho de que disminuya la velocidad de procesamiento drsticamente cuandoseinvolucralacomunicacinentiemporeal,dalugaraquenoseadel todo confiable al momento de controlar la plataforma. VII Traba|o a futuro Enesteproyectosedemostrelprincipiodefuncionamientodelaconfiguracin de plataforma mvil omnidireccional utilizada, desde el punto de vista cinemtico. Esto da lugar a varias opciones en trabajos posteriores. En primer lugar, darle una aplicacinconcretaalprincipiodefuncionamientodescritoenestetrabajo. Tambin,realizarelanlisisdinmicoyobservareldesempeo,ascomo desarrollar un diseo mecnico a conciencia que se adecue a las necesidades de la aplicacin. Tambin es conveniente buscar otras formas de ubicacin de la plataforma. Si se carece deun espacio de trabajo delimitado, se requerira queel robot por s solo fuera capaz de ubicarse en su entorno y encontrar el camino que ms le convenga o contar con un sistema de visin montado en la plataforma para su manipulacin manual de forma remota. Por otro lado, sera conveniente probar otras leyes de control o combinarlas para encontrar la que optimice el desempeo, tanto en seguimiento de una referencia, como en velocidad de reaccin y movilidad. APENBICES Apndice I Diagramas de bloque y programacin de las simulaciones Lazo abierto 0ioqromo Je bloque L Proqromocin Je lo funcin S poro el clculo Je lo cinemtico function [sys,x0,str,ts] = kinematic_model_path(t,x,u,flag)

% Programa creado por Arturo Martnez Carrillo, % alumno de la Facultad de Ingeniera, de la Universidad Nacional Autnoma de Mxico, % para el proyecto de tesis "Plataforma mvil omnidireccional a partir de dos robots mviles diferenciales" %% Rutina para el clculo de la cinemtica de una plataforma mvil omnidireccional, donde los estados de entrada fueron seleccionados como: %% 1) La velocidad lineal del punto "P" sobre el eje "Xp". % 2) La velocidad lineal del punto "P" sobre el eje "Yp". % 3) La velocidad angular de la plataforma mvil. %% Las entradas estn definidas de la siguiente manera: %% u(1) = vx_max Velocidad lineal mxima en el eje "Xp" % u(2) = vy_max Velocidad lineal mxima en el eje "Yp" % u(3) = w_maxVelocidad angular mxima de la plataforma mvil % u(4) = tP ngulo de orientacin de la plataforma con respecto al sistema {X,Y} % u(5) = t1 ngulo de orientacin del robot de traccin 1 con respecto al sistema {Xp,Yp} % u(6) = t2 ngulo de orientacin del robot de traccin 2 con respecto al sistema {Xp,Yp} % u(7) = a1 Distancia del punto "P" al punto "P1" sobre el eje "Xp" % u(8) = a2 Distancia del punto "P" al punto "P2" sobre el eje "Xp" % u(9) = bDistancia del punto "P" a los puntos "P1" y "P2" sobre el eje "Yp" % u(10) = c Distancia del punto "P1" a los puntos "P1,1" y "P1,2" sobre el eje "X1" y del punto "P2" a los puntos "P2,1" y "P2,2" sobre el eje "X2" % u(11) = d Distancia del punto "P1" a los puntos "P1,1" y "P1,2" sobre el eje "Y1" y del punto "P2" a los puntos "P2,1" y "P2,2" sobre el eje "Y2" % u(12) = r Radio de las ruedas % u(13) = xpPosicin del punto "P" sobre el eje "X" % u(14) = ypPosicin del punto "P" sobre el eje "Y" %% Las salidas estn definidas de la siguiente manera: %% o(1) = vxPvelocidad lineal del punto "P" sobre el eje "X" % o(2) = vyPvelocidad lineal del punto "P" sobre el eje "Y" % o(3) = wP velocidad angular de la plataforma mvil % o(4) = w1 velocidad angular del robot de traccin 1 % o(5) = w2 velocidad angular del robot de traccin 2 % o(6) = phi11velocidad angular de la rueda 1,1 % o(7) = phi12velocidad angular de la rueda 1,2 % o(8) = phi21velocidad angular de la rueda 2,1 % o(9) = phi22velocidad angular de la rueda 2,2

switch flag,

case 0, [sys,x0,str,ts]=mdlInitializeSizes;

case 1, sys=mdlDerivatives(t,x,u);

case 2, sys=mdlUpdate(t,x,u);

case 3, sys=mdlOutputs(t,x,u);

case 4, sys=mdlGetTimeOfNextVarHit(t,x,u);

case 9, sys=mdlTerminate(t,x,u);

otherwise error(['Unhandled flag = ',num2str(flag)]);

end

% end sfuntmpl

% %============================================================================= % mdlInitializeSizes % Return the sizes, initial conditions, and sample times for the S-function. %============================================================================= % function [sys,x0,str,ts,T_samp]=mdlInitializeSizes

% sizes = simsizes;

sizes.NumContStates= 0; sizes.NumDiscStates= 0; sizes.NumOutputs = 9; sizes.NumInputs= 14; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; % at least one sample time is needed

sys = simsizes(sizes);

x0= [];

str = [];

ts= [0 0];

% end mdlInitializeSizes

% %============================================================================= % mdlDerivatives % Return the derivatives for the continuous states. %============================================================================= % function sys=mdlDerivatives(t,x,u)

sys = [];

% end mdlDerivatives

% %============================================================================= % mdlUpdate % Handle discrete state updates, sample time hits, and major time step % requirements. %============================================================================= % function sys=mdlUpdate(t,x,u)

sys = [ ];

% end mdlUpdate

% %============================================================================= % mdlOutputs % Return the block outputs. %============================================================================= % function sys=mdlOutputs(t,x,u)

% Variables de velocidad de entrada

U = [u(1); u(2); u(3)];

% Variables de retroalimentacin angular

tP = u(4); t1 = u(5); t2 = u(6);

% Dimensiones de la plataforma

global a1 a2 b c d r;

a1 = u(7); a2 = u(8); b = u(9); c = u(10); d = u(11); r = u(12); % Clculo de las velocidades generalizadas

Sq=[cos(tP),-sin(tP),0; sin(tP),cos(tP),0; 0,0,1; -sin(t1)/c,cos(t1)/c,a1*cos(t1)/c+b*sin(t1)/c; -sin(t2)/c,cos(t2)/c,a1*cos(t2)/c+b*sin(t2)/c; (c*cos(t1)+d*sin(t1))/(c*r),-d*cos(t1)/(c*r)+sin(t1)/r,-b*cos(t1)/r-a1*d*cos(t1)/(c*r)+a1*sin(t1)/r-b*d*sin(t1)/(c*r); (c*cos(t1)-d*sin(t1))/(c*r),d*cos(t1)/(c*r)+sin(t1)/r,-b*cos(t1)/r+a1*d*cos(t1)/(c*r)+a1*sin(t1)/r+b*d*sin(t1)/(c*r); (c*cos(t2)+d*sin(t2))/(c*r),-d*cos(t2)/(c*r)+sin(t2)/r,-b*cos(t2)/r-a2*d*cos(t2)/(c*r)+a2*sin(t2)/r-b*d*sin(t2)/(c*r); (c*cos(t2)-d*sin(t2))/(c*r),d*cos(t2)/(c*r)+sin(t2)/r,-b*cos(t2)/r+a2*d*cos(t2)/(c*r)+a2*sin(t2)/r+b*d*sin(t2)/(c*r)];

X= Sq*U;

sys = [X];

% end mdlOutputs

% %============================================================================= % mdlGetTimeOfNextVarHit % Return the time of the next hit for this block.Note that the result is % absolute time.Note that this function is only used when you specify a % variable discrete-time sample time [-2 0] in the sample time array in % mdlInitializeSizes. %============================================================================= % function sys=mdlGetTimeOfNextVarHit(t,x,u)

sampleTime = 1;%Example, set the next hit to be one second later. sys = t + sampleTime;

% end mdlGetTimeOfNextVarHit

% %============================================================================= % mdlTerminate % Perform any end of simulation tasks. %============================================================================= % function sys=mdlTerminate(t,x,u)

sys = [];

% end mdlTerminate Lazo cerrado 0ioqromo Je bloque Proqromocin Je lo funcin S poro el clculo Je lo cinemtico function [sys,x0,str,ts] = kinematic_model_target(t,x,u,flag)

% Programa creado por Arturo Martnez Carrillo, % alumno de