TRIM_AUTO: Automatic trim adjustment

I am having difficulty trimming my plane so it is the same in manual and FBWA and FBWB modes.

What I do is set TRIM_AUTO to 1. Takeoff and fly in manual, trim plane in manual, then switch to FBWA or FBWB mode and the plane begins to drift left. I can then trim in FBWA/B mode to counter the drift but then when I switch to manual, the plane drifts right.

Can someone please help me understand TRIM_AUTO? The description is rather confusing http://ardupilot.org/plane/docs/parameters.html?highlight=trims#trim-auto-automatic-trim-adjustment

What is the actual intended usage scenario? i.e. take off in what mode? Perform the trimming in what mode? What is the actual specific process to get a plane properly trimmed in each mode?

Additionally how is RC_TRIM_AT_START used? It sounds like the same thing as TRIM_AUTO at the beginning of every flight? And what is the “start” point? Initial boot up or when armed?
http://ardupilot.org/plane/docs/parameters.html?highlight=trim#rc-trim-at-start-rc-trims-auto-set-at-start

1 Like

A good question without answer. тоо bad…

I had this exact same problem. I don’t think the TRIM_AUTO documentation in Arduplane is that clear. After a lot of testing my understanding is that after originally calibrating the flight controller for ‘level’ during setup the trim levels for the transmitter are saved to the flight controller’s SERVOn_TRIM for aileron, elevator etc. When you trim the aircraft in flight during FBWA or B your transmitter trims are now different from the SERVOn_TRIM values. This becomes a problem during AUTO or RTH modes as the flight controller is now seeing manual inputs from the transmitter while trying to conduct an AUTO or RTH mission. An aircraft may not RTH under this scenario. By trimming your aircraft inflight in FBWA or B mode and then briefly switching to MANUAL mode and then back to FBWA or B with TRIM_AUTO = 1, the SERVOn_TRIM values are updated from the transmitter to the flight controller. Now there is no discrepancy between the transmitter trims values and the SERVOn_TRIM values. However, as you and I discovered the aircraft is now out of trim when in MANUAL mode because of the new transmitter trim values.

My solution was that after trimming out in FBWA or B, land and adjust the control surface linkages to get MANUAL mode trimmed out. This took several flights and was a pain but it worked. This also didn’t affect the trim in FBWA or B modes because the flight controller knows what level is, and the transmitter PWM trim values agree with the SERVOn_TRIM values. Alternatively, you can trim out your aircraft in MANUAL mode, land and then recalibrate the flight controller for level, perhaps being more careful to ensure the plane is a level as possible during calibration. This would give the transmitter trim and SERVOn_TRIM the same values.
I could be wrong, but this is just my understanding of TRIM_AUTO, and as it happened it did work out for me. Hope this helps.