Hey, yes I found a solution which works really well. However, it is a rather big system because I developed it during my master’s thesis. Here is the short version: using UE4 I created a VR demo app in which the participants had to execute some head gestures which I recorded (gyro and accel). Using time series magic (Google “dynamic time warp” and “dynamic time warp barycenter averaging”) I extracted a representative example of each gesture (the five mentioned in the first post). So for every gesture I have six curves (3 gyro, 3 accel) in a coordinate system.
I then used particles filters to recognise the gestures. Explaining particle filters takes a little too long now, but the basic idea was this: every particle lives in the coordinate system of one of the representative gestures and has a timestamp. When a measurement is taken, the particle is rated: if the measurement matches the curve from the point on where the particle is, the rating is high. Particles with higher rating are more likely to make it into the next population.
If enough particles have gathered around one point in time in one gesture, this gesture is recognised.
Due to the particles moving forward in time all the time, new particles are inserted into the population every once in a while.
The system works really well. New people only had to exercise like one minute and then could easily interact with it. I made a sample game not unlike Tetris where users could move and turn the stones left and right and drop them with the mentioned gestures and it was a lot of fun.
I cannot give you all the details right now since I am travelling. I will be back home in the second but last week of May. If you still need help then, I would be happy to help. Just reply to this thread, I have subscribed it.