I have a small drone with Matek F405-STD flight controller and Beitian BN-880 GPS/compass.
I was playing with my small drone, doing climbs then throttle cuts, before increasing the throttle again after the drone had reached a lower altitude for the purpose of amusement. The final time I did this on this flight, increasing the throttle with no pitch/roll inputs did not cause the drone to level out and stabilise.
In actuality, the drone started flying away from me and was definitely not becoming level. At this stage I realised I had a problem on my hands and changed mode to RTL so that the drone would safely return home.
It did not. Changing to RTL caused the drone to fly away even faster until it crashed. Thankfully no harm was done but this incident has shaken my entire faith in Arducopter and the Matek flight controller. I have never seen this behaviour before in several years. I have no idea how this could go so wrong.
The log:
This image shows what happened to velocity the final time I increased the throttle to recover and what happened after RTL:
I’d greatly appreciate any ideas or input as to what happened. I was extremely lucky that the fly-away caused no harm and I absolutely do not want to have this happen again. Thanks.
I suppose “vibe” is different to “ACC” though?
Also, I googled “IPD” but there’s not a lot out there. Please could you suggest a maximum level I aim for?
I currently have these relatively stiff vibration mounts for the FC:
but am going to change to these with my fingers crossed:
All said, there seems to be something very very wrong if the drone is flying away from the home position at maximum speed which is what happened. It is worrying that the drone can fly so well for months then go crazy. :-S
Sorry for the long reply and many thanks for yours.
If you graph VIBEs in Mission Planner, anything above about 15 is getting into the grey area of “this can go either way” and up around 30 is definitely going to give you problems at some point.
10 and below is good, and can sometimes be difficult to achieve for some builds.
Did the Vibration Compensation failsafe trigger before? That’s why it seemed to lose control. Because this happens:
Altitude controller switches to a more vibration resistant two-stage controller (position->velocity) instead of the regular three-stage controller (i.e. position->velocity->acceleration)
The vehicle will not change mode but its altitude hold will be less accurate than normal. The vehicle may overshoot it’s altitude targets and/or respond more slowly to pilot input.
I just checked 10 or so previous flights and Vibration Compensation never occurred during a flight, only after a different crash into a tree caused by user error.
Is it possible to disable Vibration Compensation? It seems to be the cause of this crash and I’d rather my drone didn’t fly away at full speed again.
(BTW, the reason I didn’t hit motor emergency stop is because I thought the drone was returning home - hard to tell the drone’s direction when it is a hundred metres away and I was not doing FPV)
You can disable it (FS_VIBE_ENABLE) but it’s not recommended. It’s there to actually prevent a flyaway if the EKF state is bad which yours was. The Position Down Innovations that Andy graphed should be <1 and you have huge peaks during that flight.
Understood about not hitting E-stop. I probably would not have either.
@arduouspilot just bringing new ideas to the discussion… but maybe this crash into a tree led to a mechanical issue in your frame or your FC mounting… a latent failure that could lead later to your fly-away incident… just thinking out loud.
Thanks. At this point I’m very tempted to disable FS_VIBE_ENABLE. I’d prefer a crash to a maximum speed fly-away.
Still, I think first point is to mount the FC on more wobbly rubber feet than the stiff ones it has now. I now know that need to get VIBE down.
That is a reasonable point, however the VIBE/IPD values are the same as they have always been. I looked at the first post notch filter tuning flight log and see that they are in the 30s there as well.
FWIW, here is a photo of the FC mounting on top of the drone:
I would replace those grommets with softer ones as you suggest. On one of my craft with a Matek mini board I stacked 2 of them. The ones that came with the 4in1 on top of the FC supplied ones. This very compliant mount works great. Everything gets easier with low vibe levels.
I have yet to see a vibe mount strategy I have used to be too compliant. On a 4” that does 30m/s auto mission runs on rails it’s mount is very soft.
The drone still twitches like it did before and does not seem to be “on rails”. This short video shows the drone in a slight breeze in LOITER mode. I am unhappy about the way it twitches.
Vibes look nice and low, a good base to build a tune on. PID’s are at default so move along to tuning. On that size craft you will be lowering the Rate P&I’s and increasing (significantly) the Angle Pitch and Roll. Auto Tune may do the job. As is now standard set INS_ACCEL_FILTER to 10Hz before proceeding.
If it was on 4S power i would suggest checking out Andy’s 5” build blog, but 3S will be different.
INS_ACCEL_FILTER was set to 20Hz so I set to 10Hz but it made the drone more unstable (more twitching) and that was not tunable. I also tried 10, 30 and 40Hz but none noticeably improved stability.
by 50% each flight in order to get rid of oscillations. By the way, there aren’t really any oscillations, only random perturbations. Oscillations I have always considered to mean sinusoidal-type movements.
Anyway, I found that reducing these parameters made the drone increasingly difficult to fly in STABILIZE mode until it was unflyable.
I am at a loose end as whatever I do, the drone wobbles randomly. I even tried reducing INS_GYRO_FILTER and also increasing it to no avail.
Any ideas what to try next? Do I have a dodgy flight controller? Should I try adding mass to the flight controller to reduce vibrations?