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:

  • RAM libre y disponible en el PI

  • Uso de CPU para procesos de usuario y procesos del sistema, así como tiempo de inactividad.

  • Y el ancho de banda de la red, que permite determinar si el ancho de banda de la cámara utilizada excede el ancho de banda máximo permitido en las reglas del robot para cualquier año.

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: la resolución de nombre predeterminada que suele utilizar roboRIO. El nombre predeterminado es 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

Los ajustes de visión son para establecer los parámetros para cada cámara y si el rPI debe ser un cliente o servidor de NetworkTables. Solo puede haber un servidor en la red y el roboRIO es siempre un servidor. Por lo tanto, cuando se conecta a un roboRIO, el rPI siempre debe ser en modo cliente con el número de equipo lleno. Si está probando en una configuración de escritorio sin roboRIO o cualquier cosa que actúe como un servidor, entonces debe establecerse en Servidor (el interruptor del Cliente está apagado).

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:

  • Transmisión de cámaras múltiples incorporada que vaporiza cualquier cámara que esté conectada a rPi. La configuración de la cámara, incluida la cantidad de cámaras, se puede configurar en la “Configuración de Visión «

  • 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