I am working with my first flying wing that uses elevons, (Strix Goblin if it matters) so this may be a bug, an incorrect setting, or simply me misunderstanding how elevon control works.
When I am in manual mode, sticks in neutral, Ardupilot is outputing very non-neutral values for the left and right servo outputs. I believe they should both be at neutral (1500 each), and should only vary when non-neutral pitch is applied.
Here is what I am seeing for servo outputs: (Both servos set for 800,1500,2200 for min, trim, max) Pitch input is approximate since I am doing it by stick position. Roll input is neutral. NOTE: I have confirmed that ardupilot is seeing a linear pitch curve. IOW, there is nothing funny going on with any mixing on the transmitter.
Pitch Input ElevonLeft ElevonRight
Full pitch up 1081 1083
Half pitch up 1151 1151
Neutral pitch 1289 1292
Half Pitch down 1377 1380
99% Pitch Down 1498 1500
Full Pitch Down 1917 1920 <-- Notice big jump at the end
I think it should be 1500, 1500 at neutral pitch and roughly 1000,1000 at full up and 2000,2000 at full down.
Why are my pitch inputs causing this strange elevon behavior? How can I get the elevons to behave linearly to the pitch inputs?
There are lots of wings in this configuration flying around on Arducopter so it’s unlikely a bug.
Set LOG_DISARMED,1, restart the controller, and do the test you described. Post a link to the .bin log file and we can take a look to see what’s going on. Don’t forget to reset LOG_DISARMED,0 afterwards or your SD card will get filled up.
You might need to adjust the Mixing Gain to get it dialed in the way you want.
I set LOG_DISARMED,1, restarted the controller, and moved the pitch input through the full cycle, and made a few repititions of that last part of Pitch up that causes it to do that big jump in servo output.
NOTE: I simplified the original example by not reversing either servo output. On the actual plane, ElevonRight is reversed, and it is that way in the log. Ardupilot Log from test
Unfortunately that log didn’t help (edit: the way i expected… see below). The plane is in FBWA sitting at a 30 degree nose up pitch, so the elevators are going to be fully deflected. The log also shows no RC movements.
But… I did notice that RC2_TRIM is 2010, and according the the RC map params that is pitch (AETR is default). That trim value should be some where near 1500, so that could be messing things up. Maybe before we chase down another log, reset that trim to the correct value and see if that helps. If your throttle is on channel 2 then it can be re-mapped in the RCMAP_x parameters.