Isolate vertical acceleration with quaternion and acceleration data

3 次查看(过去 30 天)
Hi everyone,
I got from an iPhone app : User acceleration (acceleration along the 3 axis of the iPhone without the gravity) and Quaternion.
Considering the iPhone upright:
X : right/left acceleration
Y : vertical acceleration
Z : forward/backward acceleration
I am trying to isolate the vertical acceleration assuming the device may be continuously changing (oscillation).
I am not sure how to proceed, I did that:
%create a vector with my 3 accelerations vectors
AccVector = sqrt(UserX.^2 + UserY.^2 + UserZ.^2);
%rotate the vector using the quaternion data
Acc2Reference_Frame = qvrot(Quat,User);
%rename with axis
Acc2Reference_FrameY = Acc2Reference_Frame(:,2);
Acc2Reference_FrameZ = Acc2Reference_Frame(:,3);
%compute vertical acceleration
VerticalAcceleration = sqrt(Acc2Reference_FrameY.^2 + Acc2Reference_FrameZ.^2);
When I plot the result, it does not look like the good result. I am not sure about how I proceed to achieve my goal.
I am not sure about the qvrot function which I took from the Quaternion toolbox in Mathworks.
Anyone face this problem or have an idea ?
Thank you very much for your help.

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Satellite Mission Analysis 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by