I wrote some quick-and-dirty Python code to examine how “visibility” (ability to see at least one tag) is affected by tag placement on the field, and camera setup on the robot. I define some tag locations, and some cameras (FoV, location, orientation) and then iterate in X and Y across the standard field size. At each location, I iterate through many possible robot orientations, and take the minimum number of tags visible. That is, the analysis I’m doing is, “at any given position on the field, what’s the minimum number of tags in view, across the possible orientations?” Then, I plot those values on a heatmap.
Caveats:
I solely evaluate whether a tag is in the field of view of a camera, without regard to range.
Neither obstructions on the robot nor the field are considered.
This is a strictly 2D analysis.
(I’ll post code as soon as I can get back into my github account. Damn you, 2FA.)
So, I understand the theoretical “more cameras is betterer” argument. But why is a single camera that corrects robot pose when it sees an April tag not sufficient?
Getting multiple tag measurements at once is more reliable/accurate (“more is betterer”) than just one. You can capture multiple tags with one camera, but obviously more cameras can improve that coverage.
Otheres who have posted here are already doing the hard work to actually implement this, but I’ll go ahead and be their cheerleader to toss out a few thoughts:
If you want to localize well off of just one tag, you want it viewed from multiple cameras. Multiple cameras seeing the same target opens the door for you to remove the ambiguity of the multiple estimates that come off of the same target.
That same effect can come from multiple targets seen by one camera.
With “only” 30 tags, they could place one tag every 6 feet around the entire field perimeter. Do people really think the number of tags will be an issue?
I think the general assumption is that there will be structures in the field, like the hub this year, and that some moderate fraction of the tags will be need to go on that.
I was not involved, but some teams put tags on the 2022 field for post season matches this summer and they use roughly 30-40 tags. That was without any tags on the field side walls.
I thought that would be easy as I bought two USB OV9281 (Amazon ArduCam 1MP SKU: B0332). Connected to RPi 4b. PhotonVision is not happy with the second camera.
The first camera is the only one that displays on dashboard so it’s hard to tell what the second camera sees. I get no images for any camera on photonvision:118x.
It takes a few page refreshes or changing tabs to get the right target info insert for the second camera. And then it doesn’t update. The target location is stuck until I refresh the image somehow.
NT looks okay for the first camera but the second camera has a bunch of zeros and no updates.
Arducam’s website has instructions and a utility for changing the name and serial number for the OV9281 UVC cameras. Would this solve the problem at least for the supported cameras?
The second link in particular seems to describe a very similar issue to ours that it then resolves.
That’s my guess based on another saying they measure farther than reality and mine report about 2 feet short of reality. I’m relying on you all to get them accurate enough to be able to turn to a target and compute a correct distance to the target.
Those old-school green blobs were tolerant and accurate but maybe we’ll get through the AprilTag growing pains soon enough and then love them forever.
Their utility failed with error Unknown Device. Microsoft Window’s Camera uses the camera fine so I know it was connected to the PC okay.
I was under the impression that PhotonVision wouldn’t necessarily associate a camera with the right port if the cameras had the same name. I wasn’t even concerned about that (yet, but soon). PhotonVision wouldn’t even get the cameras to display right or at all. PhotonVision did correctly rename the second camera to …(1) and I was happy with that but that’s about the only thing it seemed to do right.
I used this utility to change the name and serial number of our OV9281 USB camera. I don’t have a 2nd camera to see if Photovision will treat them as two separate cameras easily.
I haven’t found a similar utility that works with the ELP cameras.