@PeterJohnson PeterJohnson released this Jan 14, 2019 · 17 commits to frcvision since this release

About 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, Java 11, etc).

The image has been tested with both the Raspberry Pi 3 Model B and B+.

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; 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

Getting Started

See http://wpilib.screenstepslive.com/s/currentCS/m/85074/l/1027253-what-you-need-to-get-the-pi-image-running for visual step-by-step installation instructions and additional documentation.

  1. Download the .zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.

  2. Put the micro SD card in a rPi and apply power. The initial boot may take as long as a minute, but later boots will be much faster (20 seconds or less).

  3. Connect the rPi ethernet to a LAN or PC. Open a web browser and connect to http://frcvision.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 2019.1.1)

Web dashboard

  • Available USB cameras are now listed on the web dashboard, and cameras can be easily switched between different path options (e.g. by-id or by-path). Camera connection status has also been added. (#63)
  • Windows EOLs are now properly converted to Unix style when uploading a Python application (#48)
  • C++ applications or other applications greater than 128KB (that would be a big Python program!) can now successfully be uploaded (#62)
  • Default stream settings can now be set (if custom application is used, requires updates to work; see examples section) (#61)
  • Application directory fixed for on-Pi example applications (#47)

Image

  • The full WPILib libraries are now installed (#54)
  • Extraneous warnings from libjpeg seen with some cameras have been removed (#53)
  • The first time the image is used, the Pi is now automatically rebooted after resizing the root filesystem. This ensures it's properly read only at first use (#42)
  • Python console output is now unbuffered by default, making Python prints visible in the console window (#52)
  • OpenCV headers are now included in the image (#38)
  • BLAS has been replaced by OpenBLAS, which should improve numpy performance (#66)

Built-in streaming application

  • Cameras are now kept open by default (#43)
  • Implements the default stream settings set by dashboard (#61)

Examples

Note: Benefiting from these changes requires downloading the updated example .zip from the dashboard and merging your code changes into it.

  • Several fixes to the C++ example. Required dependency libs and includes are now bundled in the .zip file (#41, #58, #59, #67)
  • Java example required dependency .jar files are now put into the correct location in the .zip file (#59)
  • Cameras are now kept open by default (#43)
  • All examples implement the default stream settings set by dashboard (#61)
  • Example README.txt files have been updated with instructions for building/deploying from desktop using the web dashboard (#57)
  • The full WPILib libraries are now included in the dependencies provided with the example .zips (#54)
Assets 4

@PeterJohnson PeterJohnson released this Jan 4, 2019 · 40 commits to frcvision since this release

2019 kickoff release. This image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, Java 11, etc), and bundles both a default application that performs simple streaming of multiple cameras and example C++, Java, and Python programs to use as a basis for vision processing code. A web dashboard is also included to configure the rPi (e.g. changing network settings), monitor the vision program (console, restart), change CameraServer and NetworkTables settings, and upload vision processing applications, all without the need for SSH. The image has been designed for robustness to hard power offs by defaulting the filesystem to read only mode.

Getting Started:

  1. Download the .zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.

  2. Put the micro SD card in a rPi 3 and apply power.

  3. Connect the rPi 3 ethernet to a LAN or PC. Open a web browser and connect to http://frcvision.local/ to open the web dashboard. On the first bootup the filesystem will be writable, but later bootups will default to read only, so it's necessary to click the "writable" button to make changes.

See http://wpilib.screenstepslive.com/s/currentCS/m/85074/l/1027253-what-you-need-to-get-the-pi-image-running for visual step-by-step installation instructions and additional documentation.

What's changed in this release (since beta 2):

  • Default hostname changed from raspberrypi to frcvision (#22)
  • gdb included in image (#19)
  • Added button to copy camera settings from camera active settings (#26)
  • Examples now include image processing tie ins (#27)
  • Dependencies updated to kickoff release versions (#25)
Assets 3
Pre-release

@PeterJohnson PeterJohnson released this Dec 30, 2018 · 53 commits to frcvision since this release

Second (probably final) 2019 beta release. This image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, Java 11, etc), and bundles both a default application that performs simple streaming of multiple cameras and example C++, Java, and Python programs to use as a basis for vision processing code. A web dashboard is also included to configure the rPi (e.g. changing network settings), monitor the vision program (console, restart), change CameraServer and NetworkTables settings, and upload vision processing applications, all without the need for SSH. The image has been designed for robustness to hard power offs by defaulting the filesystem to read only mode.

Getting Started:

  1. Download the .zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.

  2. Put the micro SD card in a rPi 3 and apply power.

  3. Connect the rPi 3 ethernet to a LAN or PC. Open a web browser and connect to http://raspberrypi.local/ to open the web dashboard. On the first bootup the filesystem will be writable, but later bootups will default to read only, so it's necessary to click the "writable" button to make changes.

See http://wpilib.screenstepslive.com/s/currentCS/m/85074/l/1027253-what-you-need-to-get-the-pi-image-running for visual step-by-step installation instructions and additional documentation.

Issues fixed in this release (since beta 1):

  • Enable rPi camera by default (#3)
  • Make uploaded programs executable and owned by pi user (#4, #5)
  • Persist console output button through rPi reboot (#2)
  • Include OpenCV JNI library so Java programs work (#14)
  • Java example program is now downloadable (#1)

Other changes:

  • Java jar install location has been moved to /usr/local/frc/java (#15)
  • netConsoleTee and multiCameraServer are now installed in /usr/local/frc/bin (#15)
  • Other cscore binaries are now installed in /usr/local/frc/bin (#15)
Assets 3
Pre-release

@PeterJohnson PeterJohnson released this Dec 21, 2018 · 61 commits to frcvision since this release

Initial 2019 beta release. This image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, Java 11, etc), and bundles both a default application that performs simple streaming of multiple cameras and example C++, Java, and Python programs to use as a basis for vision processing code. A web dashboard is also included to configure the rPi (e.g. changing network settings), monitor the vision program (console, restart), change CameraServer and NetworkTables settings, and upload vision processing applications, all without the need for SSH. The image has been designed for robustness to hard power offs by defaulting the filesystem to read only mode.

Getting Started:

  1. Download the .zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.

  2. Put the micro SD card in a rPi 3 and apply power.

  3. Connect the rPi 3 ethernet to a LAN or PC. Open a web browser and connect to http://raspberrypi.local/ to open the web dashboard. On the first bootup the filesystem will be writable, but later bootups will default to read only, so it's necessary to click the "writable" button to make changes.

Known issues with this release (errata). These will be fixed in the next release.

  • Downloading the Java example program on the web dashboard does not work. Grab it manually from /home/pi/zips instead (using ssh).

  • Console output enable button on the web dashboard doesn't persist correctly through a rPi reboot (it needs to be disabled and re-enabled to again get console output).

Assets 3
Pre-release

@PeterJohnson PeterJohnson released this Nov 30, 2018 · 87 commits to frcvision since this release

Second preview release. This includes a preliminary version of the web dashboard (network settings and vision settings do not work yet), as well as C++ and Java libraries. Python 3 with OpenCV is preinstalled but not yet python-cscore.

Use Etcher (https://www.balena.io/etcher/) to image a micro SD card.

A micro SD to USB dongle such as https://www.amazon.com/gp/product/B0779V61XB works well for writing to micro SD cards.

Assets 3
Pre-release
Pre-release

@PeterJohnson PeterJohnson released this Nov 25, 2018 · 89 commits to frcvision since this release

Initial preview release.

Use Etcher (https://www.balena.io/etcher/) to image a micro SD card.

A micro SD to USB dongle such as https://www.amazon.com/gp/product/B0779V61XB/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1 works well for writing to micro SD cards.

Assets 3