4. C´ amara M´ ovil
5.4. Sistema de visi´on
135 140 145 150 155 160 165 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162 169 Tiempo (ms) D ir e c c ió n ( P W M ) Consigna Dirección
Figura 5.9:Resultado del control de direcci´on al realizar el veh´ıculo una trayec- toria simple con giros en ambos sentidos, el controlador tiene que realizar ajustes
seguir la trayectoria.
5.4
Sistema de visi´on
Eel sistema de visi´on se implement´o en el lenguaje de programaci´on JAVA. El sis- tema de control del veh´ıculo que radica en el Control Maestro se implement´o tambi´en en el mismo lenguaje de programaci´on, por lo que no fue necesario hacer cambios sig- nificativos para la uni´on de ambos sistemas. Del trabajo de [Ortega 06] se tomaron los desarrollos de la calibraci´on de la c´amara, el algoritmo de seguimiento, la trans- formaci´on de coordenadas y el protocolo de comunicaci´on de la c´amara. Se realizaron varias modificaciones a los algoritmos antes mencionados, para robustecer al y mejo- rar el seguimiento del veh´ıculo. El algoritmo de seguimiento se modific´o para avanzar al seguidor de acuedo al modelo cinem´atico de avance, antes de realizar la b´usqueda del objeto a seguir. Adem´as, se incluy´o la transformaci´on de coordenadas con c´amara m´ovil y se acoplaron los algoritmos para trabajar con el m´odulo de fusi´on de datos.
5.4.1
Especificaciones de la c´amara
La c´amara empleada durante la experimentaci´on es una Sony EVI-G20, de tipo
PTZ automatizada. por tanto, la c´amara tiene movimientos rotacionales de forma horizontal (pan), vertical (tilt) yzoom o acercamiento. La comunicaci´on con la c´amara se realiza a trav´es del un puerto RS-232C, utilizando el protocoloVISCA[vis 96], el cual permite conectar simult´aneamente hasta siete c´amaras en cascada. Los movimientos horizontales m´aximos de la c´amara (pan) son de ±30 grados y para los movimiento verticales (tilt) de±15 grados. Adem´as, el protocolo permite modificar las propiedades del lente y as´ı modificar el balance de blancos, adem´as del el brillo y la intensidad de
54 Cap´ıtulo 5. Implementaci´on y Experimentos
iluminaci´on, permitiendo as´ı que la c´amara opere tanto en interiores como exteriores. Respecto a los movimientos; es posible mover la c´amara en un solo eje o en dos ejes a la vez, o bien desplazarla seg´un consignas de movimientos absolutos o relativos.
5.4.2
Protocolo de comunicaci´on
La comunicaci´on entre la c´amara y el Control Maestro la realiza el m´odulo de
control de la c´amara; el cual se encarga de estimar los movimientos a realizar por
la c´amara y de enviar los comandos. Entre la computadora y la c´amara existe una comunicaci´on bidireccional, donde la computadora env´ıa la nueva posici´on a colocar la c´amara y la c´amara env´ıa avisos de ejecuci´on del comando.
El protocolo de comunicaci´on entre ambos elementos inicia cuando la computa- dora env´ıa un comando de desplazamiento; la c´amara recibe el comando y env´ıa un mensaje de acknowledge; posteriormente ejecuta los desplazamientos y al t´ermino del movimiento env´ıa una se˜nal de terminaci´on. Cuando la computadora recibe la se˜nal de terminaci´on del movimiento la c´amara ha terminado satisfactoriamente de realizar el movimiento y es seguro enviar nuevamente otro comando hacia la c´amara. En caso de que exista un error en la comunicaci´on, el control de la c´amara solicita el env´ıo de su posici´on absoluta, por parte de la c´amara, para corroborar la posici´on de la c´amara. En la Figura 5.10 se observa el paquete de informaci´on que se env´ıa a la c´amara y el protocolo de comunicaci´on. Encabezado 1 byte 1 a 14 bytes 0xFF 1 byte Mensaje
(a) Paquete de informaci´on del protocolo VISCA Cámara Comando Ack Computadora Comando Comando ejecutado Ack AckR AckR
(b) Protocolo de comunicaci´on entre la computadora y la c´amara
Figura 5.10: Paquete de comunicaci´on y protocolo de comunicaci´on entre la
computadora y la c´amara
5.4.3
Algoritmo de seguimiento
El algoritmo de seguimiento del veh´ıculo est´a basado en el algoritmo de desplaza- miento medio, el cual est´a descrito en la Secci´on 3.2. El algoritmo de seguimiento se realiza utilizando im´agenes en escala de grises. En pruebas iniciales de seguimien- to del veh´ıculo, el seguidor se atrasaba constantemente con respecto al veh´ıculo. Originalmente, el algoritmo toma una nueva imagen y comienza la b´usqueda del objeto candidato desde la posici´on anterior dentro de la imagen seg´un se describe en
5.4. Sistema de visi´on 55
Tabla 5.2:Comparaci´on entre algoritmo de seguimiento sin modificaci´on y con
un adelanto antes de la b´usqueda.
Tipo de seguimiento Grado de similitud N´umero de iteraciones
Sin adelanto 98 % 7
Con adelanto 99 % 5
el Cap´ıtulo 3, lo cual provoca que el algoritmo realice demasiadas b´usquedas para determinar el sentido de desplazamiento del veh´ıculo. Al conocer las caracter´ısticas de desplazamiento del veh´ıculo gracias al modelo cinem´atico, en t´erminos de su posici´on, orientaci´on y sentido de avance, se utiliza esa informaci´on para agilizar el seguimiento visual. Antes de realizar la nueva b´usqueda, el algoritmo de seguimiento desplaza la ventana de b´usqueda, de la posici´on anterior, en sentido del vector de desplazamiento; como resultado, el n´umero de iteraciones que realiza el algoritmo de seguimiento se decrementa. La Figura 5.11 muestra cuando la ventana de seguimiento se adelanta seg´un la orientaci´on del vector de desplazamiento del VA.
θt−1
(xt-1,yt-1) (xt,yt)
Figura 5.11: Adelanto de la ventana de seguimiento en la orientaci´on del vector de desplazamiento del VA.
Los resultados del adelanto del vector de desplazamiento seg´un el modelo cinem´atico, antes de realizar la b´usqueda, se observan en la Tabla 5.2. Se midieron el n´umero de iteraciones que realiza el algoritmo para encontrar al veh´ıculo en la nueva posici´on y la similitud que tiene la distribuci´on del veh´ıculo en la nueva posici´on con respecto a la distribuci´on inicial del veh´ıculo. Se utiliza el coeficiente de Bhattacharyya para medir el grado de similitud. En la tabla se muestra el promedio de los resultados de varias corridas.
56 Cap´ıtulo 5. Implementaci´on y Experimentos
5.4.4
Obtenci´on de la posici´on y orientaci´on
El seguimiento del VA y la transformaci´on de coordenadas se realizan de forma iterativa con cada imagen obtenida de la c´amara. La salida del sistema visual es la posici´on del centro de la ventana de b´usqueda del seguidor en coordenadas del mundo real, esta posici´on se toma como la posici´on del VA. El sistema visual no estima la orientaci´on del VA, ´este se obtiene mediante la diferencia entre la posici´on actual y la posici´on anterior, θ= arctan yt−yt−1 xt−xt−1 (5.1) donde (xt,yt) es la posici´on actual y (xt−1,yt−1) es la posici´on anterior, de acuerdo al
centro de la ventana de b´usqueda del seguidor.
El seguidor calcula una estimaci´on de posici´on mas r´apido que el desplazamiento perceptible del veh´ıculo. Ya que la transformaci´on de coordenadas se realiza en cada ciclo, la retroalimentaci´on al veh´ıculo se pudiera realizar a dicha frecuencia. La obtenci´on repetida de la posici´on no implica ning´un problema en su estimaci´on, en cambio, para la obtenci´on de la orientaci´on del veh´ıculo si presenta un problema ya que introduce ruido en su estimaci´on.
Se incluy´o un umbral el cual determina que el veh´ıculo se desplaz´o en el espacio de trabajo de forma perceptible para el sistema de visi´on. El sistema visual, al estimar la posici´on del veh´ıculo establece el desplazamiento m´ınimo que el veh´ıculo debe realizar, para tomar en cuenta la medici´on,
Um < p
(xt−xt−1)2+ (yt−yt−1)2 (5.2)
donde Um es la distancia umbral de movimiento que se debe de superar.
La Figura 5.12 es una comparaci´on de los resultados obtenidos utilizando la distan- cia de umbral como filtro, contral el uso de los datos crudos.
Para evitar que el ruido en la estimaci´on de la posici´on, se propague en la estimaci´on de la orientaci´on del veh´ıculo, se agreg´o un filtro digital a la estimaci´on de la orientaci´on. Se utiliza un filtro digital pasabajos descrito en la ecuaci´on 5.3, donde θt es la se˜nal filtrada por el pasa bajo. El filtro responde s´olo a los cambios peque˜nos, ignorando los cambios dr´asticos de posici´on,
θt = (WcT θt+θt−1)
1 1 +WcT
(5.3) θt es la se˜nal filtrada, θt−1 es la se˜nal en un tiempo de muestreo anterior, Wc es la frecuencia de corte y T es el tiempo de muestreo.
La Figura 5.13 muestra las gr´aficas de la orientaci´on del veh´ıculo, en el seguimiento de una trayectoria, al utilizar el filtro de primer orden y cuando no se utiliza. Gracias al filtro, el dato de orientaci´on del veh´ıculo es mas estable, con menor ruido.
5.4. Sistema de visi´on 57 -4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 -1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 X Y
(a) Posici´on obtenida conUm= 0
-4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 -1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 X Y
(b) Posici´on obtenida conUm= 0.13
-3 -2 -1 0 1 2 3 0 100 200 300 400 500 600 700 800 R a d ia n e s
(c) Orientaci´on obtenida conUm= 0
-3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5 0 10 20 30 40 50 60 R a d ia n e s
(d) Orientaci´on obtenida conUm= 0.13
Figura 5.12: Datos comparativos entre los datos crudos (Um = 0) en ori-
entaci´on (a) y (c) respectivamente, contra el uso de un filtro de distancia
58 Cap´ıtulo 5. Implementaci´on y Experimentos -3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5 0 10 20 30 40 50 60 R a d ia n e s
(a) Datos crudos al calcular la orientaci´onθ
-3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5 0 10 20 30 40 50 60 R a d ia n e s
(b) Utilizando el filtro de primer orden, Wc= 5 y
T = 0.18.
Figura 5.13: Orientaci´on del veh´ıculo con datos crudos y al incluir el filtro de
primer orden con Wc = 5 y T = 0.18