Detección robusta de objetos en robots humanoides

En este trabajo se presenta un sistema de detección de objetos para robots móviles basado en la información visual entregada por las cámaras del robot y el estado de los encoders de cada articulación. Debido a la baja capacidad de procesamiento que poseen los computadores de este tipo de robots, no es posible utilizar técnicas clásicas de visión computacional para la detección de objetos. Por ésto, esta tesis propone un sistema de percepción alternativo, de bajo consumo computacional, de alto desempeño y robusto. El sistema desarrollado no sólo detecta objetos sino que también les calcula: la pose respecto al sistema de referencia del robot y el error de la medición dada por una matriz de covarianza. También identifica el objeto detectado en caso de tratarse de objetos repetidos en el entorno. El ambiente de trabajo es el fútbol robótico, por lo que los objetos de interés a detectar corresponden a: los arcos, las líneas de la cancha y sus respectivas intersecciones. Dado que éstos objetos poseen una geometría regular, los sistemas de percepción se basan en el ajuste de modelos de líneas rectas que luego son considerados posibles bordes de los objetos. Los puntos que conforman las líneas de borde son determinados a partir de la información de color para el caso de arcos, e información de altos gradiente de intensidad para el caso de las líneas. Luego una serie de reglas dispuestas en cascada determinan si los modelos encontrados corresponden a objetos en la imagen. La detección de objetos también hace uso de la información del estado de los encoders de los motores de cada articulación para eliminar falsos positivos y para calcular la pose de los objetos respecto al sistema de referencia del robot. Éste cálculo se realiza mediante técnicas de geometría proyectiva y hace uso de la información sobre el estado de la cámara, el cual está dado por una matriz homogénea calculada a partir de la información de los encoders. Dado que el estado de la cámara está sometido a condiciones de ruido e imperfecciones de fabricación del robot, se ha diseñado un sistema de calibración que mejora notablemente la exactitud del cálculo de la pose de los objetos detectados. Las detecciones son acompañadas de una matriz de covarianza generada a partir de funciones determinadas mediante análisis de información estadística. De esta forma las detecciones pueden ser utilizadas como observaciones directas para estimadores de estados basados en filtros de Kalman extendido (por ejemplo, el proceso de auto-localización). Con esta información el comportamiento del filtro de Kalman es más cercano a la realidad y menos susceptible a oscilaciones dadas por detecciones con poses ruidosas (como por ejemplo, cuando el objeto se encuentra a grandes distancias). Dado que los objetos líneas, esquinas y t-líneas son ambiguos, es decir, no se pueden identificar utilizando sólo información visual, se ha diseñado un sistema de identificación basado en la auto-localización del robot. El sistema funciona con una tasa de detección alta (93.8\% para el caso de los arcos) y funciona a una velocidad de aproximadamente 10 cuadros por segundo, lo cual satisface lo esperado. El sistema funciona en un robot móvil humanoide que posee un procesador AMD Geode de 500MHz y con 256MB de memoria RAM.