Reducing IMU noise with redundant sensors?

This is for discussion and development of non-commercial open source VR/AR projects (e.g. Kickstarter applicable, etc). Contact MTBS admins at customerservice@mtbs3d.com if you are unsure if your efforts qualify.
Post Reply
MSat
Golden Eyed Wiseman! (or woman!)
Posts: 1329
Joined: Fri Jun 08, 2012 8:18 pm

Reducing IMU noise with redundant sensors?

Post by MSat »

Given that noise can be seen as random errors in the output of a sensor, shouldn't comparing and weighing the output of multiple identical sensors enable us to filter out much of those errors? I imagine this being primarily applicable to accelerometers, but perhaps it might be useful for gyros as well.
User avatar
FingerFlinger
Sharp Eyed Eagle!
Posts: 429
Joined: Tue Feb 21, 2012 11:57 pm
Location: Irvine, CA

Re: Reducing IMU noise with redundant sensors?

Post by FingerFlinger »

Maybe averaging them with each other would help to some minor degree, but largely no. Sensor fusion of gyros/accelerometers/magnetometers works well because the source of the error is physically independent on each sensor.
User avatar
brantlew
Petrif-Eyed
Posts: 2221
Joined: Sat Sep 17, 2011 9:23 pm
Location: Menlo Park, CA

Re: Reducing IMU noise with redundant sensors?

Post by brantlew »

I've been curious about this as well. I've heard statements like "adding noise to noise just equals noise" and it makes sense when you say it like that, but you would think that averaging over sensors would be similar to averaging over a large number of samples and would just serve to fill out the noise distribution curve. Maybe since each sensor has it's own independent curve, they don't strengthen each other that way. But it's still hard to imagine that if you had 100 sensors, that their distributions would be so far out of alignment that the average distribution would be a line or a blob or something meaningless like that. Does anyone know the mathematical basis for this?
MSat
Golden Eyed Wiseman! (or woman!)
Posts: 1329
Joined: Fri Jun 08, 2012 8:18 pm

Re: Reducing IMU noise with redundant sensors?

Post by MSat »

I definitely don't think they should just simply be averaged together, rather data should be ignored unless multiple sensors have similar values (not necessarily 100% the same), and therefore are in a sort of agreement with each other. Only when that's the case, should their values perhaps be averaged. Also, based on these "agreement levels", sensors with similar values should have their values weighed more in the final output than the value of a sensor that is further out of agreement. This would require at least 3 sensors of each type you wish to implement this with.
User avatar
brantlew
Petrif-Eyed
Posts: 2221
Joined: Sat Sep 17, 2011 9:23 pm
Location: Menlo Park, CA

Re: Reducing IMU noise with redundant sensors?

Post by brantlew »

I was thinking of something like this. Slightly different error distributions for two independent sensors. So even if the sensors each had zero error on a particular sample - meaning that they were both at their peaks, their values might still be different enough to miss a similarity threshold, and the two sensors could simply be rendered disjoint by a sample culling algorithm.
IMUError.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
FingerFlinger
Sharp Eyed Eagle!
Posts: 429
Joined: Tue Feb 21, 2012 11:57 pm
Location: Irvine, CA

Re: Reducing IMU noise with redundant sensors?

Post by FingerFlinger »

Well, if the sensors are truly identical, then the error should also be identical. At best, I think by combining multiple sensors, you can attenuate problems with your test setup and manufacturing variability. So perhaps you can approximate an "ideal" accelerometer, but I don't think that you can improve beyond that level. It would be interesting to hear from somebody with a deep knowledge of sensor fusion.
MSat
Golden Eyed Wiseman! (or woman!)
Posts: 1329
Joined: Fri Jun 08, 2012 8:18 pm

Re: Reducing IMU noise with redundant sensors?

Post by MSat »

@brantlew

If I'm understanding you correctly, you're talking about output variations between sensors that are exposed to the same inputs (forces)? If that's the case, it may be possible to build boards with "matched" sensors (much like manufacturers do for pro-audio microphones), but realistically it would probably just be easier to test, and then calibrate them in the firmware/software.


@FingerFlinger

