動き検出と追跡モード
Tracelet は、バッテリーを節約するために、アクティブ (継続的) 追跡と非アクティブ (静止) 追跡の間を移行します。この遷移を駆動するロジックは モーション検出 と呼ばれます。
MotionConfig で motionDetectionMode を設定することで、Tracelet が移動から静止への切り替えをどのように決定するかを正確に構成できます。 Tracelet は、accelerometer (デフォルト)、speed、および smart の 3 つの異なるモードを提供します。
1. 加速度センサーモード (デフォルト)
翻訳されない
このモードは、デバイスのハードウェア センサー (加速度計、ジャイロスコープ、OS アクティビティ認識) に完全に依存しています。これはバッテリー効率が最も高く、一般に歩行者にとって最も信頼できるものです。
仕組み:
- 静止遷移: デバイスの加速度センサーが静止状態 (物理的な揺れや歩行がない状態) を検出すると、Tracelet は
stopTimeoutで定義されたカウントダウン タイマーを開始します。 stopTimeout: Tracelet が継続的な GPS 追跡をオフにして低電力STATIONARY状態に入る前に、デバイスが物理的に静止していなければならない 分。このカウントダウン中にデバイスが移動すると、タイマーはキャンセルされます。- デフォルト: 5 分
最適な用途: 歩行者、車に飛び乗ったり車から降りたりする配達ドライバー、およびバッテリー寿命が最優先事項であるシナリオ。
2. スピードモード
翻訳されない
特定のシナリオでは、デバイスが高速で移動しているにもかかわらず、ハードウェア センサーで加速度がゼロであることが記録されることがあります (例: スムーズに走行しているバスや電車のダッシュボードに置かれた携帯電話)。 speed モードでは、Tracelet は加速度計を完全に無視し、位置情報からの GPS 速度のみを調べます。
仕組み:
- 定常遷移: GPS 速度が
speedMovingThreshold(デフォルト: 1.5 m/s) を下回ると、Tracelet はデバイスの速度が低下していると見なし、speedStationaryDelayで定義されたカウントダウン タイマーを開始します。 speedStationaryDelay: Tracelet が連続追跡をオフにしてSTATIONARY状態になるまでに、GPS 速度が常にしきい値を下回っている必要がある 秒。- デフォルト: 180 秒 (3 分)
最適な用途: デバイスが車両に対して物理的に静止している可能性があるが、車両自体は高速で移動している車両追跡 (電車、ボート、長距離トラック)。
3. スマートモード
翻訳されない
スマート モードは、加速度エンジンと速度エンジンの 両方 を同時に実行し、論理 OR コーディネーターを使用します。これにより、加速度センサーの即時ウェイクアップ機能の恩恵を受けながら、車両がスムーズに移動しているときに誤って「静止」状態に移行することを防ぎ、両方の長所を実現します。
仕組み:
- 移動中: 加速度計が物理的な動きを検出した または、GPS 速度がしきい値を超えている場合、デバイスは継続追跡モードのままになります。
- 静止状態への移行:
STATIONARYモードに移行するには、加速度計と GPS 速度エンジンの 両方 がデバイスが静止していることを宣言する必要があります。
「移行の遅れ」の問題点
スマート モードは 両方の エンジンが停止を宣言するまで待機するため、STATIONARY 状態に入るまでにかかる合計時間は、構成された 2 つのタイムアウトの 最大 になります。
たとえば、次のように構成するとします。
stopTimeout: 1(加速度センサーの場合は 1 分/60 秒)speedStationaryDelayをデフォルトのままにします (GPS 速度は 180 秒)。
動きを止めると:
- 加速度センサーは 60 秒後に静止を宣言します。
- ただし、GPS 速度エンジンは 180 秒のカウントダウンを実行中です。
- 180 秒が経過するまで、Tracelet は
STATIONARY状態に入りません**。
設定のヒント: smart モードでちょうど 1 分後にアプリを静止状態に移行させたい場合は、両方のタイムアウトを一致するように**設定する必要があります。
motion: MotionConfig(
motionDetectionMode: MotionDetectionMode.smart,
stopTimeout: 1, // 1 minute
speedStationaryDelay: 60, // 60 seconds
)構成の概要
| モード | トリガー | タイムアウトパラメータ | デフォルト |
|---|---|---|---|
| 加速度計 | デバイスの物理的な動き | 非トランスレート | 5分 |
| 速度 | GPS速度> 1.5 m/s | 翻訳1遅れ | 180秒 |
| スマート | 物理的な動きまたは GPS 速度 | 両方のタイムアウトを待ちます | 非トランスレート |