jump to navigation

iOS CoreMotion 13 May 2012

Posted by David Wilson in General.

Something else I’ve been experimenting with lately. CoreMotion under iOS on the iPhone.

You can see from the screen shot above that a lot of statistical data can be extracted from iOS. Actually that’s very easy to do. The challenge comes in doing something useful with that data. I am able to successfully implement the usage of reference frames and understand what’s happening there. Unfortunately the Mathematicians had a field day after that and introduced Quaternion (http://en.wikipedia.org/wiki/Quaternion) and Rotation Matrix (http://en.wikipedia.org/wiki/Rotation_matrix).

What am I trying to do?

Many of the available articles on the net or questions at http://stackoverflow.com talk about detecting a golf swing… I’m not trying to detect a golf swing but I am trying to detect a swing.

I may be making progress. Where I’m at now is measuring userAcceleration of CMDeviceMotion. userAcceleration (x, y, z) above an arbitrary number begging the process of capturing samples…. when the acceleration on all three axis falls below the arbitrary value then the samples are then all added together divided by the number of samples and multiplied by the time giving a velocity. This is shown in the screen shot above (red text on light green background). below is some sample debug output.

2012-05-13 14:52:24.511 iTest[5161:707] timeStart=116260.614214, TimeEnd=116261.019768, timeDuration=0.405554
2012-05-13 14:52:24.513 iTest[5161:707] x=-0.247293, y=0.263759, z=0.323034
2012-05-13 14:52:24.515 iTest[5161:707] x=0.037945, y=0.267724, z=-0.237428
2012-05-13 14:52:24.517 iTest[5161:707] x=1.686204, y=1.664073, z=-1.194653
2012-05-13 14:52:24.519 iTest[5161:707] x=-0.960586, y=2.531593, z=2.098828
2012-05-13 14:52:24.520 iTest[5161:707] x=0.000058, y=0.430671, z=0.036303
2012-05-13 14:52:24.522 iTest[5161:707] TOTAL x=0.516329, y=5.157821, z=1.026084
2012-05-13 14:52:24.524 iTest[5161:707] VELOCITY velocity=0.543462

Now in theory??? the velocity number will equate to a distance of movement…. And I guess if I use the net of X, Y, Z I may even know where in 3D space the phone has been moved to?
I’m looking forward to getting past this and onto more of the applications real implementation.

– David



1. Alex - 18 June 2012

Hi David, are you able to get 3D positioning yet? I am interested to know as well

David Wilson - 18 June 2012

Sadly no. I have not been able to get back to it. Distracted by changes to my TrafficCamNZ application and work.

But I do know that my approach was wrong. And I have to redo/rethink from the start. Nothing wrong with the data gathering… it’s the how to use it that needs to be solved.

– David

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: