La Raspberry Pi

Consola FRC

La imagen de FRC® para el Raspberry PI incluye una consola que se puede ver en cualquier navegador que hace fácil:

  • Ver el estado de Raspberry PI

  • Ver el estado del proceso en segundo plano ejecutando la cámara

  • Ver o cambiar la configuración de red

  • Ver cada cámara conectada al rPI y agregar cámaras adicionales

  • Cargar un nuevo programa de visión en el rPI

Configurar el rPI para que sea de solo lectura en lugar de escribible

El rPI normalmente está configurado en Solo lectura, lo que significa que el sistema de archivos no se puede cambiar. Esto garantiza que si se corta la alimentación sin apagar primero el rPi, el sistema de archivos no se apagará. Cuando se cambia la configuración (siguientes secciones), la nueva configuración no se puede guardar mientras el sistema de archivos rPI está configurado como de solo lectura. Se proporcionan botones que permiten el sistema de archivos para cambiar de solo lectura a escritura y viceversa cada vez que se realicen cambios. Si los otros botones que cambian la información almacenada en el rPI no se pueden presionar, verifique el estado de solo lectura del sistema.

Estado de la conexión de red al rPI

Hay una etiqueta en la esquina superior derecha de la consola que indica si el rPi está actualmente conectado. Cambiará de Conectado a Desconectado si ya no hay una conexión red a la rPi.

../../../../_images/the-raspberry-pi-frc-console.png

Estado de la visión

../../../../_images/system-status.png

El estado del sistema muestra lo que está haciendo la CPU en el rPI en cualquier momento. Hay dos columnas de valores de estado, al ser un promedio de 1 segundo y el otro un promedio de 5 segundos. Lo que se muestra es:

  • Free and available RAM on the PI

  • CPU usage for user processes and system processes as well as idle time

  • Network bandwidth - which allows one to determine if the used camera bandwidth is exceeding the maximum bandwidth allowed in the robot rules for any year

Estado de la visión

../../../../_images/vision-status.png

Permite monitorizar la tarea que está ejecutando el código de la cámara en el rPI, ya sea uno de los programas por defecto o su propio programa en Java, C++ o Python. También puede habilitar y ver la salida de la consola para ver los mensajes procedentes del servicio de cámara en segundo plano. En este caso hay una serie de mensajes sobre la imposibilidad de conectarse a NetworkTables (NT: connect()) porque en este ejemplo el rPI está simplemente conectado a un portátil sin un servidor de NetworkTables en ejecución (normalmente la roboRIO.)

Configuración de la red

La configuración de red rPI tiene opciones para conectarse al PI:

  • DHCP - the default name resolution usually used by the roboRIO. The default name is wpilibpi.local.

  • Estática - donde una dirección IP fija, una máscara de red y la configuración del enrutador se completan explícitamente

  • DHCP con recuperación estática - DHCP con recuperación estática - el PI intentará obtener una dirección IP a través de DHCP, pero si no puede encontrar un servidor DHCP, utilizará la IP estática proporcionando dirección y parámetros

../../../../_images/network-settings1.png

La imagen de arriba muestra la configuración de DHCP y direccionamiento IP estático. El nombre mDNS para el rPi siempre debería funcionar independientemente de las opciones seleccionadas anteriormente.

Configuraciones de visión

../../../../_images/vision-settings-1.png

The Vision Settings are to set the parameters for each camera and whether the rPI should be a NetworkTables client or server. There can only be one server on the network and the roboRIO is always a server. Therefore when connected to a roboRIO, the rPI should always be in client mode with the team number filled in. If testing on a desktop setup with no roboRIO or anything acting as a server then it should be set to Server (Client switch is off).

Para ver y manipular todos los ajustes de la cámara, haga clic en la cámara en cuestión. En este caso la cámara se llama «Camera rPi Camera 0» y al hacer clic en el nombre se muestra la actual vista de cámara y la configuración asociada.

../../../../_images/vision-settings-2.png

La manipulación de la configuración de la cámara se refleja en la vista actual de la cámara. El fondo de la página muestra todos los modos de cámara posibles (combinaciones de ancho, alto y velocidad de fotogramas) que son compatibles con esta cámara.

Nota

Si la imagen de la cámara no es visible en la pantalla Open Stream , compruebe los modos de vídeo compatibles en la parte inferior de la página. A continuación, vuelva a “Vision Settings” y haga clic en la cámara en cuestión y verifique que el formato de píxeles, la anchura, la altura y los FPS aparecen en los modos de video admitidos.

Conseguir que la configuración actual persista durante los reinicios

El rPi cargará todos los ajustes de la cámara al inicio. La edición de la configuración de la cámara en el la pantalla de arriba es temporal. Para que los valores persistan, haga clic en «Cargar configuración de origen desde Cámara » y la configuración actual se completará en los campos de configuración de la cámara. Luego haga clic en «Guardar» en la parte inferior de la página. Nota: debe configurar el sistema de archivos de escritura en orden para guardar la configuración. El botón de escritura se encuentra en la parte superior de la página.

../../../../_images/vision-settings-3.png

Hay algunos valores de configuración de la cámara de uso común que se muestran en la configuración de la cámara (arriba). Estos valores de Brillo, Balance de blancos y Exposición se cargan en la cámara antes de Se aplica el archivo JSON del usuario. Entonces, si un archivo JSON de usuario contiene esa configuración, se sobrescribirán los del campo de texto.

Aplicación

La pestaña Aplicación muestra la aplicación que se está ejecutando actualmente en el rPi.

Flujos de trabajo de Visión

Hay un programa de visión de muestra que usa OpenCV en cada uno de los lenguajes compatibles, C++, Java o Python. Cada programa de muestra puede capturar y transmitir video desde el rPi. Además, las muestras tienen algunos OpenCV mínimos. Todos están configurados para ser extendidos para reemplazar el código de muestra de OpenCV proporcionado con el código necesario para la aplicación del robot. La pestaña Aplicación de rPI admite varios flujos de trabajo de programación:

  • Transmita una o más cámaras desde el rPi para consumo en la computadora de la driver station y se muestra usando ShuffleBoard

  • Edite y cree uno de los programas de muestra (uno para cada idioma: Java, C++ o Python) en el rPi usando las cadenas de herramientas incluidas

  • Descargue un programa de muestra para el idioma elegido y edítelo y compílelo en su computadora de desarrollo. Luego cargue ese programa construido de nuevo en el rPi

  • Haga todo usted mismo utilizando aplicaciones y scripts completamente personalizados (probablemente basados en una de las muestras)

../../../../_images/application-1.png

La aplicación en ejecución se puede cambiar seleccionando una de las opciones en el menú desplegable. Las opciones son:

  • Built-in multi camera streaming which streams whatever cameras are plugged into the rPi. The camera configuration including number of cameras can be set on the «Vision Settings» tab.

  • Aplicación personalizada que no carga nada en el rPi y supone que el desarrollador quiere tener un programa y script personalizados.

  • Programas de muestra preinstalados de Java, C ++ o Python que se pueden editar en su propia solicitud.

  • Programa cargado en Java, C ++ o Python. Los programas Java requieren un archivo .jar con el programa compilado y los programas C ++ requieren que se cargue un ejecutable rPi en el rPI.

../../../../_images/application-2.png

Al seleccionar una de las opciones de Carga, se presenta un selector de archivos donde el archivo jar, ejecutable o el programa Python se puede seleccionar y cargar en el rPi. En la siguiente imagen Java jar subida es elegida y el botón «Elegir archivo» seleccionará un archivo y hará clic en el botón «Guardar» cargará el archivo seleccionado.

Nota: para guardar un nuevo archivo en el rPi, el sistema de archivos debe configurarse para que se pueda escribir usando el botón «Writable» en la esquina superior izquierda de la página web. Después de guardar el nuevo archivo, configure el archivo sistema de nuevo a «Solo lectura» para que esté protegido contra cambios accidentales.

../../../../_images/application-3.png