So the issue is discussed on this to-do item but in short, on some frames a pressure bubble forms when the vehicle leans back especially after a fast flight forward. This causes the barometer to read a low pressure, which makes it thinks it's climbing so the vehicle's altitude controller asks the vehicle to drop. Here's a video of the effect.
Below is a picture of a device that Leonard tested with on a large copter that was suffering quite seriously from this interference. The metal tube has a rubber tube attached on the non-visible end which is then hot-glued over top of the Pixhawk's barometer case.
It's just a prototype and there have been similar prototypes tested by John Challinger and David Pawlak and have been shown to reduce the interference.
Another proposed solution (from Leonard) is this hamburger-ish style case that the flight controller is placed in. The brown squares are airholes, the rest of the case is sealed.
I have done a fair amount of work looking into this issue. There are a couple issues that are at play here.
1. During takeoff there is a high pressure bubble caused by the down wash of the blades hitting the ground. This causes the autopilot to think that it is going down when it isn't or it thinks it is at a lower altitude than it really is. Depending on exactly what happens this can result in a slow take off or an overly aggressive take off. In landing this can cause the copter to bounce on the ground or pause just before touch down.
2. During forward flight the baro can experience a change in pressure caused by the air flowing over and through the copter. This is normally a reduction in pressure causing the baro altitude to increase. This increase in altitude causes the EKF to make corrections to it's vertical position and velocity. Because the autotpilot thinks it is too high it compensates by reducing it's altitude. This is the characteristic drop on forward flight behavior.
So to explore this problem I added a static port to a standard pixhawk so I could connect it to specific ports around the fuselage of a copter. There were 5 configurations I wanted to compare (I haven't got to number 5 yet) :
1. Standard umbrella setup
2. Single static port on top
3. Two static ports on each side connected using a T junction
4. A double disk connected using a brass tube and mounted 100mm above the fuselage
5. The standard 3dr pitot tube static connection mounted at the front of the copter.
Here are a couple of photos.
I found that both the side ports and the double disk worked quiet well, the double disk in particular. However I could still get some altitude drop in some directions at some speeds. The port on the top of the fuselage worked very well at low speed but could get 30m altitude errors at speed!!!
Based on what I have seen so far the best approach is to sit the pixhawk on a nearly solid plate with minimal holes in it. Then cover it with a dome of some sort, leaving only a small gap around the edge. This should then minimize altitude variations caused by attitude and speed.
Looking at the logs I believe we can still get significant improvements from the EKF in the way it handles these errors. However, this is fundamentally a aerodynamic problem and as such to completely remove this effect the air frame must be designed to provide a quality static pressure measurement.
Good to see this testing being done, my gas heli is really badly affected by this too.
I think the idea of having the Pixhawk in a hamburger-case is not a great one, because it makes the device very large, it's already large enough. I would prefer the concept of have optional external barometers, as it requires less space, and also allows us to place them in an ideal location on the vehicle. Ideally, I'd like to have a baro board with just a port, allowing the user to port it however they want. In some cases, dual ports on the side might be best, in others, the sandwich plate might be best.
This is what I did and it works great. As expressed in this thread by others it's a balance of getting air but not high or low pressure from flight. I had to play around a bit with this. I ended up with the front of that plexiglass cover a bit higher than the back. I think it develops high pressure in the front from forward movement and a bit of a vacuum effect in the rear. Anyway I can easily go 25-30 mps with very little alt change. Around a meter. But as important it doesn't change when I let go of the stick and let it coast to a stop. But not easy to come up with a universal fix for all the DIY airframes out there!
re-external baro...I also like that because I think if one dunks his MR in the drink the baro can be ruined? Have you heard of that Rob or is this a myth? Anyway an external baro would be beneficial in this situation as well.
sorry WAY OT did you ever try a Pixraptor? I know you have interest in other open source controller designs is why I ask and I might spring for one. I've now bought 2 apm's and 2 pixhawks I think every 5th controller I will try a clone or OPPS I mean a compatible type design. ha
The INAV_TC_Z was the inertial nav parameter that's been replaced by the EKF's EKF_ALT_NOISE parameter. Here's a wiki page with some EKF info.