In an unprecedented time of fear, isolation, and can everyone see my screen?, no ones life has been the same since COVID. We saw people come together to protect others, but also those who refused to wear cloth over their noses. We’ve come up with cutting edge, wearable technology to protect ourselves against the latter, because in 2022, no one wants anyone invading their personal space.
Introducing the anti anti-masker mask, the solution to all your pandemic related worries.
What it does
The anti anti-masker mask is a wearable defense mechanism to protect yourself from COVID-19 mandate breakers. It detects if someone within 6 feet of you is wearing a mask or not, and if they dare be mask-less in your vicinity, the shooter mechanism will fire darts at them until they leave.
Never worry about anti-maskers invading your personal space again!
How we built it
The mask can be split into 3 main subsystems.
The shooter/launcher The frame and mechanisms are entirely custom modeled and built using SolidWorks and FDM 3D Printing Technology. We also bought a NERF Gun, and the NERF launcher is powered by a small lipo battery and uses 2 brushless drone motors as flywheels. The darts are automatically loaded into the launcher by a rack and pinion mechanism driven by a servo, and the entire launcher is controlled by an Arduino Nano which receives serial communications from the laptop.
Sensors and Vision We used a single point lidar to detect whether a non mask wearer is within 6 ft of the user. For the mask detection system, we use a downloadable app to take live video stream to a web server where the processing takes place. Finally, for the vision processing, our OpenCV pipeline reads the data from the webserver.
Code Other than spending 9 hours trying to install OpenCV on a raspberry pi 🤡 the software was one of the most fun parts. To program the lidar, we used an open source library that has premade methods that can return the distance from the lidar to the next closest object. By checking if the lidar is within 500 and 1500mm, we can ensure that a target that is not wearing a mask is within cough range (6ft) before punishing them. The mask detection with OpenCV allowed us to find those public anti-maskers and then send a signal to the serial port. The Arduino then takes the signals and runs the motors to shoot the darts until the offender is gone.
Challenges we ran into
The biggest challenge was working with the Pi Zero. Installing OpenCV was a struggle, the camera FPS was a struggle, the lidar was a struggle, you get the point. Because of this, we changed the project from Raspi to Arduino, but neither the Arduino Uno or the Arduino Nano ran supported dual serial communication, so we had to downgrade to a VL53L0X lidar, which supported I2C, a protocol that the nano supported. After downloading DFRobot’s VL53L0X’s lidar library, we used their sample code to gather the distance measurement which was used in the final project.
Another challenges we faced was designing the feeding mechanism for our darts, we originally wanted to use a slider crank mechanism, however it was designed to be quite compact and as a result the crank caused too much friction with the servo mount and the printed piece cracked. In our second iteration we used a rack and pinion design which significantly reduced the lateral forces and very accurately linearly actuated, this was ultimately used in our final design.
Accomplishments that we're proud of
We have an awesome working product that's super fun to play with / terrorize your friends with. The shooter, albiet many painful hours of getting it working, worked SO WELL and the fact we adapted and ended up with robust and consistently working software was a huge W as well.
What we learned
Install ur python libraries before the hackathon starts 😢 but also interfacing with lidars, making wearables, all that good stuff.
What's next for Anti Anti-Masker Mask
We would want to add dart targeting and a turret to track victims. During our prototyping process we explored running the separate flywheels at different speeds to try to curve the dart, this would have ensured more accurate shots at our 2 meter range. Ultimately we did not have time to finish this process however we would love to explore it in the future.
Improve wearablility → reduce the laptop by using something like jetson or a Pi, maybe try to reduce the dart shooter or create a more compact “punishment” device. Try to mount it all to one clothing item instead of 2.5.