WPILibPi 2022.1.1 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). WPILibPi 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-2022.1.1.zip (or WPILibPi_image-2022.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 Since 2021.3.1
- Added udev rule for pixy by @PeterJohnson in #218
- Round Romi gyro calibration time remaining by @carelesshippo in #208
- Update to OpenCV 4.5.2
- Update to WPILib 2022.4.1
- RobotPy components updated to 2022
- Use apt package for ML dependnecy
New Contributors
- @jpokornyiii made their first contribution in #206
- @carelesshippo made their first contribution in #208
Full Changelog: v2021.3.1...v2022.1.1
Hashes
MD5 Hashes
2ea374c15b8d93dd6ffe1105a5b79b41 cpp-multiCameraServer.zip
7080a5b98f3fa7f7597c0b17dbcff776 java-multiCameraServer.zip
09d2efdfacc13e20de990551e32564a9 python-multiCameraServer.zip
ae1fc3bee3513342c8bd57daba9f2126 WPILibPi_image-v2022.1.1-Romi.zip
005647bfc5796f4bafb8685d7f4b700f WPILibPi_image-v2022.1.1.zip
SHA256 Hashes
9f536f4f3eee750b2e8d82e330d235b9c57b17c79d1744cc88b6f922b9778690 cpp-multiCameraServer.zip
0f12470b70ba94bcfca2271af01e995121328014096bc726d9d5c7cca56ed8e5 java-multiCameraServer.zip
0c318b6f0afd02468ee4eb7b7d9868da8697e178ba294a9a2798b033207ede84 python-multiCameraServer.zip
e48a02003c0bc7ecda4b8a7810044116fb1347f88f88e7e952ba4f62fbf94693 WPILibPi_image-v2022.1.1-Romi.zip
d1a4877c29ac1d161c5376e188bcf8f470f2076d901e1778a09934a804974afd WPILibPi_image-v2022.1.1.zip