5

I am building a very exciting project, and I am creating this post to get new, fresh and crazier ideas.

I have a big wall, and I am shooting at it. I need to calculate the exact X and Y coordinates where the projectile impacts.

There are several challenges:

  • Not all bullets have the same mass or speed.
  • I may be using more than one gun, so two bullets may hit at a closer interval.
  • I may play a video on the wall, so a kinnect reading wholes may get confused.
  • If possible, I don't want to add any enhancements to the guns or bullets.
  • I may not have full control over the type of wall; regular bricks and paint is preferred.

With all that said, I am fully opened to options. The former are not constrains and I am willing to change the approach and start from scratch.

My approach so far is setting up three motion sensors and triangulating the position based on the impact wave. So far it have been inaccurate and needing lots of tune-up.

If you want to improve my approach suggesting a sensor or software that I may be missing, please be welcome, but as I said, I am willing to start it over.

This project will be completed, so if your solution is great, you will contribute to something very cool, and I can send you a picture of it or even invite you to shoot with me ;-)

Cody Gray - on strike
  • 239,200
  • 50
  • 490
  • 574
Salvi Pascual
  • 1,788
  • 17
  • 22
  • 1
    This seems VERY complicated... I think that your approach is too imprecise, because measuring the waves can be very tricky. I think that the only way to monitor an entire wall is through optical inspection, but for now forget the arduino (stick to a PC, then if you can get everything working you can move to a raspberry or even an arduino due). Listen to the audio to detect the gunshot, then watch the screen until you see that a spot changes a lot. This will happen a fraction of second later and so your detection will be easier. If the bullet does not leave a mark behind, maybe adding a softer – frarugi87 Dec 10 '16 at 23:18
  • 1
    screen can help (for instance a fabric screen can help dampening light bullets - like the ones shot by compressed air guns - and so make a bigger mark) – frarugi87 Dec 10 '16 at 23:19

4 Answers4

2

Use a high-speed IR camera and use it to detect flares on a color-flattened image (Use OpenCV or other library convert 24 bit RGB etc -> black & white image).

Take the FOV of the camera and calculate the X & Y offset by triangulation based on the distance to the wall and the translation from the camera image's centre-point. If you need a matrix library use the GLM library - it's fast and will contain all the functions you need.

Good Luck!

Monza
  • 745
  • 4
  • 12
  • What happens on a sunny day and the wall is black and you are in the middle of the desert. Ain't the wall going to get hot, thus making the IR camera a little confused? – Dat Ha Dec 15 '16 at 02:45
  • There's a thousand ways the system will not achieve requirements that have not yet been included. If the dynamic range of the camera needs adjustment, do so. If the back of the wall needs a radiation shield then install one! I could find problems all day but I'd rather look for solutions :) – Monza Dec 15 '16 at 02:49
2

This is just an idea. It might sound a little complicated but it might work.

Pretty much, what you have to do is an laser array with a sensor at the end. Here is what I mean.

enter image description here

Now let's say that you have way more lasers and sensors.

After that, you can use a photocell / photoresistor / light dependant resistor to see when and which laser beem is broken. After that, by having 1 laser on the X axis and 1 and the Y axis, you can pinpoint the bullet.

Now this gets complicated if there is many sensors. A short trick that I have is to directly wire the photocell to a an analog to digital converter and in the end, connect it to an array of shift registers (aka IO expander) of the Arduino. Thus, we can know which sensor got triggered.

This method does respect many of your constraints. It can detect a big or a small bullet, no matter the speed (though a faster Arduino could help). It can detect things even if there is a video on the wall. If calibrated proprely, the laser light will pretty much blind the photocell and if the laser beam is cut, even if slightly, the light intensity will lower quite a bit, indicating that a bullet passed at that point. No bullet / gun mod needed. If you mount this on a rack type of a "mobile" contruction, this can be used on many types of wall and you only need to realign both axes before using it again.

This might sound complicated, but this is just an idea / suggestion. If anybody has any suggestions for the analog to IO thing, please comment it.

Dat Ha
  • 562
  • 1
  • 9
  • 16
  • The problem here is the number of scan lines needed and the time to detect the bullet. For example, a typical bullet is about 1cm across. To find such small objects the gaps would need to be smaller than that. You'd easily need thousands of lasers/sensors for a modest wall. In addition, for a typical handgun, the bullet will pass through the grid in about 30 microseconds. That's really not a lot of time to scan so many sensors. – Peter Camilleri Dec 17 '16 at 20:20
1

Have you considered a thermal camera? I saw this video a while back, where a guy shoots at a target and captures his shots through a thermal camera. At minute 1:00, once the bullets hit the target, a heat spot appears for a brief period of time. The way I would go about it is to place the camera at the closest possible distance from the wall and get an initial shot of the target area. Then every bullet fired will cause a short irregularity of heat, on the wall, which will be the point of impact.

PaulB
  • 1,554
  • 2
  • 16
  • 34