Need help with Toilet Bowl issue on 5" props quadcopter

Yeah, i know about this feature, but i generally calibrate compass in open field, i doubt how much it will help in dealing with toilet bowl effect, i thought in-flight compass learning was mainly for bigger drones as it is difficult to calibrate them manually

In this page at Overview part(Advanced Compass Setup — Copter documentation) you can see this description.

Without an accurate heading the vehicle will not move in the correct direction in autopilot modes (i.e. AUTO, LOITER, PosHold, RTL, etc). This can lead to circling (aka “toiletbowling”) or fly-aways."

So, the vehicle must have accurate heading to ignore toilet bowl effect.

Since the magnetic field will be different when the motors are running, in my opinion, in flight calibration will solve your problem. Can you make a test?

Definitely, i actually just did compass/motor calibration as well, it took some time in delivery of power analyzer, that’s why i haven’t updated people on this thread yet, i do have some inputs incoming soon, but now you have also suggested in-flight compass calibration, so i think i should not let any stone unturned, i will try that tomorrow, will see if i can perform both compass/motor calibration and in-flight compass learning on multiple 5" quadcopters then i will have more data available to analyse this toilet bowling issue, @xfacta will probably take a day or 2 more for logs, not able to do harmonic notch filter tuning in upcoming logs but it is definitely in my bucket list

@andyp1per But overall i can also see on my small 5" quadcopters that total field strength is around or more than 500 mGauss, sometimes it even cross the limit of 550 mGauss, which suggest that i probably need to work with my setup too, i am not sure about that, i am using external mag of RTK GPS but still overall field strength looks pretty large

On a small quad there will be a lot of interference, you defintiely want to do COMPASSMOT

i did that today first time, but interference comes out to be max 4% at around 70-75% throttle using current sensor, i just did that on one quadcopter for now, had around 14-15 flights after that, found just slight curvy movements in only one particular flight, but rest of the flights seems okay, i have the logs of todays flights, i can share them if you wanna have a look, cause i doubt if compass/motor calibration went well or not, i was really expecting more than 15-20% interference, anyway i am sharing logs here in few minutes

@andyp1per @xfacta @Eosbandi All these logs are of same 5" quadcopter with 3 different sets of similar 2 cell 18500 mAh Li-Ion batteries, have implemented compass/motor calibration using current sensor

FIRST LOG

COMPASS_AUTO_ROT = 2
COMPASS_AUTODEC = 1
EK3_MAG_CAL = 3
https://drive.google.com/file/d/1gvbKjCjwX6qqVospvJtgEwJOLeSpHNNy/view?usp=sharing

SECOND LOG

COMPASS_AUTO_ROT = 0
COMPASS_AUTODEC = 0
EK3_MAG_CAL = 2
https://drive.google.com/file/d/1c5K0V0iWVtfsyML6qd0NO9UwaJlRy30s/view?usp=sharing

THIRD LOG

COMPASS_AUTO_ROT = 0
COMPASS_AUTODEC = 0
EK3_MAG_CAL = 0
https://drive.google.com/file/d/1CBJXzlpLM6OZNxnbpGBZPzrohAwXtRHl/view?usp=sharing

These parameters change does not seems to have any other effect other than stopping default behaviour of ekf yaw reset after takeoffs, that’s why i was looking to know what’s the difference between heading fusion and 3-axis fusion, as i cannot able to find any difference from the logs and flights

In all these 3 logs, total magnetic field strength was around or more than 550 mGauss, and i don’t know how acceptable is the variance of field strength in these logs

Are you calibrating with props on?

yup, had switched the props in order to make quadcopter pushing down to the ground when raising the throttle

@AGurel things got little worse after in-flight compass learning with compass calibration fitness set to 8 (strict), 2 of the 5 small 5" Quadcopters continuosly doing toilet bowling in most flights, though offsets didn’t varied much compared to manual calibration, there was around ±(5-30) change in the values of offsets

Have done CompassMot calibration using current sensor, though there was just 4-7% of interference detected by this calibration in multiple 5" quads, done in-flight compass calibration even in strict fitness still this toilet bowl issue just getting more ramp up than before

I tried everything which is there for managing magnetic interference on compass, but still not able to manage this issue, only option i can think right now is to strictly review and made changes in my quadcopter ESCs and wiring setup

Can you post a picture of your build.

Will definitely share the detail images by tomorrow

Top view and rest all 4 side view build pictures are here in this link:
https://drive.google.com/drive/folders/1q2ihSHhd9CdObJSN9LnRzf-XQv9Ab1hd?usp=sharing

