Está en la página 1de 4

Workshop del CAFR

Navegacin en la categora Simurosot de la Fira


Lic. Gonzalo Zabala, Javier Silveira, Facundo Aguirre
Universidad Abierta Interamericana Facultad de Tecnologa Informtica Centro de Altos Estudios Montes de Oca 745 Ciudad Autnoma de Buenos Aires, C1270AAH, Argentina Email: gonzalo.zabala@vaneduc.edu.ar jsilveira@fibertel.com.ar facundoaguirre@fibertel.com.ar

Resumen: En este artculo presentaremos el sistema de navegacin desarrollado por nuestro equipo de investigacin para los robots de ruedas diferenciales presentes en el simulador utilizado en la categora Simurosot de la FIRA. En el mismo, los robots presentan ruedas diferenciales, y lo nico que podemos controlar desde nuestro algoritmo es la velocidad de las ruedas derecha e izquierda. Consideramos que los puntos que vamos a presentar en este artculo son aplicables en cualquier arquitectura de robots con ruedas diferenciales, con leves modificaciones segn el punto central del robot definido por la ubicacin de las ruedas. . Palabras clave: robot, navegacin, ruedas-diferenciales, ftbol-de-robots, Simurosot. I. Introduccin Uno de los problemas fundamentales que encontramos en el desarrollo de robots en ambientes altamente dinmicos, es la posibilidad de navegar rpidamente por el ambiente, y de esta manera, junto con un sensado del mundo efectivo, poder responder a los cambios del entorno en forma correcta. Si tenemos robots que tardan en alcanzar sus objetivos espaciales, la dinmica del ambiente har imposible el cumplimiento de cualquier otro objetivo de mayor nivel. En sntesis, una buena navegacin del robot es requisito fundamental para los objetivos del mismo. En este artculo presentamos una propuesta para la navegacin de robots con ruedas laterales o diferenciales. Dejamos de lado los robots de ruedas omnidireccionales porque sus algoritmos de navegacin ya estn largamente detallados.. II. Desafos que presenta el algoritmo de navegacin El objetivo fundamental del sistema de navegacin es guiar al robot para llegar a un punto determinado en el menor tiempo posible y con un estado final especfico, definiendo un conjunto de rdenes bsicas del sistema, como en este caso sera modificar la velocidad de cada una de las ruedas. La importancia de estas acciones atmicas en el comportamiento de un robot es fundamental: casi todo lo que se decida hacer en un nivel de abstraccin ms alto (estrategias, roles para cada jugador, etc.) culminar en intentar alcanzar un determinado desplazamiento de forma efectiva. Es decir, todo comportamiento del robot finalmente recurrir a esta serie de acciones atmicas que conforman el denominado sistema de navegacin del equipo o de cada robot (ir a la pelota, ir a un punto, ir a un punto esquivando un obstculo, etc.). Si estas acciones fundamentales no logran alcanzar sus objetivos de manera efectiva, difcilmente se podrn completar las tareas de ms alto nivel decididas en las capas de abstraccin superiores, y que cuentan con el buen

funcionamiento de las capas inferiores. O en el mejor de los casos, lo harn pero con un nivel de efectividad intil para ambientes altamente dinmicos como es el caso de nuestro campo de estudio. El desafo de tener xito en la navegacin proviene de que no slo se requiere solucionar un problema espacial, sino que debe ser alcanzado en un determinado tiempo, en coordinacin con objetivos y contextos dinmicos y con acciones cuyos resultados se producen en un lapso de tiempo y no de forma instantnea. Tomemos como ejemplo los desafos que plantea impactar con un robot una pelota en movimiento, nicamente modificando las velocidades izquierda y derecha de las ruedas del mismo: Elegir en qu punto de la trayectoria de la pelota es posible alcanzarla en funcin del conocimiento de las posibilidades de nuestra navegacin (cunto tardar el robot en llegar a un determinado punto, con qu ngulo puede llegar, etc.) Coordinar las acciones del robot para alcanzar el lugar temporal y espacial de impacto elegido teniendo en cuenta el contexto (obstculos, no cometer penal, etc.). Determinar las velocidades que le permitirn alcanzar a futuro su objetivo, sabiendo que no podremos evaluar el efecto de las mismas en el instante siguiente, ya que el efecto de una velocidad se propaga durante muchos instantes de juego subsiguientes. Por lo tanto en todo momento debemos tomar decisiones esperando resultados a largo plazo. III. Nuestra navegacin Nuestra navegacin funciona de una forma muy simple pero que es a la vez muy efectiva. Bsicamente lo que hacen los robots se puede resumir en: avanzar hacia delante procurando

estar orientados hacia su destino. Esto significa que se desplazan hacia adelante si se encuentran mirando a su objetivo, y en caso contrario hacen los ajustes necesarios para simultneamente rotar minimizando la prdida de velocidad de las ruedas y en consecuencia en el movimiento de los robots. Aunque esto pueda sonar trivial o exageradamente abreviado, esta simplicidad conlleva consigo un concepto fundamental: los robots reducen su velocidad en una cantidad mnima, slo la estrictamente necesaria como para corregir su rumbo. De esta forma, la navegacin se centra en un objetivo: desperdiciar en la menor medida que sea posible el impulso proporcionado por las ruedas y as obtener una mxima velocidad promedio. Notemos que dado que lo nico que nos interesa es estar orientados o no hacia el punto de destino, podemos dejar de lado una de las partes ms complejas de la navegacin, que es estudiar el movimiento cmo una trayectoria en el plano. Otro aspecto aparentemente simplificado es el de la sincronizacin temporal: plantendonos un objetivo casi atmico (como el de estar mirando al objetivo) parecen esfumarse los problemas de coordinacin y planeamiento en el tiempo. Esto no slo es bueno por si mismo, sino que adems el hecho de no planear muchas cosas a largo plazo nos beneficia en un ambiente tan dinmico como el del ftbol de robots. Sin embargo, ms abajo veremos que esto no es del todo cierto, y que tarde o temprano hay que enfrentar aunque sea parcialmente este tema. IV. Problemas de este enfoque La simplificacin del problema es grande y por lo tanto muy valiosa. Sin embargo, es importante tener presente sus desventajas principales y de dnde surgen las mismas, ya que se deben tener en cuenta a la hora de

