Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

ayuda con vision development module y movimiento de bola

Buenas tardes.

Estoy laborando en mi trabajado de grado, una parte consiste en establecer el recorrido de una pelota de golf en un plano coordenado para luego ser pateada por un pequeño robot, como si fuere una cancha de futbol miniatura. Me refiero con el recorrido de la pelota a obtener las coordenadas en cada instante de tiempo (el menor posible). Hasta el momento tengo una cámara USB con resolución de 640*480 y 30 fps; Al adquirí la imagen  no he tenido  ningún problema y es visible en la pantalla. Además del algoritmo básico de obtener la imagen de la USB, también he incorporado varios algoritmos para detectar figuras, shapes, geometría, etc, con vision asistant (labview 2009) o sin el. Sin embargo la respuesta de las coordenadas es pobre, y en general solo me dice la del momento de inicio y final de la bola y no en el recorrido intermedio (en el movimiento, máxima velocidad e la bola 2m/s). Al parecer la velocidad del pc es lenta aunque lo dudo. Tengo un pc Pentium 4 de 1.8GhZ y 1.2 Gb de ram. Sin embargo me surge una inquietud. Cuando dentro de while infinito se coloca la operación de reconocimiento de la bola esta se hace cada frame de los 30? O cada cuanto?, después de los 30?. O como se haría para que se detectaran las coordenadas de la bola cada frame.  Les agradezco cualquier ayuda, anexo lo poco que he podido hacer.

0 kudos
Mensaje 1 de 2
3.193 Vistas

Hola ferchorr,

 

    Tu resolución y velocidad de tu cámara parecen bien, aunque quizá sea buena idea intentar con un dispositivo un poco más rápido sólo para descartar que no estés perdiendo imágenes por esta razón. De cualquier forma creo que lo primero que debes de evaluar es la resolución de tu cámara para estar seguros de que la imagen pueda ser leída de forma apropiada. Para un óptimo funcionamiento la resolución de tu cámara debe ser igual a tu Campo de vista (Field of view) multiplicado por 2 y dividido por el área visible del objeto más pequeño que quieras evaluar, en tu caso la pelota.  Una KB muy bueno para checar todas estas consideraciones te lo pongo en el siguiente link:

http://digital.ni.com/public.nsf/allkb/29D716D6F4F1FBC386256AE700727AF6

 

    Esto lo tienes que evaluar debido a que de no cumplir con estas consideraciones existe la posibilidad de que tu algoritmo falle y te esté causando un problema como el que tienes. Adicionalmente te pongo otro link que trata sobre selección de software y hardware de visión para cumplir con los requerimientos de tu aplicación.

http://zone.ni.com/devzone/cda/tut/p/id/2957

 

    Estos links pueden ser de tu interés pues tratan (entre otras cosas) del tiempo que tarda el visión assistant en hacer ciertos procesamientos que pueden llegar hasta varios milisegundos y si se hace un procesamiento muy complejo y de forma reiterativa en una secuencia ADQUIRIR 1 muestra > PROCESAR puede comprometer la temporización de tu programa y podrías perder cuadros como tú lo indicas. Para esto sería deseable usar esquemas productor/consumidor (se pueden encontrar en NI.com) y aplicarlos a visión para adquirir TODAS tus imágenes a un intervalo definido y posteriormente hacer el seguimiento del objeto y medir su desplazamiento. Finalmente el tema de calibración puede ser esencial para el correcto seguimiento en tu secuencia de imágenes. Este tema está ampliamente documentado en NI.com y hay ejemplos incluidos en labview y en el visión assistant.

 

Ojalá esta info sea de ayuda y cualquier cosa vuelve a postear e intentaré ayudarte!

 

Suerte,

Luis Ruben Soenksen
National Instruments - México
Ingeniería de Aplicaciones
www.ni.com/soporte
0 kudos
Mensaje 2 de 2
3.121 Vistas