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

Guía de Instalación - Cámara GigE

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. Recomendaciones Iniciales.
   3.2. Pylon Viewer.
         3.2.1. Configuración inicial.

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

   3.4. MATLAB.
   3.5. LabVIEW.

1. Introducción.

En la siguiente guía se explica de manera detallada la configuración inicial para una cámara GigE 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-60gm, integrada con un sensor CMOS e2v EV76C560, con una resolución de 1282x1026 px, que entrega 60 fps (frames per second) y es monocromática. Esta cámara cuenta con estándar de interfaz GigE Vision, por lo que requiere una conexión tipo Ethernet.

2.1.2. Objetivo de la cámara.

La cámara implementada por defecto no trae un objetivo incorporado, por lo que se debe adquirir por separado y acoplarse. Se acopló un objetivo fabricado por Edmund Optics, modelo # 58001, distancia focal de 12 mm, campo de visión con formato de sensor máximo de 41.4°, apertura f1.8, y está conformado por una serie de lentes de distancia focal fija.

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 estandar, 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, considerando la idea de que el módelo que se obtendrá debe ser similar al mostrado a continuación:

2.3. Conexiones Eléctricas.

Al implementar la tecnología Gigabit Ethernet, el suministro de corriente y voltaje para una cámara GigE debe hacerse a través de este tipo de cable, sin embargo, se debe cumplir con unos requerimientos eléctricos específicos, que se pueden suplir a través de un PoE Injector (Power over Ethernet), que es capaz de entregar la alimentación necesaria para operar correctamente.

El PoE Injector TL-POE150S se encarga de inyectar la corriente eléctrica al cable Ethernet, quien transmitirá la información de datos y la señal de alimentación hasta el dispositivo final. Si la IP de la cámara no soporta tecnología PoE, se requerirá el uso de un splitter PoE externo.

El proceso de adquisición de imágenes controlado por el usuario solo requiere energizar a través del cable de red precedido por el PoE Injector, quien a su vez es alimentado por un adaptador a través de la terminal DC. 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 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. Recomendaciones iniciales.

A continuación, se muestran algunas recomendaciones iniciales antes de realizar la adquisición con la cámara GigE:

  • Desactivar el Firewall para la conexión de red dedicada a la cámara. (Panel de control → Sistema y seguridad → Firewall de Windows → Desactivar Firewall de Windows.)
  • Actualizar el controlador de red a su última versión.
  • Disponibilidad del adaptador de red Gigabit Ethernet dedicado a la cámara y que admita jumbo frames, por lo menos debe tener la capacidad de transmitir 1500 bytes de carga útil (usualmente comprenden valores máximos entre 4000 y 9000 bytes).

3.2. 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 GigE.

3.2.1. Configuración inicial.

Para que el computador pueda detectar y trabajar correctamente con la cámara GigE, se debe configurar la dirección IP del adaptador de red y de la cámara. La configuración recomendada se detalla a continuación paso por paso:

  1. Conecte la cámara al computador como se indica en el apartado de conexiones eléctricas. Luego, abra Pylon Viewer y en la ventana de herramientas seleccione el apartado de configuración IP como se muestra a continuación.

2. En la ventana de configuración IP, seleccione la cámara GigE para revisar su dirección IP y la máscara de subred como se muestra a continuación.

Se puede observar que para la cámara Basler acA 1300-6 la dirección IP es 169.254.115.94 y su máscara de subred es 255.255.0.0.

  1. Abra la ventana de conexiones de red en el panel de control. Para entrar rápidamente, presione las teclas Windows + R, escriba el comando ncpa.cpl y presione aceptar.

  2. Encuentre la conexión para su adaptador de red que se utiliza con la cámara.

  3. Haga clic derecho en el nombre de la conexión y seleccione propiedades en el menú contextual como se muestra a continuación.

  1. En la ventana de propiedades de Ethernet, asegúrese que el controlador de Pylon GigE y el protocolo de internet versión 4 (IPv4), están marcados/habilitados como se muestra en la siguiente imagen.

  1. Abra el panel de propiedades del protocolo de Internet IPv4, seleccione la casilla que dice “Usar la siguiente dirección IP” y copie la misma dirección IP y máscara de subred de la cámara GigE que se muestra en el paso 2, y presione aceptar.

  1. Abra Pylon Viewer, en el apartado de dispositivos seleccione la cámara a utilizar (en este caso es la Basler acA1300-6) y seleccione el botón “Open device” al lado del botón “Save”, como se muestra a continuación.

  1. Presione el botón “Single Shot” para capturar una imagen con la cámara.

3.3. 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.3.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 GigE. 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.)

  1. 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í:

  1. 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++.

  1. 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.

  1. 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.

  1. 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.4. 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 GigE.

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

  1. En la ventana de Add-Ons Explorer busque el toolbox de adquisición con hardware GigE Vision (Installed Image Acquisition Toolbox Support Package for GigE Vision Hardware), luego haga clic en descargar e instalar.

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

  3. En la herramienta de adquisición de imágenes, seleccione la cámara GigE y elija un formato de adquisición.

  1. En el panel preview seleccione “Start Preview” para visualizar la imagen de la cámara, y “Start Acquisition” para adquirir una imagen.

3.5. 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 GigE 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:

  1. 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:

  1. 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:

  1. 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 GigE Vision utilizada como se observa en la imagen:

  1. Antes de empezar la adquisición de imágenes, es necesario modificar el parámetro Packet Size, debido a que, por defecto viene configurado en un valor de 8000 bytes, y se debe recordar que dicha taza de envió de paquetes debe ser menor que los Jumbo Frames del adaptador para la conexión con Gigabit Ethernet. En nuestro caso, el valor máximo de Jumbo Frames corresponde a 4000, para encontrar el parámetro debe activar la casilla Show All Atrributes y desplegar la primera etiqueta nombrada por AcquisitionAttributes clickeando en el signo (+) en donde se encuentra el dato de interes, debe modificarlo tal y como se muestra debajo:

Se recomienda establecer el PacketSize a una tasa de 1500 bytes para la conexión Ethernet.

  1. 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 AcquisitionTrigger, diríjase a el parámetro llamado ExposureTimeAbs 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:

  1. 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** ⚠️