The 3BaysGSA idea was from Marcus Lui, who was a golf fanatic. In 2010, there was no handy tools to measure golf swing gesture. He asked the R&D team to design (and deploy) a golf swing analyzer gadget with motion sensor technology.
In 2012 Q2, we deployed it to the golf gadget market and tt was launched successfully because the gadget was relatively accurate and portable to use.
The software R&D involved was very comprehensive. Let me quote some examples:
- Firmware – low power consumption but working with high speed (e.g. 800Hz) motion sensors.
- Connectivity – Bluetooth SSP with MFi. Data compression to improve data transfer rate. Re-transmission mechanism when some data trunks were missing or corrupted.
- Algorithm – the computed golf swing parameters should be comparable to radar grade equipment, such as Trackman and FlightScope.
- App – It touched various effort intensive topics – data sync between app and gadget, data sync with app and web backend, local database, bluetooth connectivity, ffmpeg, and OpenGLES(in Zone app).
- Web portal – Frontend and backend.
You can find other resource or sharing from the Internet. In this blog, I would like to talk about the algorithm research in this blog.
The algorithm tried to find the swing locus and the orientation of impact point. It started from the displacement equation that we learnt in the Physics lesson:
We have an assumption that the initial velocity is always 0. The accelerator can measure the linear acceleration and the gyroscope can measure the angular acceleration. By double integration, it can compute the displacement.
A high speed golf club movement photo captured by my stroboscope and DSLR.
Since the force applied in golf swing is huge and the motion sensor noise is limited, the signal to noise ratio is good for locus modelling. During the ball impact, the motion sensors record momentary big noise. The following graph is a typical golf swing motion sensor graph:
Apart from golf swing analyzer, motion sensor gadget can be applied in many different areas. Locus (displacement) could be difficult if your signal to noise ratio is not good. On the other hand, acceleration (and maybe velocity) algorithm should be easier to implement. There are various sport workout product available in the market in 2018.
I learnt golf when I led this project. I need to generate a lot of swing data capture and compared it to the results from the radars. However, I have no talent in golf. Not sure if I have chance to play it again in US. 😀