Robot Detection

Hello everyone. As an offseason project, our team has been looking into robot detection, especially that regarding with PhotonVision.

So far we’ve compiled a Google Colab notebook with a few edits and changes from open-source Jupyter Notebooks and Google Colabs online, but I’m wondering if anyone knows of a simpler way to do all this.

Meaning, is there any sort of plugin or already developed & proven software that we could implement? Or maybe some sort of library that we may be missing out on?

Thank you to anyone who replies to this thread. Highly appreciated.

Dataset Colab has 4805 images of bots, as well as some models (I’m not sure if you can use these models directly with PhotonVision, though - I don’t have any experience with PhotonVision). This could be a useful starting point.

2 Likes

Someone has done it on roboflow.

And roboflow allows you to export it to .rknn, so it should be easy to use this model with photonvision object detection.

1 Like

Can you cite a source for this, or point at the docs page that describes the steps to take?

I really really want this to be true, but I’m struggling to find .rknn anywhere in their docs.

1 Like

Sorry for the mistake, it does not allow you to directly export to .rknn but you can do it in two steps:

Step1: Train YOLOv5 model on roboflow

Step2: Convert .onnx model to .rknn

Guide on converting .onnx model to .rknn file

1 Like

I’m not aware of such functionality on roboflow, but there is this:

3 Likes

A couple of alternative approaches have occurred to me:

(1) there is some obstacle in view and it is not a game piece or a field element, therefore it is likely another robot, and/or

(2) just look for bumpers. Robots come in many shapes, sizes and colors but bumpers are pretty constant and if you see a bumper, then what’s on top of it is highly likely to be a robot.

2 Likes

Whenever the topic comes up I always side with the bumper detection approach. Seems like the most robust and trustworthy.

Regarding the first approach, regular cameras don’t have a sense of depth, so defining “a nearby blob” might be difficult without including random, big, far-away objects.

3 Likes

Yeah I also think
bumper detection > robot detection

BC, a bumper’s height, shape, and size can be considered constant. So you can use things like linear projection or solvePNP to find the accurate position of other robots.

2 Likes

I don’t have anything to do with programming and this part of my team (who runs dataset collab) but I do know we don’t run photon vision so unless there is a team who uses dataset collab and photon vision who could help, I’m not sure if our team would be able to help use them together.

Again, this should be of help.

From my professional life where is sometimes do object detection on blobs of stuff with noise…

Just go for the bumpers. Odds are this is what the AI is really picking up on under the hood anyway.

1 Like