Ideas and notes

Key

  • important
  • question

Vision

  • Generally FPS > resolution… 60FPS 480p would be sweet. It takes 2.5-3 Mbps when compressed and 60FPS is MUCH better than 30FPS. This is true both for human (can track target) and computer vision (less delay in feedback loop).

Computer Vision

Vision Targets

Vision targets

Vision bitmask (by Ritik Mishra)

Vision bitmask

Distorted Vision targets

Analysis

  • with one vision tape, we can tell angle of target
  • with two pieces of tape, we can tell distance since there is a known distance between tape pieces (trigonometry)

also…

  • slanted angle could be handy for telling height if we had a camera on an elevator, but
    1. are we even using an elevator?
    2. would encoders be better? (assuming encoders are not jank like last year)

Human Vision

  • We have 4 Mbps per-team network bandwidth.
  • most video cameras do not, by default, compress to the level we would want.
  • Shuffleboard does not have a full-screen camera widget
    1. Should we make a custom Shuffleboard widget?
    2. Should we make a custom dashboard for a camera? (this is allowed)
  • UDP > TCP since TCP (ordered packets) causes a delay if over bandwidth whereas UDP (unordered) packets does not

Questions

  • Should we use an Android device as the co-processor and camera?
  • Should the human vision camera be the same as the vision camera?
  • Do we want multiple human vision cameras? (would need switching mechanism so bitrate doesn’t RIP)
  • Do we want a fish-eye lens? Might be esp useful if we don’t have multiple cameras.
  • Do we want a psuedo-birds-eye view? (might be challenging to get working correctly) psuedo-birds-eye view

Autonomous

To auton or not to auton

  • No real autonomous. First 15 seconds drivers can still look through cameras
  • A full autonomous could be marginally beneficial. It should probably not be worked on until everything else is done
  • Instead, a hybrid autonomous might make more sense
  • get close to target and have robot do fine driving to deposit item using vision tape as a reference
  • note you can get location (x,y) of target with respect to robot since there are two pieces of tape

Completing autonomous trajectory

  • Given relative (x,y) of target, we want to do a trajectory simply and quickly
    • perhaps the best way to do this is on-the-fly computation of motion profiling splines.
      • roboRIO might not like this. Will probably need a co-processor.