PID analysis based on logs

Are there any existing tools or descriptions how to modify the autopilot’s PID-s based on previous flights logs? There have been some previous topics but they have been either dead ends or just asking how to correct a single plane’s PID behavior. As my setup is changing as I’m going through my failures, I’d like to learn the correct approach so not to stumble in the dark no more.

I’m currently building a bungee launched lifting-canard plane and the “successful” flights until now have been between 10 seconds and a few minutes, full of different levels of oscillations and general uneasiness. As the flights have been so short and ending poorly for the airframe, there hasn’t been time to do any significant tuning, manual or automatic ones. I’m also still figuring out a good CG position (last flight was probably too far forward and the canard was overworked) but the poorly tuned autopilot is constantly throwing me off and I might have missed a good position already.

An example of the pitch PID behavior, which is giving me the most grief right now:


Last flight log: Dropbox - 00000017.BIN - Simplify your life

I couldn’t understand your log, as it was too short. Your plane is nose heavy and the airspeed is almost reaching 23 m/s. Seems like the aircraft stalled because of higher AOA. If your aircraft is foam material, then this is very high airspeed.

My suggestions:
Try to takeoff in Stabilize or Manual mode to gain some altitude. Then do autotune.

AP Log Analysis Seminar:
Log seminar

The best tuned autopilot in the world can’t fly a plane with incorrect C of G. My suggestion would be to reset all the PTCH_RATE and RLL_RATE values to defaults, and then get the plane flying properly first. How big is the plane? Can you hand throw it? If so, to help tune in the C of G set the plane in FBWA and throw it a few times without arming the motor. The plane should fly level and land in straight ahead. Or if your comfortable use the launcher. It doesn’t need to fly far, just needs to be level.

Set SERVO_AUTO_TRIM = 1. Verify your RC calibration is correct. I noticed that the RC input values seem to level out about 1505-1510, however all the RCx_TRIM values are at 1500. And very important: Turn off any trims on your radio. Do not trim Arduplane with the radio trims. This means the controller will always be requesting a turn or climb. Use the auto trim I mentioned above.

Once you’ve got the C of G set correctly, then work on the tuning. The default tune should get the plane in the air, but if this is one of those outside cases, review the manual tune procedures.

https://ardupilot.org/plane/docs/new-roll-and-pitch-tuning.html#roll-pitch-and-yaw-controller-tuning