Right, I’ve spent the last few hours condensing and altering Polulu’s AHRS System, which I have been planning to use for getting orientation data from my IMU board. As it came, it was just one large sketch (actually a group of 7 files, I think) that took the raw data from the board and turned it into Euler angles for orientation. I had to put it all into a class and alter the function names, etc. etc. so that I could use it as a library with my main Arduino sketch.
The long and short of it is, I’ve finally got it working as a library but on further testing I’ve noticed a significant drift in the sensor values.
Forgetting the Z (lateral) orientation for now, which is mainly determined from the compass, I start the board with both X and Y values zeroed, and after about a minute of moving it around, I re-centre it and they have drifted to 40 (degrees) or so.
Obviously that is completely unacceptable for the application of a quadcopter, as we can have absolutely no drift whatsoever.
I’ll keep trying to find a solution.