Interfaz Gráfica para la CMUCAM3 -...

43
Interfaz Gráfica para la CMUCAM3 Arturo Camarillo Rodríguez Seminario del Proyecto de Investigación en robótica Humanoide

Transcript of Interfaz Gráfica para la CMUCAM3 -...

Page 1: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Interfaz Gráfica para la CMUCAM3

Arturo Camarillo Rodríguez

Seminario del Proyecto de Investigación en robótica Humanoide

Page 2: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Objetivo• GENERAL:• Aprender a manejar la interfaz Gráfica creada en LabView para la

cámara.

• ESPECÍFICOS:• Obtener una imagen de la CMU y verla en la interfaz• A partir de dicha imagen seleccionar los colores de nuestro interés y

crear los cubos de color• Escribir los datos en la cámara• Obtener la segmentación de la cámara• Ver los datos con los que está trabajando la cámara

Page 3: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Material• CMUCAM 3• Tarjeta SD• Adaptador TTL-Serial• USB2Dynamixel• Pila para la cámara• Objetos de colores distinguibles

Page 4: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

DESARROLLO

Page 5: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Conexión de la cámara• USB2Dynamixel• Revisar que esté el switch en RS232

Page 6: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Serial

Page 7: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Cámara

Tarjeta SD

Adaptador Serial

Alimentación(5-12V)Pin derecho es +

Page 8: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Bajar el programa a la CMU• Instalar LPC2000 flash utility• Revisar en que puerto COM se dio de alta.

Modificar a un COM 1-5 en caso de ser necesario.

• Abrir el programa para subir el programa a la cámara.

Page 9: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.
Page 10: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Seleccionar Archivo .HEXNombre del archivo:

havimo_lpc2106-cmucam3.hex

Page 11: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Baud Rate y Puerto COMBaud Rate: 115200Puerto: En el que se haya dado de alta

Page 12: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Dispositivo y FrecuenciaDevice: LPC2106Freq: 14745 Hz

Page 13: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Apachurrar el botón mientras se baja el switch de encendido

El jumper es importante para bajara un programa a la CMUCAM3

Page 14: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Si lo hicieron bien…

Page 15: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Apachurrar el botón Mágico

Page 16: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Please reset… Dar OK

Page 17: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Re iniciar la CMUcam3 …Cerrar el programa de Philips

Prender y apagar el switch de la cámara

Page 18: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

INTERFAZ GRÁFICA

Page 19: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Espacio de color RGB

Page 20: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Espacio RGB• Red• Green• Blue• Nosotros trabajamos con una resolución

de 1 byte• 0 a 255 por cada uno• 176*143 (resolución baja de la cámara)=

25,168 pixeles en total

Page 21: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

COMUNICACIÓN

Page 22: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Opciones• 0: Recibir una Imagen• 1: Segmentar una Imagen y mostrar los

resultados (una por una o continuo)• 2: Cambiar valores de colores• 3: Ver valores de la cámara

• Hasta 7 colores

A continuación se explican cada opción.

Page 23: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Comunicación• Serial RS232• Interfaz manda comando• Cmucam recibe comando, procesa la

petición y envía respuesta• Interfaz recibe respuesta y la procesa.• Interfaz genera resultados.

• Código ASCII

Page 24: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Opción 0• Comando mandado: “aaaaa\n”• Regresa las 3 componentes (RGB) de los

25,168 pixeles.• Manda 143 paquetes de 530 bytes cada

uno• …

• Cada byte representa un número entre 0 y 255.

• Así hasta juntar la imagen

0x0D

1 2 176

0x0A

Page 25: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Opción 1• Comando mandado: “aaaab \n”• En el espacio en blanco aparecera ya sea

a=1 color; b=2 colores…g=7colores.• Manda el tiempo que tardó en analizar la

imagen (en ms) => “273\n”• Luego por cada color…• Si no encontró el color mandará: “no hay

objeto de ese color…\n”

