/AirRopeJumping

An rope jumping application on Android and Apple Watch

Primary LanguageJava

Air Rope Jumping

This is a interesting rope jumping Android app and Apple Watch app. Android version is available on Google Play.

ANDROID VERSION

It’s a virtual rope jumping app. Users can a cell phone instead of a real rope to do rope jumping. The app will count for the users, and also give the sound of swinging rope synchronously, making it feels like swinging a real rope. To prevent users from fabricating data by doing other motion, I tried machine learning method to detect cheating behaviors. Here is a demo:

APPLE WATCH VERSION

I also develop a Apple Watch demo version. When users wear their apple watches to do rope jumping, the app will count for the users. Also, it can count the number of trips based on the interval time between jumps.

COUNTING ALGORITHM

The counting algorithm is based on the value of the vector product of acceleration and gravity. A jump is counted when the value exceed an upper threshold and then a lower threshold (a pair of red dots in the following figure).

CHEATING DECTECTION

I built a SVM classifier on the server using libSVM. The app sends the motion data to the server, and gets the classification results back. The accuracy is approximately 90%. Though 90% seems like a pretty good will result, the 10% misjudgment is terrible to users, so I didn’t put this feature into the release version.

OTHER INFORMATION

In the Android version, I didn't put the cheating detection function into the release version because the accuracy is not statle enough due to lack of data. So I share both the release version and cheating detection version here. I didn't publish the Apple Watch app, so you can't find it on App Store.