What I’m talking about here is a drop in solution that uses probabilistic localisation techniques and multiple sensor fusion that you can throw on your robot, plug in a network cable and it just spits out the current coordinates and pose of your robot to network tables based on the current years game field layout.
I know there are many things out there that do part of this process, like WPILib odometry with sensor measurements updates, we have limelights or photvision to detect targets. ML technologies exist for detecting various field objects.
I suppose what I’m looking for is what the limelight did years ago for vision targets. Before the limelight existed, we all setup a camera, with a green ring light, wrote your own vision processing code, and hoped that it worked at the event. Then the limelight came out, and we had a reasonably priced, drop in solution that basically gave you exactly what you needed to reliably detect a vision target. How many people still run reflective vision pipelines on their RIO now that limelight exist?
I feel accurate localisation that updates as the game progresses is at the same point now, we need a product that you can drop on the robot, plug in as many cameras as you want, go through some camera alignment setup process, plug in ultrasonic or laser distance measuring devices, give it an IP address so that it can talk to network tables, and put a some lines of code in your drive subsystem that dump your swerve module state info onto network tables so the black box can consume it.
Then have this magic black box, consume all this data, does its target detection, April tag detection, field element detection from Machine learning and give back perfect localisation values so that products like Pathplanner can accurately following paths at any points in the match.
Maybe even a system where the on robot video footage and associated odometry values from of hundreds of robots playing in early season matches could be uploaded to some server somewhere in the cloud and some magic Machine learning engine could continuously be updating to give better results. Then before you compete you download the latest ML engine to the black box.
Isn’t this what Tesla does with its self driving stuff. Footage from cars all over the world is constantly being supplied back to Tesla so that the image recognition of signs, roadside feature etc is being continuously improved.
Some sort of system where, the video footage with odometry values could be post processed on some cloud server.
A system where, based on the embedded odometry values and say having a camera placed in the centre of the robot at 45 degrees to left with height of 1 metre, the image in the camera should be ABC. Then train the engine to give back these coordinate when this image is seen. You could only use early match footage before odometry errors grew, but I feel if a system where people contributed there on robot footage for even just the first 15 seconds, a ML could be developed that related every possible pose on the field to an expected image that you would see from a camera at that location.
Surely there is a PHD in this for some university student out there that is a coding mentor for an FRC team.
I wish I was 40 years younger and had the mental capacity to develop such a solution. I know I’m not the person to develop this but I’m sure there is a person/team out there that is capable of building such a black box. I’m sure it could be very profitable as well.