Log review: autotune, cuav yaw with gps and optical flow

Hi everyone,

I have been working on building a solid drone for commercial 3d mapping. The setup I have:
T-drones m690 pro (6S 22000mah, 18 inch props, custom t-motors 5005 motors, 5.5kg)
Airvolute Dronecore 2.0 (basically a cube orange+ with a custom carrier board)
Cuav c-rtk-2hp
here flow optical flow sensor
tf02 pro range finder

As a basis for setup I used the default params provided by t-drones for the m690 pro. After that I followed the wiki of ardupilot to setup each module.

Question 1:
After setting everything up I went outside for a couple test flights. During these flights I found that getting a good gps yaw estimate took really long. Sometimes it worked after a couple minutes but sometimes it took longer then 10min. Because of this I sometimes changed EK3_SRC1_YAW to the compass in the c-rtk-2hp just to get flying. I used the cuav c-rtk-2hp on another build previously which had a cube orange with default carrier board. Here it initialized always within a couple minutes. I have the c-rtk-2hp connected with CAN and I know the drone-core also has some communication running over the same CAN line. Could this be the reason for the long initialization time? Or is there something else?

Question 2
On the drone I also have a here flow sensor to improve loiter performance. I followed the wiki to perform a inflight optical flow calibration at around 10m altitude. After the calibration I tried flow hold which showed a strange wobble / oscillations. It seemed visually to be mostly on the roll axis. I tried multiple calibration attempts without better results. Loiter with EK3_SRC1_VELXY set to 5 also showed some drifting while with GPS it was rock solid. I changed settings according to this post: How to test benefits of optical flow improvements - #8 by rmackay9 to enable optical flow and GPS fusion. With this the loiter was great again. However I am unsure if the optical flow is doing anything or the GPS is doing all the work. So is my optical flow working correctly or do I need to change something?

Question 3
With the default t-drones params for the M690 pro it flew already quite okey. However it was a bit twitchy. Especially when it needed to correct for light wind. I added a custom assembly on top with 3d printed parts to house the dronecore 2.0 and some other stuff. So I wanted to use autotune to fine tune for this added weight and shift in CG.

I started autotune for pitch which was successful. The drone was very responsive. After this I performed autotune for roll. In the beginning it flew very responsive as well in stabilize mode. However when I did a more aggressive roll or pitch movement, especially in alt hold, the drone started oscillating heavily. The oscillation starts small but becomes worse when the drone tries to overcorrect. It becomes so bad that I need to takeover with stabilize mode in order to not crash the drone. I tried changing ATC_INPUT_TC to 0.25 which made it a bit harder to start the oscillations. But with aggressive movements it still started oscillating badly. Do I need to change the auto tune aggressiveness or is there something else wrong?

logs:
Flight before autotune (hopefully this shows a bit the GPS yaw problem?)

optical flow calibrationd and Autotune roll

Autotune pitch (roll was already tuned)

Thanks for taking a look at my logs!

Sieuwe