Hi dear Ardupilot guys and girls!
I’m quite new to multicopters, but during the last months i read a lot and also have a well foundation in electronics and programming. Now I’m struggling a bit at (hopefully) finetuning my first copter build, I’m not sure where to look for improvements. The symptom I’m trying to fix is bad video stabilization on the roll axis, but I have the feeling that the problem is at the copter (and not the gimbal) side, either tuning or hardware…
First my specs:
- Tarot Ironman 650 frame
- 4x T-Motor MN3508 700KV motors
- 4x T-Motor MF1302 13" props
- 4S 10Ah battery
- Pixhawk “2.4.8” controller
- DIY gimbal with SimpleBGC and Gopro
In this video you can see the jerks on the roll axis that I’m struggling to get rid of by gimbal tuning. The gimbal also is really stable while moved by hand. Or maybe these are movements that the gimbal should eliminate but for some reason it can’t do that while it’s in the air (airflow, vibrations)?
In the log (please ignore the first flight, had some connection problems there, look at the second flight), I always can see this (slight?) motor imbalance, but the motor mounts are exactly level and not twisted. What could be another reason for this? Also I think the roll tuning is not that great, is it? I started with a fresh autotune several times and also followed the arducopter documentation a lot.
Would be nice if you could have a more experienced look at my stuff, maybe there is something obvious I’m missing…
Is the center of gravity at the geometric center of the copter?
Yes, as far as I can tell by balancing the copter on two screwdrivers, the center of gravity is at the center of pitch and roll axis. For yaw, the COG is below the motors as there is the battery and the gimbal. But as far as I read, this shouldn’t affect the response a lot, right?
Thanks, I know these instructions quite well, followed them many times. Be sure I read and tried a lot before asking here.
The parameters from the log are based on an autotune, the changes suggested by the instructions and after that some small experimentation.
I just had another look at the tuning parameters and they all seem to be either at the autotune values or close to the suggestions. But maybe I should do another autotune today and post “untouched” parameters from there?
I would lower the INS_GYRO_FILTER, 25Hz perhaps. and then perform the steps to set the Dynamic Notch Filter. After the results of that are satisfactory then run Auto Tune again.
Also, normalize the rate filters to 17Hz and reset the ATC_ACCEL_P/R_MAX values to Alt>A plug-in guidelines before running the Notch Filter routine.
Or you could just reset to default and start over…
Thanks for your advise! I just did what you suggested:
- ran Alt+A plugin and let it set all the parameters
- this also reset the ATC_RAT_PIT_FLT… stuff
- set INS_GYRO_FILTER to 25 Hz
- followed the instructions for the Dynamic Notch filter and set it to 70Hz
- did an Autotune for Pitch and Roll again
Unfortunately the results seem to be worse than before. It was getting dark so I hadn’t the best view to the copter but there seemed to be some strange jerks. Also the log looks “overtuned” to me, what do you think? Still I’m getting an imbalance between motor 1&2 and 3&4 or is this still in the margin of error? I checked the motor mounts once more but they are exactly even and not twisted…
The log of the test flight:
There is a “AltHold” sequence at 17:31.
That Autotune certainly didn’t net good results. The pitch PID’s are too low. You will have to take a methodical approach I think. Reset the PID’s. Then change these:
Make another short AltHold flight and post that log. Have to make sure the Notch Filter is actually working.
I reverted the PIDs to the ones from my first post (that are working “ok”) and made the changes you sugested. The flight log I will post tomorrow as here in germany it’s dark now - thanks so far!
I just did the test flight, but there was quite a bit of wind and the attitude was really bad. So I only did a short hover (much more “drift”) in AltHold and then went for PosHold.
The motor noise looks well surpressed by the notch filter to me, but the tuning (DesRoll vs Roll) seems to be all over the place and quite strange to me…
Yes, notch filter is working well. Pitch tuning isn’t terrible, roll is. How did you arrive at different rate filters for pitch and roll? In any case I would set the roll PID’s and filters equal to pitch and see how that looks.
And the motor balance isn’t very good. With no pitch or roll and no speed Motor 3 averages ~1650us and Motor 2 is ~1450us.
Unfortunately, it keeps snowing, so I can’t do any test flights now.
Regarding the motor balance, I really can’t tell where this is coming from. Mechanically all the propellers are level and the ESC setup (in BlHeli) is the same on all of them. Is there anything else to check?
Finally the weather was good again and I was able to do another test.
What I did so far:
- Fixed motor balance (I’m really surprised how exact the mounts have to be…)
- Followed all the tuning steps as precise as possible
- Fixed everything that could possibly wobble with zip ties
- Did Autotune with no wind, highest aggessiveness, from AltHold (instead of Loiter)
The tune came out better than before I think. Behaviour is not bad for my feeling, only there are slight oscillations when hovering now.
I tried adjusting Roll rate P & I, Roll rate D and Roll rate Filters each up and down but nothing seems to have a big effect on the hovering performance. Maybe changing D changes the frequency a bit but not so much that I could totally get rid of it…
Roll angular P, I already adjusted from 10.7 to 6 as suggested by the tuning manual.
How does this look to you? Hopefully better than before
I’m not really confident that copying the Pitch PIDs (got them from an earlier Autotune) to Roll would help much as the copter is not symmetrical at all (gimbal in the front, battery in the back). I guess this would lead to some really bad stuff, possibly breaking something (again…).
Video of the copter in PosHold with very little wind: