I Made Real-life Airsoft AIM-ASSIST: Aimbot V3

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] [Music] [Music] out of all my project so far this has got to be the most terrifying it's just so cold and calculating I feel like it's just waiting to shoot my eye out for those of you who saw the Aimbot V1 video and are wondering what happened to V2 I'll get to that in a moment but for those of you who haven't seen V1 yet it was not great the goal is to create real life aim assist so all I need to do is aim vaguely in the direction of a Target and it'll handle the rest version one did this with a very small custom Barrel in small stepper Motors to aim along with a 3D depth camera on on top to detect the targets but there were tons of issues with this version 2 was supposed to be the solution to these issues but it actually never came fully into existence due to version one looking exceptionally Bland I had my sister draw some much more artistic designs which led to this crazy thing I also switched to this weird setup for driving the barrel super fast with way more powerful Motors I started on some of the programming and immediately ran into issues with the accuracy of the camera and Barrel mechanism because of this I ended up putting the project on hold for about a year to work on some other things and that brings us to V3 which is as big a jump from V2 as V2 was from the first version so this thing is almost comically overbuilt but that's what makes it fun I'm going to break it down into four main parts first of all it needs to detect targets quickly and accurately then it needs some way to move the barrel around so it can aim at them some sort of mechanism to actually fire the BB's along with the way to feed them and finally some software to run the whole thing along with all of that I also wanted to still look cool so I got some more concept sketches made although this time we were much more limited with the design due to manufacturing constraints instead of 3D printing everything like last time this one is going to be all [Music] metal [Music] so that went surprisingly well normally I have to remachine or redesign a few parts but amazingly all of these came out pretty well now that you have something to look at I can go over why I designed it this way both of the previous versions used something called a stereo depth camera it gave a 3D view of everything it could see meaning the value of each pixel represented the distance to that point with that in a normal color camera I was able to detect colored targets and find their actual 3D position this worked to an extent but I was limited to only 60 frames a second and it would often detect random items as targets chances are if you're watching this video you've heard of stuff made here and may even remember him talking about these super fancy cameras he has placed around his shop these things they use infrared light that bounces off retrolective markers this makes the markers appear extremely bright and easy for the camera to pick out from the surroundings think of it like how when driving at night your headlights make road signs appear almost blindingly bright compared to everything else around them sadly I don't have an opy track system nor the money to buy one but I am crazy enough to try to make my own all I need to do is slap some lights around some cameras and I should be good to go these are the cameras I picked out or more specifically these they are industrial grade black and white cameras and are super cool at the full resolution they're limited to only 60 FPS but if they lower the resolution the frame rate goes up I can keep lowering it to get faster and faster speeds but eventually there's just not enough pixels left for it to be useful I can also reduce how much of the camera sensor is actually used which is called the region of Interest I can set aside smaller than the full sensor and only read out a small portion of the total pixels further increasing the frame rate the downside is I now only see a small part of the entire image so if the target moves even a tiny bit it may not see it anymore luckily the cameras allow you to move the active area in real time so I can essentially move it around to track the marker at much faster frame rates than reading out the whole sensor each frame these cameras coupled with some zoom lenses should give really accurate positioning of targets even at longer distances for the lights to illuminate the reflectors I wasn't quite sure how bright they actually needed to be so once again they're just way Overkill I made these custom circuit boards to run a whole 15 watt of infrared LEDs on each side I even added water cooling to the back layer to keep everything cool but also lightweight because they're infrared they're not visible to this camera and are only a very dull red to the eye but my phone can see them somewhat for all of this to work it does require that the target is retrolective all I need to do is stick some of this reflective tape to something and it should hopefully detect it with the cameras and lights installed we can now look at aimbots perspective once the lights are switched on it makes the reflector appear way brighter than everything else when I properly adjust the exposure the rest of the image is almost completely black this will make it super easy for the software to detect the targets so now that I have a really good way of detecting targets I need a really good way to aim at them both of the previous versions had major issues with accuracy meaning even though it thought it was aiming directly at the Target it was actually pointing a few inches away this is due to all the imperfections in basically anything in between the camera and Barrel any small angles or misalignments directly translate into aiming at the wrong spot to fix this I decided why not just put the cameras right next to the barrel and move everything as one piece that way there can't be any movement between them there will however still be some fixed misalignment which I'll correct for later in software the downside with putting the cameras on the barrel with zoom lenses is that they now only have a very small field of view this is fine if the target is within it since it gives much better accuracy but if the Target is out of range then it has no way to know where to move that's why there's an additional third camera mounted to the frame that has a wide angle lens this allows it to see a much wider area so it can find any Targets the zoom lenses may have missed because I now need to move not just the barrel but also the cameras and lenses I'm going to need much more powerful Motors so I stepped up to these industrial servos which have over 20 times more torque than any of the previous versions I did some preliminary testing before assembly was complete and they can reposition insanely fast it'll be slower once the additional weight is added but it should still be more than enough the motors have so much torque that they'd rip the teeth clean off any timing belts I could reasonably fit so I had to switch to some light way chain instead they're also really heavy so there's no way I could have them moving around with the barrel like on V1 they need to stay stationary I had to add a few gears to get this to work which I try to avoid since 3D printed gears tend not to be very strong but this was the best solution I could come up with it did require some weird math to control the motors properly since the up and down tilt is dependent on the left and right movement but that wasn't too much work and ended up looking really cool I am however a bit suspicious of those gears I'm not sure how much load they can handle before they snap this drive system was the main reason I switched to all metal construction for the frame 3D printing is nowhere near accurate or strong enough to hold everything in alignment under the forces that these motors can produce out of all the improvements I've made I think the firing system is by far the biggest it's designed to shoot these six mm Airsoft BBs for some reason I decided to make whole custom firing mechanisms for both of my previous versions neither of which ended up working very well now that I have huge motors to move this thing around weight isn't as much of an issue so I made the smarter choice and just bought off the shelf Airsoft parts here's the key part it moves this nozzle in and out to load a BB into the chamber then sends out a puff of air to fire remarkably it somehow costs more than one of those industrial Servo Motors what can possibly be that expensive in there oh this blue part is called the hopup chamber and it's where bbb's are fed in there's a tiny adjustable piece of rubber in it that actually puts backspin on the bbb's when they're fired this makes them appear to Defy Gravity by flying in a straight line or even curving upwards due to Crazy aerodynamic stuff that's outside the scope of this video getting the BB's to this thing is a whole other issue I don't want to just stick a full magazine onto the moving parts and have it hanging off since it'll use up a ton of space and weight I need some way to feed BB's from the stationary part all the way up through the moving Parts into the firing chamber originally I was planning on filling a long tube with BB's and pressurizing one end so it would force them all out but this would have been very large due to how stiff the tubing is and also the last thing I want to be doing is loading individual BBS manually into the end of a tube I want to be able to just dump a whole bunch in at once so instead I need to make some sort of Hopper that can automatically feed bbb's into a shorter tube I came up with this design that uses a rotating wheel with notches for BB's to fall into and then be fed into a tube it would work great for a while but would eventually get jammed the BBS always seem to find some weird way to get stuck in between the rotating wheel in the housing I tried a few different versions but I ended up just redoing the whole thing it took some very careful planning to make sure there was nowhere for the BB's to get caught which took a lot longer than I expected it turns out that if there is any where for a BB to get stuck you can be certain that it will eventually happen it took a few more revisions and some very specific geometry to fix the jamming issues but it was all worth it since this version has been 100% reliable so far not even the slightest issue next question is getting the BBS from the feeder all the way up to the chamber no tubing I could get was flexible enough to bend everywhere it needed to and also hold it shape enough that the BBS could still go through I came up with using spring wire to make essentially really long Springs that the BB's could go through I started making a few test ones when lo and behold turns out McMaster just sells them for six bucks not only are these really fun to play with they're the perfect size for feeding BB's but that's not all that's going on here I didn't choose them only to be flexible tubes when the spring is overfilled it stretches lengthwise and provides a small buffer for the firing mechanism to prevent too many bbb's being fed into the spring there's a thin wire that runs through the inside and is attached to put at the end when the spring is stretched it pulls on the wire and triggers this switch which shuts off the feeder here it is all assembled I was worried it might not be able to feed fast enough but that ended up not being a problem if this isn't proof that using pre-optimized off-the-shelf Parts in your projects is a good idea then I don't know what is the final and biggest part of this project is the part you can't even see the soft Ware the overall system works like this one of the cameras is set to run at a specific frame rate it outputs the signal to the other cameras that tell them to capture a frame and also turn on the infrared lights they are all linked together like this since it is absolutely critical that the frames are captured at exactly the same time otherwise the calculations to figure out where the target is won't work correctly the pictures from the cameras are sent back to the PC which does the heavy lifting to figure out where to move the barrel it then sends that information back to the controller which runs the motors and fires a BB when the timing's perfect to start I need to calibrate everything so the software knows exactly where everything is positioned most of this is handled by holding a checkerboard up in front of the cameras the calibration program is able to detect the corners in the checkerboard and find the values to compensate for stuff like lens Distortion and Camera alignment the barrel position also needs to be calibrated for to do this I got a laser bore site which goes inside side of the barrel and shines a DOT at the exact spot where a BB would hit this way the cameras can detect that dot and use it to account for any slight misalignment of the barrel with all of this calibration data the software can detect a target find the 3D position of it by doing some stereoscopic calculations which is the same way depth perception works for our eyes and then figure out where it needs to move to get the barrel to point right at the Target to start out I've just mounted it to the table and I have a piece of reflective tape over there for it to at what it should do is move the barrel to aim directly at it so something is definitely not working quite right at low frame rates it works just fine but whenever I try to increase it slightly it starts jumping all over the place I thought this might be due to my network speed I am trying to shove three 1 gbit cameras through a single gigabit connection it did seem to be dropping frames when all the cameras were streaming at their highest frame rates so I upgraded everything and fixed the frames being dropped but for some reason that still didn't fix the oscillation issue it seemed like the software was getting outdated frames from the cameras then I realized of course it was getting outdated frames it takes some amount of time for the frame to be sent from the camera to the computer and then interpreted before my program can even use it while I was rewriting the code to account for this delay I noticed something else that probably wasn't helping the 3D printed gears were already showing signs of wear they definitely weren't that loose when I installed them I sort of saw this coming 3D printed gears tend not to last very long so I printed new ones only instead of using them directly I made silicone molds of them this way I can cast them out of much more durable material the two-part resin I used requires post curing in an oven to reach full strength so after that in some Machining to make the mounting holes the new gears were ready which I promptly broke by tightening it too much onto the taper drive shaft so I recast and remachine them but this time I was a bit more gentle during installation these gears are still on there after recording this video but I noticed when testing under really high load the gear just slips on the shaft which isn't ideal luckily in normal operation they aren't under nearly as much load just to be safe anyway I made some backups with industrial grade metal filled resin in case these ones ever break [Music] oh yeah watching it finally track something smoothly is really satisfying next I want to try handling multiple targets everything up until this point was only designed to handle one at a time so along with getting the wide angle camera to see all the targets I also had to fix a lot of my previous code which broke when it saw multiple markers once all of the targets are detected I need to find the shortest path to move between them so it can shoot all of them as fast as possible then it automatically Cycles between all of the detected targets each time I pull the trigger perfect now what if I want to track moving targets I began with targets moving in a circular pattern it starts off in the default mode of just trying to aim at the marker as the target rotates around the software collects a bunch of points orients them so they appear flat and then does its best to find a circle that matches up with the points it tends to be a bit jumpy when first starting since the points aren't very spread out but once they are it's able to very accurately estimate the actual Target path even though the points aren't exact the goal here is to aim ahead of where the target currently is to where it currently isn't it knows this because it knows where it isn't this is based on how long it takes to Fire and how long it will take the BB to reach the target as you can imagine this requires an awful lot of processing I started testing this mode but it was nowhere near fast enough after a week or so of optimizing testing and rewriting the code about four times I finally have a working solution my old code was taking the new location of a Target calculating the new estimated path then sending that new position to the motors but that path estimation part was taking way too much time what I came up with is a cube based system that allows for multi-threading every time the cameras capture a new Target location is added to a que then there's a bunch of other processes running that take from that queue run the path solving program then give the results back to the main program to use to aim the barrel this allows the software to use much more of the available processor since it's using multiple [Music] cores after 5,000 lines of code and way too much Mountain Dew it's finally complete weighing in at 22 lb half a horsepower of targeting Motors and a maximum fire rate of over 40 rounds a second this thing is absolutely insane the marker detection worked out so much better than I imagined it actually works a little too well since it detects targets based on them being very bright it also has this little habit of targeting on Reflections such as camera lenses [Music] or even worse my glasses or even my [Music] eyes I got trapped in your eyes the moment you looked at me from across the room those eyes kept following [Music] me only this is the exct exact reason why I have it set so it cannot fire all by itself it must have someone pulling the trigger all the way back first the touchcreen on top allows you to select the firing mode either single burst or full auto any of which can be combined with one of the three targeting modes manual mode simply disables all the auto aiming functions and allows it to operate like normal Airsoft with the exception of being able to click on the wide view and move the Barrel in a specific Direction the other targeting modes are where things get interesting all you need to do is pull the trigger halfway to engage the targeting system in single mode it will automatically lock onto and aim at any Target within range then once you fully pull the trigger it waits until it's aimed perfectly at the Target and then fires in multiple Target mode it uses the wide angle view to detect all visible targets and finds the fastest path to hit them all then when the trigger is pulled it fires and will increment to the next Target on on the next trigger pool or when in full auto mode it will automatically fire and move between all Targets as long as the trigger is being held down I'm very glad I decided to mount the main cameras directly to the barrel it is so much more accurate than the previous versions were it will regularly lay in shots directly in the center of the little pieces of tape I've been using and this is with only 1 of the resolution ution the cameras are capable of since I had to lower it so much to get decent frame rates all right enough of those easy targets let's see what this thing can really do this is where the ability to reduce the area of the camera sensor that's being used is going to be super useful I updated the software to automatically switch to a smaller portion of the sensor once a target's detected then move that area around to track the target as it moves with that I was able to boost the frame rate all the way up to around 1,000 FPS unfortunately after I had already spent the day making software changes I found a bug with the cameras that prevents me from using the ROI function correctly whenever I try to use a lower overall resolution and a smaller sensor area it keeps me from seeing the lower portion of the frame I spent a week talking with support to try to find a solution but the cameras were out of warranty which is not surprising so they couldn't provide full support I was however able to get new firmware for them with the disclaimer that it may or may not break the cameras I really didn't want to be stuck with completely dead cameras so I ended up just disabling the new code and was stuck hoping the current frame rate would be good enough I have the software assume the dart will continue in a straight path and to aim ahead of it based on how fast it's moving and how long it would take a BB to reach it similar to how tracking the spinning targets worked only this time I'm just skipping the advanced path fitting stuff due to how fast it will need to react I have it set to immediately start firing in full auto once it sees a moving Dart this will give it the best chance of at least hitting once this also results in a terrifying random spray of bbb's everywhere as it follows the dart so I had to set up sheets to keep from accidentally shooting my monitors or lights in mode okay let me know when you're ready to [Music] fire at the beginning it seemed like it was way overshooting the dart so after I tuned some of the timing settings it seemed like it was getting a bit closer when we were testing these in person we had no idea how close we actually were since everything happen so [Music] fast f they keep making it through got crappy defenses f after trying to hit around 30 darts and missing everyone we gave up for the night and decided to try again the next day however when I was looking through the video I found one shot that just barely managed to [Music] hit the next day of testing it was able to hit a few more not exactly reliably though it has probably only a 5% success rate at best no one hit it I don't know I can't tell all right ready yeah I'm amazed it managed even that though the timing needs to be so absolutely perfect for it to hit and this thing still has a lot of underlying issues that start to show when I push its limits eventually there will probably be a V4 with those issues solved but I'm so tired of picking up BB's and staring at this code so that'll be a long time away if you thought this thing was cool then consider joining the Discord or patreon if you'd like to discuss or support the channel there's even a live stream where you can control one of my industrial robots with Discord chats thanks for watching want to move your head no you're going to get shot okay a God damn I warned you all right all one one that's going to be a funny video going get shot okay go
Info
Channel: Excessive Overkill
Views: 702,311
Rating: undefined out of 5
Keywords:
Id: miRnNy7ZvIc
Channel Id: undefined
Length: 25min 18sec (1518 seconds)
Published: Sun Apr 07 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.