That is ridiculously awesome! Every bit of it looks really well done and professional!
There are about a hundred things I want to know about how it works, but you probably don’t want to completely divulge the inner workings of your new product, so maybe just a few, if you don’t mind…
What kind of motors does the Mercenary use for positioning, and what is the positioning accuracy?
What kind of camera does it use? I’m actually less interested in the model than the resolution and framerate, and how it does in bright sunlight.
Are you using OpenCV, some other computer vision library, or your own homebrew software for frame capture/processing?
Is it doing general motion-tracking, or tracking the color blobs of the red/blue jerseys? I suppose you would want that friend-or-foe capability.
How crazy would it be in a capture the flag game to take the other team’s flag AND reset their turret to shoot their team color if they try to return it! Do people even play paintball capture the flag?
-Adam (who has never played paintball in his life)
Right now, the gun actually uses hobby servo motors. This is something I want to get rid of in future (want to use a motor + encoder combo) but for now it works well enough to worry about other things. The accuracy of the motors is good enough to be covered by the inaccuracies of the paintballs. Accurate enough to be frickin scared of the thing
We’re using a firewire camera at 640x480, and 30fps. This is fairly tricky because the computer we use is a super low power, and low heat, and therefore pretty slow. So there is some logic to which part of the 640x480 you process.
Using opencv. On a basic level, the turret processes motion and color. I think in the video you might see some red traincars in the background- which don’t get targeted because they’re stationary (on a few occasions the train will move and the turret goes crazy)
Yes, people play CTF in paintball, its probably the most commonly played game.
I think thats all of your questions. I don’t mind answering them since I’ll have add something like this to the website.
This is VERY cool! Lots of hard work went in to it I am sure.
I have a question…did you attempt any kind of programing that tries to figure out how fast the target is moving across the view and thus try and ‘lead’ the target just like a person would do? It seems like this would get pretty complicated because you’d need a way to sence distance to the target as well as speed. I guess you could quess at distance by making some assumption as to the size of a person and then how many pixels they take up would say if they’re close(more pixles) vs far(less pixels). Although this would get sticky when a person is partially hidden and takes up less pixles. It would seem like a seperate distance sensor would be needed. And then there are tons of other variables like wind speed and direction, gun fps, gas pressure, etc. Having just played paint ball for the first time this past weekend and seeing how inacurate they shoot it may not be worth messing with anyway.