Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MANIZALES FACULTAD DE INGENIER Y ARQUITECTURA IA DEPARTAMENTO DE ING. ELECTRICA,ELECTRONICA Y COMPUTACION 2002
IMPLEMENTACION DE LA TRANSFORMADA DE HOUGH PARA LA DETECCION DE L INEAS PARA UN SISTEMA DE VISION DE BAJO NIVEL
UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MANIZALES FACULTAD DE INGENIER Y ARQUITECTURA IA DEPARTAMENTO DE ING. ELECTRICA,ELECTRONICA Y COMPUTACION 2002
TABLA DE CONTENIDO
TABLA DE CONTENIDO LISTA DE FIGURAS OBJETIVOS INTRODUCCION JUSTIFICACION 1. ADQUISICION DE IMAGENES 2. PREPROCESAMIENTO DE LA IMAGEN 2.1. Umbralizacin del Histograma . . . . . . . . o 2.2. Deteccin de bordes . . . . . . . . . . . . . . o 2.2.1. Laplaciano . . . . . . . . . . . . . . . 2.2.2. Algoritmo de deteccin de bordes . . o
III V VII VIII
1 2 6 6 8 8 9 12 13 14 14 18 23 25 26
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
3. TRANSFORMADA DE HOUGH 3.1. Algoritmo de Hough . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1. Descripcin del algoritmo . . . . . . . . . . . . . . . . . . . . o 3.1.2. Implementacin del algoritmo en el microcontrolador . . . . . o 4. CALCULO DE LA TRAYECTORIA CONCLUSIONES BIBLIOGRAF IA A. Diagramas de ujo
iii
29 31 32
iv
LISTA DE FIGURAS
1.1. Conguracin QuickCam-Tarjeta-Pc . . . . . . . . . . . . . . . . . . o 1.2. Interfase usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Imgenes obtenidas con el programa (1024 p a xeles) . . . . . . . . . . 2.1. Imagen con 16 niveles de gris (1024 p xeles) . . . . . . . . . . . . . . 2.2. Histograma de la gura 2.1 . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Regin de imagen de 3x3 . . . . . . . . . . . . . . . . . . . . . . . . . o 2.4. Operadores Laplacianos . . . . . . . . . . . . . . . . . . . . . . . . . 2.5. Ejemplo de aplicacin de deteccin de bordes o o . . . . . . . . . . . . . 4 5 5 7 7 9 9 10 13 15 16 17 17 19 20 21 21 22 26 27
3.1. Representacin grca de la transformada de Hough . . . . . . . . . . o a 3.2. Imagen con l nea de aprox. 20 grados . . . . . . . . . . . . . . . . . . 3.3. Transformada de Hough con l nea de 20 grados . . . . . . . . . . . . 3.4. Imgenes de prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 3.5. Imagen con ruido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1. Imagen con l nea de 90 y celdas acumuladoras . . . . . . . . . . . . . 4.2. Imagen de esquinas, con diferentes l neas . . . . . . . . . . . . . . . . 4.3. Esquinas y celdas acumuladoras (Giro izquierda y derecha) . . . . . . 4.4. Giro errneo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 4.5. Diagrama general del sistema de visin . . . . . . . . . . . . . . . . . o A.1. Algoritmo transformada de Hough . . . . . . . . . . . . . . . . . . . . A.2. Algoritmo clculo de . . . . . . . . . . . . . . . . . . . . . . . . . . a v
A.3. Algoritmo clculo del mayor . . . . . . . . . . . . . . . . . . . . . . . a B.1. Mvil desarrollado . . . . . . . . . . . . . . . . . . . . . . . . . . . . o B.2. Servomotores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.3. Seales de control para los servomotores . . . . . . . . . . . . . . . . n D.1. Circuito esquemtico memoria de datos externa . . . . . . . . . . . . a
28 29 30 30 32
vi
OBJETIVOS
GENERAL Desarrollar un sistema de vision de bajo nivel para la deteccin de l o neas utilizando una cmara QuickCam y un microcontrolador de la familia MCS-51, el cual indicar la a a direccin a seguir en una trayectoria por medio de una seal de control para dos moo n tores de un mvil. o ESPEC IFICOS
Implementar algoritmos de procesamiento de imgenes en el microcontrolador a con los cuales se obtenga una imagen binaria. Analizar el desempeo del algoritmo de la transformada de Hough con clculos n a sin punto otante. Implementar un algoritmo que permita seguir una trayectoria.
vii
INTRODUCCION
El objeto de este trabajo es desarrollar un sistema de visin de bajo nivel, para o la deteccin de l o neas utilizando, una cmara digital QuickCam (Blanco y Negro, de a puerto paralelo) y un microcontrolador de la familia MCS-51 el cual, mediante un algoritmo, indicar la direccin a seguir en una trayectoria (que solo tiene ngulos a o a rectos) por medio de una seal de control para los motores de un mvil. El programa n o se basa en la transformada de Hough de una imagen, de la que se obtiene el ngulo a aproximado de la recta que contenga sta, con lo cual se calcula la direccin a seguir. e o Los pasos a seguir para la realizacin de este sistema de visin son los siguientes: o o Adquisicin de la imagen. o Preprocesamiento de la imagen. Descripcin de la imagen (transformada de Hough). o Denir trayectoria. Para el proyecto primero se desarrollan algoritmos en lenguaje de alto nivel para la etapa del procesamiento de la imagen, para despus traducirlos a lenguaje ensame blador y comparar los resultados obtenidos.
viii
JUSTIFICACION
En el rea de robtica es necesario tener sistemas de visin de bajo costo para idena o o ticar objetos primarios, como lo son guras geomtricas, l e neas, etc., que permitan seguir trayectorias o evadir obstculos. a El procesamiento de imgenes proporciona algoritmos con los que se pueden idena ticar l neas, como lo es la transformada de Hough, la cual necesita de clculos con a punto otante, pero en la prctica no se dispone de sistemas econmicos con esta a o opcin. o Los microcontroladores de la serie MCS-51 son un sistema de bajo costo, que permiten realizar algoritmos con una precisin menor pero con resultados aceptables o para el propsito que se busca, adems es de uso generalizado, de programacin o a o sencilla y con posibilidades para aplicaciones futuras.
Permite congurar los parmetros de la cmara (Contraste, Oset, Exa a posicin) durante su funcionamiento. o Permite capturar imgenes y archivarlas. a Permite comprobar la integridad de la tarjeta de adquisicin. o Brinda la posibilidad de eleccin entre diferentes tamaos de imagen. o n Un anlisis detallado de la tarjeta de adquisicin y el software implementado se ena o cuentran en [5] donde se incluyen los diagramas esquemticos de los circuitos interfase a y el cdigo fuente para cada uno de los programas (ensamblador y Delphi). o
Hardware 1.) Interfase entre el microcontrolador con la memoria externa de 2k para manipular imgenes pequeas de 1024 p a n xeles, el diagrama esquemtico se encuentra en el a apndice D. e 2.) Interfase entre el microcontrolador y la cmara para una resolucin de 4 bits a o [5]. 3.) Interfase serial entre el microcontrolador y el PC [5]. En la gura 1.1 se muestra la conguracin general del hardware utilizado. o
2.) Ejecutar el programa interface en Delphi para la visualizacin de las imgenes. o a Modicaciones para el desarrollo espec co 1.) Se realiz la actualizacin del programa de Delphi 3 a Delphi 5, al igual que la o o componente para la comunicacin serial MsComm 5.0 a MsComm 6.0. o 2.) Se realizaron pruebas con el analizador lgico para determinar la escala de grises o real de la cmara, ya que la utilizada en el programa en Delphi no permit a a visualizar la imagen de forma correcta. 3.) Se suprimieron las opciones para cambio de tamao en la imagen (se mantiene n constante la dimensin, 32 x 32 p o xeles ) y la eleccin de puerto de comunicacin. o o 4.) Se mejor la velocidad de transmisin serial de 19200 baudios a 38400 baudios, o o estos cambios se realizaron en ambos programas (ensamblador y Delphi). 5.) Se ajustaron los parmetros de nivel de negro (Oset), exposicin y contraste a o en el programa para obtener imgenes de buena calidad. a
En las guras 1.2 y 1.3 se muestran la interfase de usuario del programa en Delphi y varias imgenes obtenidas con ste. a e
La utilizacin de ste programa en Delphi 5 es clave, para visualizar, evaluar o e y corregir los resultados de los algoritmos implementados en el microcontrolador, adems permite guardar imgenes para comparar el desempeo del sistema de visin a a n o con programas que tienen la mismas rutinas en lenguaje de alto nivel (Builder C++ 4), y su cdigo fuente se encuentra en el CD adjunto a la tesis (hough.exe). o
2.1.
Supngase una imagen como la presentada en la gura 2.1, la cual contiene una o cinta negra sobre un fondo blanco y su correspondiente histograma de niveles de gris (gura 2.2), en donde se muestran dos regiones bien diferenciadas. Una forma clara de separar la cinta del fondo es elegir un umbral T que separe dichas regiones, es decir, un punto (x, y), tal que, f (x, y) > T sea un punto que pertenezca a la cinta. De lo contrario este punto ser del fondo. Entonces una imagen umbralizada g(x, y) a
g(x, y) =
(2.1.1)
Figura 2.2: Histograma de la gura 2.1 En el caso particular de la imagen de la gura 2.1 se calcul su histograma (con el o comando hist en Matlab, gura 2.2), en el cual se notan dos lbulos bien diferenciados o (fondo y linea) por un valle que est entre los niveles de gris 4 y 8. Se escogi como a o umbral T = 5, para que se obtenga una imagen binaria donde 1 es el fondo y 0 la cinta utilizando la denicin de la ecuacin 2.1.1. Esto se aplica en el sistema de o o
visin de la siguiente manera: se recorre la imagen que est en la memoria externa o a del microcontrolador y se cambia el valor de cada p xel (es decir cada posicin de o memoria), dependiendo si est por encima o por debajo del umbral obtenindose una a e imagen binaria.
2.2.
Deteccin de bordes o
Un borde es el l mite entre dos regiones con niveles de gris distintos, de manera que estos sean los sucientemente homogneos, para que la transicin entre dichas e o regiones se pueda mirar como un cambio abrupto. La idea bsica para la deteccin de a o bordes es el clculo de una derivada, teniendo en cuenta que para una constante su a valor es cero y para un cambio ser diferente de cero. Es decir, en las regiones donde a no exista un cambio brusco el valor de la derivada es cero y para la transicin entre o regiones su valor es una constante. La primera derivada de un punto de una imagen se obtiene utilizando el mdulo del gradiente de ese punto y, la segunda derivada, se o obtiene de forma similar utilizando el Laplaciano.
2.2.1.
Laplaciano
El Laplaciano es un operador escalar de segunda derivada para funciones de dos dimensiones denido por la ecuacin 2.2.1: o
2
f (x, y) =
2 2 f (x, y) + 2 f (x, y) x2 y
(2.2.1)
La ecuacin se implementa en forma digital haciendo la convolucin de una imagen o o con una regin o mscara de 3x3 como la gura 2.3. o a El principio para la denicin de este operador es que el coeciente asociado al o p xel central sea positivo y los coecientes asociados a los p xeles exteriores sean
negativos, tal que la suma de todos los coecientes sea cero. Al hacer la convolucin o para cada punto de la imagen con cualquiera de las mscaras de la gura 2.4, la a respuesta es cero siempre que el punto central tenga el mismo valor que sus vecinos (ver libros [1] y [2]). Ya que la aplicacin de este operador es sensible al ruido, se o utiliza despus de binarizar la imagen para mejorar el resultado. e
2.2.2.
Para el caso particular de una imagen binaria, se tom como base el operador o Laplaciano con elemento central (z5 )=4 y cuya ecuacin es la 2.2.2, el cual requiere o menos clculos que el de elemento central (z5 )=8 (ecuacin 2.2.3). En cualquiera de a o las ecuaciones el valor del operador es cero cuando la regin de 3x3 tenga p o xeles iguales y una constante positiva o negativa al estar sobre el borde; el concepto que se evidencia es que si el valor del p central es diferente de alguno de sus 4 u 8 vecinos xel
10
se detecta un borde.
f = 4z5 (z2 + z4 + z6 + z8 )
(2.2.2)
f = 8z5 (z1 + z2 + z3 + z4 + z6 + z7 + z8 + z9 )
(2.2.3)
En el sistema de visin, para cada p de la imagen binarizada (que se encueno xel tra en la memoria externa del microcontrolador) se implementa el algoritmo de la siguiente manera: Se recorre la imagen (la memoria), buscando un p negro, es decir, si es blanco xel se omite el calculo. Cuando lo encuentra busca en los 4 vecinos por lo menos un p xel blanco el cual activa una bandera que indica que hay un borde. Si todos los 4 vecinos son negros no es borde.
El resultado del algoritmo se observa en la gura 2.5. Por lo tanto se hace una reduccin importante de tiempo al hacer una variacin de la ecuacin 2.2.2 ya que se o o o evitan los siguientes clculos en el algoritmo: a
11
Slo se buscan los p o xeles negros en la imagen para la deteccin del contorno o evitando los blancos. No se realizan sumas ni multiplicaciones. Es de notar que el uso que se le da a la deteccin de bordes es disminuir la cantidad o de puntos en la imagen manteniendo la forma de la l nea obtenida.
= x cos + y sin
(3.0.1)
Donde es la longitud de una normal desde el origen hasta la l nea y es el ngulo a de con respecto al eje x. Cualquier l nea recta en una imagen es representada en un punto simple (1 , 1 ) en el espacio paramtrico (, ). e Puntos colineales (xi , yi ) con i = 1, 2, 3 . . . N son transformados en N curvas sinusoidales en el plano (, ). Figura 3.1.
= xi cos + yi sin
(3.0.2)
12
13
Los puntos de interseccin de las curvas en el espacio paramtrico, corresponden o e a los parmetros (k , k ) de las posibles rectas que se encuentran en la imagen. a El espacio paramtrico es representado por una estructura rectangular de celdas, llae mada arreglo acumulador y cuyos elementos son las celdas acumuladoras A(i , i ), las cuales son los rangos esperados de (, ). Las celdas acumuladoras con una magnitud superior a un cierto umbral pueden ser consideradas como posibles l neas (ver libro [1]).
3.1.
Algoritmo de Hough
Sea E una imagen binaria de tamao M xN , en la cual cada p de la imagen es n xel uno o cero. Sean d , d vectores que contienen valores discretos del espacio paramtrico e , ( [0, (M 2 + N 2 )1/2 ] y [0, 180]). Donde R y T son el nmero de elementos u de y respectivamente. Ver libro [3].
14
3.1.1.
1.) Discretize el espacio parmetro , . a 2.) Sea A(R, T ) una matriz de contadores inicializada en 0. 3.) Para cada p E(i, j) que pertenezca a la l xel nea desde h = 1, 2, . . . T con k = 1, 2, . . . K. a) Hacer = i cos d (h) + j sin d (h). b) Halle el intervalo K que sea mas cercano al obtenido. c) Incremente matriz de contadores A(k, h). 4.) Encuentre el mximo local (kp , hp ) tal que sea mayor que un umbral. a 5.) Con el y encontrados se describe la l nea en forma polar. Como ejemplo en la gura 3.2 se tiene una imagen con una l nea de aproximadamente 20o a la cual se le aplica el algoritmo de la transformada de Hough. En la gura 3.3 se muestran las diferentes curvas en el espacio paramtrico de la imagen e 3.2. En la interseccin, es la magnitud del vector normal desde el origen a la recta o y , el ngulo de inclinacin. El cdigo fuente de este programa hecho en Matlab se a o o encuentra en el apndice C, el cual tiene la misma base del algoritmo implementado e en el microcontrolador.
3.1.2.
1.) Como entrada se tiene una imagen (M = 30 x N = 30) de la cmara que se a guarda en la memoria externa del microcontrolador (ver libro [4]). Se tienen
15
discretizados los valores de con 18 elementos ( [0 . . . 92] con intervalos de 5 unidades) y con 9 elementos ( [0o , 30o , 45o , 60o , 90o , 120o , 135o , 150o , 180o ]). 2.) Se guardan en un vector las posiciones (x, y) de los puntos (p xeles negros), que pertenezcan a una l nea y en un contador (NXY) se guarda la cantidad de stos. e 3.) Debido a que el microcontrolador no realiza operaciones de punto otante, se deben multiplicar el seno y coseno de por un factor 10, obteniendo las siguientes tablas: para el seno (0, 5, 7, 8, 10, 8, 7, 5, 0), y el coseno (10, 8, 7, 5, 0, 5, 7, 8, 10). Adems se dene la tabla de k de la siguiente manera (0, 4, 5, 10, a 11, 15, 16, 20, 21, 25, 26, 30, 31, 35, 36, 40, 41, 45, 46, 50, 51, 55, 56, 60, 61, 65, 66, 70, 71, 75, 76, 80, 81, 85, 86, 92). 4.) No se utiliza una matriz de contadores por limitaciones de espacio en la memoria del microcontrolador por tanto se implementa cambiando la forma de incrementar los acumuladores en un solo vector. Es decir, se calculan los valores de variando todos los puntos (xi , yi ) con un jo. El vector de contadores se inicializa en cero.
16
5.) Para (h) desde i = 1 . . . N XY, con h = 1 . . . 9, hacer: = xi cos d (h) + yi sin d (h) donde cos d (h) y sin d (h) son los valores de las tablas. Se halla el intervalo k que sea ms cercano al obtenido. Se incrementa la posicin k del vector de a o contadores que corresponde al intervalo k obtenido. 6.) Para el ngulo en que est, se busca el intervalo k que tenga el mayor acua a mulado. Se compara con el mayor anterior, se actualiza si ste es superior y se e guarda la posicin k del intervalo k y el actual. Esto se realiza para cada uno o de los ngulos. a 7.) El ultimo que se actualiza en el paso anterior es el ngulo de la recta. El a diagrama de ujo de los algoritmos implementados en el microcontrolador se
17
encuentra en el apndice A e Para este algoritmo se realizaron pruebas en un simulador de Ceibo para Windows que se encuentra en el sitio web [6], el cual permite cargar la memoria externa del simulador desde un archivo .hex que contenga los datos de la imagen, para determinar que los resultados de y fueran correctos se compararon con los obtenidos en hough.exe ya que tienen la misma rutina. En las guras 3.4 y 3.5 se muestran los a ngulos de las l neas encontrados de varias imgenes y una imagen con una linea de a 30o ms ruido incluyendo el resultado de los vectores acumuladores. a
19
trazan l neas para el caso de las dos posibles direcciones. Se aprecia en las imgenes a que las l neas tienen una inclinacin en la direccin de giro. Es decir, entre ms l o o a neas haya en un sentido, el giro se dar hacia ste. Para comprobar este concepto, se a e observan los mximos en las celdas acumuladoras que signican l a neas trazadas en un a ngulo particular. Para el caso de un giro hacia la izquierda (ver gura 4.3.a) se ven resaltados los mximos acumuladores de los ngulos 120o , 135o y 150o de color rojo a a y con azul los de 30o , 45o y 60o que indican un giro a la derecha. Se aprecia que la mayor cantidad se encuentra hacia la izquierda en la gura 4.3.a y hacia la derecha en la gura 4.3.b. Por lo tanto para encontrar la direccin: o Derecha: Se suman los mximos acumuladores de los ngulos 30o , 45o y 60o . a a Izquierda: Se suman los mximos acumuladores de los ngulos 120o , 135o y 150o . a a
20
Despus se encuentra el mayor entre las dos sumatorias, el cual, indica la direccin a e o seguir, proporcionando las seales correspondientes a los motores. En la gura 4.5 se n observa el diagrama general del sistema de visin. En el apndice B.1 se muestra el o e mvil en el cual se probaron los algoritmos. El cdigo fuente de todos los programas o o se encuentra en el CD adjunto al documento.
Resultados
Se realizaron pruebas con 15 imgenes para cada una de las direcciones tomando en a cuenta: ruido por cambios en la luminosidad, y huecos en las l neas. Para cualquiera de los casos, un cambio de luminosidad afecta el clculo ya que aparece demasiado a ruido o la imagen puede llegar a desaparecer. En consecuencia se debe tener en cuenta una iluminacin constante y ajuste en los parmetros de la cmara para obtener la o a a mejor l nea. En la direccin adelante (ngulo=90o ) se tiene un 100 % de acierto con o a huecos en la l nea. Para los otros casos se muestran las imgenes donde hubo error. La a gura 4.4 muestra varias imgenes donde el sentido de giro calculado diere del que a realmente es a simple vista. Por lo tanto, huecos en ciertas partes de la l nea afectan el clculo ya que se pierde informacin. Esto se debe a cambios de iluminacin. a o o
21
22
CONCLUSIONES
La dicultad para el desarrollo de software en el microcontrolador es por falta de una herramienta de depuracin en linea, que permita visualizar las variables o cuando se utilizan interrupciones y temporizadores. La elaboracin de programas de apoyo en un lenguaje de alto nivel facilita la o implementacin de los algoritmos en ensamblador, adems permite visualizar y o a comparar los resultados de manera grca. a La comunicacin serial con el microcontrolador permite evaluar cada uno de o los algoritmos utilizados, es decir, posibilita de alguna forma la depuracin del o cdigo en ensamblador. o La imagen binaria que se obtiene es de buena calidad ya que sta tiene un alto e contraste con lo cual al umbralizar se puede quitar ruido, aunque se necesita una calibracin previa de los parmetros de la cmara para conseguir buenos o a a resultados, manteniendo una iluminacin constante. o La implementacin de el Laplaciano se realiza de forma sencilla ya que es eso pec co para imgenes con poco ruido; sin embargo, en el caso contrario, el a algoritmo encontrar demasiados contornos. Para la deteccin de la l a o nea no es necesario utilizar un detector de bordes, esto se realiza por la limitacin en el o 23
24
clculo de las celdas acumuladoras en la transformada de Hough dado que stas a e son de 1 Byte. Implementar ltros en un sistema de visin de bajo nivel puede ser limitado por o la complejidad del cdigo debido al manejo de matrices, al hacer la convolucin o o de una mscara con la imagen. a El algoritmo de la transformada de Hough se desempea bien en imgenes n a con poco ruido. Las imgenes no deben tener demasiado ruido o ms de 256 a a p xeles que pertenezcan a una l nea ya que cada celda acumuladora es de 8 bits. Para disminuir este problema se aplica previamente la deteccin de bordes para o mantener la forma de la l nea pero con menos puntos. Aunque por limitaciones de punto otante se utilizan solo 9 ngulos, al aumentar los intervalos posibles a de se obtiene una mayor exactitud al hallar el esperado, inclusive si se toman ms puntos de una imagen. a El algoritmo de seguimiento de la trayectoria presenta un buen desempeo en n la direccin adelante. En las esquinas aunque las detecta de forma correcta o presenta problemas por la distancia entre el ngulo y el mvil ya que no es a o siempre la misma. Adems de seguir una trayectoria estos algoritmos se pueden utilizar en sega mentacin, descriptores de contorno y de regin, y caracterizacin tomando en o o o cuenta las limitaciones de procesamiento y de memoria del microcontrolador.
BIBLIOGRAF IA
[1] Rafael C. Gonzales y Richard E. Woods. Tratamiento digital de imgenes. a Addison-Wesley, 1992 [2] Kenneteh R. Castleman. Digital Image Processing. Prentice Hall, 1996 [3] Emmanuele Trucco and Alessandro Verri. Introductory Techniques for 3-D Computer Vision. Prentice Hall, 1998 [4] Jos Adolfo Gonzles Vzquez. Introduccin a los microcontroladores. McGrawe a a o Hill, 1992 [5] Jorge Hernando Rivera Piedrah Diseo e implementacin de un sistema de ta. n o adquisiscin de imgenes via puerto serie. Universidad Nacional de Colombia, Mano a izales. Tesis de Grado. 2001. [6] http://www.ceibo.com
25
26
27
28
APENDICE B Mvil o
En la gura B.1, el mvil incluye el microcontrolador, la cmara con su interfase o a y dos servomotores (gura B.2) con los cuales se avanza en la direccin que entrega o el algoritmo de la trayectoria. Los servomotores funcionan con una seal de PWM como se muestra en la gura n B.3. Estos servomotores estn ya adaptados para que giren continuamente y para a 29
30
cada tipo de servo que se desee controlar, se deber realizar una prueba preliminar a para encontrar exactamente el per odo y la duracin de los pulsos que mejor funcione. o Tomando como referencia la parte de atrs del mvil hacia la cmara, para ir hacia a o a adelante se env los pulsos (desde el microcontrolador) correspondientes a derecha e an izquierda respectivamente. Para realizar un giro hacia la derecha se env los pulsos an para que el motor izquierdo gire mas rpido que el derecho y para el giro hacia la a izquierda se hace la operacin inversa. o
31
32