on my drone (plane) I had to mount the pixhawk with a different orientation because of space constraints.
The current orientation is as follows:
- the arrow on the pixhawk points left
- the big multi-color led points toward the nose of the plane
- the micro usb port points down
According to this, I set the AHRS_ORIENTATION variable to be: ROTATION_ROLL_90_YAW_270.
The orientation I’ve selected seems to be fine: if I rotate the fuselage, the attitude estimation shown on Mission Planner is right.
However, I’ve noticed that, despite selecting ROTATION_ROLL_90_YAW_270 as initial attitude, the initial values of roll is wrong and therefore the filter requires few seconds to converge to the correct attitude.
I’ve also tried to modify the initial value of the orientation on the InertialSensor.cpp class (see https://github.com/ArduPilot/ardupilot/blob/624aef401d01fd2f9f2cf2d2ae10703ef702efb0/libraries/AP_InertialSensor/AP_InertialSensor.cpp#L451) but it didn’t help.
Here is a log file: https://www.dropbox.com/s/5v70ua0fugbpfdv/00000317.BIN?dl=0