zagisrule!
Jan 04, 2005, 07:02 PM
Hey guys,
I have finally gotten word that my gyroscope IC's will be here shortly, which allows me to make progress on my project.
I have read many papers on the subject and have developed an idea for this project. Kalman filters are the best way to go, as it is a superior method of combining the gyro and accelerometer into a useful angular displacement figure. However, I have come to the conclusion that using such a filter is mathematically beyond my current level of programming and comprehension. Therefore, I think I came up with a new solution that will suit my needs well. This idea is much simpler than a Kalman filter, also easier to implement and design around. Both angular sensors I will be using have large problems associated with using either one independently in such an application as an INS. I have seen online people using accelerometers as tilt sensors, and low-pass filtering the output to remove inertial "spikes" as the sensor moves, giving it's filtered output an accurate rendition to the accelerometers position relative to the earth. The problem with this is that the filtered result is that it is low bandwidth...this would obviously be a problem serving as the primary angular sensor in a UAV such as I am planning on making. Gyroscopes also have inherent problems such as drift (meaning the output changes slowly over time). Because the commercial gyro IC's I was planning on using are rate-gyros I need to do a bit of math the integrate the output to form an actual virtual angular position. The way I figured to eliminate the drift (low frequency) would be to add a high-pass filter to the output of the gyro...therefore blocking the DC drift and allowing the output to remain unchanged as the gyro drifts. The final output of the INS would consist of the low-pass accelerometer output and the high-pass gyro output combined to form a composite of the two sensors.
I was planning on using ADXL203 accelerometers (as I can implement an analog filter/buffer very easily using op-amps with the analog output, the PWM output of other sensors would make this a more difficult to implement digital filter) and ADXRS300 gyros (because I am getting them free! :) ). I was planning on using a 18-40 pin PIC and onboard ADC to perform math and create final outputs in either PWM or serial data form for the finished INS to communicate with the flight computer (next project).
Attached is the diagram of my proposed PCB setup, with gyros for roll, pitch, and yaw, and a single dual-axis accelerometer to serve as an inclinometer for pitch and roll.
Thoughts?
-Matt
I have finally gotten word that my gyroscope IC's will be here shortly, which allows me to make progress on my project.
I have read many papers on the subject and have developed an idea for this project. Kalman filters are the best way to go, as it is a superior method of combining the gyro and accelerometer into a useful angular displacement figure. However, I have come to the conclusion that using such a filter is mathematically beyond my current level of programming and comprehension. Therefore, I think I came up with a new solution that will suit my needs well. This idea is much simpler than a Kalman filter, also easier to implement and design around. Both angular sensors I will be using have large problems associated with using either one independently in such an application as an INS. I have seen online people using accelerometers as tilt sensors, and low-pass filtering the output to remove inertial "spikes" as the sensor moves, giving it's filtered output an accurate rendition to the accelerometers position relative to the earth. The problem with this is that the filtered result is that it is low bandwidth...this would obviously be a problem serving as the primary angular sensor in a UAV such as I am planning on making. Gyroscopes also have inherent problems such as drift (meaning the output changes slowly over time). Because the commercial gyro IC's I was planning on using are rate-gyros I need to do a bit of math the integrate the output to form an actual virtual angular position. The way I figured to eliminate the drift (low frequency) would be to add a high-pass filter to the output of the gyro...therefore blocking the DC drift and allowing the output to remain unchanged as the gyro drifts. The final output of the INS would consist of the low-pass accelerometer output and the high-pass gyro output combined to form a composite of the two sensors.
I was planning on using ADXL203 accelerometers (as I can implement an analog filter/buffer very easily using op-amps with the analog output, the PWM output of other sensors would make this a more difficult to implement digital filter) and ADXRS300 gyros (because I am getting them free! :) ). I was planning on using a 18-40 pin PIC and onboard ADC to perform math and create final outputs in either PWM or serial data form for the finished INS to communicate with the flight computer (next project).
Attached is the diagram of my proposed PCB setup, with gyros for roll, pitch, and yaw, and a single dual-axis accelerometer to serve as an inclinometer for pitch and roll.
Thoughts?
-Matt