When fencing I frequently faced a problem. When two fencers hit each other simultaneously the decision of who gets the point is determined by a rule called the right of way. To put it simply, whoever initiated the attack gets the point, unless the opponent parries the initiator’s foil(sword) before landing an attack, by which the fencer who parried gets the point instead. When someone parries the foil before both fencers simultaneously hit each other, it is easy to know who has the right of way, but when no one parries it can be very difficult to determine who had the right of way as it is hard to know who initiated the attack. Thus I wanted to create something that could determine who attacked first to rid the confusion of who gets the point. To build this I used an accelerometer along with a Raspberry Pi to record acceleration in one axis(forwards and backward) during fencing matches and convert those data into CSV files. I then utilized Matplotlib, a graphing module, to convert those CSV files into easier-to-read graphs. Finally, after setting a threshold for acceleration in the forward and backward axis, it was able to detect when the fencer crossed that threshold and print the acceleration, time, and index of that moment. Using multiple data in controlled environments I adjusted the threshold accordingly so that the moment when the fencer’s acceleration crosses that threshold is the moment the fencer actually initiates an attack and is not just moving forward. This allowed the tracker to definitively know which fencer initiated the attack. A challenge that I faced was figuring out how to stabilize the tracker on the fencer's body so that it could record good data while being solid. In the end, I was able to find a way of stabilizing the tracker well and find the time when a fencer initiated an attack. During this journey, I learned about how to utilize lists, what graphing modules were, how accelerometers worked, and much more. So far the Fencing Acceleration Tracker can only track the data of one fencer and uses threshold-based detection to determine when a fencer has attacked. I hope that in the future my project will be capable of tracking the acceleration of two fencers simultaneously and use a more advanced and precise algorithm for determining who has initiated an attack.

Built With

Share this project:

Updates