Project
# | Title | Team Members | TA | Documents | Sponsor |
---|---|---|---|---|---|
41 | Dodgeball Bots |
Qingyan Li |
design_document1.pdf proposal2.pdf proposal3.pdf |
Timothy Lee | |
# Dodgeball Bots # Members - Loigen Sodian [sodian.21] - Isaac Koo Hern En [ikoo2] - Jaden Peterson Wen [peterson.21] - Qingyan Li [qingyan5] - Putu Evaita Jnani [putu.20] # Problem Typically, practicing dodge ball requires a second party who acts as the dodge ball thrower. Unfortunately, the thrower may have imprecise aim or is entirely unavailable. Hence of the need of a robot that fully replaces the function of the human thrower. A dodgeball robot that tracks humans and fires balls to hit them is often quite complex to build and involves multidisciplinary knowledge (both electrical, computing, and mechanical work). Sometimes dodgeball bots may possess safety concerns to humans if the ball is misfired or the force feedback applied is too large for the apparatus to handle. Sophisticated decision making, object detection and recognition algorithms, and physical modelling need to be studied in detail to make sure that the robot is safe and smart. # Solution Overview Here we present a Dodgeball robot, a combination of dodgeball and robot. The robot’s primary function is to fire small projectiles at specific targets (e.g., based on color or specific symbols) through the use of computer vision aided by YOLO v8 machine learning. The machine is able to move independently on its own, and gun reload can be manually overridden through an IR remote control, and all of the necessary components (including machine vision devices) will be mounted in the device, and the machine will be powered by a 20V/5A powerbank, meaning that no external connection is necessary. # Components ## Firing - Homemade “tennis” ball launcher for firing mechanisms. Two motors aligned horizontally rotate on opposing directions to launch the ball (tennis-sized ball). The system is an open loop system. The motors are of high RPM and reasonable torque, hence the ball will be launched quickly, and its trajectory will be a straight line. This reduces the need to determine depth/distance. - Vertical motor for vertical movement of the gun (shaft and the two rotating motors mentioned previously). - Reload motors control the flow of the ball from the magazine to the chamber, allowing only one ball at a time. IR remote may be used to disable the reload motors (through the Arduino) to prevent it from continuously firing at targets. - When a target is about to be shot, the Arduino control system will activate an LED and sleep for 2 seconds, after which it will start firing. This 2 second window should be enough for the other party to get ready. ## Moving - Two-axis control for gun elevation and rotation. Elevation motors elevate the gun, while the rotation motors rotate the whole turret structure, which houses the whole firing system. - Arduino (with IR sensor) to activate or deactivate reload mechanism to prevent erroneous operation. - From the AI classification, the Moving system moves the turret and the gun elevation to center the target on the camera (which is located on the gun barrel). ## Vision - Thermal camera to capture the surroundings and feed it to the AI for classification. We classify targets if their heat signature deviates significantly from neighboring pixels. - Jetson Nano for AI computations. - Python to create and run AI model (YOLO v8). ## Body - Chassis structure to hold all the components together. - Armor to shield devices from environment, with holes made to ensure air-flow. - Cooling fan inside for electronic devices. - Power bank for power supply of the electronics. # Criteria of Success ## Stable operation of the design - The robot must function autonomously without malfunction throughout its operation. - It should reliably track human movement and execute precise ball-firing actions without errors or unexpected shutdowns. - The system should incorporate error handling mechanisms to prevent escalating the problem to a potential injury device. - An example would be to immediately stop firing if a software problem is detected or when there are no bullets left in the magazine to prevent motor strain. - If the motors, processor or firing mechanism exceed certain safe operating temperatures, the system should pause operation and cool down before continuing. - A built-in physical emergency stop button for immediate shutdown if unexpected behavior occurs. ## Positioning accuracy of the gun - The robot must achieve ≥80% firing accuracy when targeting moving humans within a 5-meters range under standard (flat terrain, good visibility) conditions. ## High targeting accuracy - System should use reliable sensors, and good dataset model to enhance detection accuracy and prevent false positive. Stationery should achieve accuracy of ≥80%, moving ≥70%. ## Cost efficiency of the entire project - The entire project, including hardware, software and assembly, must be completed within the budget of 1000 RMB. - Designed should be for efficiency in power consumption (since it is battery-powered), and material usage, e.g., reusing components from previous projects. |