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

^{g}_{b} = rotation vector converting a vector from body frame to ground frame.

C

^{b}_{i} = 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

^{b}_{i} = constant and will be in terms of the constant angles alpha beta given in that model in that link.

now, C

^{g}_{b} 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

^{g}_{b}C

^{b}_{i} = C

^{g}_{i} , 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

^{g}_{b} 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.