Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

3D Tracking using MEMS

Status
Not open for further replies.

ashfsk

New Member
Hi. Im designing( well, trying to) design a # D tracking system using MEMS accelerometers and gyros. As there are so many errors associated with MEMS devices and the dead reckoning algorithm. I need some help on the errors in MEMS. I have identified the following errors:

1. Zero g bias error-----If the temp. is constant can I overcome it??
2. Drift error-----Is this due to noise??? If so can it be removed using Kalman filter. If not, then what is the alternative?
3. Also as I am using many sensors, Im having axis misalignment errors. Can it be overcome??
4. Also due to integration to find position, we have errors. Is this the same as drift error???

Kindly help me.
Thank You
Ashwin.
 
There is no way to dead reckon with MEMS alone. Thermal noise alone make it's physically impossible, no matter how many sensors you use. Simply put, even under the most ideal of circumstances in the real world you will over time gradually drift from being certain of your location into a greater and greater degree of uncertainty, and it's not correctable without using other types of sensing methods such as optical, magnetic or RF. The drift error is due to both the thermal and gross mechanical noise present, and it can't be filtered out in a real world device, unless perhaps you're able to map the entire subatomic structure of the device you're using and incorporate that into the stabilization algorithm =>. Multiple sensors in various alignments is going to require a very high precision mechanical setup, which ends up just compounding the mechanical noise problem, though it can increase short term precision significantly. You really have to have some other method of true dead reckoning. MEM's is only good for transient movement in between, or short/medium term lapses in the true dead reckoning measurement.

The human sense of balance is a good case study. While most people think of the inner ear when they think balance if we don't have optical feedback on our environment we lose our bearings quickly, as anyone who's ever played pin the tail on the donkey, or pinata can attest to. When you put the two together it's really amazing.
 
Last edited:
You can calibrate these out quite well, but it is very hard- mainly because you have to build the test rigs yourself. Even then you will still experience drift.

For example calibrating for zero offset and axis errors is usually quite easy you just kind of stick it on the table and measure it (for accelerometers you might have to drop it or something and catch it to truly get zero G readings). To calibrate for offset varying with temperature you need to measure it across it's temperature range which can be tricky. To calibrate for scale variances (and figure out the actual scale factor) due to temperature and acceleration you have to apply a range of known acceleraitons at known temperatures to the thing which is...very tricky to do, especially the acceleraiton part. The best I could think of was to build a turntable that measures rotational speed where bolt the gyro down to the center and spin it at varying speeds...inside an oven to control temperature lol. For an accelerometer you would need to bolt it at a very exact known radius from the center and calculate everything from there...it's a lot of work. It's just easier to buy something from Microstrain. It's most affordable calibrated system I could fine (what you are paying for is the calibration). Silicon Sensing also has better IMUs that cost 2x or 4x as much, and some need "approval" since it seems they are accurate enough to be used in things like missiles or planes...but even missiles still use GPS.

Then there is Crossbow too. But making your own IMU...that's a massive massive project in itself...I would think it would rival a PhD thesis.

Integrations errors are unbounded, the longer you run it for the larger it gets to infinite. Double integration errors grow much faster. That's why you try not to use it for rate gyros to track your heading over long periods of time. The only thing I would consider using an IMU for (practically of course, not submarines or whatever) is to figure out orientation. A horizontal gyro measures heading over short periods of time while a magnetic compass measures heading over long periods of time, bounding the gyro's unbounded integration error. And accelerometers would measure the pitch and roll whenever the unit was stationary- if you really need dynamic roll and pitch measurements add two more gyros, and the accelerometers would reset the readings whenever the unit became stationary thus bounding the error on those gyros. But to deadreckon...to measure distance...I would not double integrate the readings from an accelerometer at all since there is no way to bound the error unless you use a GPS signal, even then over time your error would become bounded by 10m which is probably too much. The double integrated accelerometer would only help you know your position relative to your most recent positions with a greater accuracy than the GPS, not your starting point.

NASA used a sun tracking camera that points at the sky in their Mars rovers since Mars doesn't have GPS. It's a B/W camera that stares at the sky through a neutral density filter to dim everything in the image equally. Software picks out the most prominent roundish thing in the sky and calculates where the centroid. It then uses this with the time of day to calculate where it is. The data is merged with odometry data to bound the error due to slip on the Mars Rover wheels.

And yeah...if you're inside the magnetic compasses, the sun, and GPS don't work so you have no idea what direction you're heading or where you are...just your tilt.
 
Last edited:
We were asked to design a 3D tracking system using MEMS with an accuracy of 1mm. We were given 6 months to complete the project. I would like to add that this 3D Tracking system is being developed for weapon simulation. So the motion would not be as fast as in case of a vehicle and the motion would be restricted to a room. I would like to know if 6months is a reasonable time to complete this project considering the fact that there are 3 of us working on the project and all 3 of us are doing our B.Tech final year with no experience on working with MEMS. Also I guess in this case, GPS would be of no use as it's accuracy is far less than what is required.



All that we have managed to do uptil now is to find out what errors exist and how some of them can be overcome. Any help on how kalman filter can be used to improve the accuracy is welcome. Is kalman filtering related to Genetic algorithm??? We discussed with a few professors and they suggested Genetic Algorithm in this case.
 
Did it ever occur to you that you might actually know more then the professors you are talking to? It happens all the time in my experience, especially when a graduate engineer returns to campus for a second degree. A couple of years in industry and you've left those guys in the dust.

The Kalman filter is applicable to systems with LINEAR dynamics. The extended Kalman filter can be used in systems with non-linear behavior, but care is needed. As with most non-linear systems your performance could get worse with some types of inputs.

I don't think that a Genetic Algorithm, essentialy a glorified search technique, has much promise in this application. Just my opinion.
 
Last edited:
We just got one more week left and we still haven't designed the prototype. Im still confused if drift error is same as integration error and is a result of inbuilt noise in the system????
 
I guess that's the way the Mecedes Benz.
I don't think that drift error and integration error are the same thing. Drift is what happens when something is supposed to remain constant but it does not. The best example I can think of is an oscillator which is supposed to be oscillating at a given frequency. Because of the time of day and the temperature the frequency drifts from it's nominal value to a higher one. In the cool of the evening the frequency drifts back down through the nominal value to the nightime minimum.

This drift behavior has nothing whatever to do with what you are using the oscillator output for. If you are unaware of the behavior then your results will have builtin drift errors.
 
Last edited:
some more doubts.....For attitude correction the use of a gyro is required, right?? The trouble with using say a ADXRS150 is that one has to capture the voltage change before the gyro becomes stationary. When using a multi-sensor setup how is this possible??? Im not able to find a way to capture the voltage change during the small time interval??? Any suggestions????
 
A real autopilot relies on the real pilot to achieve straight and level flight before engaging the automatic control. The autopilot has no sense of absolute position. If you engage the autopilot in a vertical dive you will bore a rather large hole in the ground with no complaint from your electronic buddy.

I think this means you need a way to establish a reference attitude before engaging the automatic control.
 
As you would be knowing, Kalman filter is used to remove noise from a system. I would like to know if it can be implemented using C language on a PIC18f series microcontroller??? And if so how much time approx. will it take??? Just got 3 days to implement it.....thnx
 
I don't know much about Kalman filters, but I thought you needed a DSP-type controller/processor to implement it?
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top