GPS и барометр

Ориентацию даёт IMU, а где аппарат находится и на какой высоте — GPS и барометр.

GPS даёт абсолютные координаты по сигналам спутников, а барометр измеряет высоту по атмосферному давлению.

GPS

Приёмник GPS вычисляет своё положение по времени прихода сигналов от нескольких спутников. Точность бытового приёмника — несколько метров по горизонтали, обновление обычно 5–10 раз в секунду. Этого хватает для маршрута, но мало для быстрой стабилизации (там работает IMU на сотнях герц). GPS не работает в помещении и под плотной застройкой — сигнал слаб.

Барометр

Давление падает с высотой, и по нему можно оценить высоту. Упрощённая зависимость для небольших высот — почти линейная: на уровне моря давление меняется примерно на 12 паскалей на метр подъёма.

P0 = 101325.0      # давление на старте, Па
drop_per_m = 12.0  # падение давления на метр, Па/м
for P in (101325.0, 101205.0, 100725.0):
    height = (P0 - P) / drop_per_m
    print("Давление", P, "Па -> высота",
          round(height, 1), "м")

Вывод:

Давление 101325.0 Па -> высота 0.0 м
Давление 101205.0 Па -> высота 10.0 м
Давление 100725.0 Па -> высота 50.0 м

Барометр обновляется быстро и хорошо ловит относительные изменения высоты (набрал/снизился), но «плывёт» при смене погоды: пройдёт фронт — давление изменится, и «высота» соврёт. Поэтому барометр калибруют по старту и доверяют ему относительное изменение, а не абсолютное значение.

Как работает под капотом

Высоту автопилот оценивает, сливая барометр (быстрый, но дрейфует с погодой) и GPS-высоту (абсолютная, но шумная и менее точная по вертикали). Горизонтальное положение — GPS плюс интегрирование ускорений между его обновлениями. Идея та же, что с IMU: ни один датчик не идеален, объединяем сильные стороны.

Сравнение датчиков

ДатчикЧто меряетСлабость
Гироскопугловая скоростьдрейф угла
Акселерометрнаклон по гравитациишум, реакция на движение
GPSкоординаты, путевая скоростьметры ошибки, нет в помещении
Барометрвысота по давлениюдрейф при смене погоды

Частые ошибки

  • Ждать от GPS сантиметровой точности — обычный приёмник даёт метры (точнее только RTK).
  • Доверять абсолютной высоте барометра без калибровки по старту.
  • Полагаться на GPS в помещении или каньоне улиц — сигнала там нет.

Итог

  • GPS — абсолютные координаты, метры точности, редкие обновления, нет в помещении.
  • Барометр — быстрая относительная высота, но дрейф при смене погоды.
  • Высоту и положение получают слиянием нескольких датчиков.
Проверьте себя
1. Почему барометру нельзя доверять абсолютную высоту без калибровки?
AОн меряет только температуру
BАтмосферное давление меняется с погодой, и оценка высоты дрейфует
CОн работает только ночью
DGPS точнее в тысячу раз
2. Почему для быстрой стабилизации коптера нельзя обойтись одним GPS?
AGPS слишком дорогой
BGPS обновляется редко (5–10 Гц) и неточен на метры, а стабилизация требует сотен герц от IMU
CGPS не меряет координаты
DGPS работает только в помещении