Hi,
I took a look at your tlog and I think I can see what’s going on here. This looks like a classic barometric pressure interference from prop wash / aerodynamic effects (Bernoulli effect).
Here’s what the data shows during the left roll maneuvers (around t=111-115s into the flight):
- Your MS5611 (internal) drops from ~1006.88 to 1006.15 hPa, that’s a 0.73 hPa swing, roughly equivalent to ~6m of phantom altitude gain
- Your BMP581 (external, on the GPS module) drops even harder, from ~1009.95 to 1009.16 hPa, about 0.79 hPa or ~6.5m
So what happens is: both baros see a pressure drop during the roll, EKF interprets that as the vehicle climbing, AltHold reduces throttle to “correct” for it, and the actual altitude drops. That’s exactly the behavior you’re describing.
The reason switching baro priority doesn’t help is that both sensors are equally affected. The BMP581 on your GPS module is actually worse since it’s more exposed to airflow.
A few things I noticed in your parameters that I’d suggest looking at:
1. Wind Compensation Filter is off on both baros
BARO1_WCF_ENABLE = 0 BARO2_WCF_ENABLE = 0
This filter uses IMU data to compensate for exactly this kind of pressure disturbance during maneuvers. We’ve had similar issues on our builds and enabling WCF made a noticeable difference. It does require a calibration flight procedure though, so check the docs:
There’s also a Lua script that can automate the tuning process: Scripting Copter Wind Estimation/Baro Compensation Tuning
2. No harmonic notch filter
INS_HNTCH_ENABLE = 0
Your vibration levels during maneuvering go up to vib_z=17.4 which is on the high side. Setting up the notch filter should help the overall attitude and altitude estimation. Start with throttle-based mode since it’s the simplest to set up:
Managing Gyro Noise with the Dynamic Harmonic Notch Filters — Copter documentation Throttle Based Dynamic Notch Setup — Copter documentation
3. Foam over the baro port
If you haven’t already, covering the barometer port on the FC board with a piece of open-cell foam is the standard recommendation. Same goes for the GPS module if the BMP581 has an exposed port there. The MethodicConfigurator tuning guide has a good summary of this:
And the external barometer docs mention placement considerations: Barometer (external) — Copter documentation
4. BMP581 temperature
One more thing, your BMP581 is reading 30.8°C while the MS5611 is at 23.6°C. That’s a 7°C difference which seems high. Might be worth checking if the GPS module is sitting near something hot (ESC, video TX, etc.). Shouldn’t directly cause the left-roll issue, but temperature gradients can add drift.
The asymmetry (worse on left roll specifically) is most likely due to the physical placement of both sensors relative to the frame and motor positions. When you roll left, the airflow from certain motors hits both baro locations more directly than when rolling right.
I’d start with enabling WCF on both baros and adding foam. That alone might solve it. Let us know how it goes.