Orientation 3-axis accelerometer from x y z only

조회 수: 14 (최근 30일)
Francesco Lucarelli
Francesco Lucarelli 2021년 7월 22일
답변: Prabhan Purwar 2021년 7월 28일
Hi all,
i was wondering if it's possible to get an estimation of the orientation of the accelerometer, from x y z
I have a 3-axis accelerometer, with x(t), y(t) and z(t).
From just those 3 components, is it possible to determine the orientation of my accelerometer, eventually with respect to gravity?
Please find attached also a copy of x, y and z
Thanks a lot in advance for your time
Regards
  댓글 수: 6
Mathieu NOE
Mathieu NOE 2021년 7월 23일
if you take the mean of x,y,z data , you will have the projection of the gravity vector on your local X Y Z coordinate system.
from there you should be able to compute the Euler's angles
transformation matrix is :
you can start by computing theta as the 3,3 term of this matrix can be used in a straigthforward way
then, phi can be also computed by using term 3,1
etc...
Francesco Lucarelli
Francesco Lucarelli 2021년 7월 23일
you mean form the left side i have the gravity vector [x',y',z'] (mean of x y and z) and from the right side i have my [x,y,z]
so [x',y',z']=A[x,y,z]
computing the math i can have the three angles. Is it okay?
Thanks again

댓글을 달려면 로그인하십시오.

답변 (1개)

Prabhan Purwar
Prabhan Purwar 2021년 7월 28일
Hi Francesco
Rough estimate of the Position and orientation of the device can be predicted by making use of Kinematic equations.
It's under the assumtion that there is no collision taking place and the sampling rate is high to assume a linear motion model.
% Motion Equation
s = @(dt,u,a) u*dt + 0.5*a*dt^2;
v = @(dt,u,a) u + a*dt;
Once velocity components are obtained make use of the following code to get orientation and visualization
velocityAngle = atan2d(velocityY,velocityX);
[u, v] = pol2cart(deg2rad(velocityAngle), 1);
w = zeros(size(u,1),1);
% Visualization
figure
% Trajectory obtained using motion model
plot3(trajectoryX, trajectoryY, trajectoryZ);
hold on
% Orientation
quiver3(trajectoryX, trajectoryY, trajectoryZ,u,v,w,'LineWidth',0.75,'AutoScaleFactor',1)
view(0,90)
axis equal
hold off
title('Velocity plot')
Some manual adjustments will need to be made according to the setup condition assumed.
Hope it helps!!
Thanks

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by