PID Adjustment Help Request- Single Copter

I need help with tuning my first non-quad, a Single Copter, using V4.07 ,Omnibus F4 pro FC, GPS and compass added, and built from The Ball-Drone Project MK II | Hackaday.io 1 Seems to fly ok but only for a short while. After a short time it will lose stability. Matching Rate Yaw PIDs to Rate Roll/Pitch removed the hunting I had on that axis. Been away from AP for 2 year’s and a lot has changed and added to both AP and MP. Tried Beta FW with no improvement. Is this a ‘I’ or ‘D’ Term adjustment I should be trying?—Adjusting ATC_Rat_FLTD etc., per tuning Wiki made things worse. Last half of attached log shows flight and failure
Thanks, Joe BinLog

Those look like the default PIDs, you surely need to change those. Saddly I can’t tune your PID for you, it’s pretty hard to do (even more without feeling the copter) and you’ll have to do it yourself https://ardupilot.org/copter/docs/tuning-process-instructions.html . Usually the P is changed first with I inferior to it, if it crashes not because of vibration I’ll increase PI.

You’ll find my tune here, with an explanation on a possible string test. My first Copter and Single-Copter is finaly finished ! My advices and struggles

1 Like

@hubble14567 Thanks for the comments. Yes defaults work fine in hover, with the exception of Yaw. I incresed “P” a few times with bad results, but not as far as in your setup. (Which I like and may build next.). Configuration using my settings as shown produces a nice stable hover with no wobble. I was questioning the “I” term as it will hover OK, but if I get more than 10-15 degrees of tilt, it gets out of control. Not sure if I should increse or decrease the “I” term. I may increase the “P” by a lot to see what happens though. I was hoping someone could devine something from the log file that may help. Super glue only goes so far! But I have an extra framed printed anyway as I expected a few crashes in the process. I also did a string test as you discussed, but it didn’t show the problem I am having, but I only did a hover to get Yaw sorted.
Joe

Oh think I’ve seen that. I was a bit confused with why you were talking about yaw not working, while speaking of tilt (also, please provide videos, logs are great and very precise but looking at 300 graphs without guidance is no fun. A video helps to know what I should be looking for in logs, maybe I only need the video and seeing a singlecopter fly is always cool).

It’s possible that one of your servo gets saturated (the flap can’t move any further), this looks like a loss of yaw control. You cannot see that on the string because the yaw alone does not saturate the servo, nor pitch, nor roll, but two of those command at the same time can saturate the servo.

(just saying that in case someone faces this problem, now I’m gonna check if that’s the problem in your logs)

Alright, the first servo to get saturated is servo 1. After this the copter goes haywire. So there is that.

But there is no real hard clue as to what makes the servo saturate.

Here’s the graph :

The yaw (pink) is slightly misaligned and this makes RCout1 (green) increase to correct it (1-2s before the saturation). It can be noted that green was never this high for a long time in the rest of the flight. Always before saturation, around the big increase of green, pitch and roll (yellow and orange) began to drift down. So the controller increased green to also correct for that. And this made green (servo1) saturate.

I don’t know what caused the drift on yaw, pitch or roll at this precise moment, but seeing the rest of the flight those misalignment don’t seem unusual. Except for yaw that is usually very quickly corrected, this was not the case here and made green go unusually up for long time, with bad luck a correction on roll/pitch was also needed at that time and saturated the servo.

You can also notice that the loss of yaw control is the most noticeable because it begins 0.5s before the other lose control. But the start of the problem is servo saturation.

So I’d lower the PID of the yaw (notably I), because right now it’s really fast and not that useful. You can also try lowering the other PIDs if the problem continues. (On mine I almost did not use I in the PID of the yaw, it didn’t seem to be much of a problem.)

Another solution is to extend the fins to create higher torque with the same servo angle.

PS : you can easily lower the yaw PID with a string test. I’d find a softer one that works fine this way.

PSS : you can also add more weight, this will increase the airflow and create more lift/torque on your fins. Mine hovered at 60-80% thrust (depending on battery level and additional load)

@hubble14567 Thanks for the tips on settings; that is what i needed to see as I wasn’t too sure what the logs were telling me. All my logs show the same deviation. Busy today but I will attack this tomorrow and see if lowering the “I” first, then overall PID’s to see what happens. I have looked at these logs a lot and just didn’t know what to look at. I increased the PIDS on Yaw over stock to remove a hunting problem I had. I may go back to default on Yaw and lower "I: first to see what happens. Never had this problem with all my other quads, but this frame is a new beast for me- but fun to work on. Again thanks for looking at the logs and providing me with the help I needed. I will probably be back with more questions!
Joe

You can also tweak error to rate, people often forget about it, or like past-me don’t know about it (it is true that it is often useless to change it).

Saturation problems are the worst, you don’t know if the stars are gonna align and saturate this poor servo today. I hated it so much that I made massive flaps. Good luck with yours (also I’m still not sure if it’s a pure saturation problem, the saturation can be induced by something)

This was one of my log with quick saturation and crash. You can see that when servo3 saturates, yaw control is lost (pitch and roll follow very quickly after that). The difference with this one and yours is that mine is really bad, servo3 is close to saturation right from the start.

This is another of mine, here there was no crash and I just sweat balls after seeing the copter rotate on its own right after a roll input, then landed.

You can see that it hugely impacts the yaw. But still, on mine the servo is always close to the limit, where on yours the servo stays quite far during the flight. This difference can come down from the difference in build or PID, idk, or it can be a different problem.

Also centering the center of mass is really important, if you don’t one servo will always be much closer to saturation (this was one of the problem with my logs, servo3 had to compensate for the weight).

If you want those logs:

pitch-yaw.BIN (482 KB) 3rd crash.BIN (448 KB)

This was one of the first successfull flights with longer fins, I’m further from saturation and no problem. Plus, what I want you to see is that my yaw PID was (really) bad/slow compared to yours (also had no filter on the gyro), so you don’t need the fastest PID of the west for a single-copter.

and this was the performance of the yaw PID near the end of the project, still very bad/slow but it worked really great, never had any problem.

Thanks a lot for those graphs and logs. This is what needed so I could make some comparisons of things. i have some family thigs keeping me busy for the next few days , but i hope to attack mine later this weekend using your insights if the weather allows. No way this thing likes any wind at this stage in tuning.
Joe