Skip to content

PhotonVision Meeting Notes

Mohammad Durrani edited this page Sep 12, 2022 · 12 revisions

Welcome to the PhotonVision Meeting Notes Page!

All meetings are hosted on our discord and are planned in the #meetings channel. Feel free to drop in!

2022

September 11th, 2022 at 8:00 PM EST

Attendees: Banks, BDaroz, Chris Gerth, Jeremiah, JN25, Mohammad, Tyler (WPILib)

  • Address camera exposure questions

    • So far most settings have been optimized for retroreflective, no longer the case
    • Proposal: create a "retroreflective" or "normal" setting in the UI, tweak parameters based on this
    • Retrorefletive = today. Normal = nearly defaults - let "auto everything" make the best human-visible picture possible. Use Normal for Aurco and Driver mode pipelines
  • Libcamera for 2023?

    • Is GPU accel necessary for the 2023 season / would people care
  • Turning back on AWB in order to detect AprilTags better

  • 3D Visualization bug

    • HTML Canvas bug
    • Clean up 3D display code with Javascript (find someone who wants to do this) to make it stop going off of the screen
  • SolvePNP is non deterministic

  • Parallel path and prioritize non GPU accel for LibCamera

  • April Tag Pose API

    • Need to flesh out the API from the camera detecting a certain tag to get your current Pose on the field
    • Working on it and make sure that kids learn something (not a blackbox that just returns robot pose)
    • Need to figure out pose flipping (don't know if FIRST will have all unique things on the field or just duplicates)
    • Either way can figure it out
    • Chris said he can work on the JS side of the webview, Matt can do the JNI, Mohammad will do PhotonLib API
  • NetworkTables bug

    • No one has been able to reproduce anything, wait for network and boot and recommend static IP everywhere

2021

November 23rd, 2021 at 7:00 PM EST

Attendees: Matt, Chris, Banks, Mohammad, Jason

  • PhotonVision CD Post
    • Kickoff release things / updates about what’s new
      • Mid december
      • Colored Shape and Pose2D stuff
    • Bump dev post?
  • Versioning Issue on 2021.1.8 (fixed)
    • Name of the release .jar is wrong
    • UI shows 2021.1.7 when running 2021.1.8 on PC
    • CI Broken on macos
  • 2022 Season Goals
    • 3D Model for 2022 goal soon after kickoff
      • Similar to how we have a 2020 goal
    • Writing a 2022 game example code for whatever it requires (if its different enough from what we have already)
    • Getting testing / more user feedback
    • Relicensing
      • Most things in the code base can be relicensed sans the UI
  • Gen. PhotonVision
    • Add support for uploading new .jar
    • Add persistent gain settings
    • Dependabot PRs
      • WPI Format failing still
    • Server Mode / NT Things
      • Merge connected notification icon PR (Matt)
      • Make it more clear in documentation what Server Mode is and how all network tables things should work (mohammad)
  • Romi (Mohammad)
    • Can test before kickoff on romi hardware
    • Note FS must be set R/W before installing
    • Note FS must be set R/W for settings changes to persist
    • Notes about logging, settings, etc. needing to be in RW for those to save
  • Documentation
    • Document colored shape pipelines (Jason?)
    • Finish and merge panels PR (Mohammad)
    • Document vendor pins and overall things like that (would need to be someone who knows all this stuff)
  • Branding
    • Update colors (lighter shade of black is used in reality)
  • Post Season Goals
    • AruCo Tag Support
    • Champs vision talk?

August 25th, 2021 at 9:00 PM EDT

Attendees: Matt, Mohammad, Krish, Banks, Declan, Chris, Jason

2020

August 7th, 2020 at 3:00 PM EDT

Attendees: Matt, Banks, Kiwi, Prateek, Declan


  • The-list, Matt edition (camera calibration and a slew of misc bugs)
  • Release naming
    • Is this first release gonna be like a "beta" release - Prateek
  • Installation bugs
    • First priority is making this work on our pi image (this seems to be done.)
    • Next step is smoothing over some issues that arise from users running the script manually on supported distros.
    • Next step is maybe making things work on less-supported distros??
    • Also uninstall script.
  • Feature freeze next steps
    • We don’t want Gloworm beta testers (who aren’t us) to be doing “firsts”--this is a huge support burden and doesn’t look good for us.
    • We need to focus on the pi image, networking config, and the vendor JSON (i.e. we must be feature-complete.)
    • Docs need to be ok.
    • Beta testing:
      • Anyone who got a beta Gloworm.
      • People who fill out an application off of CD and have a “Fully supported” platform.
  • Support guarantees
    • Fully supported (we’ll help you Discord, all features work, we’ll keep these up to date)
      • Gloworm
      • Pi 3 and Pi 4 with the official Pi image and the Pi Cam, ps3eye, and the Microsoft LifeCam 3000
    • Compatible (no guarantee of support on Discord, major features work, we hope to keep things up to date)
      • Linux (aarch64, armv7, x86_64)
      • Windows (x86_64)
    • Unsupported (we will tell you to use something else, we don’t try to make these work or keep them up to date, no guarantees)

July 31st, 2020 at 3:00 PM EDT


  • Merged Hardware Manager PR (finally)
  • Merged The List (UI tweaks)

July 24th, 2020 at 3:00 PM EDT


  • Roadmap progress standup
    • Matt
      • Played with JNI and PiCam stuff to interface directly with mmal and OpenMax
      • Reworked camera connection in vision source manager to maybe work better
    • Banks
      • Pi-Gen now building and CI automated
    • Declan
      • UI things
  • PRs merged this week
    • 44 - MutatingPipe (Banks)
    • 45 - dev tag cleanup (Matt)
    • 46 - Date-based version (Matt)
    • 47 - WebSocket user list fix (Matt)
    • 48 - drawing color fix (Matt)
    • 49 - Test config folder fix (Matt)
    • 50 - Pipe profiling (Banks)
    • 52 - Better NT byte packing (Prateek)
    • 53 & 56 - Task Scheduling (Banks)
    • 54 - V4L device blacklisting (Banks)
    • 55 - Logging additions/cleanups (Banks)
  • In Progress PRs
    • 40 - Camera auto-connect (Matt)
    • 51 - Save buffering (Matt)
    • 12 - Hardware stuff (Neel)
  • Trello Triage
    • Few high priority backend stuff left

July 17th, 2020 at 3:00 PM EDT

Attendees: Banks, Declan, Kiwi, Matt, Mohammad, Prateek, Vatan, Xzibit


  • Roadmap progress standup
    • Prateek
      • Docs for PhotonLib
      • Add skew measurement to PhotonLib
      • Automatic pushing of Dev tag with latest dev release
    • Declan
      • Finished first pass at UI redesign
      • Still has a long list of UI things to fix:
        • Change orientation dropdown to buttons?
        • Highlight selected stream/processing mode icon in yellow
        • Maybe show two columns in "beginner mode"?
        • Make the stream display/processing mode buttons less hard to use.
        • Remove dividers in the 3D tab (they look weird).
        • Change driver mode to a little switch at the top right hand corner of the camera card.
        • Do settings page.
        • Dropdown reflow.
        • Make the camera rename button more consistent.
        • Make sliders change on mouse down instead of mouse up?
        • Fix FPS indicator positioning; also use a drop shadow instead of a stroke.
      • Very close to being done with H264 encoding and decoding. Need to make it so that we can request the H264 video mode from the picam. Then we’ll be able to use something like gstreamer to actually stream video (sorry, RTSP in WPILib isn’t getting done this summer.)
    • Kiwi
      • Website.
    • Matt
      • At least one reflective pipe will always exist
      • Both input and output streams are published
    • Vatan
      • Offline docs merged.
      • Will work on crosshair size change on according to resolution
      • Will try to document same javadocs in photonvision (if time permits)
  • PRs merged this week
    • UI redesign
    • Latest commits pushed to dev tag
    • NetworkTables works now
    • Less/No lag dragging sliders
    • FPS calculation is camera FPS instead of 1/processing time
  • Trello Triage
    • New High Priority tag
    • Remove low-priority items?

July 10th, 2020 at 3:00 PM EDT

Attendees:Banks, CTT, Declan, Knufire, Mohammad, Prateek, Roboteer5291, Neel, Vatan


  • Roadmap progress standup
    • Docs in UI
      • Buttons that allow users to navigate to a certain part of the docs
      • Where to have the docs specifically located, embed, new tab, etc.
    • UI redesign
      • Usability testing now or later?
      • https://demo.photonvision.org
        • Community feedback received, deciding to move forward with this
      • Merge after PRs 10-11
    • Bootup-sprint merged
      • Puts Photon in mostly functional state, connecting frontend and backend again
      • Changed data output system, accessed through vendor dep
      • Add different types of pipelines, ex. ColorShape for powercell tracking
    • Prateek: Vendor dependency progress
      • Tested Java and C++ interop
      • Added automatic unit tests
      • Needs more info from Matt to complete about driver mode etc.
      • Needs docs
    • Prateek: link to latest build
    • Add more unit testing, low code coverage stats
    • TODO stuff & check Trello
    • Beta testing on robots before full release
      • Testing checklist
      • Trying to break the software
    • Outstanding PRs
      • Hardware (#12)
        • Needs testing on various SBCs
      • ColoredShape (#11)
      • Camera calibration (#10)
    • Vendor integration
      • Begin work on vendor .json for their customization on their specific image
        • Branding, specific hardware integration (ex. GPIO pins, brightness controls,
        • Talk to franklin about specifics of what he has in mind
        • Metrics reporting
        • Find a better name
    • Gloworm CD release
      • Release timeline/feature freeze change. Need to ping Franklin when this starts.
        • Focus on bug fixing, getting stability/reliability, documentation writing etc.
        • August 3rd, 2020
    • Documentation

July 3rd, 2020 at 3:00 PM EDT

Attendees: Banks, Matt, Mohammad, Prateek, Declan, Ben + 7 others


  • Introduce project leads and contribution structure
    • Banks and Matt say hello
    • Currently we have 9 contributors; this role pretty much means that you’ve contributed code or docs.
    • One of our main goals is to increase the number of contributors from what we had with Chameleon and create a more open, accessible project for them.
  • Discuss backend/frontend framework, how things work, how to use framework
  • Roadmap progress standup
    • Banks
    • Matt
      • Frontend refactor to more closely match structure of ChameleonConfiguration is mostly working (core features send data to backend, 3d doesn’t yet work)
      • Photon can support exposure/brightness/resolution/orientation changes, HSV/erode/dilate, contour sorting and filtering, changing stream resolution, saving program state
      • Not yet done: Stability between frontend/backend comms, add/remove/rename pipelines from UI
    • Declan
      • Quick UI rebrand.
      • Continued work on H264; this is probably going to be done in the next week or two.
      • GPU-acceleration code is working but hasn’t been PRed yet (currently on hold until H264 gets done.)
    • Neel
      • Made waffles (w/ choco chips)
      • Finished calibration pipeline
      • Finished GPIO/Metrics backend
      • Added colouredshape pipeline benchmarks
      • Finished Metrics frontend (still need to plug it in with backend)
      • Gonna work on frontend for calibration
    • Mohammad
      • Finished branding standards
      • Published branding repo
      • Working on documentation outline/what we want to see
        • Need full docs before first major release
      • Took meeting notes
      • Website brainstorming
    • Claudius
      • Docs CSS
      • Code coverage
    • Prateek
      • Photonlib-c++ port
      • Automatic builds for photonlib on all platforms
      • Automatic builds for main photonvision jar
      • Began writing tests for photonlib
      • Github Actions for everything
    • Matt (2)
      • Made the logo and a lot of branding materials
      • Helped with the UI rebrand
    • Etc
  • Assign meeting attendees to non low-priority items on the Trello
    • Vatan
      • Offline-accessible docs packaged with the JAR
      • Javadocs (already done in my fork in gradle)
      • Build instructions in docs
    • roboteer5291
      • Filter out not useful video modes (i.e. Grey)
        • Did Banks do this?
      • I can try unit tests if nobody else is able, but I’ve never unit tested before
  • Hardware
    • Gloworm - Frank
      • Pi compute module based solution
      • Similar specs to Limelight
        • 400 lumen LEDs etc.
        • Much cheaper!
      • Prototype phase
      • Available for purchase in 1-2 months
      • Open source, licensed, etc.
      • Targeting Limelight audience
    • ??? - Copperforge (Ben)
      • Selling the Gloworm (see above)
      • Targeting the teams who want to DIY their own solution but don’t have the EE experience or time
  • Discuss more about how we want to organize documentation
    • Decide what we want to take from Chameleon Vision / LL Docs (info they included, stuff like that)
    • How we want to organize them, new content that we need, etc.
    • Full rewrite
      • Getting started with a .jar file
        • Should be pretty seamless
        • Video example?
      • Using the image if/when we get it
      • Basic pipeline tuning
      • Contributing guidelines/setup similar to frc-docs
      • Photonlib docs should exist
    • Similar structure to frc-docs, same style guide, etc.
    • Code examples similar to LL
  • Create image for PhotonVision for use on hardware

June 29, 2020 at 3:00 PM EDT

Attendees: Banks, Declan, Matt, other Matt, Prateek


  • Impromptu branding and planning meeting
  • New communication standard for websockets/HTTP
  • UI rewrite?
    • Need to redo communication anyways…
    • Is it really appropriate? Too much to byte off?
    • Maybe instead of restarting, rework the current framework into something more usable?
      • Easier to test?
  • Balsamiq sketch https://balsamiq.cloud/s6nqda8/pobr8jx/r6DEE
    • Bootstrap, almost complete rewrite
  • Vue-bootstrap/bootstrap-vue, can replicate bootstrap UI with more vue code
  • Bootstrap means manipulating HTML to react to changes
    • Currently more popular would be a reactive framework (React, Vue, Vueify)
  • Vuetify might be more popular? *
  • Vue means it’s easy to manipulate the UI through JS
  • Bootstrap code would need to be implemented in Vue
  • Styling code should be cleaned up
    • Set primary/secondary colors globally instead of per-element
  • Who’s writing it?
  • Options for going forwards:
    • Rewrite the communication part of the frontend and use the current UI for testing; redo the UI later.
    • Redo the UI now and rewrite the communication part as we go.
  • Will be making current backend work with current frontend

June 27th, 2020 at 5:00 PM EDT

Attendees: Banks, Declan, Matt, Neel, Mohammad, Claudius, Prateek


  • Updates
  • Timeline/Roadway/Progress
    • Initial Setup
      • Domain
      • Logo coming soon
      • Chief Delphi Post
        • PhotonVision CD account?
        • Consolidated communication from 1-2 people
        • Google form to get contributors
      • Trello
    • Programming
      • Try to get a Pi Image and/or a jar with the 3.0 branch
        • Does not need to be working perfectly, just to get momentum
      • Fix RTD building issues
        • Brand docs once logo and branding standards are created
      • Find front end developers (vue.js)
        • Probably on CD or Matt
      • Work through chameleon issue list
        • Keep one pipeline at a time (Matt)
      • Create repo for branding/logos
      • Fork 3.0 of chameleon code into our github - Done
        • Change package name, folder names
      • Develop versioning system
        • Ex. 2020.6.1-b28d0e0
      • Release schedule?
        • Kickoff, offseason, mid season, etc.?
        • Declan advocates for doing a feature freeze by the end of summer (e.g. August 25.)
      • Add readme as needed
        • Keep authors (maybe original Chameleon Vision authors?)
        • Keep acknowledgements
        • Keep license
      • Meeting structure
        • Weekly during feature development period (schedule during feature freeze TBD)
        • Agenda:
          • Standup where everyone does a quick summary on their progress for their roadmap items.
            • Keep Trello up to date with this standup.
          • People can add other items to the meeting notes.
    • Hardware
      • Teams may be more willing to just get a box, image it, and go, kind of like LL
        • Would need further support
Clone this wiki locally