Shop OBEX P1 Docs P2 Docs Learn Events
Propeller shooting target (shotgun) - Page 2 — Parallax Forums

Propeller shooting target (shotgun)

2»

Comments

  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-11-24 10:34
    Nice find, Oz.

    Here's a pdf that diagrams their system on page four: http://www.sius.com/downloads/catalogue/931_lflt_e.pdf
  • OzStampOzStamp Posts: 377
    edited 2007-11-24 10:41
    Hi

    I would investigate using a small camera ..
    Maybe even the CMUCam could be usefull here for that application.

    I believe one of our Fellow Proppers is a vision expert..
    Cheers

    Ron· Melbourne OZ
  • TomSTomS Posts: 128
    edited 2007-11-24 13:36
    Will your microphones be immune to the "ballistic crack", ie, the sonic boom associated with any bullet traveling faster than the speed of sound? It might be loud enough that you have to take it into account.

    Tom
  • NikosGNikosG Posts: 705
    edited 2019-08-21 19:18
    I was thinking of another approach that could make things extremely simple.
    The use of two TSL1401 Linescan sensors could give exactly the X and Y coordinates from the bullet's passage through the target.....


    No matter if the bullet passes for the second time in the same hole not even matter the existence of a physical target from paper or other material....
    The system simply could detect the coordinates of an object like a bullet as it passes through the window ....
    The question is (A question for Phil Pilgrim the inventor of that sensor) if the TSL1401 Linescan sensor can detect an object that passes so fast (800m/s) as a bullet....
    1191 x 924 - 166K
  • kwinnkwinn Posts: 8,697
    I doubt that the linescan sensor can detect an object moving at anywhere near that speed since it effectively has to acquire (snap a picture) all the pixels at once and then shift them out one at a time.

    BTW, this post is from 2007, so a bit out of date.
  • NikosG wrote:
    A question for Phill Pilgrim the inventor of that sensor) if the TSL1401 Linescan sensor can detect an object that passes so fast (800m/s) as a bullet....
    No. During one integrated exposure, the bullet would not be in front of the camera long enough to provide adequate contrast against the background.

    -Phil
  • kwinnkwinn Posts: 8,697
    Only way I can come up with that has any chance of detecting a bullet at typical velocities would be some kind of X/Y optical array, and even with that getting 1mm resolution would be very difficult. It might be possible to get 2-4mm, but even that would not be easy.
  • Be advised, the original post is from 2007, and my have been resolved by another means
  • I saw this thread yesterday as I tried to find something about the subject as I always wanted to make an electronic shooting target (I also have some friends from a local shooting club who constantly they ask from me something functional and affordable for them )

    My initial idea was to "play" with two groups of cheap laser detectors, the one next to the other, in order to detect the laser emission from a group of laser emitters from the opposite side.
    But the problem is that I need a lot of laser detectors to put together and it is not sure that the virtual laser grid that I'll create is so dense in order to detect the bullet
  • No. During one integrated exposure, the bullet would not be in front of the camera long enough to provide adequate contrast against the background.

    -Phil
    Phil, I saw in this thread one of your positive answers "if the TSL1401 can be used to count or detect falling objects like seeds or pills with appropriate backlight", and I hoped that it would be possible and with bullets
  • NikosG wrote:
    Phil, I saw in this thread one of your positive answers "if the TSL1401 can be used to count or detect falling objects like seeds or pills with appropriate backlight", and I hoped that it would be possible and with bullets
    It's all about the velocity and the percentage of one exposure-time that the object is in the field of view.

    -Phil
  • kwinnkwinn Posts: 8,697
    NikosG wrote: »
    I saw this thread yesterday as I tried to find something about the subject as I always wanted to make an electronic shooting target (I also have some friends from a local shooting club who constantly they ask from me something functional and affordable for them )

    My initial idea was to "play" with two groups of cheap laser detectors, the one next to the other, in order to detect the laser emission from a group of laser emitters from the opposite side.
    But the problem is that I need a lot of laser detectors to put together and it is not sure that the virtual laser grid that I'll create is so dense in order to detect the bullet

    One might be able to reduce the number of laser emitter/detector pairs if the target was a number of concentric squares instead of circles. That would allow a pair of mirrors and one laser emitter/detector pair to create a light curtain that could detect a bullet passing through a rectangular area. Put multiple (3-5) such light curtains in the X and Y orientation and you have a square target.
  • msrobotsmsrobots Posts: 3,709
    edited 2019-08-21 22:41
    NikosG wrote:
    Phil, I saw in this thread one of your positive answers "if the TSL1401 can be used to count or detect falling objects like seeds or pills with appropriate backlight", and I hoped that it would be possible and with bullets
    It's all about the velocity and the percentage of one exposure-time that the object is in the field of view.

    -Phil

    So we just need long, large bullets shot very slow. @"Phil Pilgrim (PhiPi)"'s sensor might make a nice target for arrows. Just shoot thru the frame, don't break your arrow on impact! (well it has to end up somewhere, but P&R can use it)

    This is kind of funny, about 2 decades ago I was teleworking for a company in Vechta, Germany, but every couple of month I had to go there for a week or so. Me in a Train with a suitcase and one of those 'senior porsche's' , small metal frame with wheels to carry my PC-Tower around.

    And for hours some guy out of Hamburg wanted to hire me away from that company I was working for to - hmm- create a electronic shooting target.

    Seems still to be problem searching for a solution. My guess is that the need occurs because of the time needed to bring the target back, examine it and replace it, then drive it back. Time consuming if you have a 100 round magazine. Plus the cost of paper targets...

    Since the forum is quiet lately, lets find a solution.

    Line sensors are to slow to recognize a fast bullet, sound seems doable, but still requires Paper targets to be replaced. Cameras would need to be far away to not get shot, so maybe a camera focused on the target with a scope like optic, comparing before and after shot pictures. needs to be adjusted if targets move to different distances.

    @kwinn 's idea is interesting, if the laser are visible they would also replace the paper darget.

    Enjoy!

    Mike
  • There are commercial electronic targets using either sound or optical sensors. Sound works best for supersonic bullets. Subsonic bullets need a backer to hit to make noise. Optical targets work for supersonic and subsonic bullets. Optical targets are pricey.

    John Abshier
  • Ultimately the solution is best implemented using supersonic bullet velocities. Subsonic rounds will need a different strategy. Supersonic rounds make a whopping shockwave as the hypersonic shock degrades into a normal (sonic) shockwave.

    If you can guarantee the shooter will always be directly inline with the target (ie, not off-angle) then a ring of three microphones in a ring spaced equidistance from the center of the target is ideal. BTW: You dont even need a target. You will simply listen for the arrival of the normal shock. The only reason to even have a target is to give the human something to aim at. Flimsy paper is fine. When the leading edge of the normal shock hits any mic, record the mic number and start a fast counter. Snapshot the counter value at the arrival time of each of the 2 remaining mics. Now run the math.

    The speed of sound is constant given a known temperature and pressure (so measure it!). So the math becomes a standard “three circles” 2d intercept problem. Plug the values into the formula (see earlier posts) and your impact point falls-out the other end.

    The process can be done quickly, even allowing for semi-auto fire. For extra credit create a display that renders the target as a graphic with each shot labeled “1, 2, 3” etc. For *serious* Nerdian cred, implement a second acoustic sensor ring, coaxially aligned with the first, but slightly closer to the shooter and you can report the velocity of each projectile as well as the position.



  • Use raspberry pi for computer vision and send data to Prop to adjust aim?
  • Use raspberry pi for computer vision and send data to Prop to adjust aim?

    That is bad, 'adjust aim' but we might get there anyways...

    Mike
  • NikosGNikosG Posts: 705
    edited 2019-08-22 07:16
    msrobots wrote: »
    ....
    So we just need long, large bullets shot very slow. @"Phil Pilgrim (PhiPi)"'s sensor might make a nice target for arrows....
    .....
    Mike

    I was wondering if I could make a target for airgun?
    According to this video, the speed of an airgun pellet is about 500ft/s =152m/s which is much slower than the speed of a bullet. On the other hand, the airgun pellet is much smaller from a bullet...

    However, theTSL1401 Linescan sensor is the ultimate solution for an electronic target for arrows!
  • NikosGNikosG Posts: 705
    edited 2019-08-22 15:53

    It's all about the velocity and the percentage of one exposure-time that the object is in the field of view.

    -Phil
    airgun_pellet_analysis_2.jpg
    So in the min exposure time (2,032ms according to the sensors manual), the pellet travels almost 72 times its length and the possibility to catch it the sensor is 1/72.
    Can we make that possibility=1 changing the scanning width to 32.5mm 32,5cm using another kind of lens?
    1037 x 1423 - 211K
  • kwinnkwinn Posts: 8,697
    The simplest and most economical way of doing this IMHO is to have a roll of targets in a backlit frame that rolls down a fresh target after a number of shots. That way a camera out of the line of fire can detect each new hole as it occurs.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2019-08-22 16:50
    NikosG wrote:
    So in the min exposure time (2,032ms according to the sensors manual), the pellet travels almost 72 times its length and the possibility to catch it the sensor is 1/72. Can we make that possibility=1 changing the scanning width to 32.5mm 32,5cm using another kind of lens?
    Catching it in one exposure is not the problem, assuming the sensor is programmed for continuous exposures. The problem is that it will be in the field of view so briefly, compared to the length of the minimum exposure, that there won't be enough contrast against the background to detect it. Remember that the TSL1401, like any video chip, is an integrating detector. IOW, everything it sees during one exposure is summed into the response of each pixel.

    -Phil
  • Don't bullets emit a hissing or whizzing sound, even when subsonic, faint, only heard at close range, far to close for comfort? Just asking, maybe only in cartoons. Even if not audible, there has to be a disturbance that radiates outward at the speed of sound.
  • W9GFOW9GFO Posts: 4,010
    This project specifically called out "shotgun", which shoots dozens of pellets (shot) at a time. That's quite a problem for most of the solutions presented.
  • W9GFO wrote: »
    This project specifically called out "shotgun", which shoots dozens of pellets (shot) at a time. That's quite a problem for most of the solutions presented.

    However the OP is Swedish, and the description of the problem states bullet (singular).

    It's entirely possible that the OP didn't realise that 'shotgun' and 'gunshot' have very different meanings.
  • Computer vision can still find an algorithmic center for "shotgun" if that's the case but I think it's not actually a shotgun.
  • NikosGNikosG Posts: 705
    edited 2019-08-25 13:40
    here is the simplest part of the project:
    A virtual target with propeller code.
    ''*****************************************************************
    ''*  Electronic_target_Demo: "Electronic_Target_Demo_Nikos1.spin"                                              *
    ''*  Author: Nikos Giannakopoulos                                 *
    ''*  Copyright (c) . 2019 Patras Greece                           *               
    ''*  This Demo Is based on Chip Gracey "Graphics_demo.spin"  code *            
    ''*****************************************************************
    
    
    CON
    
      _clkmode = xtal1 + pll16x
      _xinfreq = 5_000_000
      _stack = ($3000 + $3000 + 100) >> 2   'accomodate display memory and stack
    
      x_tiles = 16
      y_tiles = 12
    
      paramcount = 14       
      bitmap_base = $2000
      display_base = $5000
    
      lines = 5
      thickness = 2
    
       
      ' VAR
    
     
    
      long  tv_status     '0/1/2 = off/visible/invisible           read-only
      long  tv_enable     '0/? = off/on                            write-only
      long  tv_pins       '%ppmmm = pins                           write-only
      long  tv_mode       '%ccinp = chroma,interlace,ntsc/pal,swap write-only
      long  tv_screen     'pointer to screen (words)               write-only
      long  tv_colors     'pointer to colors (longs)               write-only               
      long  tv_hc         'horizontal cells                        write-only
      long  tv_vc         'vertical cells                          write-only
      long  tv_hx         'horizontal cell expansion               write-only
      long  tv_vx         'vertical cell expansion                 write-only
      long  tv_ho         'horizontal offset                       write-only
      long  tv_vo         'vertical offset                         write-only
     
    
      word  screen[x_tiles * y_tiles]
      long  colors[64]
    
     
    OBJ
    
      tv    : "tv"
      gr    : "graphics"
      vga   : "vga"
    pub main| X_blt,Y_blt
       X_blt:=27     '  Enter X-coordinate af the bullet an integer number from -80  to 80
       Y_blt :=58    '  Enter Y-coordinate af the bullet an integer number from -80  to 80  
      VirtualTarget
     
        DrawBullet(X_blt,Y_blt)  
    
    
    PUB InitializeMonitor | i, j, k, kk, dx, dy, pp, pq, rr, numx, numchr 
     'start tv
      longmove(@tv_status, @tvparams, paramcount)
      tv_screen := @screen
      tv_colors := @colors
      tv.start(@tv_status)
    
      'init colors
      repeat i from 0 to 63
        colors[i] := $00001010 * (i+4) & $F + $2B060C02
    
      'init tile screen
      repeat dx from 0 to tv_hc - 1
        repeat dy from 0 to tv_vc - 1
          screen[dy * tv_hc + dx] := display_base >> 6 + dy + dx * tv_vc + ((dy & $3F) << 10)
    
     
      'start and setup graphics
      gr.start
      gr.setup(16, 12, 128, 96, bitmap_base)   ' gr.setup(16, 12, 128, 96, bitmap_base)
    
    
     
    PUB VirtualTarget| i 
    
       InitializeMonitor 
       gr.clear
    '-----------------------------------------------------
      gr.colorwidth(3,0)
      '  gr.box(60,-90,60,16)
        gr.textmode(1,1,6,5)
        gr.colorwidth(5,0)
        gr.text(100,-90,@ng)
        gr.colorwidth(2,0)
        gr.text(-120,91,@text1) 
        gr.text(-120,81,@text2)
        gr.text(-120,71,@text3)
           gr.text(95,91,@text4)
        gr.text(-110,-90,@text5)
    
    
    
    '--------------------------------------------------------
        gr.colorwidth(1,0)  '3,0 '2,0 
        
        repeat i from 0 to 5
          
          gr.arc(0, 0, 0+i*10, 0+i*10, 0, 23, 360, 0)   'gr.arc(0, 0, 0+i*10, 0+i*10, 0, 23, 360, 0)
    
       gr.colorwidth(1,0)  '3,0 '2,0  '2,6
        
        repeat i from 6 to 9
          
          gr.arc(0, 0, 0+i*10, 0+i*10, 0, 23, 360, 0)   'gr.arc(0, 0, 0+i*10, 0+i*10, 0, 23, 360, 0
    
          
     ''   arc   (x, y, xr,       yr, angle,anglestep, steps, arcmode)
    
     'gr.colorwidth(3,0)  '5=kitrino
         
     gr.copy(display_base)
    
      '-------------------------------------------------------  
    
          gr.colorwidth(1,0) ''' 2,0
          gr.textmode(1,1,6,%0000)    '(1,1,6,%0000)
    '----------------- numbers on Y-axes-----------------------      
          gr.text(-2, 8, string("8"))
          gr.text(-2, -25, string("8"))
          
          gr.text(-2, 18, string("7"))
          gr.text(-2, -35, string("7"))
          
          gr.text(-2, 28, string("6"))
          gr.text(-2, -45, string("6"))
          
          gr.text(-2, 38, string("5"))  
          gr.text(-2, -55, string("5"))
    
       '  gr.colorwidth(5,0) '----------
    
          gr.text(-2, 48, string("4"))
          gr.text(-2, -65, string("4"))
            
          gr.text(-2, 58, string("3"))
          gr.text(-2, -75, string("3"))
    
          gr.text(-2, 68, string("2")) 
          gr.text(-2, -85, string("2"))
          
          gr.text(-2, 78, string("1"))
          gr.text(-2, -95, string("1"))
     '----------------- numbers on X-axes-----------------------
     '     gr.colorwidth(1,0) ''' 2,0
          
          gr.text(12, -5, string("8"))
          gr.text(-16, -5, string("8"))
          
          gr.text(22, -5, string("7"))
          gr.text(-26, -5, string("7"))
          
          gr.text(32, -5, string("6"))
          gr.text(-36, -5, string("6"))
          
          gr.text(42, -5, string("5"))  
          gr.text(-46, -5, string("5"))
    
          gr.colorwidth(5,0) '----------
       
          gr.text(52, -5, string("4"))
          gr.text(-56, -5, string("4"))
    
          
          gr.text(62, -5, string("3"))
          gr.text(-66, -5, string("3"))
    
          gr.text(72, -5, string("2")) 
          gr.text(-76, -5, string("2"))
          
          gr.text(82, -5, string("1"))
          gr.text(-86, -5, string("1"))     
          gr.textmode(1,1,6,%0000)
    
       '------------------------------------------------------------------------
    PUB DrawBullet(xc,yc)| counter 
    
       InitializeMonitor 
        gr.colorwidth(1,0)      '2,0 '5,0
        'center (80,-80 size=4)
       repeat counter from 0 to 4
        gr.plot(xc+counter-2,yc)
        gr.plot(xc,yc+counter-2)
        gr.plot(xc+counter-2,yc+counter-2)
        gr.plot(xc+counter-2,yc-counter+2)
     gr.copy(display_base)
    
    
     
    DAT
    
    tvparams                long    0               'status
                            long    1               'enable
                            long    %001_0101       'pins
                            long    %0000           'mode
                            long    0               'screen
                            long    0               'colors
                            long    x_tiles         'hc
                            long    y_tiles         'vc
                            long    10              'hx
                            long    1               'vx
                            long    0               'ho
                            long    0               'vo
                            long    0               'broadcast
                            long    0               'auralcog
    
    ng                      byte    "NikosG.",0           'text
    text1                   byte    "--1--",0           'text  
    text2                   byte    "--2--",0           'text
    text3                   byte    "--3--",0           'text  
    text4                   byte    "--4--",0           'text  
    text5                   byte    "--5--",0           'text  
    
    {{
    
    }}
    
    I decided to write it for TV out and get the result on a TV monitor. I used a propeller board with a (TV_out_RCA_adapter28050 ). We also can project the image on a simple paper using an LCD projector (the real target) in order to avoid the cost for real targets.
    code_visual_target.jpg
    As you can see I give the two coordinates of the bullet and I can see it as a mark on the virtual target.
    Having those coordinates we can also calculate the score etc.
    The difficult part is to create the "magic window" in the back of the real target from paper that will give us automatically those coordinates using sensors
    1280 x 987 - 335K
  • Touch screens might work, but to expensive.

    I like the Idea of a projector to use simple paper rolls instead of printed targets.

    Mike
  • NikosGNikosG Posts: 705
    edited 2019-08-26 17:43
    msrobots wrote: »
    Touch screens might work, but to expensive.

    I like the idea of a projector to use simple paper rolls instead of printed targets.

    Mike

    how do you mean to use a touch screen? Are you thinking to put a touch screen toward a gun? Is there a touch screen for bullets? Certainly, you need something to accelerate decelerate the bullet maybe kevlar or other material...

    For the "curtain" that we need to project the virtual target maybe instead of the roll of paper, we can use a curtain of flowing material such as liquid or sand that will flow from the top of the target downwards and recycle itself without the cost of additional material...
  • W9GFO wrote: »
    This project specifically called out "shotgun", which shoots dozens of pellets (shot) at a time. That's quite a problem for most of the solutions presented.

    Unless you are shooting slugs. Some are actually rifled and can be quite accurate.

    An alternative to the rolling paper target could be a heavy gauge backstop on linear rails with a camera behind. When the target needs to be viewed, the backstop slides out of the way to allow the camera to record the image.
  • NikosG wrote: »
    msrobots wrote: »
    ....
    So we just need long, large bullets shot very slow. @"Phil Pilgrim (PhiPi)"'s sensor might make a nice target for arrows....
    .....
    Mike

    I was wondering if I could make a target for airgun?
    According to this video, the speed of an airgun pellet is about 500ft/s =152m/s which is much slower than the speed of a bullet. On the other hand, the airgun pellet is much smaller from a bullet...

    However, theTSL1401 Linescan sensor is the ultimate solution for an electronic target for arrows!

    For many countries, it's all about muzzle energy when it comes to regulation. In the UK, the legal limit is 12ft/lbs. Therefore, pellets can fly at any velocity within the legal ME limit.

    Hehe, I used to be well in to airguns; my biggest was 0.44 cal and was charged with 3,000PSI of air. However, I had access to all kinds of gas and frequently used helium instead. Had that 200 grain slug going supersonic, alright :cool:
Sign In or Register to comment.