Why should the error be identical? Since noise consists of random output values unrelated to the input, it would be highly unlikely for multiple sensors to have the same output due to noise, even if the sensors are 100% the same (which in reality isn't possible anyway).
User avatar
FingerFlinger
Sharp Eyed Eagle!
Posts: 429
Joined: Tue Feb 21, 2012 11:57 pm
Location: Irvine, CA

Re: Reducing IMU noise with redundant sensors?

Post by FingerFlinger »

That's true and unavoidable for electrical noise, but is that really a significant source of error in consumer-class accelerometers? If it is then why aren't they anywhere close to the quality of high-end tactical devices? I suspect that process error and mechanical vibrations are far more significant(and likely will not be Gaussian distributed).

According to Analog's website, "Analog Devices accelerometers' noise is Gaussian and uncorrelated, so noise can be reduced by averaging the outputs from several accelerometers", so take that for what it's worth, I guess.

I guess my questions would be, how is the noise distributed in the devices we want to use? What is the biggest source of error? Could be electrical noise, A->D conversion, device bias, mechanical rigidity, physical mounting... All of the above is, of course, my own wild speculation! :?

EDIT: Also note that by using multiple sensors, they will not be co-located, and you may need to account for the different moments on each sensor. But this depends on the package size and mounting arrangement. Not likely to introduce a bunch of problems for our purposes.

EDIT 2: If my hypothetical mechanical bias is along some given axis, then you could could arrange the sensor array arbitrarily so that the "blind spots" of every sensor are covered by the others in the array.
Last edited by FingerFlinger on Tue Dec 18, 2012 2:46 pm, edited 1 time in total.
User avatar
brantlew
Petrif-Eyed
Posts: 2221
Joined: Sat Sep 17, 2011 9:23 pm
Location: Menlo Park, CA

Re: Reducing IMU noise with redundant sensors?

Post by brantlew »

FingerFlinger wrote:EDIT: Also note that by using multiple sensors, they will not be co-located, and you may need to account for the different moments on each sensor. But this depends on the package size and mounting arrangement. Not likely to introduce a bunch of problems for our purposes.
I think that's actually a very good point. Without the sensors being co-located or arranged symmetrically around the center of rotation how could you average their readings? You would expect them to experience different inertial effects based on their placement.
User avatar
FingerFlinger
Sharp Eyed Eagle!
Posts: 429
Joined: Tue Feb 21, 2012 11:57 pm
Location: Irvine, CA

Re: Reducing IMU noise with redundant sensors?

Post by FingerFlinger »

I think you would need to calculate for a "virtual" sensor position located somewhere in the array. Not incredibly difficult(in principle), but any error would be amplified by the size of the lever arm.
User avatar
brantlew
Petrif-Eyed
Posts: 2221
Joined: Sat Sep 17, 2011 9:23 pm
Location: Menlo Park, CA

Re: Reducing IMU noise with redundant sensors?

Post by brantlew »

But then you would need to know in advance the movement model - and there are a lot of degrees of freedom if we're talking about a head and neck. So from a couple of noisy sensor readings, I've got to first create a "hypothesis" about what is going on: yaw, looking up, lateral movement, or some combination of the those if I'm leaning over to grab something. Then I've got to use the model to determine my "weightings" for the sensors based on their position and the expected center of movement and then I can average them into a virtual sensor. Something like that right? A lot of places to go wrong here.
User avatar
FingerFlinger
Sharp Eyed Eagle!
Posts: 429
Joined: Tue Feb 21, 2012 11:57 pm
Location: Irvine, CA

Re: Reducing IMU noise with redundant sensors?

Post by FingerFlinger »

Hmm, yeah I think you're right...

However, my gut feeling is that, if those offsets make a practical difference in the results of the same-sensor fusion, we were looking at some pretty marginal performance gains anyway.

This is assuming multiple devices on the same board, rather than hot-gluing a couple of Hillcrests together, that might actually make a difference.
User avatar
brantlew
Petrif-Eyed
Posts: 2221
Joined: Sat Sep 17, 2011 9:23 pm
Location: Menlo Park, CA

Re: Reducing IMU noise with redundant sensors?

Post by brantlew »

I wonder if positioning them symmetrically but far away from each other (let's say over each ear) would provide any benefit by increasing the signal-to-noise ratio?
User avatar
FingerFlinger
Sharp Eyed Eagle!
Posts: 429
Joined: Tue Feb 21, 2012 11:57 pm
Location: Irvine, CA

Re: Reducing IMU noise with redundant sensors?

Post by FingerFlinger »

It would amplify the speed of movement, and I would expect gross motion to have a better SNR than fine motion(I guess this must be your thinking?), but it also amplifies every little twitch... Hard to say.
MSat
Golden Eyed Wiseman! (or woman!)
Posts: 1329
Joined: Fri Jun 08, 2012 8:18 pm

Re: Reducing IMU noise with redundant sensors?

Post by MSat »

Ah very good points! I'm glad we're having this discussion.

Given the tiny package size of many of these sensors means that they can be placed closely together. For our purposes, I don't think the forces acting on them would substantially differ among them at such small distances. Maybe this needs to be accounted for, but I just don't see it as being a deal breaker.

I'm actually a bit surprised that placement of the IMU on an HMD hasn't really been discussed, especially since it would have a big effect on the accelerometer value. How could we ever expect to get anything more than just a gravity vector if its position on the HMD is not accounted for? I guess the noise is so high that it's not of much use for anything else, but if it could be reduced, then the location of the IMU on the HMD would need to be known in order to model the tracker properly.


As for placing them far apart from one another, the interesting effect is that you can create a gyro, but you end up losing the ability to filter noise, because now the forces acting on them can vary significantly between them. That's not to say you couldn't put multiple sensors on each side, but I think that would just be a waste.
User avatar
brantlew
Petrif-Eyed
Posts: 2221
Joined: Sat Sep 17, 2011 9:23 pm
Location: Menlo Park, CA

Re: Reducing IMU noise with redundant sensors?

Post by brantlew »

If we're talking full chips here, I don't think you can necessarily discount the placement. Even sticking them side-by-side you're looking at close to 1 cm separation. These sensors are ridiculously sensitive and I think that 1 cm separation on something like a 10 or 15 cm lever would be significant enough to show up. If the actual sensor itself could be placed side-by-side on chip (1mm) then maybe the distance could be ignored.
MSat
Golden Eyed Wiseman! (or woman!)
Posts: 1329
Joined: Fri Jun 08, 2012 8:18 pm

Re: Reducing IMU noise with redundant sensors?

Post by MSat »

Yes, I mean the actual sensor ICs placed next to each other on a single custom PCB.
MSat
Golden Eyed Wiseman! (or woman!)
Posts: 1329
Joined: Fri Jun 08, 2012 8:18 pm

Re: Reducing IMU noise with redundant sensors?

Post by MSat »

As it turns out (and I suppose unsurprisingly) quite a bit of research has already been carried out on this topic, and the results look promising.

Here is an abstract and full paper (free) about creating a "virtual" gyro using an array of mems gyro sensors:
http://www.mdpi.com/1424-8220/12/2/1720

While dead reckoning still remains impractical for any significant period of time, short term DR may be more feasible in conjunction with a slower absolute positioning system such as a high-res camera for optical tracking.
Post Reply

Return to “VR/AR Research & Development”