Table tennis can be an expensive sport to learn, with the quality and costs of coaches being hard to determine. Our project aims to make it easier and cheaper to learn table tennis. Our design objective is to create a hardware device that can be connected to a table tennis paddle and be used for various training purposes. Our first objective is to ensure that we can collect useful data. One way in which we will test that is by using unsupervised learning to help users mimic each other, like you might find with a coach and trainee. Our ending objective is to classify different gestures and moves, then to use that data for more complex learning to help users train independently of a coach through real time feedback and post-training analysis through a web interface.
Table tennis (commonly referred to as “ping pong”) is an Olympic sport, and a difficult one to learn on a professional level; some countries only have a handful of professional players, and they tend to have played for a long time, taking lessons for 5-15 years (source). Lessons from professional coaches can cost anywhere from $20-100, and there are a wide number of attacking and defensive strokes that players must learn, as well as transitions from each stroke to the other (source). Approximately 19 million Americans play table tennis (source), but only 9000 Americans are registered in the national semi-professional organization (source). This means that almost all table tennis players in the United States have not had professional training.
It's using Python and Arduino/Raspberry Pi. It does ML via sklearn, and data viz via matplotlib.
Run the file
Manually measured swing-period: cutuy_swing_walk 2s