Hey all,
noticing a very weird situation in my plane running 3.2.1 (also tried some earlier firmware versions up to 2.78 and noticed similar behaviour). My setup is a plane running on a Pixhawk with a Mediatek GPS connected.
Observations:
-When flight mode is MANUAL nothing weird happens, servos respond as expected (no input, no output).
-When flight mode is FBWA something weird happens, the servos start jittering, and when I look in the logs (see attached image) I see that there is still no RC input for both channels, but a RC output is generated.
-The moment the GPS receives a fix the jitter on the RC output disappears.
Image of logged data:
See attachment. A description of what you see is:
Legend: red = RC input, green = RC output, blue = GPS_STATUS
In the part in the graph from 0 to 20.000 the plane is indoors, lying on a table. It does the jitter, as I described before. It becomes worse when I give some input on my RC transmitter (from 12.000 to 18.000 in the graph).
The GPS (blue line) has NO FIX. The plane is in FLY BY WIRE A the entire time.
In the part in the graph around 22.000 I move the plane outdoors (so there’s some small movement there).
Now, from approximately 24.000 and on the GPS has a fix. The jitter is gone.
Even when I again try to give an input with my RC transmitter (this time between 29.000 and 34.000) there is NO jitter.
Troubleshooting steps:
I have verified the following things:
-Reverted back to earlier versions of Arduplane up and until 2.78. Saw similar behaviour.
-Disconnecting and disabling (setting GPS_TYPE to 0) the GPS does not solve the issues strangely. The RC_OUT jitter also appears then.
-The jitter increases when the servo output increases, as seen in the image when I demand a change in angle using my transmitter.
-The moment the GPS_STATUS changes to FIX the jitter instantly disappears.
Attempt for a solution:
-I have dived into the code and searched for possible explanations. However, so far I have been unable to find a link between the RC_OUTPUT in Fly By Wire A mode and the GPS_STATUS. I will continue to work down from the signal send to the servos to the RC_INPUT until I find the point where the jitter is added, however since this is obviously tedious work this could take some time. Therefore I hope this is something people have seen before. Might it be some controller instability induced by bad parameter choice (I don’t expect it is, since I don’t believe GPS_Status influences controller gains and parameters, but I don’t want to exclude anything at this point). Is it noise?
Hoping we can figure this out together!
Thanks.