Author Topic: Need help in understanding IMU output  (Read 683 times)

0 Members and 1 Guest are viewing this topic.

Offline humblebeeTopic starter

  • Beginner
  • *
  • Posts: 1
  • Helpful? 0
Need help in understanding IMU output
« on: October 13, 2013, 03:32:19 AM »
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

Cgb = rotation vector converting a vector from body frame to ground frame.

Cbi = 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 Cbi  = constant  and will be in terms of the constant angles alpha beta given in that model in that link.

now, Cgb  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 ag from ai , using CgbCbi = Cgi , 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 Cgb 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.

Offline jwatte

  • Supreme Robot
  • *****
  • Posts: 1,343
  • Helpful? 81
Re: Need help in understanding IMU output
« Reply #1 on: October 13, 2013, 05:20:38 PM »
I would assume the magnetometer frame would be the same frame as all the other sensors -- IMU relative.
Note that the magnetic field of the Earth is *not* strictly North/South; it goes into (or out of) the ground at a steeper slope the further north you are.
You can actually calculate your latitude by comparing the magnetometer direction with the gravity vector, assuming the IMU is as rest.


Get Your Ad Here