30
CMUcam visión Junta Manual de usuario Página 2 2 Sumario Introducción ... ... ... ... ... ... ... ... ... ... ... .. . ... ... ... ... ... ... ... ... .... 3 Hardware Junta de diseño ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 4 Ver reunidos ... ... ... ... ... ... ... ... ... ... ... ... .. . ... ... ... .. 5 Jumpers y los puertos ... ... ... ... ... ... ... ... ... ... ... ... ... ... 6-9 ... ... Probando ... ... ... ... ... ... ... ... ... ... ... ... .. . ... ... ... ... ... ... .... 10 Acerca de la Cámara ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11 Lista de piezas ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 24 Esquema ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... 25 Comunicación Comando Conjunto de serie ... ... ... ... ... ... ... ... ... ... ... ... ... . .. ... 12-20 Descripción del paquete de datos ... ... ... ... ... ... ... ... ... ... ... ... ... . . 21-22 Firmware Descarga de Firmware ... ... ... ... ... ... ... ... ... ... ... ... .. . ... 23

CMUcam Visión Junta

  • Upload
    toa87

  • View
    215

  • Download
    2

Embed Size (px)

DESCRIPTION

camara robot

Citation preview

CMUcam visión Junta Manual de usuario

Página 2 2 Sumario Introducción ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... 3 Hardware Junta de diseño ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 4 Ver reunidos ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 5 Jumpers y los puertos ... ... ... ... ... ... ... ... ... ... ... ... ... ... 6-9 ... ... Probando ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... 10 Acerca de la Cámara ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11 Lista de piezas ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 24 Esquema ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... 25 Comunicación Comando Conjunto de serie ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 12-20 Descripción del paquete de datos ... ... ... ... ... ... ... ... ... ... ... ... ... .. 21-22 Firmware Descarga de Firmware ... ... ... ... ... ... ... ... ... ... ... ... ... ... 23 Solución de problemas ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... 23 Esta es la CMUcam Manual v1.15 para la CMUcam firmware v1.12. Para obtener más información, visite http://www.cs.cmu.edu/cmucam o póngase en contacto con nosotros en el [email protected] Copyright 2002 Anthony Rowe y la Universidad Carnegie Mellon. Todos los derechos reservados.

