RE: Gyroscope Question
schwiegjc
Posts: 41
I recently purchased LISY300 Gyroscope. I downloaded the Propeller Demo Code and attached the sensor. It seems to work fine. I notice that the sensor output has a slight drift just resting on the table. Is that expected? It did accurately track the movement of the sensor.
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5
Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.
Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
It is however true that you can get a little bit of drift even if you calibrate correctly, but in my experience you shouldn't be able to notice that kind of drift unless you watch it for more than a few minuet.
-Kit
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
PHRED, FIRST Team 847, Member
Go -> PHRED
The rate of angular drift depends on the zero-velocity error and on how fast the velocity is integrated.· The drift will be 10 times higher if integrated at 100 times/second versus 10 times/second.· However, the integration rate must be high enough to track the·bandwidth of the motion that is occurring.
I think its the latter, but my head hurts to even start thinking about it...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.
The rotations in each dimension do interact with each other.· Try rotating a box by 90 degrees in one dimension, and then another.· Then reverse the rotations.· If you reverse the rotations in a LIFO (last-in-first-out) order the box will return back to its original orientation.· However, if you reverse the rotations in a FIFO order the box will end up in a different orientation.· I didn't have to worry about the interaction of the rotations in my rocket because the angles were fairly small, and it did not rotate around the vertical axis.
In general, the interaction among the three dimensions needs to be considered.· Each time the angles are updated it needs to be done relative to the current angular reference and not from the orginal reference.· Yes, it hurts my head to think about this also.
Dave
I do not think Solid state gyro drift due to the earth's rotation. It is more of a heating issue. The chips heats slightly causing the output to vary to some degree. This is the drift which can kill a system with only rate gyros.
We must remember that solid state gyros are only rate gyros, and do not have a spinning mass for reference. So they only give rotational movement information.
James L
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
James L
Partner/Designer
Lil Brother SMT Assembly Services
Please note: Due to economic conditions the light at the end of the tunnel will be turned off until further notice. Thanks for your understanding.
The drift of MEMS gyros is much faster than this.· One problem I encountered in my implementation is the digital resolution of the gyro signal.· I used a 12-bit A/D, which would seem to be a sufficient resolution.· The digitizing error at 12 bits is around 0.01 percent, which is quite samll.· I calibrate the gyro by computing the average DC value over a period of several seconds.· If the DC value has an error of 0.01%, and I integrate at 100 times per second, then the error grows by 1% per second.· In 10 seconds the accumulated error is 10%.· I was able to reduce the drift somewhat by computing the DC value to 16 bits of resolution, and I use 24 bits for the accumulation.
Dave
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.
I wish I understood the Kalman filter better. I basically understand what it is doing...but the math is a little over my head.
James L
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
James L
Partner/Designer
Lil Brother SMT Assembly Services
Please note: Due to economic conditions the light at the end of the tunnel will be turned off until further notice. Thanks for your understanding.
Post Edited (James Long) : 10/22/2009 8:52:41 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
The concept of Kaulman filtering is definitely a good thing if you have multiple ways of measuring a value.
Dave
Very good reading.
Jim
???????? yea.....sure. I would need to discuss that with a living person for me to understand that.
All those big words....and is that math???
But I am humble.
James L
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
James L
Partner/Designer
Lil Brother SMT Assembly Services
Please note: Due to economic conditions the light at the end of the tunnel will be turned off until further notice. Thanks for your understanding.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Mostly matrix multiplication ... the hard part is implementing that on a micro. Not impossible.
Heater,
lol
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
academic.csuohio.edu/simond/courses/eec644/kalman.pdf
I'll take a look at it...and let you know if my eyes cross or not.
James L
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
James L
Partner/Designer
Lil Brother SMT Assembly Services
Please note: Due to economic conditions the light at the end of the tunnel will be turned off until further notice. Thanks for your understanding.
Ok.....so it took me a few times of reading that.....but I think I get it. Thanks for the reference.
James L
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
James L
Partner/Designer
Lil Brother SMT Assembly Services
Please note: Due to economic conditions the light at the end of the tunnel will be turned off until further notice. Thanks for your understanding.
I do not have a clue how that would be implemented on a micro-controller. Is pretty neat....but I would probably use a pre-made filter (OBEX) and tune it for the system I used.
The reading was very interesting.........
James L
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
James L
Partner/Designer
Lil Brother SMT Assembly Services
Are you addicted to technology or Micro-controllers..... then checkout the forums at Savage Circuits. Learn to build your own Gizmos!
Its a 6DOF IMU that uses kalman, the device handling for accel/gyro/compass is external to the imu. It also uses fixed point maths rather than float for speed.
I looked at the code and that's great stuff.· I can see that the Kalman filter is useful when the gyro and accelerometer data is strongly correlated, such as in a balancing robot.· How are periods of acceleration handled when the robot moves from a fixed position to a constant velocity in one direction?· Does the Kalman filter automatically·filter out·the brief acceleration, or does it cause an error in the angle for a short period of time?
Dave
Is it a good idea to go with digital output sensors?? I just figured the less analog, the less noise.
James L
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
James L
Partner/Designer
Lil Brother SMT Assembly Services
Are you addicted to technology or Micro-controllers..... then checkout the forums at Savage Circuits. Learn to build your own Gizmos!
James, the software runs digital, many sensors are analog with an external A2D but not all. But if you look at the sensors that are digital all the ones I have found have a A2D built in so the main thing you are fixing is any noise issues between the sensor and A2D.
That is true. The only difference I see is where the ADC is located. Either in the chip, or outside the chip. I just figured the less parts the better.
I can not find a gyro with more than one axis which is digital. I have a LIS3LV02DQ accelerometer, which I really like. Now to fine a suitable rate gyro....preferably a set of dual axis, maybe paired with a MCP3208 ADC. That should give enough axis to be able to do an INU with an extended Kalman filter.
James L
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
James L
Partner/Designer
Lil Brother SMT Assembly Services
Are you addicted to technology or Micro-controllers..... then checkout the forums at Savage Circuits. Learn to build your own Gizmos!
Kalman filters can produce the optimal prediction of a value in a theorectical sense.· However, it seems to require a lot of compute.· For a balancing robot, I wonder if a simple noise filter on the accelerometer's tilt value would be just as effective at reducing drift.· The angle would be a sum of the high-pass output of the gyro plus the low-pass output of the accelerometer.· I'm sure this is all the Kalman filter is doing, but with a lot more compute.
Dave
The only issue I have with that, is the horizon sensors. If going high enough....the horizon sensors could be confused. This does depend on what type of horizon sensors are being used. If you make your own, then you could calculate for when only the earth's curvature is seen (not that many people fly rockets that high.......but it is getting more common).
James L
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
James L
Partner/Designer
Lil Brother SMT Assembly Services
Are you addicted to technology or Micro-controllers..... then checkout the forums at Savage Circuits. Learn to build your own Gizmos!
I agree in space this method wouldn't work though it would work off the ground but at low altitiude. Compass has a similar problem in free space the magnetic field changes again at low altitude it will still work. Horizonal sensors - depends on how they work - IR sensor will only work at low altitude.
J. Borenstein did some work on combining gyro/acc not using Kalman filters, if I remember correctly he had a threshold on the sensors and switched between the sensors depending on the sensor values but I didn't have much success trying this method.