Workshop del CAFR

refinar este sistema de navegacin y resolver pequeos problemas que surgen una vez implementado el mismo. La realidad es que al no tener en cuenta tiempos en este modelo, hay esencialmente dos problemas que pueden surgir: Que el objetivo sea dinmico y que al perseguirlo de forma ingenua no nos permita alcanzarlo nunca porque a cada instante cambia y la respuesta de nuestras acciones tarda un lapso de tiempo en manifestarse (por ejemplo, perseguir una pelota en movimiento que siempre nos elude). La solucin a esto fue incorporar mecanismos de prediccin de la pelota que nos permitiera elegir objetivos relativamente constantes en el tiempo. Que, si bien elegimos una determinada velocidad para las ruedas para cumplir un objetivo instantneo, estas velocidades son efectivas cuando hay un margen grande de tiempo par alcanzar el objetivo, y no cuando el efecto es buscado con necesidad de cambiar rpido de posicin. V. Implementacin Una vez definido nuestro enfoque de la navegacin, el problema se reduce a dos subproblemas: a) Cmo determinar en qu cantidad disminuir la velocidad de la rueda izquierda o derecha para rotar una cantidad de grados especfica a futuro. b) La eleccin del punto de destino de acuerdo a predicciones del juego de manera de llegar bien posicionados y a tiempo al objetivo. Para responder al problema a) la nica alternativa es realizar un estudio minucioso de la fsica del simulador y plantear un modelo matemtico que relacione las variables que nos

interesan con las velocidades que podemos asignarle a las ruedas derecha e izquierda de cada robot.. Fue as que llevamos a cabo una serie de detalladas pruebas en las cuales nos concentramos en determinar la velocidad y aceleracin de los robots desde el punto de vista de la rotacin, o sea, su velocidad y aceleracin angular en funcin de los velocidades asignables a las ruedas. Con aproximaciones lineales y cuadrticas de las curvas obtenidas, finalmente logramos encontrar una funcin que determine la velocidad necesaria para las ruedas en funcin de slo dos variables: el ngulo a rotar, y la cantidad de grados rotados en el ltimo cuadro. La necesidad del primer parmetro es evidente, no as la del segundo. La cantidad de grados rotados en el ltimo cuadro es lo que nos permite conocer con qu envin o inercia ya viene girando el robot, y por lo tanto tener en cuenta que con ese impulso rotacional, arrastrado de cuadros anteriores, se producir en el futuro una cierta rotacin que queremos contemplar en la eleccin de las velocidades. Estimando cunto se rotar en los futuros cuadros gracias a ese impulso, lo nico que resta hacer es calcular la cantidad de rotacin extra necesaria para terminar de apuntar al destino. Cabe aclarar que todo esto ltimo es necesario porque la fsica no se comporta de forma aislada e independiente en cada instante, sino que cada velocidad asignada a las ruedas afecta la simulacin por muchos cuadros posteriores, y por lo tanto hay que mirar todo el historial del robot para poder predecir sus movimientos futuros. Esto funciona cuando tenemos el tiempo necesario para beneficiarnos de los efectos de una velocidad anterior, pero no cuando se requiere una reaccin rpida. Para este ltimo caso, estudiamos nuevamente el modelo fsico para conocer la forma ms rpida de alcanzar un giro determinado y en caso de necesidad usarla (an al costo de frenar el avance del robot, poniendo por ejemplo velocidades izquierda y derecha opuestas). Con respecto a b) lo que hicimos fue trabajar desde dos aspectos: la prediccin de la pelota (es prcticamente el nico objetivo dinmico

perseguido) y la prediccin de nuestros mismos robots (cunto tiempo tardaran en alcanzar un determinado punto desde el estado actual). Teniendo estas herramientas, para determinar el objetivo al cual el robot apuntar lo que hacemos es ir recorriendo los posibles momentos para intersecar la pelota (con la prediccin de la misma a x tiempo) y nos fijamos si el robot puede alcanzar ese punto en tiempo menor o igual a x . De ser as, elegimos como objetivo ese punto. La idea es que si las predicciones estn hechas lo suficientemente bien, en el prximo instante (con los nuevos cambios en la pelota y el robot) el punto elegido como factible siga siendo el mismo, permitiendo que nuestra forma de elegir las velocidades a largo plazo funcione correctamente por la estabilidad que logramos crear en los objetivos al predecir el juego. Combinando estos dos aspectos, y utilizando las funciones enunciadas, es que hemos logrado un avance fundamental en los mecanismos de navegacin de nuestro equipo. VI. Conclusiones A pesar de los avances logrados, consideramos que an hay ciertos problemas que no hemos podido solucionar. En primer caso, este sistema de clculo de navegacin no es til cuando los movimientos deben realizarse en espacios reducidos (es decir, el objetivo es muy cercano y exige al robot un giro pronunciado). En segundo caso, muchas veces es necesario llegar a un punto con un ngulo determinado, aunque sacrifiquemos la velocidad para llegar a dicho punto. Estos son los dos problemas que dejamos abiertos para futuros trabajos.

También podría gustarte