This is my first post in this forum, but I have been reading on you progress for awhile now.
WOW! looks like you guys achieved so much with minimal HW and processing power.
A couple of month ago I finished a self balancing robot project (written on a PIC18). I proudly donated it to a local children science museum...where it will be treated nicely.As I am into RC planes for the past 20 and some years, I feel this a good time to take my programming skills to the next level with an auto pilot project. I am an analog hardware engineer dealing with power electronics but do have more than adequate programming skills. My drawback is my rusty linear algebra, as I am 12 years out of university...what I don't use daily I tend to forget.
I read Williams and Paul's paper and after some linear algebra refresh I could understand the concept pretty well. Going over the arduino code I came across some things I could not understand.
I hope you can help me get things sorted out.
1- I would like to make sure that I understood the basic flow of data:
- Take gyro data at regular intervals and integrate it to get the three angles
- Take periodic accelerometer data and correct gyro roll & pitch drift with
the complementary filter
- Take periodic magnetometer data to correct gyro yaw drift with complementary filter
- Normalize the matrix.
- use the roll/pitch/yaw rotation matrices to get the three angles as seen by earth coordinate system.
- use a PI feedback to correct the errors
2- can you please elaborate on how the DCM matrix elements are orginized (yes.. the post title was for dummies)
3- Is the gyro data integrated once or twice to get an angle?
I am sure more questions will pop up, but I think this is enough for now.
Sorry for my lousy english.
Any help will be appreciated.