Hardware Details:

  • Airbot Omnibus F4 SD (V1) running ArduCopter v4.0.4
  • T motors F20
  • 4 in 1 ESC 15 Amps
  • PPM receiver
  • Ebyte E62
  • Custom build M8P RTK GPS

In our custom build M8P RTK GPS, 2 connectors are there for separate connection to mag and gps, rest everything is similar to HERE+ RTK GPS, position of mag is just below the GPS PCB under forward facing marker on GPS. I don’t think our custom build GPS is an issue cause we using same GPSes on different drones without issues. Also, when replacing our custom GPS with HERE+ GPS on drones which causing toilet bowling even then toilet bowling issue still persist on those drones.

Overall, my all small 5" quads are quite prone to this toilet bowl issue even after doing compassmot calibration and in-flight compass learning in strict fitness.

It will be really helpful to get some more inputs about our quad build cause compassmot calibration not showing much interference from motors (about 4-7%) and in-flight compass learning also not changing the offsets too much compared to manual compass calibration. That’s making me think now that quadcopter build might be the major issue for this toilet bowling.

There’s no way you should be getting much MAG interference with it mounted up there, my guess is something else. How hot does the flight controller get?

never checked the temperature, i will try to meausure when fly this same quad today, but i also doubt about the onboard voltage as there is no board voltage sensor on this board, i doubt if this board getting sufficient voltage or not, can check this only on ground, will update about it too, but i don’t know if this can also be one of the reason for toilet bowling or not, also overall magnetic field strength on my 5" quad are quite high around or more than 500-550 mGauss

https://drive.google.com/file/d/1AO7A0YpuTm-pAo_90PZ4V1NlxEps-L8W/view?usp=sharing

that was the yesterday’s log of the same drone, last flight was really seemed risky in this log, if you look at MAG and XKF2 MX,MY & MZ graphs then it can be seen that mag is certainly getting disturbed, but there also seems some kind of pattern, if you see the starting flights in guided mode, mag readings was not that noisy, and path was also got traced as it supposed to cover, but as we continued repeating the flights, mag readings was slowly started to show some distortions, i’m really not able to figure out source of this toilet bowl issue even after successfully completing compassmot and in-flight compass calibrations

Another thing i checked is board voltage is around 4.8 volts throughout the time, on the ground and when it is armed at 60-75% throttle for 120 seconds with props switched so quadcopter push towards ground, just after this, i tried to note the temperature of MCU from IR heat gun, it was showing somewhere around 38 degree celcius, but i know it might not be very accurate, general board temperature was around 35 degree celcius, it’s difficult to feel MCU temperature without disassembling the quad.

One thing more is my yaw data from ATT.yaw does not seems to vary much when this toilet bowl happened in last flight (just around or within 1 degree), is it normal with that much toilet bowling ?

I have an update on this toilet bowl issue on my small quadcopter, so i have found a workaround for now to manage this toilet bowl issue but i know it is not the solution what i was looking for, looking at my build pictures i know it seems like there should not be much magnetic interference, but i really want you to please have a look at this log

https://drive.google.com/file/d/13pwljN9zFdTW-t_KqOv-b8l8jbhrXqxV/view?usp=sharing

This is the log of 5" quadcopter, not the same drone as in the build pictures, but almost similar setup, please have a look at compass mavgraphs, there is really a lot of magnetic interference, more than 70% as detected by auto-analysis, so i think there is definitely an issue of magnetic fields on this build of 5" quadcopter, even after mounting HERE+ GPS at that much of height, i am not able to compensate the magnetic fields at all, i even tried moving the HERE+ GPS much away from the frame still there’s not much reduction in the magnetic fields, so i am really feeling helpless against these high magnetic field which is really interfering too much during the flights too.

Right now, only workaround i found to handle this toilet bowling issue is setting EK3_MAG_CAL to 2 (using simple heading fusion at all times), means i am making sure EKF filter don’t take into consideration of the magnetic fields around different axes, which for now helped me a lot to make drones much more stable in the air in multiple flights, but still this does not seem like an ideal solution and more like a workaround, if EK3_MAG_CAL is by default set to 3 for copters means 3-axis fusion must be playing some important role, which i don’t know much about atm.

For now, i just want to know can there be any side effects if i fly my quadcopters with EK3_MAG_CAL set to 2 in GPS navigation modes like poshold,guided,auto etc ? And also why on most of the different threads related to toilet bowling on this forum why people don’t suggest about using simple heading fusion and swtiching off 3-axis fusion to deal with toilet bowling ?