this program takes the data from an IMU as the input and calculates the body's trajectory ,velocity and attitude .
it plots the velocities and euler angles vs time and the body's trajectory.
If I already have velocity on x,y,z instead of accleleration. What should I edit in the code find position.
I would like to know the exact meaning of each of the initial data into the input.
Ax, Ay, Az, and the acceleration values p, q, r is the angular velocity, right?
Also, phi, theta, psi initial data of the data values of a 3x3 matrix is the Euler angle, (x y z) is correct, the initial coordinates?
u, v, w I do not know exactly what is meant by the.
Hello, i download the zip file IMU position calculator. And i have several question. First, the raw data in the array data are the acceleration in g and the angular velocity in °/s?
Secondly, the input data in the matrix input, i put xyz as i want in my own markler? and phi theta psi are they the euler angle? and finally, what are representing the u v w values?
Hello, Abhilash, I have read your IMU-calculator algorithm and I have learnt a lot through it. But there is one question confusing me that how did you set the initial values to [0.0 0.218893 0.0 ;35.156 -0.79 7.598; 0.0 0.0 609.6].I think the initial values are different under different conditions. Then how can I get my initial values?
plz how can we calculate euler angles from trajectory (x,y,z) ?
Very good example but I have an IMU which gives acceleration and quaternion data as output.Then how can I use your code.Please suggest.
If I apply a constant acceleration in each axis, but keep rotational rates equal to zero in all axes, I get the expected velocities in all axes, but get the expected positions in only x and z, while y has zero displacement
The issue may be this:
line 32 currently reads:
It might be this instead, which involves changing only one sin to a cos:
How the earth rotation has taken into account?
1) What rotations do phi, theta, and psi represent? Standard z-x-z rotation?
2) In which direction is gravity supposed to be? Is it in the -Z (negative Z) direction?
@Dario: IMU unit mounted on a centrifuge was used to generate the example file, as far as I can remember
Can we use the function to plot trajectory in real time? Also can you give us the source of the equations used in the function find_position?
can any one help me to run the program when i try to run it i have errors
can i ask you what have you used to generate the example data?
Can I know which equations did you use? can you give me any references to look at? I'm trying to build an INS that outputs position based on accelerometer and gyroscope data.
Thanks for your help,
information about physical units for velocity would be usefull. There is a typing error in Line #29 "data(1,3)" might be "data(i,3).
Are you sure with formula for dY? Item [2,2] in rotation matrix is "sin(phi)*sin(theta)*sin(psi)+cos(phi)*cos(psi)".
@Jong Kim: Yes, u,v,w are velocities in the body frame.
u,v,w can be obtained from x_dot,y_dot,z_dot by a frame transformation.
I understand that Phi, theta, Psi are representing angles of x, y, z axis and x, y, z are position from virtual global frame. However, I don't understand that what u, v, w are representing. They are velocity? Could you explain for detail? Thanks
Bug fixes and included an example file.
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.