Let us assume two points in 3D space and we only care about their orientation, no velocity, position or acceleration.

Now connect those two points with a rigid body of certain length, so that the orientation of each of them depends on the other.

I think there is a constant function which represents the constant relationship between those points as their orientation is interdependent.

And that constant function depends on the distance between them and angles of the two points w.r.t 3 co-ordinate axis. But it is always constant.

Now I'm a 12th grade high school student and limitations of high school Mathematics is limiting my imagination of how should I approach the problem to find the function, please recommend some books where I can study so that I can solve this problem because I don't even know which part of mathematics this problem belongs to.

I need to solve this because I'm making a flight controller for quad-copter, and MEMS(Micro Electro-Mechanical System) Gyroscopes are prone to tremendous drift, which can be treated as a function of time.

By connecting two gyroscopes to a rigid body, and determining the value of that constant function which I described above, I can put the raw measurements in that function and compare it with the Ideal or theoretical function and then determine the deviation of the function with measured value to the ideal one, I may be able to determine the drift and compensate for it.

Pardon my mistakes I'm new here

  • $\begingroup$ Your idea is sound: if you have multiple sensors, their errors will partially cancel out. If you mount them close together and measure the drift while the object is stationary, you will get a little bit of improved error by using two. Mounting them far apart, a rotational drift of one would show up as a linear acceleration on the other. Is that the idea you are trying to pursue? $\endgroup$ – Floris May 30 '17 at 14:17
  • $\begingroup$ Process of improving errors by using multiple IMUs is already in the market. What I want to do is to impliment the sensors on a rigid body, and find the ideal rotational relationship of each sensor w.r.t other sensor, any sensor which dose not follow it, the incoming data from that sensor can be eliminated. $\endgroup$ – Tanishq Jaiswal May 30 '17 at 14:22
  • $\begingroup$ This is done all the time. Usually via some variant of Kalman filter to combine ("fuse" is the word of the art) data from the multiple sensors when they are working plus some higher level logic that checks if any of the sensors is returning results so statistically unlikely given the other sensors' measurements that it should be excluded. $\endgroup$ – Brick Jul 12 '19 at 12:13

MEMS gyroscope returns its angular velocity, not absolute orientation. Mounting two such gyros on single solid body results in both returning (when not counting for errors) just the same value regardless of how far away from each other do you mount them. Real MEMS gyro has some dependency between offset and linear acceleration too, so errors can be different for different mounting position and actual center of rotation. You can do some statistical processing of returned values from two gyros which could somehow decrease errors, but not much and you probably do not get any significant gain in long-term stability.

You can (at least theoretically) measure centrifugal acceleration caused by rotation by two accelerometers placed far away from each other, but in most cases (and practical dimensions) the error will be larger than simple gyro.

With careful bias cancellation it is possible to get quite impressive stability, but it needs quite a lot of work and calibration (some sources of bias drift, as an temperature for example, can be already canceled internally in IMU chip OTOH, study your datasheet carefully).

Still, for the flight controller an approach using "external" reference (if available) will be probably more suitable for long-term stability. MEMS gyros can be perfect for control feedback etc., but otherwise if you have access to GPS and magnetic compass data, it is usually better to use these.

Pitch and roll values can be calculated by taking an acceleration vector from GPS, adding (fixed) gravity acceleration to it (GPS returns acceleration in Earth-referenced coordinate system, so this operation is easy) and comparing it with acceleration vector returned by onboard accelerometers. These two vectors should have same magnitude, but different component values (as one is expressed in Earth-'s and second in the aircraft's coordinate system). Then simply take angle between these two vectors.

For heading magnetic compass or GPS data while aircraft is moving.

Also, probably linked: https://physics.stackexchange.com/a/137419/147802


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.