Page 3 3 Introducción CMUcam El SX28 es un microcontrolador (http://www.ubicom.com/products/processors/sx28ac.html) una interfaz con OV6620 CMOS de la cámara Omnivision (http://www.ovt.com/omnicmoss.htm) en un chip que simple permite alto nivel de datos que se extraen de la cámara de video streaming. La junta comunica a través de un RS-232 o un puerto serie TTL y tiene las siguientes funciones: • Tema definido por el usuario manchas de color en 17 fotogramas por segundo • Buscar el centroide de la nota • Reunir significa el color y la variación de datos • Una transferencia en tiempo real de mapas de bits binarios de seguimiento de los píxeles en una imagen • Arbitraria imagen de ventanas • Ajustar la cámara la imagen de las propiedades

• Volcado de una cruda imagen • Resolución 80x143 • 115200 / 38400 / 19200 / 9600 baudios de comunicación en serie • Esclavo paralelo de procesamiento de imágenes en modo fuera de una sola cámara de autobús • Detectar automáticamente un color y una unidad servo para realizar un seguimiento de un objeto al inicio • Capacidad de control 1 servo tienen 1 o digital I / O pin

Página 4 4 Junta de diseño

Página 5 5 Ver reunidos

Página 6 6 Puertos Poder La entrada de potencia a la Junta pasa a través de un regulador de 5 voltios. Es ideal para suministrar a la Junta de entre 6 y 7 voltios DC de poder que es capaz de suministrar por lo menos 200 miliamperios de corriente. Nivel desplazado puerto serie Este puerto proporciona pleno cambio de nivel para la comunicación con un ordenador. A pesar de que sólo utiliza el 3 de los 10 alfileres que se envasa en una configuración 2x5 para adaptarse a la norma 9 pin cable clip-on de serie y 10 tomas pin femenino clip en las cabeceras de serie que pueden adjuntar a un cable de 10 cable.

Page 7 7 Puerto serie TTL Este puerto serie grifos en la serie I / O antes de su viaje a través del chip MAX232. Este puerto puede ser ideal para comunicación con un microcontrolador que no tiene ningún construido en el cambio de nivel. Tenga en cuenta que, puede ser necesario para eliminar el chip MAX232. Puerto de programación El puerto de programación permite que el firmware para ser descargado a la utilización de una SX28 SX-clave / o Blitzer

equivalente programador. Estos pueden ser adquiridos a partir de Parallax Inc (www.parallaxinc.com).

Página 8 8 Cámara de autobuses Este autobús interfaces con el chip CMOS de la cámara. El CMOS de la cámara está montada junta paralela a la procesamiento de parte de la junta y se conecta a partir de la clavija 1. La hembra cámara de cabecera debe ser soldado en la parte posterior de la junta. (Véase la opinión de ensamblado) Para obtener información acerca de la salida analógica de vídeo puerto ver página 11. Puerto servo Esta es la salida para el servo. La señal positiva no va a través de un regulador de la junta directiva del poder de entrada. No utilice un servo con la Junta si la Junta se está ejecutando fuera de más de 6 voltios.

Página 9 9 Procesamiento Paralelo en modo esclavo (Jumper 1) El CMUcam apoya un modo de funcionamiento que permite que múltiples juntas para procesar datos a partir de la misma cámara. Si un estilo PC104 de paso a través de la cabecera se utiliza en lugar de la norma de doble fila de cabecera mujeres, que es posible rack múltiples juntas a lo largo de la misma cámara de autobús. Al inicio, si el jumper 1 está activado, la cámara se convierte en un esclavo. Esclavo modo de la cámara se detiene bordo de poder configurar o interferir con el CMOS la configuración de la cámara. En lugar de ello, sólo el formato de los procesos de configuración por parte del capitán visión bordo. Cuándo la vinculación de los autobuses junto usted debe tener sólo un maestro, y todos los demás juntas debe ser configurado para ser esclavo modo. En esta versión actual del sistema no hay ningún mensaje que pasa entre otras juntas de la datos de la imagen de la cámara de autobuses. Esto significa que usted tiene que comunicar a cada esclavo a través de una junta independiente conexión serie. Esta comunicación a la Junta deben ser idénticos a mediante un único CMUcam. Por ejemplo, usted podría tener el capitán a bordo realiza el seguimiento de algunas de color, mientras que el esclavo bordo podría ser contada a media color datos. Cada junta se ejecuta independientemente el uno del otro y sólo el capitán puede controlar la cámara de registros. Baud Rate (Jumpers 2 y 3) 115.200 baudios 2 Abra Jumper Jumper 3 Abra 38.400 baudios Jumper 2 Ajuste Jumper 3 Abra

19.200 baudios 2 Abra Jumper Jumper 3 Ajuste 9600 Baud Jumper 2 Ajuste 3 Ajuste de puentes Debido al tiempo extra que se necesita para transmitir datos a tarifas más bajas, los marcos pueden ser omitidos en un resultado inferior velocidad de cuadro. El ritmo más lento también causa el modo de mapa de bits y resoluciones de volcado de marco a disminuir. El modo de demostración (Jumper 4) Jumper 4 coloca la cámara en un modo de demo. Demo causas modo de la cámara para llamar a la pista ventana comando y, a continuación, empezar a dar salida a un servo standard hobby PWM señal de la salida de servo. El servo los intentos de conducir la cámara montada sobre el mismo hacia el centro de la masa de color detectada en el inicio. Nota que al encender en este modo, la cámara de esperar 5 segundos antes de agarrar un color y servoing. Cuando por primera vez se inicia automáticamente la ganancia y balance de blancos son a la vez sobre. Luego, después de que se han estabilizado durante 5 segundos la cámara se enciende fuera de ellos y pide TW. (ver pg 11) El servo de seguimiento pueden ser activadas manualmente, sin el puente, mediante el envío de los 2 MM de mando y, a continuación, llamando a TW. Si, cuando el servo es montado en la cámara, que parece ser el seguimiento en la dirección incorrecta también fijar el jumper 1. Cuando el jumper 1 y puente 4 se definen, la Junta no va en modo esclavo, que se ejecuta en modo demo y se invierte la dirección de la servo. Jumper 4 utiliza el puerto UART, que inhibe el uso del puerto serie, mientras que en modo Demostración.

Página 10 10 Prueba de la Junta Una vez que haya establecido la junta y descargado el firmware, una buena manera de probar el sistema es conectar a al puerto serie de un ordenador. Paso 1: Crear una serie y cable de alimentación. Paso 2: Conecte dos de ellos pulg Paso 3: Abrir el emulador de terminal su elección y establecer el protocolo de comunicación a 115.200 baudios, 8 Bits de datos, 1 bit de parada, sin paridad, el eco local, y si es posible convertir en "añadir avance de línea" (añadir \ n para un recibido \ r). Paso 4: Dar vuelta en el tablero, el LED de encendido hasta que la luz y la pista no debe LED. Paso 5: Usted debe ver la siguiente de su emulador de terminal: CMUcam v1.12 :

Una vez que hemos visto, el consejo fue capaz de configurar correctamente la cámara y empezar la firmware. Paso 6: Tipo gv seguido de la tecla Intro. Usted debe ver el texto siguiente: : gv ACK CMUcam v1.12 : Esto muestra la versión actual del firmware. Si esto tiene éxito, el equipo del puerto serial es también configurado correctamente. Paso 7: Uso de la CMUcam java GUI gráficamente o por la interpretación de la Volcado Marco Paquete usted, centrar la lente de la cámara. Por lo general, el objetivo está enfocado cuando uno se sienta a cabo rotaciones de algunos de sus más cercanos posición a la matriz CMOS. Encendido de la lente y re-dumping el marco cada vez más debe proporcionan una buena idea de cuando la imagen es más nítida. Paso 8: Intente correr la cámara en modo de demo.

Página 11 11 Acerca de la Cámara Desde el poder, la cámara puede tomar hasta 6 segundos para ajustar automáticamente a la luz. Drástica cambios en el medio ambiente, tales como las luces se ha activado y desactivado, puede inducir a un reajuste similar tiempo. Cuando se utiliza fuera de la cámara, debido a los poderosos del sol IR emisiones, incluso en días nublados relativamente, que probablemente será necesario utilizar o bien un filtro IR o una densidad neutra 3 filtro de la cámara para disminuir la nivel de luz ambiente. El campo de visión depende de la lente se adjunta a la cámara. Es posible especiales para la cámara con el más amplio o más estrecho lentes. Lentes individuales se pueden adquirir por separado. Las funciones previstas por la cámara a bordo se pretende dar al usuario una caja de herramientas de visión de color funciones. Actual aplicaciones pueden variar mucho y se dejan a la imaginación del usuario. Al ser capaz de cambiar la ventana visible, agarra color / la luz las estadísticas y realizar un seguimiento de los colores puede ser entretejidos por el procesador de acogida para crear mayor nivel de funcionalidad. Salida de vídeo analógico 32 pines de la cámara es un autobús blanco y negro salida analógica pin. Es posible conectar el salida analógica a un televisor o multi-monitor de sincronización. Debido a la tasa de reloj de la cámara, la salida analógica no no sincronizar correctamente con el estándar NTSC o PAL sistemas. Si tiene algún sistema que puede

sincronizar con un no-estándar de señal, puede ser posible para supervisar el vídeo durante el procesamiento. En primer lugar, es necesario que cortar la conexión en la CMUcam bordo de autobuses entre la cámara pins 31 y 32. Entonces conectar la línea central en un 75 Ohm entrada coaxial para conectar la clavija 32 en la cámara de autobuses. A continuación, conectar el exterior escudo a la cámara de un terreno común (pin 31 en la cámara de autobuses). Por último, el poder de la cámara y ajustar la velocidad de cuadro hasta que vea los mejores resultados. La mayoría de televisores estándar pueden ver al menos un parpadeo asimétrica imagen cuando el reloj marco divisor de la tasa se establece en 0 (CR 17 0). Una Nota sobre el modo de demostración: con un mejor seguimiento automático de ganancia y el balance de blancos Auto-ganancia es un control interno que ajusta el nivel de brillo de la imagen que mejor se adaptan a la entorno. Se trata de normalizar las luces y darks en la imagen para que la aproximación de las generales brillo de una imagen ajustada mano. Este proceso se reitera lo largo de muchos como los marcos de la cámara automáticamente ajusta sus niveles de brillo. Si, por ejemplo, una luz se enciende y el medio ambiente es más brillante, la cámara tratar de ajustar el brillo tenue de la imagen global. Balance de blancos en el otro lado los intentos para corregir el color de la cámara ganancias. La luz ambiental en su imagen no puede ser de color blanco puro. En este caso, la cámara se vea diferente colores. La cámara empieza con una inicial de adivinar cuánto de ganancia para dar a cada canal de color. Si activa, el balance de blancos se ajustará estas ganancias en un cuadro a cuadro, a fin de que la media de color en la imagen se acerca al color gris. Empíricamente, este "mundo gris" método se ha encontrado a trabajar relativamente bien. El problema con gris mundo del balance de blancos es que si un color se llena la cámara de la vista, el balance de blancos lentamente el conjunto ganancias a fin de que el color parece ser de color gris y no su verdadero color. Luego, cuando el color se elimina, la imagen de color tener ganancias hasta que se re-establece su gris medio. Cuando el seguimiento de colores, como en el modo de demo, puede que desee permitir auto-ganancia y balance de blancos para ejecutar durante un corto período y, a continuación, cierra a retirarse. Si bien durante un plazo de unos 5 segundos, la cámara puede establecer su ganancia de brillo y color a las ganancias lo que ve como conveniente. A continuación, convirtiéndolos se detiene frente a la cámara de innecesariamente cambiar su configuración debido a un objeto que se celebra cerca de la lente o sombras etc Si auto-ganar y el balance de blancos, donde no discapacitados y la cámara ha cambiado su configuración de los valores RGB, entonces el nuevo valores medidos pueden caer fuera del color seleccionado inicialmente el seguimiento de los umbrales.

Página 12 12 Comando Conjunto de serie La serie de parámetros de comunicación son las siguientes: • 115.200 baudios • 8 bits de datos • 1 bit de parada • Sin paridad • Sin control de flujo (No XON-/XOFF o de hardware) Todos los comandos se envían utilizando caracteres ASCII visible (123 es de 3 bytes "123"). Tras un éxito transmisión de un comando, la cadena de ACK deben ser devueltos. Si hay un problema en la sintaxis de la transmisión, o en caso de detectarse una transferencia se ha producido un error, una cadena de NCK se devuelve. Después de un bien o un ACK NCK, un \ r se devuelve. Cuando un símbolo ( '\ r' seguido por un ':') se devuelve, esto significa que la cámara está a la espera por otro comando en el estado de inactividad. Espacios en blanco son importantes y se utilizan para separar argumento parámetros. El \ r (ASCII 13 retorno de carro) se utiliza para poner fin a cada línea y activar cada uno de ellos. Si visible carácter de transmisión ejerce demasiado generales, es posible utilizar diversos grados de datos en bruto transferencia. (Véase el modo raw)

Página 13 13 \ r Este comando se utiliza para ajustar la cámara a bordo en un estado de inactividad. Al igual que todos los demás comandos, usted debe recibir el reconocimiento de cadena "ACK" o el no reconocer cadena "NCK" en caso de fallo. Tras la confirmación de la inactividad el comando cámara espera a bordo de más comandos, que se muestra por el ':' prompt. Mientras que en este estado de inactividad a / r por sí misma un retorno "ACK", seguido de \ r, y: carácter de símbolo del sistema. Ejemplo de cómo comprobar si la cámara está viva, mientras que en el estado de inactividad : ACK : CR [reg1 valor1 [reg2 valor2 ... reg16 value16]] \ r Este comando establece el C amera internos de ca r valores directamente. El registro y lugares

posibles ajustes se pueden encontrar en la documentación Omnivision. Todos los datos enviados a esta debería ser en carácter decimal forma visible a menos que la cámara ha sido previamente establecido en modo raw. Es posible enviar hasta 16 registros valor combinaciones. Registro anterior los ajustes no se restablece entre CR pide, sin embargo, usted puede sobrescribir los valores anteriores. Llamadas este comando con argumentos no restablece la cámara y la cámara restaura los registros a sus estado predeterminado. Ajustes útiles: Registro Valores 5 Contraste 0-255 6 Brillo 0-255 18 Modo de color 36 YCrCb * Auto balance de blancos en 32 YCrCb * Auto fuera de balance de blancos 44 RGB balance de blancos automático en 40 RGB Balance de blancos Auto apagado (por defecto) 17 Velocidad de reloj 2 17 fps (por defecto) 3 13 fps 4 11 fps 5 9 fps 6 8 fps 7 7 fps 8 6 fps 10 5 fps 12 4 fps 19 Auto Exposure 32 Apagado automático de ganancia 33 El Auto de ganancia (por defecto) Ejemplo de la disminución de la cámara interior de la velocidad del reloj (por defecto es la velocidad 2) : CR 17 5

ACK : * El rojo se convierte en canal de Cr que se aproxima RG, El canal se convierte en verde Y que se aproxima intensidad, el tono azul se convierte en Cb que se aproxima bg RGB -> CrYCb Y = 0.59G + 0.31R + 0.11B Cr = RY Cb = BY

Página 14 14 DF \ r Este comando D UMP un F Rame el puerto serie a un ordenador. Esta es la única comando que por defecto sólo un regreso no visibles caracteres ASCII paquete. Es vertederos una de tipo F paquete que consta de la materia prima de datos de vídeo columna por columna con un marco byte sincronizar y sincronizar una columna byte. (Estos datos pueden ser leídos y se muestran CMUcamGUI por la aplicación java. ) Dado que la velocidad de transmisión de datos necesarios para enviar el vídeo en bruto es muy superior a la máxima velocidad del puerto serie, sólo una columna por cada frame es enviado a una tiempo. Esto le permite ver una lenta actualización de la vista de lo que la cámara ve. Para obtener la la relación de aspecto correcta, el doble cada columna de píxeles. La cámara es capaz de volcar un pleno marco de resolución a toda velocidad (17 columnas por segundo) a sólo 115.200 baudios. En menor tasas de baudios, o 115.200 baudios con retrasos añadido la velocidad de cuadros debe ser disminuido con el fin para ver una imagen de alta resolución. Con auto-beneficio y en el marco de las tasas más bajas, la imagen en en primer lugar aparecen mucho más brillante que de costumbre. Esto se debe a que la cámara está marcos más lento de lo habitual y toma más tiempo para adaptarse. Trate de establecer manualmente el brillo y el contraste. F Tipo de formato de paquete de datos 1 - nuevo marco 2 - nueva col 3 - final del marco RGB (CrYCb) oscila entre el 16 - 240 1 2 rgbrgb ... rgbrgb 2 rgbrgbr ... rgbrgb ... Ejemplo de un marco de volcado de un programa de terminal (ADVERTENCIA: Esto puede interferir temporalmente con un programa de terminal mediante el envío de no - visible caracteres) : DF

ACK maKP (UA $ IU AL <> AU $ L *% * YL LL (G AUsonthAYA (KMAy098a34ymawvk. ... DM valor \ r Este comando establece el D Elay antes de los paquetes que se transmiten a través del puerto serie. El valor debe establecerse entre 0 y 255. Un valor de 0 (por defecto) no tiene dilación y 255 establece la cantidad máxima retraso. Cada unidad se correlaciona demora a aproximadamente el tiempo de traslado de un poco en el actual baudios ritmo. MM \ r Este comando G y la M EAN valor de color en la imagen actual. Al igual que en el TC mando esta función sólo funciona en una región seleccionada de la imagen. La media valores serán entre 16 y 240. Asimismo, una medida de retorno de la media absoluta desviación del color se encuentran en esa región. La media, junto con la desviación puede ser un herramienta útil para el seguimiento automatizado de detección de cambio o en una escena. En el modo RGB YCrCb mapas para CrYCb. Tipo S formato de paquete de datos S Rmean Gmean Bmean Rdeviation Gdeviation Bdeviation \ r Ejemplo de cómo agarrar la media de color de la ventana de toda la : SW 1 1 40 143 ACK : GM ACK S 89 90 67 5 6 3 S 89 91 67 5 6 2

Página 15 15 GV \ r Este comando G ETS de la actual V ersion de la firmware de la cámara. Devuelve un ACK seguido de la versión del firmware cadena. Ejemplo de cómo pedir la versión de firmware : GV ACK CMUcam v1.12 HM activo \ r Este comando coloca la cámara en H-ALF resolución horizontal M oda para el DF y el comando LM comando de dumping cuando una imagen de mapa de bits. Un activo valor de 1 sólo causas impares cada columna para ser procesados. El valor por defecto de 0 desactiva el modo. I1 \ r Este comando utiliza el servo como un puerto digital I nput. Llamadas I1 devuelve un 1 o 0, dependiendo sobre el actual nivel de voltaje de la línea de servo. La línea se tira alto, porque de esto es sólo

necesario para tirar de él bajo o dejar flotar a cambiar su estado. El servo línea también puede ser utilizado como una digital salida. (Véase el comando S1) Ejemplo de cómo leer el valor digital de la línea de servo : I1 ACK 1 L1 valor \ r Este comando se utiliza para controlar el seguimiento L derecha. Se acepta 0, 1 y 2 (por defecto) como insumos. 0 deshabilita el seguimiento de la luz, mientras que un valor de 1 activa el seguimiento de la luz. Un valor de 2 pone a la luz en su defecto el modo automático. En el modo automático y al mismo tiempo de seguimiento, la luz se enciende cuando detecta la presencia de un objeto que se inscribe en el actual umbral de seguimiento. Este comando es útil como un herramienta de depuración. Ejemplo de cómo cambiar el seguimiento de la Luz y luego en off : L1 2 ACK : L1 0 ACK

Página 16 16 LM activo \ r Este comando se convierte en L M oda INE, que utiliza el tiempo entre cada fotograma de transmitir más datos detallados acerca de la imagen. Se añade el prefijo de datos, ya sea en C, M o S paquetes. Este modo es destinados a los usuarios que deseen hacer más complejo el procesamiento de imágenes en menos reducido de datos. Desde la velocidad de cuadro no está comprometida, la transformación real de los datos sometidos por el sistema de visión debe ser hecho en una tasa más elevada. Esto puede no ser adecuado para muchos microcontroladores más lento. Línea modo de efecto sobre el TC y TW: Cuando la línea se activa el modo de TC y TW o se llama de la partida modo enviar un mapa de bits binarios de la imagen que se está procesando. Se iniciará este mapa de bits con un pabellón 0xAA valor (valor hexadecimal AA no en formato legible por humanos). El valor 0xAA no se producirá en el flujo de datos. Esto es seguido octetos por cada uno de los cuales contiene el valor binario de 8 píxeles que fluyen desde la parte superior izquierda a la parte inferior derecha de la imagen. La resolución vertical está limitada por el tiempo de traslado de la horizontal a fin de líneas de datos pueden ser omitidos cuando la salida de datos. En el modo de máxima resolución, el

imagen binaria resultante es 80x48. El mapa de bits binarios es denunciado por dos de la 0xAA. Este es entonces seguido por el que normalmente se espera estándar C o M paquete de datos (procesados en que la disminución de resolución). Ejemplo de TC con el modo en línea : LM 1 : TC (datos en bruto: AA XX XX ... XX. XX XX XX AA AA) C 45 72 65 106 18 51 (datos en bruto: AA XX XX ... XX. XX XX XX AA AA) C 46 72 65 106 18 52 Línea modo de efecto sobre el GM: Cuando el modo de línea está activa y GM se llama, línea modo de enviar una cruda (no humanos legible) valor medio de cada línea que está siendo procesado. Estos paquetes se inició con una 0xFE y terminar con un 0xfd. Cada byte de datos entre estos valores representa el correspondiente línea media del valor de color. Al igual que el modo de mapa de bits la resolución vertical se reduce a la mitad, a causa de la serie de tiempo de traslado. A los 17 fps 115.200 baudios cada línea se omite. En cualquier marco más lento tasa (todavía 115.200 baudios) las líneas no se saltará. Ejemplo de GM con modo en línea : LM 1 : GM (datos en bruto: FE XX ... XX XX XX XX XX FD) M 45 56 34 10 15 8 (datos en bruto: FE XX ... XX XX XX XX XX FD) M 45 56 34 10 15 8

Página 17 17 MM modo de \ r Este comando controla la M IDDLE M trasero modo que añade el centroide coordenadas a la normal datos de seguimiento. A modo de valor de 0 disengages media masa, un valor de 1 (por defecto) se dedica media masa y un valor de 2 involucra el modo y se convierte en el servo señal PWM que intenta el centro cámara en el centro de masa de color (ver el modo de demostración Jumper descripción). Este modo es bueno si quiere un único punto de la representación cuando el objeto es o si es demasiado pequeño ruido de fondo para obtener una buena caja. Para cambiar la dirección del servo, es necesario para establecer el 2 nd poco (contando desde 0, es decir, binaria o en el valor 4) el modo de valor. Si los 3 RD trozo se establece (binaria o en el valor 8) y, a continuación, el seguimiento de un color devolverá un tipo de paquetes que N es idéntico

a un tipo de paquete M, sólo que contiene la actual posición servo como su primer valor de retorno (véase el Producto Descripción de datos de paquetes de la sección). Ejemplo de cómo deshabilitar el modo de Medio Masa : MM 0 ACK : TC ACK C 38 82 53 128 35 98 C 38 82 53 128 35 98 C 38 82 53 128 35 98 NF activo \ r Este comando controla el N oise F Ilter ajuste. Se acepta un valor booleano 1 (predeterminado) o 0. Un valor de 1 involucra el modo mientras que un valor de 0 desactiva. Cuando el modo es activo, el la cámara es más conservador acerca de cómo se selecciona un seguimiento de píxeles. Se requiere secuencial de 2 píxeles para un píxel a ser rastreados. Ejemplo de cómo desactivar el filtrado de ruido : NF 0 ACK : PM modo \ r Este comando coloca la placa en Línea P M oda. Ajuste del modo de parámetro a 1 se involucra el modo de encuesta mientras que 0 (por defecto) la convierte off. Cuando el modo de encuesta se dedica un sólo paquete es devuelto cuando un función de procesamiento de imagen se llama. Esto podría ser útil si se desea cambiar rápidamente parámetros o si tiene un procesador lento que no puede seguir con una determinada velocidad de cuadro. Ejemplo de cómo obtener un paquete en un tiempo : PM 1 ACK : TC 50 20 90 130 70 255 ACK C 38 82 53 128 35 98 :

Página 18 18 RM bit_flags \ r Este comando se utiliza para realizar la serie AW R transferencia M oda. Dice el bit valores de los primeros 3 (LSB) bits a configurar los ajustes. Todos los bits despejado establece el valor por defecto visible modo ASCII. Si bit 0 se establece, entonces toda la salida de la cámara está en bruto byte paquetes. El formato de los paquetes de datos se

cambiado a fin de no incluir espacios ni ser legible en formato de texto ASCII. En lugar de eso, se recibir un valor 255 byte al comienzo de cada paquete, seguido por el paquete y el paquete la identificación de caracteres (es decir, C para un color de paquetes). No hay \ r enviado después de cada paquete, por lo que debe utilizar el 255 para sincronizar los datos. Cualquier valor 255 bytes que pueden ser enviados como parte de el paquete se establecen a 254 a fin de evitar confusiones. Si el bit 1 se establece, el "ACK \ r" y "NCK \ r" confirmaciones no se envían. Si el bit 3 se establece, de entrada se entenderá como materias primas de valores de bytes, también. En este modo, después de los dos comandos son valores de bytes enviados, enviar 1 byte decirnos cuántos son los argumentos a seguir. (es decir, DF seguido por el valor bruto de byte 0 para no argumentos) no \ r carácter es obligatorio. Si bit 0 está habilitada y, a continuación, a la salida de la cámara está en bruto octetos Si el bit 1 está habilitada y, a continuación, el "ACK \ r" y "NCK \ r" confirmaciones se suprimen Si el bit 2 está habilitado, entonces de entrada a la cámara se encuentra en bruto octetos Ejemplo de los nuevos paquetes para la pista de color crudo con el modo de producción sólo (ADVERTENCIA: Esto puede interferir temporalmente con un programa de terminal mediante el envío no visible caracteres) : RM 1 ACK : TC 50 20 90 130 70 255 ACK C>% k (ai Ck $ &,. L RS \ r Este comando R S e ETS bordo de la visión. Tenga en cuenta, en restablecer el primer carácter es un / r. Ejemplo de cómo restablecer la cámara : RS ACK CMUcam v1.12 : S1 posición \ r Este comando te permite S et la posición del servo 1. 0 se convierte el despegue y el servo mantiene la línea baja. 1 -- 127 se ajustará el servo en esa posición mientras que el seguimiento es o significa obtener los datos. Cualquier valor 128 y superior establece la línea de alta. A fin de que el servo al trabajo, la cámara debe estar en un seguimiento o bucle significa reunir datos bucle. Valores 0 y 128 puede ser útil si se desea utilizar el puerto como servo una salida digital. El puerto puede también ser utilizado como una entrada digital (véase el comando I1). La "MM" mando puede activar o desactivar el seguimiento automático de servo.

Página 19 19 SM valor \ r Este comando se utiliza para permitir que el S witching M oda de color de seguimiento. Cuando se administra a 0 es en su modo por defecto donde regresará el seguimiento de su normal C o M color paquete. Si el valor está establecido en 1, la seguimiento de los comandos se alternarán cada cuadro de color entre paquetes y paquetes de estadística S. Cada paquetes de estadística es sólo la muestra de ser una zona de una cuarta parte del tamaño de la zona delimitada regresó el seguimiento de mando. Si no hay ningún objeto se limita, entonces no los paquetes S estadística se devueltos. Esto puede ser útil para el seguimiento de adaptación o de cualquier tipo de seguimiento que le gustaría obtener retroalimentación de la meta sujeta a la actualidad. Después de la primera de seguimiento de paquetes es devuelto, la ventana recibe un revés a tamaño completo para todos los futuros paquetes. Tenga en cuenta, usted recibirá sólo la mitad el número de color real de los paquetes por intervalo de tiempo. Ejemplo de cómo realizar un seguimiento de color con SM : SM 1 ACK : TC 200 255 0 30 0 30 ACK C 2 40 12 60 10 70 S 225 20 16 2 3 1 C 5 60 20 30 12 100 S 225 19 17 1 2 1 C 0 0 0 0 0 0 C 0 0 0 0 0 0 C 0 0 0 0 0 0 C 5 60 20 30 12 100 S 225 19 17 1 2 1 SW [xy x2 y2] \ r Este comando S ETS W indow el tamaño de la cámara. Se acepta la x, y coordenadas cartesianas de la esquina superior izquierda seguida de la parte inferior derecha de la ventana que quiera configurar. El origen es situado en la parte superior izquierda del campo de visión. SW puede ser llamada antes de un procesamiento de imagen comando para limitar el campo de visión. Sin argumentos, devuelve a la ventana por defecto completo tamaño de 1,1,80,143. Ejemplo de configuración de la cámara para seleccionar una porción mediados de la opinión : SW 35 65 45 75 ACK :

Página 20 20 TC [rmin rmax Gmin Gmax Bmin bmax] \ r Este comando comienza a T C rack un olor. Se necesita en el mínimo y máximo RGB (CrYCb) los valores y los productos un tipo M o C paquete de datos (establecido por el comando MM). El menor tipo C paquete codifica una caja limitada que contiene los píxeles de color curently definido, el número de encontró pixels (escala: valor real es de (4 píxeles) / 8) que entran en el color dado límites y un relación de confianza. El valor predeterminado de paquetes de tipo M también incluye el centro de masa del objeto. El resolución de la imagen es procesada 80x143. La X valores van desde 1 a 80 y el y valores que van desde 1 a 143. Un paquete de todos los ceros que no indica el color en la gama que se detectado. La confianza es un valor de la ratio de píxeles contados dentro del rango y la zona color de la caja. Devuelve un valor que oscila entre 0 y 255. En condiciones normales operaciones de cualquier valor mayor de 50 debe ser considerado un bloqueo muy seguro en una sola objeto. Un valor de 8 o inferior deben ser considerados muy pobres. No con argumentos, el último color seguimiento de los parámetros se repetirá. Tipo de paquete M M mx mi x1 y1 x2 y2 píxeles confianza \ r Tipo C de paquetes C x1 y1 x2 y2 píxeles confianza \ r Ejemplo de cómo una pista de color con el modo por defecto parámetros : TC 130 255 0 0 30 30 ACK M 50 80 38 82 53 128 35 98 M 52 81 38 82 53 128 35 98 M 51 80 38 82 53 128 35 98 TW \ r Este comando T rack el color se encuentra en la región central de la actual W indow. Después de la color en la ventana actual se agarró, la pista de color función es llamada con los parámetros y en la pantalla completa. Esto puede ser útil para el bloqueo y en el seguimiento de un objeto que tuvo lugar en frente de la cámara. Desde que en realidad pide pista color, se devuelve el mismo tipo de C o M color paquete. Tenga en cuenta que su fija la página sólo será utilizada para agarrar color a la pista y, a continuación, la ventana volver a 80x143. Ejemplo de cómo utilizar la ventana de pistas: : TW ACK

S 240 50 40 12 7 8 C 2 40 12 60 10 70 C 3 41 12 61 11 70 C 2 40 12 60 13 70 C 3 42 12 62 9 70 C 4 45 12 60 8 70

Página 21 21 Salida de paquetes de datos descripciones Todos los paquetes de datos de salida se puede ver en formato ASCII, excepto para el F marco prefijo y paquetes. ACK Este es el estándar de la cadena reconocen que indica que el comando se recibió y encaja en un formato conocido. NCK Este es el fracaso de cadena que se envía cuando se ha producido un error. La única vez que esto debería ser envió un mensaje de error cuando no se ha producido es en paquetes de datos binarios. Tipo C de paquetes Este es el regreso de un paquete de color de seguimiento de comando. x1 - La esquina mayoría de la izquierda del valor de x y1 - La mayoría de la izquierda de la esquina y valor x2 - El derecho de la esquina más valor x y2-El derecho de la mayoría de esquina y valor Número de píxeles de píxeles en la región de seguimiento, escala y tope de 255: (4 píxeles) / 8 La confianza (# de píxeles / área) * 256 del rectángulo delimitado y nivelado a 255 C x1 y1 x2 y2 píxeles confianza \ r F Tipo de formato de paquete de datos 1 - nuevo marco 2 - nueva col 3 - final del marco RGB (CrYCb) oscila entre el 16 - 240 RGB (CrYCb) representa un dos valores de píxeles en color. Cada píxel comparte el rojo y azul. 176 columnas de RGB (Y Cb Cr) paquetes (formularios 352 píxeles) 144 líneas Para mostrar la relación de aspecto correcta, el doble de cada columna para que su imagen final es 352x144 No comenzar con una "F" y sólo envía los datos brutos! 1 2 rgbrgb ... rgbrgb 2 rgbrgb ... rgbrgb ... Tipo de paquete M Este es el regreso de un paquete de color con el seguimiento de mando medio de masas en el modo. mx - El centro de masa x valor y m - El centro de masa y valor x1 - La mayoría de la esquina izquierda del valor de x y1 - La mayoría de la izquierda de la esquina y valor x2 - El derecho de la esquina más valor x y2-El derecho de la mayoría de esquina y valor

Número de píxeles de píxeles en la región de seguimiento, escala y tope de 255: (4 píxeles) / 8 La confianza (# de píxeles / área) * 256 del rectángulo delimitado y nivelado a 255 M mx mi x1 y1 x2 y2 píxeles confianza \ r Tipo de paquete N Esto es idéntico al de un paquete de tipo M con un valor añadido para la posición servo. OEP - La posición actual del servo N mx OEP mi x1 y1 x2 y2 píxeles confianza \ r

Página 22 22 Tipo S formato de paquete de datos Este es un paquete estadístico que da información sobre la cámara de la vista Rmean - la media Roja o Cr (aproxima rg) de un valor en la ventana actual Gmean - la media verde o Y (se aproxima a la intensidad) el valor se encuentra en la ventana actual Bmean - la media azul o Cb (se aproxima bg) que se encuentran en la ventana actual R desviación - * la desviación de color rojo o Cr encuentra en la ventana actual G desviación - * la desviación de verde o Y se encuentra en la ventana actual Desviación B - * la desviación de azul o Cb se encuentra en la ventana actual S Rmean Gmean Bmean Rdeviation Gdeviation Bdeviation \ r * Desviación: La media de la diferencia absoluta entre los píxeles y la región media. Línea de mapa de bits binarios modo prefijo de paquete Este paquete está en bruto sólo byte. Se comienza con el valor hexadecimal 0xAA y, a continuación, arroyos bytes, con cada byte que contiene una máscara para el 8 de píxeles, desde la parte superior izquierda de la parte inferior derecha de la imagen. (Cada binario de bits en el byte representa un píxel) El mapa de bits se terminó con dos 0xAAs. 0xAA nunca es transmitida como parte de los datos, por lo que deben utilizarse para indicar la terminación de la de mapa de bits binarios. Después de que el binario de mapa de bits se haya completado, un normal seguimiento de paquetes deben seguir. (datos en bruto: AA XX XX ... XX. XX XX XX AA AA) C 45 72 65 106 18 51 (datos en bruto: AA XX XX ... XX. XX XX XX AA AA) C 46 72 65 106 18 52 Accede a la línea media del modo de prefijo de paquete Este paquete de productos el prefijo significa cada color de la fila que está siendo procesado. Estos paquetes se han iniciado con un 0xFE y terminar con un 0xfd. Cada byte de datos entre estos valores representa el correspondiente línea media del valor de color. Debido a la serie de tiempo de traslado, la resolución vertical es reducido a la mitad. After all rows have been completed, a normal tracking packet should follow. (raw data: FE XX XX XX … XX XX XX FD) M 45 56 34 10 15 8 (raw data: FE XX XX XX … XX XX XX FD) M 45 56 34 10 15 8

Página 23 23

Firmware Once the board has been assembled and powered up, the firmware can be downloaded using the SX-Key downloading program. The SX-Key downloader and manual are available at: www.parallaxinc.com/html_files/downloads/downloads_sx.htm The firmware for the camera can be found at: http://www.cs.cmu.edu/cmucam/downloads.html Downloading The Firmware After downloading and installing the SX-Key software, it is necessary to load the CMUcam.hex firmware to the board. step 1: Turn on the board’s power. step 2: Ensure that the programming switch is in the program mode (pushed towards the LEDs see Assembled view) step 3: Plug in the SX-key, text side facing away from the board. (for more details see the hardware port section) step 4: Open up the SX-Key software step 5: Select "Device" from under the "Run" menu step 6: Click on the "Load Hex" button step 7: Go to the directory of the CMUcam.hex file and type its name into the dialog box. (It may not be visible) step 8: Press "Open" to load it step 9: Press the "Program" button step 10: Once programming has finished, turn off the power to the board step 11: Unplug the SX-Key and switch the programming switch into the run position step 12: Once the power switch is turned on again the firmware should be running and will greet you with CMUcam v1.12 : Troubleshooting If, when you tried to program, you see or experience: SX-Key not found -Make sure the comm port is set correctly and power is going to the camera Vpp Generation Failed -Ensure that the program switch is in the correct position Programming Failed - Try it again and if it still occurs consult the SX-Key manual No response -Make sure you switched the board out of program mode. Try power cycling the board. In Demo Mode, the light turns on for a second and then everything stops -When both the camera and servo are active, the power required is greater. Try using a battery or voltage source rated at a higher current.

Página 24 24 Hardware

The following is a list of parts needed to assemble the CMUcam. Qty Item Part no. (Digi-key) Schematic Label Unit Price 1 75 MIPS Ubicom SX28 SX28AC75/DP-ND IC1 5.18 1 OV6620 Eval Board * BB048* 57.95 1 Maxim 232 Level Shifter MAX232CPE-ND IC3 3.31 1 SG-531 75.00 MHz crystal osc SE2911-ND QG1 5.85 1 5 Volt Regulator LM2940CT-5.0-ND IC2 1.80 3 4.7 Kohm 1/4 Watt Resistor 4.7KQBK-ND R2 R3 R4 0.06 2 220 ohm 1/4 Watt Resistor 220QBK-ND R1 0.06 6 1.0 uF Capacitor P2105-ND C1 C2 C3 C4 C5 C6 0.42 2 SPST Switch EG1847-ND S1 S2 1.11 1 3mm red LED 67-1125-ND LED3MM 0.16

1 3mm green LED 67-1127-ND D1 0.16 2 0.1uF Capacitor P4923-ND C9 C10 0.55 3 100 uF Capacitor P5138-ND C7 C8 C11 0.28 2 14 pin IC socket (to form a 28 pin socket) AE8914-ND IC1 0.32 1 8 pin IC socket ** ED3308-ND QG1 0.42 1 16 pin IC socket ED3316-ND IC3 0.83 1 Double row female header 929852-01-36 JP5 3.35 1 Single row male header 929647-09-36-ND JP1x2 JP3 JP4 JP7 1.83 (1) Polarized 2 pin terminal housing WM2700-ND 0.25 (2) Crimp terminals WM2200-ND 0.13 (1) Polarized 2 pin terminal header WM2000-ND 0.25 (1) Female serial ribbon cable head AFS09G-ND 6.14

(1) Serial ribbon cable socket connector ASC10G-ND 1.11 *Order Code BB048 at http://www.electronics123.com . Ask them for an evaluation board with an OV6620 from Omnivision and an IR coated lens. **Use this for the oscillator by cutting off the inner 4 legs ( ) accessories that make interfacing easier, but are not required for functionality

Página 25 25