After a few more tests, I now have the final version of the ArduIMU. The main problem was the calibration of the gyros: converting the raw data to degrees/s. I had to change the source code, compile it, upload, and repeat it over and over again. Totally waste of time.So i configured Arduino to externally adjust the gyros and the accelerometer jitter filter, using the nunchuck potentiometers (joystick axis). Now it’s working pretty well. =)Please, in the source code, ignore all the lines marked with "//(kalman)", this lines are related to the kalman filter code, those marked by "//(nunchuck) are related to nunchuck accelerometer and axis control, and all marked by "//(gyro)" are code related to the control of the gyroscope.Another tip, all the data is processed in radians, then is converted to degrees (radian*180/PI = radians*57.295779= degrees). If somebody needs any help, please feel free of asking me.Video:-Yellow color = Just Accelerometer read-Red color= Accelerometer+Gyro+KalmanFIiterArduino Source Code: http://sites.google.com/site/jordiuavs/Home/kalman_filter_by_Jordi.txt Labview (ground station) source code: http://sites.google.com/site/jordiuavs/Home/kalman_filter_by_Jordi.txt To do: -Integrate another Gyro (to make it dual axis) . -Program the SPI altimeter.-And put all the hardware together and make it work (GPS, Altimeter, IMU, Modem).
Done: -Servo control -Gps Waypoint navigation (I’ll post later about it).
The next article I'm going to post all the links to get started with Arduino environment. All you would need to learn: tutorials, examples, references, tips and tricks. If you already know C++ it’s going to be 99% easier. If not, you are going to discover why C/C++ is the most compressive and famous language ever ;-) Then jumping to any AVR, ARM, PIC microcontroller C/C++ language environment, is going to be a lot easier, because they’re all based on the same principles.
Comments
Congratulations for this project!
But the link (http://jordii07.googlepages.com/ArduIMUFinal.txt) is not work... Could you send me?
Thank you.
Erick Netto.
Thanks for the great job
Please let us have a link to the Labview code
greetings from Grenoble, France
yves
Your Kalman implementation looks to be identical to tilt.c…so…
How do you solve lateral acceleration? In an aircraft z may remain constant (coordinated turn) and y or x may change proportionally when skidding (lateral acceleration) or forward acceleration or decleration. 5DOF+K-filter interprets lateral acceleration as pitch up/down (climbing, diving) or skidding )(roll in opposite direction of skid).
Paul Mace
what can i say... kudos to you... thx for the wonderful job...
Great work i must say!
Im wondering if your are doing some progress on your "Kalman Function"?
Im really intrested in your work! Im building a Quad enginge heli, with arduino and 5dof, 12bit ADC and other things, but im stuck on the Kalman filter thingy. Can you please help me?
Regards Niklas from Sweden
http://sites.google.com/site/jordiuavs/Home/kalman_filter_by_Jordi.txt
I am very interesting on this project and I am trying to build an imu on my own.
I can't dwnload the file, http://jordii07.googlepages.com/ArduIMUFinal.txt.
Could you mind sending me an email with it? Thx.
My email: dongyiyuan@gmail.com
thnx