QGC Starts up showing a heading of north no mater the direction of compass
-
@Chase-Riley Also, when arming is failing in position mode you can do a listener on the failsafe_flags topic to see what flags are set.
-
@Eric-Katzfey running
px4-listener sensor_mag
shows the mag data and it changes as I move the GPS/Mag around. So that is behaving how I would expect it toSENS_BOARD_ROT
is set to YAW 180. This is due to the VOXL2 being mounted 180 degrees rotated in the air frame.Everything seems to go well through an compass calibration. We have done quite a few while troubleshooting this.
I will take a look at the failsafes when I try to go into position mode, however at this point I think the heading needs to be resolved first either way. Am I correct to think that when rotating the GPS/Mag separate from the VOXL2 I should see a heading change based on the direction of the GPS/Mag? In this case I only see the heading change when rotating the VOXL2 (Which to my knowledge has no Mag on board).
-
@Chase-Riley Instead of setting SENS_BOARD_ROT you can set the rotation on the IMU driver to
-R 4
. But don't do both. I would try setting SENS_BOARD_ROT to 0 and keeping the-R 4
on the IMU driver start and see if that makes any difference. Also, do thelistener vehicle_magnetometer
to see if it is updating nicely likelistener sensor_mag
does. -
@Chase-Riley Is there any way that you can orient the board exactly as we have it in one of our drones (Sentinel, Starling) and use our parameter set and see if it works fine then?
-
@Eric-Katzfey I set
SENS_BOARD_ROT
to No rotation and made the change to the IMU driver as you mentioned and had the same results still always points north on startup.px4-listener vehicle_magnetometer
updates nicely as just likepx4-listener sensor_mag
.I was able to flash the sentinel params on to the board and was able to match the orientation of the Sentinel and had the same results. I made sure to change the IMU driver back to original before this test.
-
@Eric-Katzfey I went back in this morning and flashed the
ci_sentinel-params
which seems to be a entire param set and was able to get it working. Now I need to change the VOXL2 orientation. Would you recomend doing this through QGC or thevoxl-px4-start
? I am unsure which parameter caused it to start to work. Any insight would be appreciated so that I can make that change in my other systems with out having to change a bunch of params. -
@Eric-Katzfey I pulled the params from the system I have working and one of the systems that is having the Mag problem. Weirdly enough there is only 9 differences. I have listed them below. They all seem to be calibration differences if I understand correctly.
CAL_ACC0_XOFF
CAL_ACC0_YOFF
CAL_ACC0_ZOFFCAL_GYRO0_XOFF
CAL_GYRO0_YOFF
CAL_GYRO0_ZOFFCAL_MAG0_XSCALE
CAL_MAG0_YSCALE
CAL_MAG0_ZSCALE -
@Chase-Riley Huh, that's very interesting. I'm guessing that if the rotation isn't set properly and a calibration is done then those calibration parameters will be incorrect such that even when all rotations are specified correctly those old calibration values will mess everything up. So I guess that each time any rotation parameter or option is changed you need to go and recalibrate everything. For your case it seems like you should leave everything the same as Sentinel except change the rotation of the IMU driver in voxl-px4-start to
-R 4
and then recalibrate everything. -
@Eric-Katzfey It is interesting. I was able to get this working on SDK 1.1.2. This morning I tried to follow the same procedure with one of my SDK 1.0 systems and have had no luck. I reflashed the sentinel params and changed the rotations back to factory just like I did on the SDK 1.1.2 system and had no luck. I am guessing next steps at this point will be to upgrade my SDK 1.0 system to SDK 1.1.2 and see if the issue is solved.
-
@Chase-Riley Definitely would recommend being on 1.1.2 at this point.