Hi all,
I’d like an expert opinion on barometer drift on my Pixhawk 6X before I start flying indoors without GPS.
Setup
- Pixhawk 6X (internal ICP20100 + BMP388), PX4 v1.17.0
- Only USB connected: no GPS, no power module, no other sensors
- Board sitting still on a desk indoors, disarmed
- Log and params attached
Result (10 min test, attached log)
- EKF altitude (vehicle_local_position): 0 → +0.55 m → −0.29 m, with the board not moving.
- Both barometers mostly move together: the pressure difference between them changed by only ~3 Pa.
- Two other bench tests the same day showed the same pattern, once up to +1.1 m (24 min) and once down to −0.8 m (16 min). The direction changes from test to test.
My intended use
Holybro S500 indoors, no GPS, barometer for height, plus a Holybro H-Flow (optical flow + rangefinder over DroneCAN).
Current settings:
EKF2_HGT_REF 0 (baro)
EKF2_RNG_CTRL 1 (conditional)
EKF2_RNG_A_HMAX 10
EKF2_RNG_A_VMAX 1
EKF2_BARO_NOISE 3.5
EKF2_OF_CTRL 1
Please check the attached log which was took during bench test, connected only Pixhawk6x to PC with latest stable version of PX4 V1.17.0
https://logs.px4.io/plot_app?log=eb6a7da3-56f3-4e9f-9e1e-1948e4e85f4f
Questions
- Is ~1 m of altitude drift on the bench, with the board still, normal for the 6X internal barometers? Or does it suggest a hardware or sensor problem?
- What is the most likely cause: room air pressure changes (AC, doors, ventilation), or something on the board itself?
- Without GPS, does the EKF correct baro drift at all? For example, does conditional range aid correct the baro offset while hovering, or does the drift stay uncorrected?
- For no-GPS indoor flight, which setup is recommended:
- EKF2_HGT_REF = 0 (baro) + EKF2_RNG_CTRL = 1 (conditional), or
- EKF2_HGT_REF = 2 (rangefinder) + EKF2_RNG_CTRL = 2 (always)?
- Are there parameters I should change to reduce the effect of baro drift without GPS (for example EKF2_BARO_NOISE, EKF2_RNG_A_HMAX)? Or is the right practice simply to arm just before takeoff, so altitude starts from 0?
Thanks in advance!
