RoboCup-SSL/ssl-vision

Problem detecting patterns

Closed this issue ยท 4 comments

Hi!
Because of the room size, we made a field 5 times smaller, we also had to scale down the robot sizes. Long story short, we detect robots, but we can't recognize the single patterns from a team.

When "Load image files" is not selected, this is what I see:
image
It gives exactly the position of every robot and its team color, but we cannot tell which robot specifically it is. In that matter, we needed to load the pattern in order to identify the robots.

This is how we have configured the blue team (when telling it to tell load image file):
image
As You can see, in terminal it printed that it couldn't load the image file, I don't know why.

And when it's configured as said previously, this is what I see in graphicalClient:
image

In the pattern directory, there's the file blue.png and blue.svg containing the patterns of the blue team (and there's one for the yellow team too).

Any suggestions on that? I have set that the camera height is 5 meters, because the camera is at about 1 meter from the field. By the way, we currently use a Stingray F046C.

Hi! I'll start by saying I'm no expert in the vision system, but hopefully this advice will help.

I find that the vision templates don't matter too much, especially if you don't stray too far from the standard design. I would suggest selecting the "standard2010" team, since that's preconfigured and should work right away. Our "RoboJackets" template is super outdated, and nothing like our team jerseys at all, but they still work fine.

A common mistake (and a frustration of mine) is that SSL vision uses paths relative to the directory you run SSLVision from. This means that if you run SSLVision from a directory it's not expecting, all the paths will be completely off. I noticed you're running SSLVision from the ssl-vision/bin/ directory, which means that the default configuration for teams won't be loaded! To fix loading default teams, and fix loading your images, you should run SSLVision like this:

# This depends on where you have SSLVision cloned, of course
cd ~/Desktop/ssl-vision
./bin/vision

NOTE: This will loose all configuration that you previously made, because SSLVision also stores configuration files relative to the current working directory. If you want to keep your config, you can move the xml files generated from ~/Desktop/ssl-vision/bin to ~/Desktop/ssl-vision, BUT I highly reccomend you start with a fresh config, so you don't have to do extra debugging.

Let me know if you have any other questions! ๐Ÿ˜„

Also, note to the maintainer: This has bit me many times in the past, and I had to help two other teams in RoboCup yesterday when setting up SSLVision with this problem. Can we please detect directories relative to the binary location, rather than the current working directory? That would save a bunch of people a huge headache.

(Or, print out a large warning when the binary directory and the current directory are different)

Hey!
we finally were able to detect the patterns and directions of each robot!! As you said, we had to run SSLVision as ./bin/vision. Thanks for your help, we'll keep you guys updated.

Bye!

screenshot from 2017-08-05 17-32-43

@maxaubel nice! ๐Ÿ˜„ I'm going to try to make a PR to ssl vision to try to get that warning put in, it's bit both me and everyone else in SSL way too many times ๐Ÿ˜„

Just @jgkamat (tag me) in any post/issue/PR you make and I'll try to help you the best I can ๐Ÿ˜„