A while ago, we wrote about Suunto’s Movesense, an open development environment for movement sensor apps, in our blog. This time, we thought it would be fun to share our own experiments with it as well.
Apart from being an Android Samurai here at Taiste, I am a long-time Aikido aficionado. This inspired me to create a demo for my wooden practice sword, bokken. It soon turned out that this combination was a great playground for testing out the different features of Movesense. This is the tale of the trials I faced, and the enlightenment that followed.
The Way of the Movesense(i)
Movesense lets anyone create their own movement sensor based applications. It is both a physical toolkit and an open development environment designed in a manner that lets both professional and hobbyist programmers build movement sensor based apps incredibly fast.
The Movesense dev kit includes a set of wearable sensors and a belt that can be easily attached to pretty much anything. Other devices can then connect to the sensor via Bluetooth. The data that can be acquired from the sensor includes – for example – temperature, acceleration and angular orientation.
When I began looking into Movesense, we got the idea to use it for detecting the movements of my Aikido practice sword, bokken. I decided to focus on detecting and separating two types of movements, namely slashes and thrusts. To save time, I used Suunto’s own example app as a starting point for my journey.
The Sword of Truth
As it is, the basic functionality of the application is quite straightforward. After connecting the Movesense sensor to Bokken and pairing it with the smartphone, the app starts analysing the movement data and tells whether you’ve just performed a slash or a thrust.
To make the results even more accurate, I tweaked them with Savitzky–Golay filter to clean out the unnecessary bits of the raw data. Even while making these adjustments, I felt I had constant control over what I was doing. Making movement data work for you in a program is not always an easy feat, but Movesense made it quick and painless.
When the Last Feature is Drawn
Naturally, the app at this stage is still unpolished, but already works incredibly well. It sometimes mistakes slashes for thrusts, and sometimes takes a while to realise that a gesture has ended (mistakes my real-life opponents only get to make once). It also has occasional issues with rapid small move and rotations. However, the fact that a perfectly viable basic version of the product could be built so fast speaks volumes of Movesense’s quality.
All in all, the training from apprentice to a practitioning Movesense samurai was an interesting exercise. Hopefully we’ll get to make use of its teachings in our customer projects soon. In just two weeks, I had a functioning motion sensor app demo in my hands – this would definitely not have been possible had I built things from scratch. The magic of Movesense is that one gets to focus on the actual functioning product in no time. And with the recent release of the Level 1 beta of the Movesense firmware packed with new features, things are only going to get more exciting from here. Like some famous warrior somewhere (probably) said, the path seems filled with new adventures.