Walkthrough on how to do offboard image processing!

Looks good to me. Let me know if something breaks horribly. As an aside, UDP doesn’t work in Java, for any teams considering trying.

I did it slightly differently by putting the UDP send inside the Dashboard loop, and the socket open and close outside of the normal running loop. I don’t know if it’d have problems with you opening and closing the port rapidly like yours might, if you get errors that it can’t bind because address is already in use that’s likely it.

This is my new implementation of the viToCRIO VI, redone to use networktables. It posts all the x,y coordinates of each target, and the range, to fields in the NetworkTable.

In the robot code, I use this command to handle sorting the targets and storing top, bottom, left, and right targets. Now, it’ll also pull the values from the networktable instead of using the TCP connection. (See lines 113-139)

Line 103 in this, our main robot class, sets up the NetworkTable in case you need a Java example.