Page 26: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Si encontró el color:• [# de grupos encontrados]\nPor cada grupo manda:• [#grupo][xmin][xmax][ymin][ymax][#pix]\nDonde• [#grupo] identificador del grupo• [xmin] coordenada en x ubicada a la izquierda• [xmax] coordenada en x ubicada a la derecha• [ymin] coordenada en y arriba• [ymax] coordenada en y abajo• [#pix] número de pixeles que contiene ese grupo

Page 27: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Ejemplo

• [3] [31] [45] [23] [64] [35] [enter]• 0x03 0x1F 0x2D 0x17 0x40 0x23 0x0D 0x0A

Page 28: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

• Son máximo 10 grupos por color• Y solo se envían los datos de los grupos

que tienen más de 5 pixeles.• Si no hay ningún pixel del color o los

grupos tienen todos menos de 5 pixeles entonces aparecerá la leyenda “no hay objeto de ese color…”

Page 29: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Opción 2• Comando mandado: “aaaac \n”• Primer espacio corresponde al igual que

en la opción 1 al # de colores que modificaremos.

• Segundo espacio es variable, desde 6 hasta 42 bytes

• Cada 6 bytes son los límites de cada “cubo” de cada color

Donde RLL=red lower Limit,RUL=red upper Limit, etc

RLL RUL GLL GUL BLL BUL

Page 30: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Opción 3• Comando mandado: “aaaad\n”• Devuelve los límites de los cubos de los 7

colores que tiene registrados en la tarjeta SD

• “ \n”• Un paquete por cada color

RLL RUL GLL GUL BLL BUL

Page 31: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

NOTA: Siempre se debe iniciar usando la opción 0.

Page 32: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Seleccionar Puerto COM

Page 33: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Indicadores de Texto

Indicador Opción 1: estatus de la segmentación# Grupos: grupos encontrados de cada colorTiempo: tiempo desde que se mando el comando hasta que se terminó de procesar la información (LabView) [ms]Tiempo de Segmentación: Tiempo que toma a la cámara analizar la imagen

Page 34: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Indicadores Gráficos

Page 35: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Imagen Original• Cuando se seleccione

la opción 0, la imagen que mande la cámara se verá en este espacio.

Page 36: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Filtro• De acuerdo a

como vayan variando los valores se irán presentando en este cuadro los pixeles que se encuentren dentro de nuestra área de interés.

• Se controla el número de colores

Page 37: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Caja delimitadora (BondingBox)

• Cuando se activa la opción 1, se verán en este cuadro los resultados de la segmentación realizada por la cámara.

• Con el siguiente control determinas cuántos colores:

Page 38: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Seleccionador• Para poder

seleccionar específicamente con un click que pixeles queremos.

• Si está en 0 no hace nada.

• De a uno por uno

Page 39: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Indicadores “cubos”• Podemos ver los límites numéricos de nuestros

cubos.• El led indica que color se está modificando

(depende del seleccionador)

Page 40: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Botón Resetear• Cuando lo pulsan resetean los límites del color

que se esté modificando (o sea el que tenga el led prendido)

Page 41: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Switch Continuo• Derecha activado• Izquierda desactivado• Solo debe activarse

con la opción 1• Provoca que la

segmentación sea continua, es decir que no es necesario apachurrar muchas veces el botón OK de la opción

Page 42: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Interfaz

Page 43: Interfaz Gráfica para la CMUCAM3 - …homepage.cem.itesm.mx/aaceves/Bogobots/seminario/InterfazCMU.pdf · • Aprender a manejar la interfaz Gráfica creada en LabView para la cámara.

Referenciaswww.cmucam.orgVision module Quick Start (Havimo):http://robosavvy.com/RoboSavvyPages/Support/Hamid/Ha

ViMoQuickStart.pdfPara bajar el Flash Utility:http://www.nxp.com/products/microcontrollers/support/softw

are_download/lpc2000/Para bajar el RunTime Engine:http://joule.ni.com/nidu/cds/view/p/id/2087/lang/es