I did the first test flights of my new drone yesterday. No problems. Docile behaviour, a bit sluggish perhaps, with the default tuning parameters. But I have questions after analysing the logs and parameters, before proceeding to autotuning.
Setup: Clone F450 frame, 2212 KV 930 motors, 10x4.5 props, clone Pixhawk 2.4.8, Arducopter 3.6.8, Littlebee Spring ESCs with BLHeli_S, running in Oneshot, 3S 5Ah battery, 1155 grams total takeoff weight.
I set up the parameters as recommended in the docs, and made every test I could on the ground. Then went outside, tied a 10m long leash to the drone, tied the other end to a brick,armed in loiter mode to make sure the GPS is working, switched to stab mode and took off, landed right away. No strange behavior. Then took off again, brought the drone to 5m height, did a little further testing with little tilts in all directions, all seemed fine but the drone tends to go up and down, probably due to self-created turbulence. Switched into althold mode, that worked fine, no longer needed to ride the throttle. Landed in althold mode, took off again in althold, went to 5m height, engaged loiter mode. Fine too. Made some motions in all directions, even full stick ones, the attitude response seems quite clean and direct, the position holding is a bit sluggish, with overshoot. One cannot go very far when tied to a 10m long leash with a brick at the end, so I landed after 5 minutes total flight time for all three test flights, downloaded the logs and parameters, and now I’m studying them.
Autoanalysis reports the following:
Size (kb) 6193.3505859375
No of lines 72136
Firmware Version V3.6.8
Firmware Hash 2f409678
Free Mem 0
Skipped Lines 0
Test: Autotune = UNKNOWN - No ATUN log data
Test: Brownout = GOOD -
Test: Compass = WARN - Moderate change in mag_field (33.21%)
Test: Dupe Log Data = GOOD -
Test: Empty = GOOD -
Test: Event/Failsafe = GOOD -
Test: GPS = GOOD -
Test: IMU Mismatch = WARN - Check vibration or accelerometer calibration. (Mismatch: 0.91, WARN: 0.75, FAIL: 1.50)
Test: Motor Balance = WARN - Motor channel averages = [1554, 1541, 1455, 1459]
Average motor output = 1502
Difference between min and max motor averages = 99
Test: NaNs = FAIL - Found NaN in CTUN.TAlt
Found NaN in CTUN.DSAlt
Test: OpticalFlow = FAIL - FAIL: no optical flow data
Test: Parameters = FAIL - ‘THR_MIN’ not found
Test: PM = GOOD -
Test: Pitch/Roll = GOOD -
Test: Thrust = GOOD -
Test: VCC = UNKNOWN - No CURR log data
I have some comments and some doubts here.
The magnetometer included in the GPS unit, on a pedestal, shows little noise but some slight measurement changes that follow average motor current, despite having been calibrated for total current compensation. The magnetometer included in the Pixhawk shows larger steps, and large noise, caused by motor current interference. The system is configured to use the magnetometer in the GPS, of course. Should I just turn off the other magnetometer, or is it a good idea to leave it enabled as a fallback, despite the noise, just in case something very bad happens to the GPS magnetometer?
The IMU mismatch surprised me. On the ground the two IMUs seem to agree well. My noise level measured 22 peak and 12 average in Z, and lower in X and Y. Accelerometer calibration was done very carefully at home. Question: Could the reported mismatch be caused in any way by the drone not being level during power-up before the flight? The drone probably wasn’t perfectly level at that time, because I live in the mountains and there just isn’t any level spot outside the house. But I understand that only the gyros are calibrated at power-up, and a tilted position shouldn’t affect that calibration, as long as the drone doesn’t move during calibration. Am I missing something?
Am I right if I think that the motor balance warning means that my left-hand and right-hand propellers aren’t exact mirror copies of each other? I’m assuming that the order of motor throttle values reported follows the standard motor numbering, which means that both of my left-hand spinning motors need a higher throttle setting that both of the right-hand spinning ones.
I assume that the other reported fails are due to stuff my drone doesn’t have, perhaps also to firmware version differences. Is that correct?
Then I wanted to do what the docs say to do after the first flight, to set up the drone for autotuning. I was suprised to see that MOT_THST_HOVER had set itself to 0.1416938. My drone definitely cannot hover at 14% power, much less at 14% RPM! During motor testing I found that the maximum thrust I can get is slightly more than twice the drone’s weight. So I had expected a MOT_THST_HOVER value around 0.45 to 0.5. My MOT_SPIN_MIN is set to 0.15, which produces roughly 200 grams of thrust. MOT_SPIN_ARM is at 0.07, and at that setting all motors spin but there is no detectable thrust. So, what does the MOT_THST_HOVER mean? Is it expressed in a different way or scale than the MOT_SPIN parameters? My stumbling stone is that when I want to follow the docs and set the PSC_ACCZ parameters according to the self-set MOT_THST_HOVER value, PSC_ACCZ_P ends up out of range.
So, how should I continue from here? Set that parameter as stated in the docs, even if that’s out of range, and proceed to autotuning?