I am not sure if related, but I have just seen a similar post on a Facebook Ardupilot group
Thanks for adding me, I’m very new to Ardupilot and VERY impressed with it already. Although the setup is a steep learning curve the functionality in autonomous mode is very much improved over INAV.
I do have a little issue though I’m hoping you may be able to help with. On my maiden flight I noticed the cruise speed was very slow for my plane so I have increased the Min ground speed and Target Airspeed and now I have a fluctuating throttle in any of the closed loop modes.
I realise now that I did not calibrate the Airspeed sensor prior to taking off and the location I flew from was 200m higher than previously. I was also taking off through dense fog so I may have got some water droplets in the pitot.
Make sure you calibrate your airspeed probe by flying around in auto-cal mode for a while. (Calibrates the position) Don’t leave airspeed calibration on once you’ve got it set. and it’s a good idea to loosely cover the pitot tube when you power up so it can do the start up calibration for the air density.
Thank you - yep, that is on my list to try - unfortunately the weather has not been so great - but hopefully in the next few days.
But even if it is noise with the AS data (and there certainly is - I have added a choke to the I2C lines to try and help), I would think changing THR_slewrate, TECS_thr_damp, and TECS_time_const would have some effect.
Not sure if this is related, but I am having a similar issue but the plane doesn’t have airspeed sensor. Using 4.1 Beta 6 on Auto/FBWB mode the throttle fluctuates and stays much higher than TRIM_THROTTLE
What is surprising is that it seems that the airspeed target is higher because NTUN.AspdE is mostly negative.
if you are not using an airspeed sensor, and have not intentionally set it up to use synthetic airspeed with TECS_SYNAIRSPEED(usually not a good idea, since it can be wildly inaccurate on occasion), there is NO airspeed target being used…throttle is based on TRIM_THROTTLE and modulated by pitch demands for altitude holding
Today I did 4 flights for testing. Each flight has basically 3 circles in FBWB and 3 in RTL. One at low throttle, one half, and one at full.
Flight 1: arspd_use = 0, throttle_nudge = 0
Flight 2: arspd_use = 0, throttle_nudge = 1
Flight 3: arspd_use = 1, throttle_nudge = 0
Flight 4: arspd_use = 1, throttle_nudge = 1
All flights had some degree of throttle hunting - improved a bit by not using airspeed. Interestingly, I felt ‘throttle nudge’ continued to be active even when throttle_nudge = 0. Certainly it changed the throttle setting.
Other relevant parameters are:
thr_slewrate = 30
tecs_thr_damp = 0.7
tecs_time_constant = 7
Lanza, looked at logs…your TECS alt control is very good…your TRIM_THROTTLE is too low…should be 28%, but that is really not critical…that is what TECS needs to maintain alt, but its raising the nose 1.5deg to do it (hence increasing avg throttle to 28%)…if you want that cruise speed (22m/s) in FBWA also, then you would need to increase set TRIM_PITCH_CD to 1500…then level cruise would be 22m/s at 28% throttle…
otherwise, the spikes in throttle are not really hurting anything… you could try lowering TECS_THR_DAMP some to reduce the reaction of throttle to height variations…
sorry forgot that param has no effect with no airspeed sensor…you could try increasing TECS_TCONST to make reactions slower, but it might degrade alt accuracy
Henry, thank you very much. I read the documentation and it is clear everywhere that without airspeed sensor in AUTO/RTL/FBWB modes Throttle will attempt to maintain altitude, but based on the baro and gps altitude the fluctuations were really small.
If you don’t mind me to ask, I am curious what makes you guess that I want to maintain 22 m/s, The reason why TRIM_THROTTLE is set to 20% is because I noticed that in FBWA I can keep it steady and fly around comfortably with aggressive turns with little altitude loss or risk of stall. So I’d guess that my desired target speed should be between 12 and 15 m/s. Do you think that setting the TRIM_PITCH_CD to 1500 would allow the plane to fly closer to the targeted 20% throttle?
Again thank you very much for your help.
first, in non airspeed systems, pitch is primarily used to maintain alt, and throttle adjusted with pitch …speed is whatever you get…your current calibrated “level” attitude with 20% throttle cant maintain altitude…so TECS raises pitch and throttle to cruise at constant alt…1.5deg up and 28% throttle…result is 22m/s speed
first temporarily set STAB_PITCH_DOWN to 0 to prevent it interfering with your hands off pitch.
to cruise slower, raise TRIM_PITCH_CD a few degrees and fly in FBWA…adjust throttle for constant alt…note speed…raise or lower TRIM_PITCH_CD until you get the cruise speed you want and note the throttle you need at that speed to maintain altitude, that will be your new TRIM_THROTTLE…reset STAB_PITCH_DOWN…now both cruise and FBWA will fly at the same cruise speed you desire, although in FBWA it probably wont be at mid stick throttle since your plane seems pretty high powered
note: with “latest” software I added a flight option to allow the center throttle in non-autothrottle modes (except manual) to be adjusted to be TRIM_THROTTLE and linear interpolated from there in either direction, so even if TRIM_THROTTLE is 20%, center stick is 20% and switching from FBWA to CRUISE at mid stick has no speed changes…
Again thank you very much. Based on your feedback I decided to start over with a much more controlled plane level calibration using Mission Control and it made small changes but it made a big difference.
Attached is the new log in case you are curious. The bottom line is that Throttle usage was lower I think there is still room for improvement but probably marginal as this small plane is thrown around by the slightest air disturbance.
Thank you for clarifying mid throttle options (BTW I am using 4.2 dev, and I have airspeed sensor installed). My trim throttle is 48% so no worries, but wanted to have that knowledge for future projects :).
AHRS_TRIM impacts all uses of IMU and is limited to 10degs…you can get good cal on IMU if their orientation is off by more than 10degs…have to change ORIENT param
TRIM_PITCH_CD applies only to fixed wing modes (not VTOL) and can be larger than 10deg if needed…
Q_TRIM_PITCH applies to VTOL modes to trim level in those modes
edit : corrected typo
NOTE: to arm, you need to move the rc channel’s trim for throttle to be mid-stick…it only affects the pre-arm check… since the only way to know where mid-stick really is , is by setting the trim value to be it…this allows the curve to be set with TRIM_THROTTLE at that stick input value