Skip to main content

Garmin LidarLite v3

LidarLite - Front

概要

  • Garminの小型レーザーレンジファインダー
  • 製造元のPulsed Light( https://www.pulsedlight3d.com )がGarminに買収されたため、V3からはGarminブランドになった
  • I2CまたはPWM出力
  • 最大検出距離40m
  • 解像度+/-2.5cm
  • 動作電圧: 4.75 ~ 5.5V (最大入力電圧6V)
  • 消費電力: 130mA (初期化時最大500mA)

LidarLite - Side1 LidarLite - Back LidarLite - Bottom

バージョン

  • 黒ラベル = V1 (光沢あるシルバーのステッカーに黒字)
  • 青ラベル = V2
  • 白ラベル = V3

報告されている不具合

  • V1、V2ともに電源電圧が安定していないと誤動作したりフリーズしたりする
    • 電源電圧が不安定だったり、スパイクがあると、 13mのオフセットが発生する。特に起動時でも絶対に5V以下に落ちない様に注意
  • V1はノイズが多く、GPSに干渉する
  • V2(青ラベル)はI2Cに接続すると誤動作しやすいのでPWMを使ったほうが良い
  • V3では修正されているはず(未確認)
  • V3の初期版は、ソフトウェアの挙動がV2に似ている
    • V3では、ハードウェアバージョンとソフトウェアバージョンを読み取るレジスターが削除されているはずだが、初期版では、V2と同じハードウェアバージョン番号(0x15)を返す。ソフトウェアバージョンは0x02)だが、V2のソフトウェアバージョンは不明
    • 新しいV3を使うには、AC3.5-rc2以降が必要

配線

V3の配線

必要なもの

  • 680μFキャパシター
  • サーボコネクター(PWM出力を使う場合、及びPixhawkのサーボレールがBECに接続されていて、そこから電源をとる場合)、または専用5V BEC
  • 基盤コネクター
    • Pixhawk: Hirose DF13 4ピンハウジング + 圧着ターミタル
    • Pixhack, PixRacer, Pixhawk 2.1: JST GH 4ピンハウジング + 圧着ターミナル

I2C接続

  • Pixhawkのサーボレールにバックアップ電源として5Vを入力している場合、そこからLidarLiteの電源も供給すると楽
  • LidarLiteに付属するケーブルの電源リード(赤+と黒-) に、ノイズ対策用のキャパシターを接続する際に、一緒にサーボコネクターにつなぐ
  • PixhawkのI2Cポートから直接電源をとる方式でも動くが、起動時に必要な電流が確保できない可能性があり、LidarLiteは電圧変化にも弱いので、大容量で安定したBECを推奨

LidarLite ピンアウト・ケーブル

ケーブル色 信号
GND
I2C SDA
I2C SCL
PMW Mode
Enable
5V Vcc

コネクター処理例 (Pixhawk - DF13用)

LidarLite - With Connecter LidarLite - Connector LidarLite - Overall

配線参考資料

LidarLight側の配線図

Pixhawk側の配線図

NOTE: 以下のページにある配線図は、初期バージョンで使われていたMolex Clickmateコネクター用で、現行モデルのJST GHコネクターとはピンアウトが違うので注意

パラメーター設定

I2C接続の場合

RNGFND_TYPE = 3  # I2Cドライバー(V2とV3の初期版)
RNGFND_TYPE = 15 # I2Cドライバー(新しいV3と、AC3.5-rc2以降の組み合わせの場合。バージョンチェックをスキップして、強制的にV2として作動)
RNGFND_MIN_CM = 20 # 最短検出距離 (20cm)
RNGFND_MAX_CM = 4000 # 最長検出距離 (4000cm = 40m)
RNGFND_OFFSET = 0
RNGFND_GNDCLEAR = 10 # 地面からLidarユニットまでの距離(cm)。20cm以上推奨

RNGFND_SCALING = 1 # 0.8 ~ 1.0の間で調整
RNGFND_GAIN = 0.5 # レンジファインダーのゲイン。数値を上げるとより素早く反応するが、上げすぎると上下にガクガクする

EK2_ALT_SOURCE = 1 # EKFの高度計算にLidarを使う。パラメーターの説明ではOpticalFlow使用時のみ有効と書いてあるが、Alt_Hold, PosHold, Loiterモードでも使用可能。ちなみにPixhawk内臓気圧計を使う場合は0、GPSを使う場合は2に設定

# Copter 3.4以降
EK2_RNG_USE_HGT = 50 # RNGFND_MAX_CMに対するパーセンテージ(0 ~ 100%)
                     # 40mの50%以下、つまり20m以下の高度でレンジファインダーの値を使う
                     # (20m以上の高度ではレンジファインダーを使わず、気圧計やGPSを使う)
                     # 水平方向の移動スピードが遅い場合のみ有効なので注意
                     # -1に設定すると、レンジファインダーが無効になる
EK2_ALT_M_NSE = 3 # 気圧計のノイズレベル(m)。3メートルの上下動がある場合。値を上げると、気圧計よりも、GPSや加速度センサーを信頼するようになる
EK2_RNG_M_NSE = 0.5 # レンジファインダーのノイズレベル(m)。ノイズの多いレンジファインダーの場合、値を増やす
EK2_TERR_GRAD = 0.1 # 地面がフラットでない場合(植物等が生えている場合)、値を増やす

EK2_RNG_I_GATE = 500 # エラーがこれ以上増えると、EKFがレンジファインダーを信用しなくなる。変更しない
EK2_HGT_I_GATE = 500 # 同上。変更しない

PWM接続の場合

BRD_PWM_COUNT = 4
RNGFND_TYPE = 5 # PWMドライバー
RNGFND_PIN = 54 # PWM input = Pixhawk AUX5
RNGFND_RMETRIC = 1 # SF/02等の様に、電圧レギュレーター内臓の場合は0
RNGFND_MIN_CM = 20
RNGFND_MAX_CM = 4000
RNGFND_OFFSET = 0
RNGFND_GNDCLEAR = 10
RNGFND_STOP_PIN = -1 # 出力がない場合、リセット信号を送る。Lidarがフリーズする場合のみ使用

# GCS側で地形データを設定した場合で、余計な電力を使いたくない場合
RNGFND_STOP_PIN = 55 # Pixhawk AUX6 (使わなくても良い)
RNGFND_PWRRNG = 20 # 20m以上の高度でLidarをスリープさせる

RNGFND_SCALING = 1 # 0.8 ~ 1.0の間で調整
RNGFND_GAIN = 0.5 # レンジファインダーのゲイン。数値を上げるとより素早く反応するが、上げすぎると上下にガクガクする

EK2_ALT_SOURCE = 1 # EKFの高度計算にLidarを使う。パラメーターの説明ではOpticalFlow使用時のみ有効と書いてあるが、Alt_Hold, PosHold, Loiterモードでも使用可能。ちなみにPixhawk内臓気圧計を使う場合は0、GPSを使う場合は2に設定

# Copter 3.4以降
EK2_RNG_USE_HGT = 50 # RNGFND_MAX_CMに対するパーセンテージ(0 ~ 100%)
                     # 40mの50%以下、つまり20m以下の高度でレンジファインダーの値を使う
                     # (20m以上の高度ではレンジファインダーを使わず、気圧計やGPSを使う)
                     # 水平方向の移動スピードが遅い場合のみ有効なので注意
                     # -1に設定すると、レンジファインダーが無効になる
EK2_ALT_M_NSE = 3 # 気圧計のノイズレベル(m)。3メートルの上下動がある場合。値を上げると、気圧計よりも、GPSや加速度センサーを信頼するようになる
EK2_RNG_M_NSE = 0.5 # レンジファインダーのノイズレベル(m)。ノイズの多いレンジファインダーの場合、値を増やす
EK2_TERR_GRAD = 0.1 # 地面がフラットでない場合(植物等が生えている場合)、値を増やす

EK2_RNG_I_GATE = 500 # エラーがこれ以上増えると、EKFがレンジファインダーを信用しなくなる。変更しない
EK2_HGT_I_GATE = 500 # 同上。変更しない

その他

姿勢角補正

Reference