CONSTRUCCIÓN DEL MAPA DE UN ENTORNO

Anuncio
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
Descargar