This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bad Compass
#17
That answer to that question is simple in theory.


You have 3 sets off axis:
First you have the XYZ axis in rest (IMU in rest, ideally aligned in the perfect directions and all measurements should be considered as "zero").

Second you have the levelled/callibrated axis, basically rest + standard offset for XYZ, to compensate between "zero" and the compass heading.
An offset should be constant and you could just summarize different offsets (one for levelling and one for callibration).
Therefore it makes little difference in theory wether you callibrate the levelled sensor or startt with (zero + level offset.=new_zero).


To simplify start with leveling+callibration and call that state you find at the end of the second step "zero + offset" XYZ-axis.


Third you have the "current" measured XYZ axis (or rather the current XYZ directions calculated from 3 DOF rotation, 3 DOF translation and 3 DOF magnetic direction).

From current -/- (zero + offset) you can calculate the roll and pitch. During my school days we called that basic mathematics. The concept is easy, writing it out is a lot of work (and a smart implementation saves a lot of work, meaning more wrtiting and less calculation for the CPU).


If the "zero + offset" XYZ axis creeps you can throw away your measurement.
And you should check if the IMU is bad or whatever else causes the deviation.
Otherwise you'd have to callibrate during the measurements.

I think sean pointed out the one of the 3 direction sensors is more susceptible to temperature, that's where things get rough. If nothing helps you could callibrate the IMU with temperature as a extra parameter. But that is something you'd rather avoid, since your calculation gets more complex. But the combination of an MPU925x and a BMP280 is a very logical one.

With temperature correction you hope to find:
current -/- ("zero + offset" + "temperature offset")
Again, easy in theory since the temperature offset is not constant.
Reply


Messages In This Thread
Bad Compass - by Vince - 2020-09-18, 06:33 PM
RE: Bad Compass - by seandepagnier - 2020-09-18, 09:50 PM
RE: Bad Compass - by Vince - 2020-09-21, 08:15 PM
RE: Bad Compass - by seandepagnier - 2020-09-21, 10:16 PM
RE: Bad Compass - by Vince - 2020-09-27, 05:29 AM
RE: Bad Compass - by Vince - 2020-09-29, 03:35 PM
RE: Bad Compass - by seandepagnier - 2020-09-29, 10:52 PM
RE: Bad Compass - by Vince - 2020-10-02, 02:18 AM
RE: Bad Compass - by CapnKernel - 2020-09-30, 08:44 AM
RE: Bad Compass - by CapnKernel - 2021-01-21, 12:33 AM
RE: Bad Compass - by seandepagnier - 2020-10-01, 12:21 AM
RE: Bad Compass - by seandepagnier - 2020-10-02, 03:26 AM
RE: Bad Compass - by seandepagnier - 2021-01-21, 02:19 AM
RE: Bad Compass - by CapnKernel - 2021-01-21, 07:41 AM
RE: Bad Compass - by seandepagnier - 2021-01-22, 01:55 AM
RE: Bad Compass - by ironman - 2021-01-22, 03:57 PM
RE: Bad Compass - by seandepagnier - 2021-01-23, 10:37 AM
RE: Bad Compass - by ironman - 2021-01-23, 11:21 PM
RE: Bad Compass - by hreuver - 2021-01-22, 05:36 PM
RE: Bad Compass - by hreuver - 2021-01-23, 11:03 AM
RE: Bad Compass - by seandepagnier - 2021-01-24, 04:23 AM

Forum Jump:


Users browsing this thread: 2 Guest(s)