Camera Install USB - opi-lab/lab-docs GitHub Wiki

Guía de Instalación - Cámara USB 3.0

1. Introducción.
2. Configuración de la Cámara.
   2.1. Partes y Características.
         2.1.1. Cuerpo de la cámara.

         2.1.2. Objetivo de la cámara.

         2.1.3. Montaje para trípode.

   2.2. Montaje Mecánico.
   2.3. Conexiones Eléctricas.
3. Software de Adquisición.
   3.1. Pylon Viewer.
         3.2.1. Configuración inicial.

   3.2. C++ (Visual Studio).
         3.2.1. Configuración inicial.

   3.3. MATLAB.
   3.4. LabVIEW.

1. Introducción.

En la siguiente guía se explica de manera detallada la configuración inicial para una cámara USB 3.0 Vision. Se incluye una explicación del montaje mecánico, las conexiones eléctricas, y software de adquisición en Pylon Viewer, Visual Studio C++, MATLAB, LabVIEW.

2. Configuración de la Cámara.

2.1. Partes y Características.

2.1.1. Cuerpo de la cámara.

La cámara utilizada para el desarrollo de la presente guía es la Basler acA1300-200um, integrada con un sensor CMOS PYTHON 1300, con una resolución de 1280x1024 px, que entrega 203 fps (frames per second) y es monocromática. Esta cámara cuenta con estándar de interfaz USB 3.0, por lo que requiere una conexión tipo USB.

2.1.2. Objetivo de la cámara.

La cámara implementada por defecto no viene con objetivo incorporado, por lo que se debe adquirir por separado y acoplarse. Se acopló un objetivo desarrollado por Computar (M0814-MP2), compatible con sensor ⅔”, distancia focal de 8 mm, campo de visión de 67.1°, apertura f1.4, y montura de tipo C.

2.1.3. Montaje para trípode.

La placa adaptadora Tripod Mount Ace viene incorporada con 4 tornillos que permite fijar la cámara Basler a un trípode o a una superficie. Este accesorio se adquiere por separado.

2.2. Montaje Mecánico.

Al momento de colocar cualquier cámara en el sistema de visión armado, se deben apretar los tornillos en un determinado orden, y así garantizar la alineación óptima del dispositivo. El orden de ejecución depende del tipo de tornillos (M2 o M3) empleados en el esquema.

El diseño de la base de la cámara está compuesto por 4 tornillos M2 y 3 tornillos M3 (ver figura debajo), que pueden ser seleccionados (solamente una clase de tornillo) para adherir el dispositivo a uno de los soportes estándar, en éste caso al Tripod Mount ace descrito previamente. El esquema de dimensiones y clasificación de tornillos es el siguiente:

Es posible si los requerimientos del usuario lo exigen, diseñar un soporte personalizado que se adapte a las condiciones descritas en la figura superior, contemplando la idea de que el modelo que se obtendrá debe ser similar al mostrado a continuación:

2.3. Conexiones Eléctricas.

La tecnología implementada corresponde a USB3 Vision, por lo que el suministro de corriente y voltaje se hace a través de un cable USB. Pero, la entrada de alimentación de la cámara no es la entrada convencional, por lo que será requerido utilizar un cable especial.

El cable de alimentación utilizado es el Cable USB 3.0, Micro B. Se denomina así por el tipo de conectores que maneja, el primero se trata del conector USB 3.0 en el lado del PC que brinda una mayor velocidad de procesamiento, mientras que, el segundo corresponde a un conector Micro B con tornillos de bloqueo en el lado de la cámara.

Hay conectores localizados en la paste posterior de la carcasa, aparte del puerto *Micro B*, se ubica un conector de *6 pines* para acceder a las líneas de entrada y salida a la cámara, y en medio, un *indicador LED* de color verde que se activa cuando el dispositivo se enciende.

El proceso de adquisición de imágenes controlado por el usuario solo requiere energizar a través de la conexión al computador. No obstante, si se desea sincronizar el disparo con un trigger externo, como sería el caso de un proyector u otra cámara, es necesario transmitir la señal de activación por el pin trigger-in y el pin tierra (GND) ubicados en la zona posterior.

Un esquema con las conexiones eléctricas descritas previamente (sincronización de señal de activación) para la cámara USB 3.0 es el siguiente:

3. Software de Adquisición.

En este apartado de la guía se explica de manera detallada las configuraciones iniciales para la adquisición utilizando la cámara GigE, en los entornos de desarrollo de Pylon Viewer, Visual Studio C++, MATLAB, y LabVIEW.

Este apartado de la guía fue diseñado utilizando un sistema operativo Windows.

3.1. Pylon Viewer.

