CONSTRUCCIÓN DEL MAPA DE UN ENTORNO SEMIDESCONOCIDO USANDO UNA PLATAFORMA MÓVIL TIPO LEGO NXT Javier OTÁLORA jfotalorac@correo.udistrital.edu.co Facultad Tecnológica, Universidad Distrital Francisco José de Caldas Bogotá, Colombia Y Willson INFANTE winfantem@udistrital.edu.co Facultad Tecnológica, Universidad Distrital Francisco José de Caldas Bogotá, Colombia RESUMEN El mapa del entorno en el que se desplaza una plataforma móvil es pieza importante para la ubicación y desplazamiento en la exploración de ambientes desconocidos, pues permite conocer el escenario donde se está realizando la exploración; uno de los métodos utilizados para generar estos mapas es la odometría, debido a su bajo costo y eficacia es de fácil acceso para la ubicación de todo tipo de robots en la creación de mapas. El objetivo de este artículo es mostrar el desarrollo del proyecto generación de mapas de entornos semidesconocido utilizando odometría y sensores del kit de Mindstorms NXT 2-0 de Lego®. Palabras clave: Bluetooth, Entorno, Labview, Lego nxt 2.0, Mapa, Sensores. 1. INTRODUCCIÓN El ingreso a espacios nocivos para el ser humano y la exploración espacial, han dado paso a uno de los principales intereses para la robótica, este interés ha generado ciertos inconvenientes de desarrollo y aplicación como son: conocer el entorno en el cual se desplaza el robot, generar nuevos y mejores sensores y programas que emulen la capacidad de análisis y toma de decisiones del ser humano; teniendo en cuenta estos rasgos característicos; sentido y análisis se combinan, creando plataformas que puedan desplazarse en dichos entornos nocivos, llevando cada vez más lejos la capacidad de exploración del ser humano. El desplazamiento del robot móvil en un entorno semidesconocido permite que éste con la capacidad de percepción adecuada, construya el mapa de dicho ambiente, adicionalmente se requiere que el robot sepa en dónde se encuentra ubicado con respecto a un punto de origen preestablecido, de acuerdo a las necesidades fundadas. Se pueden encontrar varios métodos de localización (posición y orientación) para un robot, [1] .los más conocidos son los infrarrojos y satelitales, los cuales permiten una ubicación fácil, aunque presentan algunos inconvenientes como el hecho de estar presente en el entorno en el que se desplaza el robot, lo que resta autonomía. Por otra parte, la utilización de GPS (Global Positioning Sistem), presenta una resolución limitada y existen problemas de cobertura al trabajar en ambiente interiores [1], por los inconvenientes mencionados. La odometría [2] presenta características más adecuadas para la realización de este proyecto, ya que solo es necesario conocer ciertos parámetros del robot como son la cantidad de giros de sus ruedas y los giros que ha realizado. Este artículo muestra la implementación de los sensores de ultrasonido, compás magnético y encoders de los servomotores del kit de Lego NXT 2.0 y de HITECH® para poder localizar un robot móvil de configuración diferencial y generar el mapa, con ayuda del software LabView®, por donde se está desplazando. 2. DESARROLLO DEL PROTOTIPO 2.1 Plataforma móvil configuración diferencial. Se desarrolló un robot móvil (figura 1.) a partir de las piezas del kit mindstorms lego NXT 2.0, con una configuración diferencial para facilitar los giros del robot [4], para tal caso se usaron dos servomotores, uno para la rueda izquierda y el otro para la rueda derecha, el robot presenta una velocidad promedio de +/- 5,5cm/s sobre una superficie lisa y plana, otras características físicas de la plataforma se muestran en la tabla 1. normalmente, salvo que tienen una frecuencia mayor que la máxima audible por el oído humano (aproximadamente 20KHz), éste utiliza sonido con una frecuencia de 40 KHz. A este tipo de sonido se les denomina ultrasonido. Su funcionamiento básico como medidores de distancia se muestra de una manera muy clara en la figura 3 donde se tiene un receptor que emite un pulso que rebota sobre un determinado objeto y la reflexión de ese pulso es detectada por un receptor de ultrasonidos: Figura 3. Funcionamiento sensor ultrasonido La mayoría de los sensores de ultrasonido de bajo costo se basan en la emisión de un pulso de ultrasonido cuyo lóbulo, o campo de acción, es de forma cónica. Midiendo el tiempo que transcurre entre la emisión del sonido y la percepción del eco se puede establecer la distancia a la que se encuentra el obstáculo que ha producido la reflexión de la onda sonora, mediante la fórmula: d = ½ V*t Figura 1. Plataforma móvil elaborada con los sensores (fuente autor) Medidas del Robot Largo: 25cm Ancho: 14,3cm Altura : 24,4cm Peso : 570grs Diámetro de llantas: 5cm Tabla 1. Medidas y peso del robot móvil. Para la percepción del robot se usó el sensor de ultrasonido del kit NXT 2.0 (ver figura 2.) el cual permite medir la distancia a la cual se encuentra un obstáculo y le permite al robot advertir sobre su presencia [4]. Figura 2. Sensor ultrasónico Los ultrasonidos son antes que nada sonido, exactamente igual que los que se perciben Ec.(1). Donde V es la velocidad del sonido en el aire y t es el tiempo transcurrido entre la emisión y recepción del pulso [5]. 2.2 Parametrización sensor de ultrasonido: Para determinar las medidas tanto en ángulo como en distancia se realizaron pruebas con el sensor fijo a un altura de 9cm y desplazando un objeto en la parte frontal, desde 3cm hasta 180cm, para el ángulo de cobertura se tomó un área que va desde 25 cm a la derecha e izquierda desde el centro del sensor, según la toma de datos se obtuvo la figura 4. Como se puede observar en la Figura, la zona amarilla o zona 1de la gráfica tiene un apertura que va desde -20º hasta 20º generando un cono con ángulo de apertura de +/-40º hasta una distancia de 0,7m, a partir de esta distancia tiene una apertura de -10º hasta 10º generando un cono de +/- 20º, y luego de los 1,20 m se tiene una apertura que no supera los 3º por lo cual es prácticamente necesario que el objeto este frente al sensor. Figura 6. Compás magnético de Hitechnic. 3. COMUNICACIÓN ENTRE EL ROBOT MÓVIL Y UNIDAD CENTRAL (PC) Figura 4. Barrido en grados del sensor de ultrasonido. En la figura 5. Se pueden observar las distancias obtenidas por el sensor en comparación con las medidas reales, Para el envío de datos del robot a la unidad central (PC), sin la necesidad de utilizar cables que generen inconvenientes de movilidad, se estableció una comunicación Bluetooth. Para que sea compatible el PC con el NXT, se instaló el driver Bluetooth NXT 2.0 desde la página de LEGO MINDSTORMS [2]. Desde PC, se agrega el robot como dispositivo NXT y se realizan los siguientes pasos para lograr la comunicación: Tools nxt tools nxt terminal find nxt scan connect. Figura 5. Error de medida del sensor de ultrasonido. Se observa que se genera un error de +/- 3cm, en la toma de medidas debido a que cambian con cada toma realizada al mismo objeto a la misma distancia, también se observa que tiene un alcance máximo de 1,80m y un alcance mínimo medido de 5cm debido a que en distancias menores los datos arrojados por el ladrillo varían, y se produce un porcentaje de error del 37%. Mediante la caracterización del sensor, se decidió realizar la posición en tres grados los cuales son 0º frente al robot, 90º a la derecha y -90º a la izquierda del robot, para realizar un barrido y tomar datos en un ángulo de 180º, suficiente para sensar los obstáculos de acuerdo con las pruebas realizadas. Se buscó dar solución al inconveniente de posicionar la plataforma en el plano X-Y por medio del compás magnético de Hitechnic (figura 6.) el cual da una posición respecto al norte magnético de la tierra y muestra esta medida en grados [3]; según las pruebas realizadas, cuando la plataforma está orientada al norte magnético de la tierra, el sensor muestra un valor de 359. Cuando gira al oriente presenta valores entre -80 y -90 y si gira al occidente presenta valores entre 228 y 240. Con la comunicación Bluetooth establecida entre el PC y el robot se logró la distancia máxima requerida por el entorno de pruebas de 1.6m, aunque la comunicación puede tener una mayor distancia aproximada de 6 metros, según pruebas realizadas enviando información desde el puesto de trabajo del grupo de investigación ROMA, al robot ubicado en la puerta del baño de damas del bloque 12 primer piso facultad Tecnológica, y la distancia mínima fue de 5cm. Debido a que el robot genera una comunicación constante con la unidad central se produce un atraso en la obtención de datos por parte del robot, el cual se calcula en 1s, debido a esta característica es necesario calibrar el movimiento del robot y el movimiento del servomotor que desplaza el sensor de ultrasonido. 4. GRAFICA DE DATOS OBTENIDOS Para la obtención de datos de posición se utilizaron los encoders que vienen con los servomotores del robot móvil, luego de leer los valores arrojados fue necesario convertirlos a valores a rectangulares para poder trabajarlos. LabView necesita generar algunas cadenas y anidados de valores [6] para que se elabore la gráfica del entorno, se utilizaron los iconos de generar una ubicación en el plano y luego el icono para generar varios puntos (figura 7), este icono es quien da la manera de generar los obstáculos mediante coordenadas sabiendo la ubicación que tenía el robot en el plano. Figura 7. Programa para realizar la gráfica en LabView. Para la ubicación en el plano se tomó un X y un Y inicial, luego se ingresaron estos datos a un sub vi (sub programa) [7], el cual realiza la operación con el que se halla el ángulo de giro de la plataforma con respecto a sus puntos de origen, con esto se obtuvo la ubicación de la siguiente manera: ( ( ) ) Ec.(2). Ec.(3). Luego se utiliza el dato anterior y se multiplica por el dato siguiente con lo cual se tiene la ubicación del robot en el transcurso del tiempo. Y así generar el mapa del entorno como se ve en la figura 8. Figura 8. Imagen generada del entorno. 5. PRUEBAS Y RESULTADOS La primera prueba que se realizó fue que el robot se desplazara en direcciones aleatorias para verificar el funcionamiento y comportamiento del mismo. Se observó que el robot móvil tiene una leve inclinación hacia la izquierda lo cual genera un error en la toma de datos de la posición, este error de odometría tiende a aumentar a medida que avanza en una trayectoria recta. Las ruedas libres se comportaron de manera adecuada girando junto con la plataforma y dándole estabilidad en los giros. La superficie lisa facilita el movimiento del robot móvil debido a que al no haber desniveles la estabilidad en su avance es eficiente, y colabora con la correcta toma de datos ya que el sensor ultrasónico no percibe el suelo. Se tiene en promedio un retardo de 1s, entre el envío y la recepción de los datos, lo que hace que la respuesta de la plataforma sea atrasada con respecto al movimiento que debe hacer para esquivar los obstáculos. En cuanto a la generación del mapa se utilizaron tres entornos (figura 9 y a cada uno se le realizaron diferentes pruebas. Las características de los entornos semidesconocidos son: Entorno A, elaborado en madera, dimensiones de pared a pared de 90cm, con una altura de 15 cm y de fondo 1.5m. En el entorno B se utilizaron los mismos materiales que en el entorno A con unas dimensiones de 1m de ancho, altura de 15cm y de fondo 1.5m. El obstáculo ubicado en la esquina baja izquierda tiene unas dimensiones de 30cm x 30cm. En el entorno de prueba C, se utilizaron los mismos materiales y las mismas dimensiones que en el entorno B con la diferencia que en éste el obstáculo se encuentra en el centro de la superficie de prueba. Al ser semidesconocido se tomaron dos puntos como referencia los cuales fueron el punto esquinero izquierdo y punto esquinero derecho, demarcados en los mapas y en las imágenes de las figuras 10 y 11, además se tiene en cuenta que el punto inicial siempre es conocido. En el entorno de prueba A. figura (10). Se analizó el movimiento recto de la plataforma como evitaba chocar contra una pared y realizaba su correspondiente gráfica. El primer inconveniente que generó fue el hecho de tener una desviación en la trayectoria hacia la derecha por problemas de simetría y peso; la potencia que se había dado inicialmente a los motores hacía que tuviera una velocidad mayor en el movimiento lo que generaba problemas al momento de reaccionar frente a la pared. A. Figura 10. Grafica entorno de prueba A. B. Al momento de generar el mapa, figura 11. Se notó que la plataforma tenía inconvenientes al momento de graficarlo, debido a que la ubicación dada por el compás magnético y los encoders alteraba los datos de posición, graficando puntos en posiciones diferentes a las reales. El inconveniente del servomotor de movimiento del ultrasonido continúa a pesar de haber reducido su velocidad. C. Figura 9. Entornos de prueba, (A.es en línea recta, B. tiene un obstáculo en una esquina, C. tiene un obstáculo en el centro). Se presentan inconvenientes con el servomotor que da el movimiento del sensor de ultrasonido ya que su velocidad no permitía que se efectuara un barrido adecuado del entorno, por lo que generaba un entorno muy diferente al que se estaba trabajando. En el entorno de prueba B. figura 11. Se analizó la capacidad de reacción frente a un obstáculo y tres paredes. De acuerdo a los datos obtenidos de las pruebas del entorno A se redujo la potencia de los motores de 75 unidades a 30 unidades, con lo cual se observó una mejor reacción de la plataforma al momento de evitar los obstáculos, disminuyendo sus choques. Figura 11. Mapa generado en el entorno de prueba B. En el entorno de prueba C figura (12) se analizó y se corrigió el inconveniente del servomotor del movimiento del sensor de ultrasonido reduciendo aún más su velocidad y agregando valores máximos y mínimos en cada posición, aunque hay que aclarar que con el incremento de barridos el error de posición se amplia. El retraso de tiempo en el envió de datos hace que en ciertas áreas no alcance a evitar choques contra el obstáculo generando problemas en su movimiento. El área mínima que requiere para hacer un giro es de 29cm y la velocidad adecuada para que tome datos y no alcance a chocar es de 5.5cm/s lo que equivale a 1440º medidos en los encoders de los servomotores. Cuando el robot genera un giro mayor de 90º el posicionamiento se pierde y genera puntos que no van de acuerdo al entorno en el cual se hacen pruebas, por lo cual no genera una gráfica adecuada al entorno en el cual se desplaza, esto debido a la acumulación de error de odometria por los encoders y el error generado por el compás magnético. momento de girar lo cual genera que se grafiquen puntos del entorno en áreas donde no debe haber. 7. PERSPECTIVAS. Figura 12. Mapa del entorno de prueba C. 6. CONCLUSIONES. Se da cumplimento al primer objetivo logrando el diseño de un robot móvil diferencial para el desplazamiento en terrenos planos y lisos, así como la ubicación de los sensores y del ladrillo para un correcto funcionamiento. Los sensores fueron analizados mediante la caracterización de cada uno obteniendo su funcionamiento real. Un ejemplo de esto es el error de trabajo del sensor de ultrasonido +/- 3cm. La distancia baja mínima a la que toma datos el sensor de ultrasonido es de 1cm a una distancia frontal de 5cm. La comunicación mediante bluetooth genera un retardo de 1s en enviar y recibir datos, es una característica poco favorable para el movimiento deseado del robot dentro del entorno. El robot móvil realizado solo se desplaza en superficies lisas y planas y por su configuración tipo diferencial, permite que la realización de giros sea fácil adicionalmente reduce la programación para el control de movimientos El mapa generado presenta una aproximación aceptable con respecto al mapa real, puesto que hay datos que se muestran varias veces en el recorrido de la plataforma, esto se debe a que puede tomar un punto varias veces en el mismo recorrido. El programa Labview a pesar de su versatilidad de programación presenta inconvenientes al momento de generar graficas como mapas e imágenes, debido a que este programa no está enfocado a este tipo de trabajo. Los errores odometricos generados por los encoder y por el compás magnético no permiten que el robot se ubique de manera acertada en el plano al Se podrían añadir más sensores de ultrasonido u otro tipo de sensores que trabajen interpolados, para mejorar las características del mapa debido que al trabajar interpolados se puede obtener más datos del entorno dónde se desplaza. Reducir el tamaño de la plataforma permitiría acceso a zonas de menos espacio y una mejor maniobrabilidad entre obstáculos. Agregar algoritmos de estimación para mejorar el desplazamiento de la plataforma con lo que se reduce la cantidad de trayectorias que toma y lograr una mejor eficiencia por parte del robot. Se puede utilizar procesamiento de imágenes utilizando GPS, o aplicaciones de Android y Labview para posicionar en el entorno. REFERENCIAS [1] ALMEIDA, L. (1997),. Modelizacao de pequenos robots autónomos: um exemplo. Revista DO DETUA, Volumen 2, Nº 1 [2] Barrientos Antonio “FUNDAMENTOS DE ROBOTICA (2ª ED.)” S.A. MCGRAW- HILL / INTERAMERICANA DE ESPAÑA. Edición 2007 [3] Lego Mindstorms Home. www.mindstorms.lego.com Octubre 2011 [4] Creando nuestro robot móvil Febrero 2012 www.muchotrasto.com/TiposDePlataformas.php [5] funcionamiento ultrasonido www.aficionadosalamecanica.net/sensores1[6] Floyd James Octubre 2011. “LEGO MINDSTORMS NXT” APRESS.2009 [7] Introducción a Labview Octubre 2011. www.ni.com