Для акселерометров LSM303AGR / LIS3DH обновлен алгоритм детектора.


|MOVING| → |ACC FF| → |ACC IMPACT| → + → |CORRELATION PROCESSING| → |RESULT|
|MOVING| → |       BARO FF       | → ^

Алгоритм работы детектора основан на детектировании нескольких событий, таких как свободное падение по ускорению (ACC FF), удар (ACC IMPACT), изменение высоты по давлению (BARO FF) и корреляции этих событий.

При этом не следует использовать барометр для контроля падения с высотами ниже полутора метров из-за сложности детектирования. По умолчанию работа барометра в детекторе отключена.

По умолчанию параметры детектора настроены таким образом, чтобы детектировать падения даже с большими помехами, такими как вращение метки, но при этом увеличивается вероятность ложных срабатываний.

Для отсеивания ложных срабатываний нужно подбирать параметры детектора в зависимости от возможных сценариев падений и высоты. Использование барометра возможно для валидации падений, и рекомендуется его использовать для детектирования значительных высот падения, 2+ метров.


Как настраивать или перестраивать детектор:

  1. Определить место установки метки, зафиксировать место для повторяемости.
  2. Определить минимальную высоту детектирования. Параметр tmin задает минимальное время падения. tmin=60 соответствует 600мс и высоте падения 1.8метра. Для пересчета на нужную высоту можно воспользоваться формулой свободного падения или онлайн калькуляторами.
  3. Параметр glow опредетяет порог ускорения, ниже которого детектируется состояние падения. В идеальном случае свободного падения, без вращения и других помех ускорение стремится к 0, но в реальном применении этот параметр может быть достаточно большим, например glow=9 (0.9g). При этом следует иметь в виду, что этот параметр определяет, вернее сравнивается с вычисленной длиной вектора ускорения по трем осям и равен sqrt(x^2 + y^2+z^2). Уменьшение параметра ведет к уменьшению ложных срабатываний, но так же уменьшению срабатываний в сложных условиях падения.
  4. Для подключения к детектору падения информации по давлению нужно убедиться, что метка не упакована в герметичные оболочки и имеет хороший доступ к внешней атмосфере для измерения давления. Убедиться, что вентиляционное отверстие не забито грязью, а корпус метки в хорошем состоянии. По умолчанию высота настройки детектора incths=200 что соответствует 20.0 Па и ~1.8м высоты. Для изменения высоты можно пропорционально увеличить значение параметра до нужного значения либо пересчитать (1200Па на каждые 100метров). Режим работы детектора по барометру enable=on включен поумолчанию.
  5. Параметр test парсета [/imu/ffacc] предназначен для включения тестового режима - активируется виброотклик по событию свободного падения. Если применимо, режим можно использовать для оперативного контроля результатов настройки детектора. После настройки этот режим следует отключить.

Другие параметры детектора могут быть использованы для более тонкой настройки, но усредненные значения по умолчанию подойдут для большинства применений. Если тонкая настройка необходима, то такую настройку лучше проводить совместно с инженерами поддержки.

Так же в любой момент можно вернуть дефолтные натройки парсета командой def, как пример PUT: /imu/ffacc def



Все настройки расположены в парсетах:

[/imu/ffacc] - настройки параметров падения по акселерометру:

значения по умолчанию: test= off glow=9 gspike=18 tmin=60 ambigmax=2 exithold=40 iirtau=15



[/imu/ffimp] - настройки параметров детектирования удара по акселерометру:

значения по умолчанию: impths=15 impwin=100 impmin=1



[/imu/ffcorr] - настройки взаимной корреляции событий:

значения по умолчанию: ffto=50 imp2norm=20 imp2val=5 val2norm=5 ff2impwin=50 imp2valwin=20 ffdurmin=3 ffdurmax=300 (Set 0*)



[/bar/ffbar] - настройки детектора падения по барометру (по изменению атмосферного давления)

значения по умолчанию - барометр включен, а настройки установлены на минимальную высоту ~1.8м : enable= on incths=200 iirtau=200


Детальное описание параметров
// ACC
glow -        // near-zero-g entry threshold (in 0.1g)
gspike -      // tolerated spike ceiling inside dwell (in 0.1g)
ghigh -       // hysteresis exit threshold (in 0.1g)
tmin -        // dwell duration (in 0.01s)
ambigmax -    // allowed samples in [g_low, g_spike) within free-fall window (in pcs)
exithold -    // time above g_high to exit free-fall state (in ms)
iirtau -      // 1st-order LPF on SVM; <=0 to disable (in ms)

// IMPACT
impths -      // acceleration spike threshold for impact (in 0.1g)
impwin -      // window to detect impact after free-fall (in ms)
impmin -      // minimum samples above threshold to confirm impact (in pcs)

// CORRELATOR
ffto -        // Maximum expected free-fall duration (in 0.1s)
imp2norm -    // Timeout to return to normal after impact (in 0.1s)
imp2val -     // Delay before checking barometer pressure after impact (N seconds) (in 0.1s)
val2norm -    // Delay before returning to NORMAL after validation (K seconds) (in 0.1s)

ff2impwin -   // Time window for correlating free-fall and impact (in 0.1s)
	  		  // If impact occurs within this time after free-fall, they're considered related

imp2valwin -  // Time window for correlating impact and validation (in 0.1s)
              // If validation occurs within this time after impact, they're considered related
  
ffdurmin -    // Minimum fall duration to be considered valid (in 0.01s)
              // Falls shorter than this are rejected as false positives

ffdurmax -    // Maximum fall duration to be considered valid (in 0.01s)
              // Falls longer than this are rejected as anomalies

// BARO
enable -      // Enables baro sensor to use in free fall validation in correlator
incths -      // Minimum pressure increase after impact (in 0.1Pa)
iirtau -      // IIR low-pass filter time constant for pressure (<=0 to disable) (in ms)


Парсеты [/imu/ffacc] и [/bar/ffbar] также имеют второй набор параметров set1, который настраивает падение на минимильную высоту 3.5метра.



  • No labels