Hi everyone,I've written a patch for APM that allows for the autopilot/IMU shield to be placed in any arbitrary orientation relative to the airframe. The patch (based on current trunk code) basically…Continue
"A patch that applies a DCM at the IMU level is attached. The DCM is applied to the raw accelerometer readings with bias subtracted and to the temperature corrected gyro readings.
During gyro initialization in the base code, the raw gyro values are…"
"Doug,Thanks for the detailed response! Your explanation is extremely helpful.To make sure I completely understand your post and why the DCM method behaves differently, please correct my current understanding where needed:Ignoring the yaw case…"
The approach you are taking is too simplistic. It would be an acceptable solution if you wanted to mount the IMU say 20 or 35 degees off the normal orientation, but will mess things up for many of the possible 90 degree…"
"I've tested the patch a bit more with my current setup (the IMU is pitched down ~35 degrees with ~1 degree roll and 0 yaw) and correction algorithm still seems to function properly, even when twisted and shaken about pretty violently (with…"
"Doug, thanks for the comments, they are much appreciated.
I'm not sure I understand how the DCM drift corrections are affected at all by the scheme. The way I look at it, ignoring the patch, if the IMU were placed upside-down in an…"
"Your scheme will only work for certain orientations - for any orientation where the z axis is rotated this scheme will compromise the DCM drift correction algorithms. That is to say if you want to mount the board so that the I/O pins are in…"
Hi everyone,I've written a patch for APM that allows for the autopilot/IMU shield to be placed in any arbitrary orientation relative to the airframe. The patch (based on current trunk code) basically contains the code to add Euler angle offsets to the angles produced by the DCM code, along with a menu utility that automatically calculates the roll and pitch offsets, based on the gravity vector. A more detailed description of the patch is below (the patches, one for library code and one for the…See More