Hi all ! I am new here!
We are using the IMU Vectornav vn 100 rugged, for our ground vehicle, which will move in the 2D x,y frame. ( z axis pointing downwards).
Now the IMU gives [yaw, pitch, roll ] i.e [
ψ θ ϕ ] , acceleration along 3 axes, angular rate along 3 axes, magnetometer values Mx , My,Mz, at given timestamps
C
gb = rotation vector converting a vector from body frame to ground frame.
C
bi = rotation vector converting a vector from IMU frame to body frame.
Now if we consider this model
http://www.ssl.umd.edu/projects/RangerNBV/thesis/2-4-1.htm ,
wherein the IMU frame(i) is fixed with respect to the body frame(b), but is at a constant different orientation. The body frame moves with respect to the ground frame(g).
hence C
bi = constant and will be in terms of the constant angles alpha beta given in that model in that link.
now, C
gb will be in terms of the [
ψ θ ϕ ]
I have to calculate the location of the bot with respect to ground frame and trace its trajectory
My doubts are, where will the magnetometer data come in ?
In what frame is the magnetometer data given ? in imu frame or body frame ? or ground frame ?
What is wrong in calculating a
g from a
i , using C
gbC
bi = C
gi , and intergrating it with time twice and finding the displacement and hence the location at time t?
Suppose that the magnetic vector components are in some frame.
Now I convert it from that frame to the body frame , and I assume the ground frame x direction to overlap with the M vector in body frame( i.e true north is along ground frame x ).
Then I will know the orientation of body frame with respect to groundframe( or the true north ). Then i can find C
gb in terms of magnetic vector components itself and wont need [
ψ θ ϕ ] values.
Hence according to these, I either need the [
ψ θ ϕ ] values or the Mx,My,Mz values, and not both.
Where am I wrong in this analysis ? where will the angular rates needed ? In finding the location of the bot?
What i am understanding is that, the IMU generates magnetic vector data in in sensor frame, converts this data in ground frame using [
ψ θ ϕ ]. But magnetic vector data should be constant in ground frame. Hence we can solve for unknown [
ψ θ ϕ ], and thus IMU generates y,p,r values from magnetometer values.