Pylon Viewer es una plataforma compuesta por un SDK y un conjunto de controladores y herramientas que permiten la utilización de las cámaras Basler (GigE o USB). Pylon Viewer se puede descargar de manera gratuita en la página de Basler. Es importante instalarlo en modo desarrollador y seleccionar la interfaz USB.

3.1.1. Configuración inicial.

La tecnología USB 3.0 debido a su sencillez de conexión no requiere de ajustes previos, por lo que solamente se necesita asegurarse de contar con puertos USB 3.0 de alta velocidad, para tener una mejor experiencia a la hora de la transmisión de datos desde la cámara. Las instrucciones que se deben seguir para la prueba en Pylon Viewer se listan a continuación:

  1. Conecte la cámara al computador tal como se indica en el apartado de conexiones eléctricas. Luego, verifique a través del panel de dispositivos que aparezca en la sección de USB el ID de la cámara, tal como se observa a continuación:

  2. Ahora se debe seleccionar el botón de Open Device se habilita una ventana en el área de adquisición para imágenes, donde puede optar por tomar una fotografía, o grabar una secuencia de frames (video); es una elección que queda a su preferencia y necesidad de acuerdo a los requerimientos que tenga.

3.2. C++ (Visual Studio).

Microsoft Visual Studio es un entorno de desarrollo integrado (IDE) capaz de integrarse a sistemas operativos Windows, Linux y Mac OS. Es compatible con múltiples lenguajes de programación, tales como C++, C#, Visual Basic, Java, Python, Ruby, PHP, entre otros.

Visual C++ se encarga del desarrollo de aplicaciones creadas en C y C++ específicamente en Windows OS. Incluye una serie de bibliotecas, un compilador propio y una gama de herramientas, con la posibilidad de extenderse a través de las configuraciones apropiadas.

3.2.1. Configuración inicial.

Implementar la sintaxis del lenguaje C++ en el IDE de Visual Studio requiere una serie de configuraciones previas de modo que se enlacen las nuevas librerías y paquetes de Pylon que permiten controlar las acciones a ejecutar por la cámara Basler USB. Las instrucciones que se deben seguir para la creación de una solución funcional son las siguientes:

  1. Inicialmente, se debe dirigir a la plataforma oficial web de Microsoft Visual Studio y seleccionar la etiqueta Descargar Visual Studio Community 2019, dependiendo del año será la versión disponible, así que el usuario tiene la libertad de elegir el de su preferencia. Para el desarrollo del proyecto descrito aquí se utilizó la versión 2017.

  2. Una vez se ha descargado, se debe hacer doble click sobre el archivo ejecutable (abrir como administrador), donde empezará a cargar una barra de proceso verde, que al finalizar pide autorización para ingresar al asistente Visual Studio Installer, diríjase a la pestaña de disponibles y escoja la versión definitiva (en la imagen de abajo se puede ver que la versión 2019 no está disponible por restricciones del sistema operativo, por lo que se escoge la 2017.)

  3. Luego de presionar el botón de iniciar, se visualiza la página de inicio, en donde se dirige a la pestaña de Nuevo, y se selecciona la opción de Proyecto (Ctrl + Shift + N) para configurar nuestra primera solución, así:

  4. Al seleccionar un nuevo proyecto, una nueva ventana desplegable aparecerá, en ella se debe establecer etiquetas como el nombre de la solución, el tipo de aplicación, y la ubicación dentro del ordenador. La casilla para la creación del nuevo directorio se marca para evitar desorden a la hora de insertar los nuevos ficheros en la carpeta de destino, y es importante recordar que debe estar posicionado sobre la pestaña de Visual C++.

  5. Después de pulsar el botón Aceptar, el programa se encarga de generar una nueva solución para un proyecto vacío, dentro de la cuál no habrá archivos añadidos, por lo que se procederá a crear un fichero main.cpp (Ctrl + Shift + A), dónde se asignará el método principal, posteriormente, seleccionará la pestaña Proyecto en la cinta de herramientas, y dirigirse hasta Propiedades y hacer click.

  6. Al salir el menú desplegable con las propiedades del proyecto, se deben seguir las instrucciones establecidas por la guía de programación de Pylon, que sirven para compilar correctamente una aplicación de 32 bits, aunque a través de modificaciones avanzadas puede variarse la configuración predeterminada.

  • a) Para configurar proyectos de lanzamiento (release) y depuración (debug) agregue los siguientes directorios de inclusión: (Propiedades de configuración → C++ → General → Directorios de inclusión adicionales). Edite el recuadro y coloque: $(PYLON_DEV_DIR)\include;

  • b) Agregue los siguientes directorios de bibliotecas para los proyectos de lanzamiento y depuración: (Propiedades de configuración → Vinculador → General → Directorios de bibliotecas adicionales). Edite el recuadro y coloque: $(PYLON_DEV_DIR)\lib\Win32;

    PYLON_DEV_DIR es un comando que almacena la ruta de instalación del modo desarrollador de Pylon (Pylon Development).

  • c) Habilite la información del tipo en tiempo de ejecución para configurar proyectos de lanzamiento y depuración: (Propiedades de configuración → Idioma → Habilitar información de tipo en tiempo de ejecución). Despliegue la lista y seleccione la opción: SI(/GR).

  • d) Habilite las excepciones de C++ para proyectos de lanzamiento y depuración: (Propiedades de configuración → C++ → Generación de código → Habilitar excepciones de C++). Por defecto el parámetro está configurado: SI(/EHsc).

