Society of Robots - Robot Forum
Mechanics and Construction => Mechanics and Construction => Topic started by: humblebee 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 (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.
-
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.