WPILib Pi Image 2021.1.1 Kickoff Release
About WPILibPi (formerly FRCVision)
This Raspbian-based Raspberry Pi image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, pynetworktables, Java 11, etc). New for 2021, WPILibPi now comes in two variants, the "base" image for vision coprocessors, and an image designed for use with Pololu Romi 32U4 based robots.
The image has been tested with the Raspberry Pi 4 and 3B, but should also work on other models. Note: due to the mechanical mounting configuration of the Romi, there is minimal space for a heatsink on the Pi, so the 3 is recommended for Romi use.
Features
- Web dashboard for configuring the rPi (e.g. changing network settings), monitoring the vision program (console, restart), changing CameraServer and NetworkTables settings, and uploading vision processing applications, all without the need for SSH
- Default application that performs simple streaming of multiple cameras as well as camera switching; the image is "plug and play" for FRC dashboard streaming (just set your team number in the rPi web dashboard)
- Includes example C++, Java, and Python programs to use as a basis for vision processing code
- Designed for robustness to hard power offs by defaulting the filesystem to read only mode; safe to power directly from the VRM without an external battery
- Boots (power applied to vision program running) in less than 20 seconds
- All wireless functionality disabled (both WiFi and Bluetooth), so legal for competition use out of the box.
Romi Features
- Built-in WebSockets-based interface to robot code running on a desktop computer
- Web-based configuration of WiFi networking; supports both bridge and AP mode (including DHCP server in AP mode)
- The Romi image is preconfigured as a WiFi Access Point network with SSID "WPILibPi-########", WPA2 passphrase "WPILib2021!", and default IP of 10.0.0.2
- 32U4 firmware imaging through web dashboard
Getting Started
See https://docs.wpilib.org/en/stable/docs/software/vision-processing/wpilibpi/index.html (for the base image) or https://docs.wpilib.org/en/stable/docs/romi-robot/index.html (for the Romi) for visual step-by-step installation instructions and additional documentation.
-
Download WPILibPi_image-2021.1.1.zip (or WPILibPi_image-2021.1.1-Romi.zip for the Romi image) and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 8 GB. Note: a micro SD to USB dongle such as https://www.amazon.com/gp/product/B0779V61XB works well for writing to micro SD cards.
-
Put the micro SD card in a rPi and apply power. The initial boot may take as long as a couple of minutes (depending on SD card size), but later boots will be much faster (20 seconds or less).
Base image: Connect the rPi ethernet to a LAN or PC. Open a web browser and connect to http://wpilibpi.local/ to open the web dashboard. Note the image boots up read-only by default, so it's necessary to click the "writable" button to make changes.
Romi image: Connect to the WiFi SSID "WPILibPi-########" (the number is unique based on the Pi's internal serial number), WPA2 passphrase "WPILib2021!". Open a web browser and connect to either http://10.0.0.2/ or http://wpilibpi.local/ to open the web dashboard. Note the image boots up read-only by default, so it's necessary to click the "writable" button to make changes.
What's Changed In This Release (since Beta 4)
- Updated to WPILib 2021.1.1 release
- Romi: Multiple firmware/websockets updates (e.g. motor/encoder inversion, gyro and accelerometer support)
- Romi: Added ability to calibrate IMU and save offsets
- Romi: Added WiFi channel options 10 and 11; changed default from 7 to 6
- Romi: Set unique WiFi SSID on first boot
- Fixed python-cscore installation
- Fixed python-multiCameraServer example
What's Changed In This Release (since 2020.2.1)
- Image and hostname renamed from FRCVision to WPILibPi
- Addition of Romi image
MD5 Hashes
7aad7feb86c219f1b53258ff5ceba063 cpp-multiCameraServer.zip
d638a7270b77eb35f80cc27b70ecce13 java-multiCameraServer.zip
e7ec5c174aaa7070fee04343211effcf python-multiCameraServer.zip
b418744466e9a10d1a07683dad87bade WPILibPi_image-v2021.1.1_2021-01-03-Romi.zip
6de1c527b9fae3c189090df849c11d51 WPILibPi_image-v2021.1.1_2021-01-03.zip
SHA256 Hashes
9ddbf1d3ec60bf88a88507afa101a25ed79d93a80eae47a465e5d7cf210645c5 cpp-multiCameraServer.zip
49b495dcdfe8603d19f5974c75d252f212cb3d137d7d7b2b4544443750b67380 java-multiCameraServer.zip
ef6ab97de004ce1a91af9458e7c9dd24b7ef76f9f739f8b6a34f80dbbffda8c3 python-multiCameraServer.zip
bee22345a2065aad6aa0ebe3c7cd9ad686e1889f87e5d466db411779873f7fa9 WPILibPi_image-v2021.1.1_2021-01-03-Romi.zip
b7a55d8e6c2f3c131c96e55170e0b3af774fbf07775ae33ca03755e600fff907 WPILibPi_image-v2021.1.1_2021-01-03.zip