Debe realizar estos procedimientos para todas las configuraciones y plataformas.

Después de aplicar y aceptar todos los cambios realizados, se procede a comprobar la existencia de las librerías dentro del entorno de la solución diseñada, a través de la directiva de preprocesador C++ #include y escribir pylon dentro de paréntesis angulares. El IDE nos brindará una lista desplegable con los métodos disponibles.

3.3. MATLAB.

MATLAB es un entorno de desarrollo numérico que permite la programación a través de un lenguaje propio, el cual permite desarrollar aplicaciones de adquisición y procesamiento de imágenes. A continuación se detallan las configuraciones iniciales y la instalación de los paquetes requeridos para utilizar la cámara USB 3.0.

  1. Abra MATLAB y diríjase a la sección de Home, luego seleccione “Get Add-Ons”.

  2. En la ventana de Add-Ons Explorer busque el toolbox de adquisición con hardware USB 3.0 Vision (Image Acquisition Toolbox Support Package for GenICam Interface), luego haga clic en descargar e instalar.

  3. En la ventana de comandos de MATLAB escriba el comando imaqtool, para abrir la herramienta de adquisición de imágenes.

  4. En la herramienta de adquisición de imágenes, seleccione la cámara USB 3.0 y elija un formato de adquisición.

  5. Seleccione el formato por defecto (Mono8), y en el panel de Preview presione Start Preview para visualizar la imagen de la cámara, y en el panel de Acquire presione Start Acquisition para adquirir una imagen.

  6. Al presionar Start Acquisition, se tomará una foto como la señalada previamente, con la posibilidad de transferirla a otro entorno presionando el botón de Export Data.

3.4. LabVIEW.

LabVIEW es una plataforma o entorno que permite realizar programación gráfica a través de bloques, y diseñar interfaces gráficas para el usuario de manera sencilla. Además, permite desarrollar software con aplicaciones en visión artificial a través del módulo Vision Development. A continuación se detallan las configuraciones para utilizar la cámara USB con LabVIEW:

  1. Con previa instalación de los módulos de Vision Development & Vision Acquisition, se debe dirigir hacia el ejecutable de LabVIEW que haya instalado y abrirlo. Ahora, seleccione un nuevo proyecto VI, utilice el acceso directo desde el teclado Ctrl + T para separar el Block Diagram & el Front Panel y brindarle un mejor aspecto visual. Haga click derecho en cualquier parte del Block Diagram y siga las instrucciones en la imagen debajo:

  2. Seleccione el bloque de Vision Assistant y haga doble click sobre ella para abrirla y acceder a una ventana emergente donde se puede visualizar el asistente, ahora, en la esquina superior derecha modifique la selección de Process Images hacia Acquire Images, tal y como se muestra a continuación:

  3. Se desplegará en la parte inferior izquierda un pequeño panel con 4 opciones disponibles dependiendo de las condiciones de adquisición que requiera, para el caso de la cámara GigE o USB se escoge la opción señalada a continuación

  4. Se le abrirá un nuevo panel que contiene 2 pestañas Main & Attributes, en la primera le apareceran los dispositivos de adquisición conectados y disponibles. Seleccionará la referencia para la cámara USB3 Vision utilizada como se observa en la imagen:

  5. Se podría empezar ahora la adquisición, sin embargo, para mayor eficacia a la hora de adquirir nuestras imágenes es posible ingresar a la segunda etiqueta nombrada por CameraAtrributes, desplegar ahora la pestaña de AcquisitionControl, diríjase a el parámetro llamado ExposureTime y modificar su valor para permitir una mayor entrada de luz hacia la cámara por medio de la apertura del obturador (ajustar de acuerdo a las condiciones luminosas del sitio), tal y como se observa en la imagen:

  6. Coloque cualquier objeto debajo de la cámara y presione el boton de Acquire Continuos Image para visualizar los fotogramas en tiempo real, o directamente tomar una sola foto a través del boton ubicado a su izquierda. El resultado de una prueba desarrollada se puede ver en la imagen superior.

⚠️ **GitHub.com Fallback** ⚠️