Feature request in ArduPlane: Calibrate Barometer

During auto-landing (and some other low flight conditions) we need a way to calibrate the barometer without a telemetry link.

We have an uneven pre-landing strip (bumpy, not flat), so the laser range finder will not give usable reading before it is actually flying over the landing strip. Due to the drift of the barometer we can’t set a waypoint at say 20 meter at the start of the landing strip, and then leave it to the laser ranger for the final glideslope (we have observed a drift of the barometer on as much as 20m during a 1.5 - 2 hour flight.

Even if we could take it safely down to say 20 meter AGL, our glideslope is about 1:12, and it would require a landing strip of 240 meter + flare + slow down + runout, all in all our estimated required total landing strip would then be about 350 meter (way too long and still very unsafe)

We have an onboard laser ranger, and we suggest using it to calibrate the barometer:

  • Before landing, fly over the landing strip (as a part of the landing procedure, just using ordinary waypoints in the mission)

  • When the plane is over of the landing strip, place in 2 - 3 “waypoint commands” like DO_CAL_BAR_FROM_LRN from the missionplanner

  • So this is part of the pre- defined mission, and not relying on the telemetry link to send barometric calibration

  • As the plane will calibrate the barometer over the landing strip (i.e. same ground level where it took off), it should be very accurate

  • We will then trust the barometer (with new readings to get the plane down to 5 meter AGL, at the very beginning of the landing strip as last WP

  • Then from this last WP, the laser will take over, using a glide slope of 1:12

  • It will then use about 60 meter for the laser guided glideslope, a saving of 180 meter compared to above, and it should be safe

  • We might also add a DGPS or RTK type of GPS, so it might be an idea to implement DO_CAL_BAR, and use the parametric arguments to this command to select from what source (1:LASER_RNF, 2:RTK, 3:DGPS…)

  • It would also be nice to see some advanced landing options, like knowing where does the laser range finder start to engage, and if possible, some predefined waypoint before doing a failsafe initiated “DO_LAND” type of landing, this to make sure the pre-calibration of the barometer also will take place upon failsafe triggered auto-landing

We are quite sure that this feature would be beneficial for anyone working with auto-landing, low flying, and mission where the barometric sensors will have major drift over time.

We are willing to pay someone to write the code and push a request to have the feature added to the official ArduPlane firmware. If anyone’s interested please do not hesitate to send me a PM or respond here.

1 Like

Anyone? I would assume that there are other people that would benefit from this as well as it would solve the ongoing problem people have with barometer drift.

You’ll be interested in https://github.com/ArduPilot/ardupilot/issues/6414 however no one is working on it as of yet.

Extremely cool idea, bump!