CARACTERIZACIÓN DE MARCADORES DE REALIDAD AUMENTADA PARA SU USO EN ROBÓTICA
1 Ing. en Instrumentación y control, MSc. en automatización y control industrial, profesor Instituto tecnológico Pascual Bravo, Medellín. Email: cavh123@gmail.com.
2 Ing. Mecánico, PhD. en ingeniería de sistemas, área de visón por computador, profesor Universidad nacional de Colombia, Medellín. Email: alejorestrepom@gmail.com.
3 Ing. Electrónico, MSc. en automatización y control industrial, profesor Politécnico Colombiano Jaime Isaza Cadavid, Medellín. Email: nmunoz345@gmail.com.
Pese a la amplia variedad de estudios e investigaciones en realidad aumentada aplicada en sistemas robóticos, en general no se aprecia un análisis del cómo afecta a la detección de los marcadores: la iluminación, las distancias, ni los ángulos de incidencia de la cámara de los robots, menospreciando la importancia de estos parámetros en la representación de objetos aumentados, por lo cual se dificulta hacer una comparación más objetiva del desempeño de las aplicaciones de realidad aumentada en los robots. Este articulo describe un procedimiento para analizar un conjunto de marcadores estándar de realidad aumentada teniendo en cuenta distancias, ángulos de detección e iluminación, al igual que el efecto del tamaño del marcador en la escala de los objetos aumentados, de forma que ayuden al lector a determinar que efecto tienen sobre el desempeño del sistema, y planteando una serie de recomendaciones originadas en los resultados de pruebas técnicas con el fin de mantener una detección óptima de los marcadores en ambientes in-door.
Palabras clave: Visión por computador; Realidad Aumentada; Marcadores; Robótica; Robot móvil.
Recibido: 17 de Febrero de 2017. Aceptado: 19 de Julio de 2017.
Received: February 17, 2017. Accepted: July 19, 2017.
CHARACTERIZATION OF AUGMENTED REALITY MARKERS FOR USE IN ROBOTICS
In spite of the wide variety of studies and researches about augmented reality applied in robotic systems, in general terms there are not analysis around how affects the detection of markers: illumination, distances, or angles of incidence of the robot´s camera, underestimating the importance of these parameters in the representation of augmented objects, it difficult to do an objective performance comparison of the augmented reality applications in robots. This paper describes a procedure in order to analysis a set of standard augmented reality markers taking into account distances, detection angles, illumination, and the effect of marker size on the scale of augmented objects, in a way that helps the reader to determine what effect they have on the system performance, and proposing a series of recommendations from the results of technical tests in order to maintain optimal detection of markers for in-door environments.
Keywords: Computer vision; Augmented reality; Markers; Robotics; Mobile Robot.
Cómo citar este artículo: C. A. Valencia-Hernández, A. Restrepo-Martínez, N. D. Muñoz-Ceballos, “Caracterización de marcadores de realidad aumentada para su uso en robótica,” Revista Politécnica, vol. 13, no. 25, pp. 87-102, 2017.
Los ambientes de Realidad Aumentada (RA) se pueden definir como aquellos que mezclan elementos reales y virtuales en un ambiente único. Esta tecnología se ha usado tradicionalmente en los campos del entretenimiento, la medicina, la educación, la publicidad, la robótica, etc. [1-3].
La RA se ha empleado en robots manipuladores en la validación y apoyo al diseño de trayectorias y ambientes de trabajo, entre otras aplicaciones [4-5].
En robótica móvil, las aplicaciones de la RA han sido muy variadas, Los robots móviles están cada vez más entrando en el mundo real en aplicaciones que requieren de interacción entre el ser humano y el robot. En el desarrollo de robots usualmente se necesitan modelos de simulación complejos, hardware costoso y un entorno muy controlado, por lo tanto existe la necesidad de que los desarrolladores de robots tengan una opción más flexible para realizar experimentos y para obtener una mejor comprensión de cómo los robots perciben el mundo. Mediante RA es posible visualizar la información interna del robot y crear escenarios de prueba más baratos y más seguros haciendo posibles interacciones entre objetos reales y virtuales [2], por ejemplo: en [6] se estudia el uso de la RA en sistemas robóticos aéreos en vehículos que se mueven en 3 ejes. También se ha empleado en el mejoramiento de ambientes de simulación, al igual que el enriquecimiento de ambientes de prueba con objetos virtuales en robots tele operados para validar su comportamiento, no solo con objetos estáticos, sino también dinámicos, incorporando otros robots de naturaleza virtual [7], otras aplicaciones proponen el mejoramiento del diseño de las trayectorias ampliando las zonas de seguridad con realidad aumentada simplificando el problema al encerrar en cubos virtuales los obstáculos relevantes escogidos por el usuario ayudando al sistema y complementando la inteligencia del robot con el criterio y la capacidad de análisis del ser humano [8], el enriquecimiento de interfaces de usuario en robots tele operados [9], la evaluación de la interacción humano – robot, para futuras aplicaciones de servicios o industriales [2-3],[10-11].
Pese a la amplia variedad de estudios e investigaciones en RA aplicada en sistemas robóticos, en general no se aprecia un análisis del cómo afecta a la detección de los marcadores de RA: la iluminación, las distancias, ni los ángulos de incidencia de la cámara de los robots, menospreciando la importancia de estos parámetros en la representación de objetos aumentados, por lo cual se dificulta hacer una comparación más objetiva del desempeño de las aplicaciones de RA en los robots. La falta de consenso en cómo definir o implementar estos sistemas, puede restar rigor e impedir evaluar los progresos en este campo y comparar sus diferentes capacidades.
Este artículo tiene como objetivo describir un procedimiento para analizar un conjunto de marcadores estándar de realidad aumentada teniendo en cuenta distancias, ángulos de detección e iluminación, al igual que el efecto del tamaño del marcador en la escala de los objetos aumentados, de forma que ayuden al lector a determinar qué efecto tienen sobre el desempeño del sistema.
2. MATERIALES Y METODO
Se describe el robot, la metodología empleada para proporcionar al robot la capacidad de interactuar con marcadores de RA y las pruebas realizadas.
2.1. Robot móvil
La plataforma robótica consta de un chasis de acrílico y un sistema mecánico de locomoción por orugas, figura 1.
Fig. 1. Estructura mecánica de la plataforma robótica móvil.
El sistema electrónico de la plataforma está dividido en 3 circuitos:
· Circuito de comunicación
· Circuito de potencia
· Circuito de control
El circuito de comunicaciones está conformado por un dispositivo XBee serie2 con un alcance de 100 metros con línea de vista, el cual recibe los
comandos de otro XBee de iguales características
conectado a un computador, figura 2.
Fig. 2. Diagrama de los sistemas electrónicos de la
plataforma robótica.
El circuito de potencia comprende la fuente y circuitos electrónicos para suministro de corriente a los dispositivos de sensado, control y actuación. El circuito de control cuenta con un microcontrolador PIC16F887, el cual interpreta las acciones que ordena un PC ubicado en la parte superior del robot. Dicho PC También alberga el algoritmo de navegación, el software de RA (BuildAR Pro), y el algoritmo de tratamiento digital de imágenes desarrollado en MATLAB.
En la figura 3 se observa un esquema general del sistema hardware/software implementado, y del flujo de la información desde la cámara hasta los actuadores del robot.
Fig. 3. Interacción de los subsistemas del robot.
Sistema de visión
El robot requiere de un sistema de visión que le permita recibir información del entorno que lo rodea. Los sistemas de visión en robots móviles pueden ser: binoculares y monoculares. En este caso se implementó el tipo monocular, teniendo en cuenta su simplicidad en la implementación y la compatibilidad del mismo con el software de RA.
La cámara del robot está sujeta a un rectángulo de acrílico en la parte superior- frontal, a una altura de 9 cm de la placa inferior del chasis y a 5 cm de la placa lateral izquierda, de forma que el lente de la cámara estuviera centrada con respecto al ancho del chasis; esto con el fin de mantener centrado el volumen de visión con respecto al robot. Figura 4.
Fig. 4. Ubicación de la cámara en el robot.
2.2. Software de Realidad Aumentada
Existen varios ambientes de desarrollo para RA, tales como el software ARToolKit y BuildAR. El primero es un conjunto de librerías desarrolladas en lenguaje C++, las cuales sirven para la implementación de aplicaciones de RA en equipos de cómputo bajo la licencia GNU General Public License (GPL). El segundo es un software de RA para el sistema operativo Windows, su plataforma es amigable, con una distribución gratuita la cual permite realizar pruebas de realidad aumentada, insertar nuevos marcadores y nuevos objetos 3D.
No se requiere conocimientos específicos de programación como en el ARToolKit, aunque en su versión gratuita tiene algunas limitaciones, que son mejoradas en la versión BuildAR Pro.
Para la selección del software de RA se tuvo en cuenta varios criterios, tales como:
Estabilidad: un sistema es estable cuando su nivel de fallos disminuye por debajo de un determinado umbral. En este caso se consideró el número de fallos obtenidos en las pruebas realizadas de uno y otro software. Se pueden definir fallos como identificación errónea de marcadores, oscilaciones en el objeto virtual, y las pérdidas del objeto virtual a corta distancia del marcador.
Multiplataforma: capacidad para instalar un software en más de un sistema operativo.
Accesibilidad al código fuente: capacidad de acceder o de descomponer un software en el lenguaje de programación que fue escrito, por ejemplo C++, Basic, Assembler, etc.
Bajo costo: se refiere al costo de la licencia, en este caso entre más bajo sea el costo mejor.
Experiencia del programador: conocimiento que el usuario del software de realidad aumentada debe tener en el uso específico de un lenguaje de programación para poder implementar sus aplicaciones.
Documentación disponible: se refiere a la existencia y fácil acceso de la información referente al software como tutoriales, manuales de usuario y características técnicas.
Entorno amigable: se refiere a la facilidad de uso del entorno de programación o desarrollo del software.
En la figura 5 se observa la comparación de los tres ambientes de desarrollo en sus principales características evaluadas en una escala de 0 a 5.
Fig. 5. Mapa de criterios de selección de software de realidad aumentada.
Se observa que el software BuildAR obtuvo una calificación alta en documentación, en torno amigable, estabilidad, y bajo costo; sin embargo, el ARToolkit obtuvo mayores puntajes para multiplataforma y accesibilidad al código fuente. A pesar de todo lo anterior, el BuidAR Pro sobrepasa a los dos anteriores, pues obtiene la máxima calificación en 4 de 7 criterios (estabilidad, entorno amigable, documentación disponible, experiencia del desarrollador y bajo costo), ocupando mejor área de acuerdo a los elementos que se consideraron más relevantes. Teniendo en cuenta lo anterior, se eligió el software BuildAR Pro para la implementación de la RA.
2.3. Calibración de parámetros intrínsecos de las cámaras
La calibración de la cámara es el procedimiento mediante el cual se busca establecer los parámetros intrínsecos o inherentes a la cámara (distancia focal, centro óptico, modelo de deformación del lente).
Aunque existen muchas herramientas para realizar la calibración de una cámara, en general todas las técnicas siguen los mismos pasos básicos:
· Establecer con precisión las coordenadas de un punto 3D del mundo exterior, el cual servirá de referencia para el sistema.
· Fijar la correspondencia del punto anterior con la representación 2D dada por el sensor óptico.
· Obtener la solución a la obtención de los parámetros intrínsecos y extrínsecos de la cámara por medio de procedimientos matemáticos de optimización, lo que servirá para poder calcular un punto 3D del mundo con una imagen 2D de la cama.
Para este procedimiento se emplean, generalmente, patrones simples monocromáticos con el fin de facilitar la identificación de los puntos de calibración, el más común es el patrón de tablero de ajedrez debido a su simplicidad y la fácil fijación de las esquinas por el algoritmo de calibración [12-14].
Fig 6. Patrón de calibración real tipo tableo de ajedrez.
Este procedimiento arroja los parámetros intrínsecos de la cámara, entre los que se cuentan:
· Focal length (fc): distancia focal.
· Principal points (cc): puntos principales.
· Skew (alpha c): coeficiente de asimetría que define el ángulo entre los pixeles del eje X y del eje Y.
Con estos parámetros se contrae la matriz de parámetros intrínsecos KK, como se ve en la ecuación 4.
Ecuación 1. Matriz de parámetros intrínsecos KK
Con la ecuación KK se puede obtener la ecuación de los parámetros extrínsecos, como se ve a continuación:
Ecuación 2. Matriz de parámetros extrínsecos de la cámara.
Para validar la matriz KK se realiza una reproyección del mundo 2D de la cámara al mundo real en 3D sobre una imagen real. El primer paso para ello es calcular la matriz H de transformación 2D a 2D, que transforma un punto en el plano del mundo Xx,y al plano de la cámara Xi, j de tal forma que:
Ecuación 3. Transformación de un punto 2D del mundo al plano 2D de la cámara.
Donde la matriz H 3x3 se puede llamar matriz de transformación mundo-cámara, teniendo así:
Ecuación 4. Matriz de transformación mundo cámara.
Para llevar a cabo la re-proyección, se obtienen la matriz de rotación Rt y el vector de traslación P que constituyen los parámetros extrínsecos de la cámara, como se aprecia a continuación [12]:
Ecuación 5. Ecuación de λ
Ecuación 6. Matriz de rotación Rt
Ecuación 7. Vector de rotación P
Los parámetros obtenidos con este procedimiento son comúnmente utilizados para percepción y navegación visual, pues permiten relacionar un punto 2D de la imagen de la cámara con un punto 3D del mundo real. En el caso de este trabajo, este procedimiento se utilizará para la validación de parámetros de calibración y la estimación del error presente en la representación de objetos virtuales en una imagen real.
2.4. Pruebas de realidad aumentada y marcadores.
Refiriéndose a los marcadores, a estos se les realizaron diferentes pruebas para establecer de forma cuantitativa unos criterios de selección.
Las pruebas se pueden dividir en 3 secciones, la primera comprende las pruebas de alteración de la escala del marcador, para observar su influencia en el tamaño del objeto insertado por la RA. La segunda agrupa las pruebas para determinar cuáles son los ángulos mínimos de visión de la cámara con respecto al marcador, y así asegurar la detección del mismo por el software de RA. Y la tercera agrupa las pruebas para determinar las distancias mínimas y máximas de detección de los marcadores con respecto a la cámara (figura 7).
Fig. 7. Diagrama de pruebas experimentales de marcadores.
Todo esto se le aplica a un conjunto de marcadores simples, los cuales presentan diferentes formas y características en su interior, como cantidad de elementos, presencia de ángulos rectos, líneas curvas, formas simétricas, y áreas ocupadas por los símbolos (figura 8).
Fig. 8. Marcadores empleados en la prueba.
2.5. Pruebas de iluminación
Uno de los elementos críticos en los sistemas de visión artificial al igual que en la realidad aumentada es la iluminación; en este caso se realizan diferentes pruebas para determinar cómo esta influye en la segmentación y la umbralización de los marcadores en la RA, y así determinar cuáles serían las condiciones ideales para un funcionamiento óptimo.
A continuación se muestra como están distribuidas estas pruebas (figura 9).
Fig. 9. Estructura de pruebas de iluminación.
En el ambiente de prueba intervienen; un marcador denominado Hiro (figura 10), el robot con su cámara, dos fuentes de luz de 125 watts ubicadas a 2.5 m del suelo, y una fuente de luz directa representada en un reflector con un bombillo de luz blanca de 60 watts, tal como se observa en la figura 11.
Fig. 10. Marcador Hiro
Para la prueba inicial se enciende alternadamente las fuentes de luz para observar su efecto sobre el sistema de RA.
Fig. 11. Ambiente de prueba con un solo marcador.
Posteriormente se suma otro marcador y se repite el ejercicio para verificar el efecto sobre un conjunto de marcadores en el mismo escenario, ver la figura 12.
Fig. 12. Ambiente de prueba con dos marcadores.
Estas pruebas ayudan a establecer la influencia de la posición de las fuentes de luz y el tipo de iluminación.
Una de las dificultades, al momento de trabajar con Realidad Aumentada, es conocer el error que se presenta al tratar de representar objetos reales con objetos virtuales insertados por la RA. Esto cobra mayor importancia cuando es más de un objeto que se quiere insertar, o cuando se tiene un escenario integrado por objetos reales y virtuales, como es el objetivo de este trabajo.
Para poder establecer dicho error, de forma cuantitativa, se optó por utilizar los parámetros intrínsecos de la cámara del robot, ya calculados, y calcular los de la cámara virtual; esta posiciona los elementos 3D en la RA. Se usó el patrón de calibración real (Fig 6) y se diseñó una copia virtual en un software CAD, conservando sus dimensiones exactas, de modo que cuando sea insertado por el software de RA en las imágenes de calibración (Fig 13) conserve la escala precisa para representar el patrón de calibración real.
Fig 13. Imágenes de calibración, cámara frontal.
El patrón de calibración virtual se insertó en las imágenes de calibración, utilizando el software de RA e integrando un marcador a la parte central del patrón real, conservando las condiciones de distancia y variación de posición para los dos patrones (Figura 14). Con esto se busca obtener una matriz de errores que refleje el desfase entre los objetos reales y los reproyectados por el software de RA BuildAR pro.
Esto se llevó a cabo con la ayuda del toolbox Calib del software MATLAB, que emplea una serie de imágenes de un patrón monocromático bidimencional tablero de ajedrez tomadas desde diferentes ángulos para estimar los parámetros que determinarán los modelos [12-14]. Para esto se ubicó una fuente de luz blanca de 120 watts, a 1.7 mt de altura sobre la mesa de pruebas. Asimismo, se dispuso la cámara sobre un soporte metálico a una distancia de 80 cm del tablero de ajedrez, dicha cámara esta conectada a un ordenador que se encarga de registrar las imágenes utilizadas en la calibración; en cada imagen se altera la posición y el ángulo del patrón con respecto la cámara, conservando en todo momento los 80 cm ya establecidos. El montaje para obtener las imágenes se puede apreciar en la Figura 14.
Fig 14. Montaje para la obtención de las imágenes de calibración.
Hay que aclarar que para obtener los parámetros de calibración, en este caso no se tomó en cuenta la totalidad del patrón, sino solo un área de 5x3 cuadrados en la sección interna, para evitar el problema de pérdida de las esquinas en la imagen.
Fig 15. Patrón de calibración con inserción de marcador de RA y delimitación de área elegida para la calibración (encerrada en recuadro rojo).
Las imágenes originales de la prueba de calibración fueron utilizadas para obtener los parámetros de la cámara física del robot y posteriormente se insertó la RA en la imagen y se obtuvieron los parámetros de la cámara virtual.
a.
b.
Fig 16. Imágenes de calibración a) imágenes cámara real b) imágenes con RA.
Después de realizar el proceso de calibración se obtuvieron los siguientes parámetros:
Tabla 1. Parámetros intrínsecos cámara del robot.
Distancia focal |
fc = [ 1087.05547 1085.37688 ] ± [ 12.28062 12.62137 ] |
Puntos principales |
cc = [ 664.74004 285.66282 ] ± [ 11.64882 7.39761 ] |
Coeficiente de asimetría |
alpha_c = [ 0.00000 ] ± [ 0.00000 ] => angle of pixel axes = 90.00000 ± 0.00000 degrees |
Distorsión |
kc = [ -0.00269 -0.09811 -0.00654 -0.00783 0.00000 ] ± [ 0.04079 0.29939 0.00247 0.00337 0.00000 ] |
Error de pixel |
err = [ 0.33100 0.53965 ] |
Tabla 2. Parámetros intrínsecos de RA
Distancia focal |
fc = [ 912.01678 944.94379 ] ± [ 4.03723 4.37670 ] |
Puntos principales |
cc = [ 681.69049 314.73249 ] ± [ 4.09202 2.95802 ] |
Coeficiente de asimetría |
alpha_c = [ 0.00000 ] ± [ 0.00000 ] => angle of pixel axes = 90.00000 ± 0.00000 degrees |
Distorsión |
kc = [ 0.02424 -0.05054 -0.00113 0.00527 0.00000 ] ± [ 0.01355 0.07326 0.00103 0.00163 0.00000 ] |
Error de pixel |
err = [ 0.16882 0.21787 ] |
Para cada conjunto de parámetros se calcula la matriz KK.
Modelo cámara real
Modelo cámara virtual
Para estimar qué tan diferentes son los dos modelos (RA y real) se realizó una matriz de errores, conformada por los errores presentes en la estimación de los componentes de la matriz KK de la cámara de la Realidad Aumentada con la real.
Basado en el promedio aritmético de los errores presentes en cada elemento de la matriz ME, se puede decir que el error presente en la estimación de los parámetros intrínsecos de la cámara virtual posicionada por la Realidad Aumentada es de 10.43%, esto implica que tanto la escala del objeto insertado por la RA como su ubicación y orientación, con respecto a la cámara, puede presentar este error si se compara con una imagen de un objeto real tomada bajo estas mismas condiciones.
3.2. Caracterización del sistema de visión
Uno de los primeros pasos para la caracterización del sistema de visión es obtener el volumen de visión que es una representación de lo que puede ver la cámara en 3 dimensiones.
Para conseguir el volumen de visión, primero se obtiene los marcos de visión, un conjunto de recuadros cuyas dimensiones están definidas por la cantidad de centímetros que puede abarcar la cámara en una imagen a una distancia específica tanto de forma vertical como horizontal. Estos recuadros se calcularon utilizando una cinta métrica dispuesta de forma paralela a la parte delantera del robot para apreciar la extensión de la componente en el eje “X” del cuadro de visión, para el eje “Y” se ubica una regla en centímetros de forma perpendicular al patrón anterior, como se observa en la figura 17. Para todos los planos de visión se sigue el mismo procedimiento.
Fig. 17. Cintas métricas y marco de visión.
Fig. 18. Proceso de medición de cada marco de visión
Para obtener este volumen se realizan 5 medidas del marco de visión en intervalos de 30 cm a partir de la parte delantera del robot, figura 19.
Tabla 3. Dimensiones de los marcos de visión obtenidos.
D1 (cm) |
X (cm) |
Y (cm) |
30 |
28 |
20 |
60 |
48 |
27 |
90 |
68 |
34 |
100 |
88 |
41 |
120 |
108 |
48 |
Dónde:
X: Extensión del marco de visión en el eje X.
Y: Extensión del marco de visión en el eje Y.
D1: Distancia de la parte frontal del robot a la muestra.
Al agrupar los marcos de visión se obtiene un volumen, dentro del cual deben estar ubicados los marcadores para poder ser detectados por el robot, como se puede observar en la figura 14.
Fig. 19. Volumen de visión construido con los marcos de visión obtenidos experimentalmente.
Teniendo en cuenta la figura 19, deben considerarse los puntos ciegos que se aprecian para fijar los márgenes de seguridad para la navegación. El volumen de visión revela un problema complejo que consiste en la incapacidad del robot de ver los marcadores de RA cuando se encuentran demasiado cerca y/o desfasados con respecto a los marcos de visión lo que causa errores en la representación de los objetos aumentados.
3.3. Pruebas de ángulos y distancias de detección de marcadores.
La primera prueba se realiza para ver la relación del tamaño del marcador con la escala del objeto virtual asociado a él.
Para esto se imprime el marcador Hiro en tres tamaños: el primero a su escala original (9x9 cm), el segundo se imprimió al 150% (13.5x13.5 cm), y por último se imprimió el marcador al 200%(18x18cm).
El ambiente en el que se realiza las pruebas está constituido por un telón blanco de 115x79 cm, en el cual se adhirió en la parte inferior el marcador. La iluminación consta de un bombillo de luz blanca de 125 watts a 2.5 metros de altura en el centro de la habitación (figura 20).
Fig. 20. Disposición de elementos en prueba de escala.
Para esta prueba se deja el robot estático y solo se altera la escala del marcador. Se pudo apreciar en las pruebas que las alteraciones de escala de los marcadores afectan de forma proporcional la escala de los objetos virtuales, por lo cual se puede engañar al software de RA simulando cercanía al marcador aumentando su escala y simulando alejamiento del marcador disminuyéndola.
La resolución de la cámara es un aspecto a tener en cuenta, influye directamente en su capacidad de identificación del marcador, tornándose crítica cuando se manejan marcadores a largas distancias o cuando se manejan marcadores de menor tamaño del estándar (8x8 cm). Igualmente se debe considerar que el marcador agrandado debe estar dentro del volumen de visión de la cámara pues estos sistemas son sensibles a pérdidas o alteraciones mínimas del marcador.
Para obtener los ángulos mínimos de detección, se fijaron los marcadores en un telón blanco de 115x79 cm y se ubicó el robot a una distancia de 90 cm con respecto al mismo, desplazándolo alrededor del marcador, conservando esta distancia desde una medida de 0° a 180° con respecto a la superficie del marcador, como se observa en la figura 21.
Fig. 21. Escenario y parámetros de medición de ángulos críticos de trabajo con múltiples marcadores 1) Robot, 2) Telón, 3) Marcador, 4) semicírculo que delimita el posicionamiento del robot.
La tabla 4 muestra los resultados obtenidos en función de los ángulos límites de operación para cada marcador de la prueba. Esta tabla fija los ángulos mínimos de incidencia que debe tener el robot sobre los marcadores para que el software de RA pueda detectarlos de forma óptima; es decir para asegurar el buen funcionamiento del sistema se debe propender porque los marcadores estén en un ángulo de visión con respecto a la cámara del robot de entre 10° y 170°, de otro modo no se garantiza la identificación de los marcadores por parte del software de RA. En la figura 22 se observa la representación de los ángulos críticos de visión (en rojo) entre los cuales no son detectados los marcadores.
Por último en la tercera prueba se busca establecer las distancias mínimas y máximas de detección de marcadores. Para ello se conservan las mismas características de los ambientes de pruebas anteriores ubicando el marcador a la misma altura de la cámara situada en la parte delantera del robot móvil: es decir a 14 cm del piso de modo que se pueda alinear de forma perpendicular al robot.
Tabla 4. Ángulos mínimos de detección de marcadores.
Dónde:
ANGULO I: Ángulo límite de detección de marcadores medido - ángulo izquierdo.
ANGULO D: Ángulo límite de detección de marcadores medido - ángulo derecho.
Fig. 22. Ángulos críticos de visión (en rojo).
Fig. 23. Robot frente a marcador.
Luego se procede a alejar paulatinamente el robot hasta que no se aprecie el objeto vinculado al marcador. Para esta prueba se evaluaron dos software de RA: BuildAR y BuildAR Pro para tener una perspectiva más amplia de los rangos de operación de este parámetro, ver figura 23. Los resultados obtenidos se resumen en las tablas 5 y 6.
En ambos software se observa que las vibraciones del robot causadas por los componentes mecánicos que conforman el sistema locomotor y las irregularidades de la superficie por donde se desplaza, afectan la identificación del marcador, desestabilizan el auto foco de la cámara y en algunas ocasiones difuminan la imagen.
Tabla 5. Distancias de operación con BuildAR.
Tabla 6. Distancias de operación con BuildAR Pro.
Al final de la prueba se obtiene que la distancia máxima de detección de un marcador de tamaño estándar, bajo las condiciones de la prueba fue de 338 cm para el BuildAR, y 650 cm para el BuildAR Pro, entendiendo que después de dichas distancias no fue visible el objeto 3D. Por otro lado, también se observa que a una distancia mayor de 89 cm para el BuildAR y 127 cm para el BuildAR Pro el objeto virtual se desestabiliza levemente; es decir aparece intermitentemente y presenta una vibración leve con el robot estático.
De igual forma también cabe anotar que después de la pérdida de los objetos 3D se invierte el proceso acercando el robot a la marca para medir la distancia de recuperación del objeto 3D, obteniendo 600 cm para el BuildAR Pro y 301 cm para el BuildAR.
Después de lo anterior se decide realizar una segunda prueba con el fin de establecer la distancia mínima de operación del sistema. Para este caso se cambia el cubo que suministra el software por defecto, por un cubo más grande y así facilitar el análisis en el caso en que la cámara penetre un objeto virtual.
Tabla 7. Acercamiento robot desde 1m hasta 17 cm
Para esta prueba se mantiene los parámetros básicos de la prueba inicial con la diferencia que se situó al robot a una distancia de 1 m, y se fue acercando al marcador hasta que desaparece el modelo 3D. Los resultados se resumen en la tabla 7.
Tabla 8. Distancia y estados de objetos 3D
La misma metodología de las pruebas anteriores se aplica al conjunto de marcadores que se aprecian en la figura 8 con el fin de tener una vista más general del efecto de la forma en los ángulos y distancias de detección. Ver tabla 8.
3.4. Análisis de los efectos de la iluminación en la realidad aumentada.
Los resultados de estas pruebas se pueden dividir en función de la cantidad de marcadores utilizados; es decir en pruebas con un marcador y pruebas con múltiples marcadores.
Inicialmente se trata los resultados obtenidos con un solo marcador (Hiro con un tamaño de 8x8 cm) a una distancia de 90 cm del robot y con variación solo de las fuentes de luz superiores (Luz 1, luz 2), tal como se representa en la figura 24. Los resultados se resumen en la tabla 9.
Fig. 24. Disposición de luz1 y Luz 2 con respecto al marcador.
Aquí se puede ver el efecto de la iluminación sobre el proceso de umbralización y segmentación del software de RA.
Tabla 9. Comportamientos de marcador frente a variaciones de iluminación en fuentes superiores.
Se puede apreciar en las imágenes binarizadas que los mejores comportamientos se obtienen con solo la luz 1 presente y con las dos fuentes de luz energizadas (luz 1 y luz 2). Esto es resultado de la carencia de sombras y los niveles de contraste uniformes en la superficie en donde se aloja el marcador.
Este resultado se complementa con una prueba en la cual se adiciona una fuente de luz directa.
Igual que en el caso anterior los mejores resultados se obtienen con las luces 1 y 2 presentes, pero en esta prueba la fuente de luz directa (reflector) en uno de los escenarios se encuentra ubicada desde el robot y en el otro sobre el marcador. Un aspecto negativo que se observa es la generación de sombras en las proximidades del marcador debido a la fuente de luz directa lo que ocasiona problemas de detección reflejándose en falsos positivos.
En el caso de las pruebas con múltiples marcadores estas se realizan con la disposición que se aprecia en la figura 25 intercalando la posición de los marcadores entre sí.
Los resultados no fueron diferentes a los casos observados empleando un solo marcador, lo que significa que se obtuvo un mejor comportamiento manteniendo las luces 1 y 2 energizadas. Ver tabla 10.
Tabla 10. Comportamientos de marcador frente a variaciones de iluminación en fuentes superiores y reflector.
Fig. 25. Distribución de marcadores en el ambiente
Todo lo anterior ayuda a fijar un marco de referencia para las condiciones de iluminación que deben predominar en el ambiente de trabajo; dicho marco debe estar regido por las siguientes sugerencias:
La iluminación debe propender por la ausencia de sombras en el marcador, de igual forma para una mejor interpretación de los marcadores se recomienda que sea uniforme y tenue.
No se recomienda utilizar fuentes de iluminación directa pues afecta la percepción del ambiente por parte del robot, esto se da al generar puntos de brillo repercutiendo en problemas de identificación de marcadores o en falsos positivos.
En el caso de tener que emplear fuentes de luz directa se recomienda situarlas en la parte superior de los marcadores o en la misma posición de la cámara apuntando hacia el frente iluminando su volumen de visión.
La forma de la parte interna del marcador influye en la distancia y ángulo de identificación de los mismos por lo cual es fundamental ahondar en su análisis para futuras implementaciones con RA.
En las condiciones planteadas, se puede concluir que la distancia mínima a la cual debe estar el robot de un marcador de tamaño estándar (8x8 cm) para que la Realidad Aumentada funcione eficientemente es de 17 cm; esto debido a que el volumen de visión de la cámara es demasiado estrecho para abarcar al marcador a distancias inferiores.
Si se requiere que el robot trabaje por debajo de esta distancia una solución es disminuir la escala del marcador y aumentar la escala del objeto virtual con lo que se conservaría la integridad del objeto que se quiere representar.
Cuando la cámara penetra el objeto virtual su comportamiento es el mismo que si introdujéramos una cámara dentro de un objeto solido viéndose el interior o en el caso de un modelo hueco su contenido.
Es recomendable que en la implementación de sistemas robóticos móviles que empleen realidad aumentada, se tengan en cuenta parámetros como distancias mínimas (17 cm) y máximas (650 cm) de detección de marcadores, al igual que los ángulos límites de incidencia de la cámara a los marcadores (10°-170°) para obtener una identificación óptima de los mismos en ambientes in-door.
5. AGRADECIMIENTOS
Los autores agradecen respectivamente a las instituciones Pascual Bravo, Universidad Nacional de Colombia Sede Medellín, y Politécnico Colombiano Jaime Isaza Cadavid, por el apoyo recibido.
[1] Krevelen, V. & Poelman, R. (2010). A Survey of Augmented Reality Technologies, Applications and Limitations. The International Journal of Virtual Reality, 9(2), 1–20.
[2] I. Y. Chen, B. MacDonald, and B. Wunsche, “Mixed Reality Simulation for Mobile Robots,” Robot. Autom. 2009. ICRA ’09. IEEE Int. Conf., pp. 232–237, 2009.
[3] Kevin Sebastian Kain, Susanne Stadler, Manuel Giuliani, Nicole Mirnig, Gerald Stollnberger, and Manfred Tscheligi. 2017. Tablet-Based Augmented Reality in the Factory: Influence of Knowledge in Computer Programming on Robot Teaching Tasks. In Proceedings of the Companion of the 2017 ACM/IEEE International Conference on Human-Robot Interaction (HRI '17). ACM, New York, NY, USA, 151-152.
[4] Kozlov, et al. (2007). Towards Improving SLAM Algorithm Development using Augmented Reality. Proceedings of Australasian Conference on Robotics and Automation (ACRA) 2007, 7–17.
[5] Luo, R. C. & Lai, C. C. (2014). Multisensor Fusion-Based Concurrent Environment Mapping and Moving Object Detection for Intelligent Service Robotics. IEEE Transactions on Industrial Electronics, 61(8), 4043–4051.
[6] B. Yen-Hung Chen, Ian; MacDonal, Bruce; Wunsche, “Markerless Augmented Reality for RoboticHelicoptor Applications.,” Robot Vision, Lect. Notes Comput. Sci., vol. 4931, pp. 125–138, 2008.
[7] J. BędkowskiMas and A. Masłowski, “Augmented reality approach for mobile multi- robotic system development and integration,” Tech. Komputerowe, vol. 1, pp. 15–24, 2009.
[8] J. Carff, M. Johnson, E. M. El-Sheikh, and J. E. Pratt, “Human-robot team navigation in visually complex environments,” 2009 IEEE/RSJ Int. Conf. Intell. Robot. Syst. IROS 2009, pp. 3043–3050, 2009.
[9] Mekni, M. & Lemieux, A. (2014). Augmented Reality : Applications , Challenges and Future Trends. Applied Computational Science Anywhere, 205–214.
[10] S. Makris et al, "Augmented reality system for operator support in human–robot collaborative assembly". CIRP Annals - Manufacturing Technology, Ed: Elsevier, Volume 65, Issue 1, 2016, Pages 61-64
[11] Bunz, E., Chadalavada, R T., Andreasson, H., Krug, R., Schindler, M. et al. (2016) Spatial Augmented Reality and Eye Tracking for Evaluating Human Robot Interaction. In: Proceedings of RO-MAN 2016 Workshop: Workshop on Communicating Intentions in Human-Robot Interaction.
[12] J. Mejía Bustamante and R. López Varona, “Calibración de Cámara Termográfica Fluke TI-32 Thermographic camera calibration FLUKE TI-32,” Sci. Tech. Año XIX, vol. 19, no. 1, pp. 59–66, 2014.
[13] A. I. Barranco, S. Martínez Díaz, and Gómez.Jose, Visión Estereoscópica Por Computadora Con Matlab Y Opencv, 1st ed. Hardcover (dust-jacket), 2010.
[14] A. Fetić and D. Jurić, “The procedure of a camera calibration using Camera Calibration Toolbox for MATLAB,” MIPRO, 2012 Proc. 35th Int. Conv., pp. 1752–1757, 2012.