Debido a que el fútbol es un ambiente muy dinámico, presenta un problema importante, el posicionamiento, que no es sólo la posición del robot en el campo de fútbol, sino también la de sus compañeros. En localización siempre se supone que se conoce el mapa o entorno donde opera el robot, esto se puede saber con cierto grado de incertidumbre.
ANTECEDENTES CAPÍTULO 1. ASPECTOS GENERALES
Antecedentes
Definición del problema
Objetivos
Objetivo general
Objetivos particulares
Propuesta
La idea es crear un programa en C++, que se encargará de obtener y procesar los diferentes sensores y asociar estos datos, del mismo modo que realizará los cálculos necesarios para obtener la información sobre las coordenadas del robot y obtener la pose. en el marco de referencia local; Para recolectar datos con la cámara se utilizará la biblioteca de código abierto OpenCV (Open Source Computer Vision Library), se eligió esta biblioteca porque es de código abierto y se puede manipular de la misma manera que existen cientos de algoritmos de visión por computadora. Uno de los algoritmos propuestos para preprocesar la imagen es el "canny edge detector", que nos ayudará a eliminar la información que no necesitamos de la imagen. Para resaltar estos bordes dados, se sugiere utilizar la transformada de Hough. Cabe mencionar que estos dos algoritmos son solo propuestas ya que aún pasarán por un proceso de evaluación y prueba. Luego se elegirá el que mejor se adapte a nuestra aplicación, ya que es muy importante que sean efectivos ya que la aplicación funciona online.
Metodología
El Capítulo 5 escribe una breve conclusión y propone trabajos futuros basados en este trabajo. En este capítulo se describen detalladamente las técnicas utilizadas desde el preprocesamiento de las imágenes hasta la aplicación del filtro de partículas. Discutiremos estas técnicas en tres partes: adquisición de imágenes, segmentación y búsqueda de características del entorno.
Pre procesamiento de imágenes
- Obtención de imágenes
- Espacio de color RGB
- Espacio de color HSV
- Cromaticidad
La cámara predeterminada representa los datos en un espacio de color RGB, pero en nuestro caso usaremos una técnica de segmentación en el espacio de color HSV. En el modelo RGB, cada color está representado por tres valores de rojo (R), verde (G) y azul (B), ubicados a lo largo de los ejes del sistema de coordenadas cartesianas en un cubo. Los colores blanco y negro están representados por dos esquinas opuestas del cubo que pueden definirse mediante los ejes R, G, B del sistema de coordenadas cartesiano.
Es la percepción de un color, normalmente lo que se distingue en un arco iris, es decir. Su valor aumenta a medida que nos movemos en el sentido contrario a las agujas del reloj en el cono, con el rojo en el ángulo 0. Valor: Es la cantidad de luz de un color, es decir es la cantidad de blanco o negro que tiene un color.
El tono y la saturación juntos se llaman cromaticidad, y aunque un color puede caracterizarse por su brillo y cromaticidad, los valores de rojo, verde y azul son necesarios para formar un color llamado triestímulo, y sus valores se denotan como X, Y, Z respectivamente. En definitiva, la cromaticidad es la pureza que existe de un color en la composición de un color en el espacio RGB y para calcular la cromaticidad de un color se utiliza la siguiente ecuación:
Búsqueda de características
Transformada de Hough
El objetivo de la transformada de Hough es resolver este problema y permitir la agrupación de puntos pertenecientes a los bordes de posibles figuras votando sobre un conjunto de figuras parametrizadas. El ejemplo más simple de la transformada de Hough es la transformada lineal para detectar líneas rectas. Con base en lo anterior, la línea se puede representar como un punto (m,n) en el espacio de parámetros.
El parámetro ρ representa la distancia entre el origen de las coordenadas y el punto (x,y), mientras que θ es el ángulo del vector director de la línea perpendicular a la línea original y que pasa desde el origen de las coordenadas. El espacio (ρ,θ) se llama espacio de Hough para el conjunto de rectas en dos dimensiones. Para un punto arbitrario en la imagen con coordenadas (x0, y0), las líneas que pasan por ese punto son los pares (ρ, θ) con 2.11 donde ρ (la distancia entre la línea y el origen) está definida por θ.
Si las curvas correspondientes a dos puntos se cruzan, el punto de intersección en el espacio de Hough corresponde a una línea en el espacio de la imagen que pasa por estos dos puntos. Generalizando, un conjunto de puntos que forman una línea producirá sinusoides que se cruzan en los parámetros de esa línea.
RANSAC
PERSPECTIVA CAPÍTULO 2. MARCO TEÓRICO
Perspectiva
Modelo Pinhole
Calculamos que el punto (X,Y,Z)T está marcado en el punto (f X/Z,f Y/Z,f) del plano de la imagen, ignorando la coordenada final vemos que la proyección central está descrita por la mapa. del mundo real a las coordenadas de la imagen. El centro de proyección se llama centro de la cámara, o también conocido como centro óptico. La línea perpendicular al centro de la cámara con el plano de la imagen se llama eje principal o rayo principal de la cámara, y el punto donde el eje principal intersecta el plano de la imagen se llama punto principal.
La expresión 2.12 supone que el origen de las coordenadas del plano de la imagen es el punto principal. En la práctica esto no es posible, por lo que el mapeo es el siguiente:
Linea al horizonte
Homografias
Filtro de Partículas
Los filtros de partículas implementan directamente las transiciones de actualización de predicción de la ecuación del filtro mediante el uso de un algoritmo de selección de mutaciones de tipo genético de partículas. Las muestras de la distribución están representadas por una serie de partículas; A cada partícula se le asigna un peso de probabilidad que representa la probabilidad de que esa partícula sea muestreada a partir de la función de densidad de probabilidad. La desigualdad de peso que conduce al colapso del peso es un problema común que se encuentra con estos algoritmos de filtrado; sin embargo, se puede mitigar incluyendo un paso de remuestreo antes de que las ponderaciones se vuelvan demasiado desiguales.
Desde un punto de vista estadístico y probabilístico, los filtros de partículas pertenecen a la clase de algoritmos de tipo genético/ramificación y metodologías de partículas de dominio de interacción media. En Computación Evolutiva, las metodologías genéticas de partículas de tipo campo medio se utilizan a menudo como algoritmos heurísticos y de búsqueda natural (también conocidos como metaheurísticos. El propósito de un filtro de partículas es estimar la densidad posterior de las variables de estado dadas las variables de observación.
El filtro de partículas está diseñado para un modelo de Markov oculto donde el sistema consta de variables ocultas y observables. De manera similar, el sistema dinámico que describe el desarrollo de las variables de estado también se conoce probabilísticamente.
Obtención de la imagen
En este capítulo se describirán los métodos propuestos en el marco teórico, así como la extracción de los parámetros físicos del entorno en el que trabajaremos, como se mencionó en los capítulos anteriores, será una cancha de fútbol apta para robots.
Segmentación
Segmentación HSV
Para diseñar un filtro de color en el espacio HSV, la segmentación debe tener en cuenta el color que usaremos, en este caso no tenemos mayores problemas, ya que el color verde en la representación RGB es un color que está definido, seguido obteniendo los valores de todos los verdes con ayuda de algún programa de edición de fotografías, herramientas con tablas de colores, etc., cuando se obtienen los valores de todas las versiones de los verdes, es decir desde el verde más bajo hasta el verde más bajo.
Segmentación por Cromaticidad
Cámara
Resultados
- Procesamiento de la imagen
- Segmentación
- Rectificación de la imagen
- Búsqueda de lineas y circulo
- CONCLUSIONES CAPÍTULO 4. RESULTADOS
- Conclusiones
- Trabajo a futuro
Observando las imágenes generadas en el entorno y resultados satisfactorios, se elige este algoritmo para la aplicación final, que da paso al cálculo de la línea al horizonte, lo que nos permitirá mejorar el rendimiento informático. Podemos ver en las imágenes que gracias al modelo de movimiento conjunto de la cabeza del robot, el cálculo de la línea hacia el horizonte no tiene un gran impacto en la posición de la cabeza, esta se adaptará a estos movimientos. El algoritmo de escaneo de líneas consta de líneas rectangulares debajo de la línea del horizonte.
Para detectar las aristas se aplica la derivada a los resultados de la clasificación del color verde, en este caso nos da un resultado de obtención de las aristas, las cuales se muestran en la siguiente imagen: Luego de este proceso lo que obtenemos es una Nube de puntos en donde se ubican las líneas y círculo principal de la cancha, para ello necesitamos procesar esta información para obtener las líneas existentes y el círculo central. Teniendo ya la nube de puntos perteneciente al campo de fútbol, lo normal sería empezar a buscar las líneas y el círculo central, pero debido a un fenómeno provocado por la lente de la cámara esto no es posible.
Esto ya nos permite estimar una profundidad, no olvidemos que todo esto está dentro del plano x,y y no tenemos información del plano z cuando hablamos de profundidad. Para buscar líneas se utiliza la nube de puntos rectificados creada previamente. Esta será la entrada a nuestro algoritmo de transformación de Hough. A la hora de obtener la nube de puntos se combinaron las diferentes técnicas de procesamiento y geometría proyectiva para conseguir el objetivo.
Al obtener la línea del horizonte, se planea crear un sistema de estimación para el robot, que solo funcionará para medir el desplazamiento vertical.