Paintball Sentry Gun - The Mercenary

I figured I should share this w/ the Pololu community. We’re nearly finished with our paintball sentry gun. Pololu has been very helpful since I started working w/ their products over a year ago.

Check out our video here: zero-op.com/mercenary

I’d be happy to answer tech related questions!

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)

Hey Adam,

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 :smiley:

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.

What kind of motherboard are you using that can be that low of power and still process the images?

Are you using a server edition of a linux OS?
Its on flash?

Is there a position feedback mechanism, or are the servo’s zero’d in on where the camera is pointed?

It’s great.

Wow! that’s awesome man! love to see that man… it’s pretty awesome…

The board sports a fanless 1.2 ghz cpu. It is low power, but if you don’t need a GUI, it’s sufficient. The limitation is still the fps of the camera.

Yeah, we’re actually using a stripped down version of Ubuntu Server. Everything fits on less than 512MB.

There is some feedback that we created for the servos. Mostly there is a calibration routine which allows the computer to figure out how to actually aim the servos at a pixel location on the camera.

Colin

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. :stuck_out_tongue: