LIDAR Lite

概要
- Garminの小型レーザーレンジファインダー
- 製造元のPulsed Light( https://www.pulsedlight3d.com )がGarminに買収されたため、V3からはGarminブランドになった
- I2CまたはPWM出力
- 最大検出距離40m
- 解像度+/-2.5cm
- 動作電圧: 4.75 ~ 5.5V (最大入力電圧6V)
- 消費電力: 130mA (初期化時最大500mA)
バージョン
- 黒ラベル = 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を推奨
- GarminのArduinoサンプルライブラリにも、立ち上げ時の過電流を防ぐため、キャパシター推奨と記載あり
LidarLite ピンアウト・ケーブル
ケーブル色 | 信号 |
---|---|
黒 | GND |
青 | I2C SDA |
緑 | I2C SCL |
黄 | PMW Mode |
橙 | Enable |
赤 | 5V Vcc |
コネクター処理例 (Pixhawk - DF13用)
配線参考資料
LidarLight側の配線図
- http://www.robotshop.com/media/files/pdf2/lidar_lite_v3_pinout.pdf
- http://www.robotshop.com/blog/en/lidar-lite-v3-available-for-pre-order-19202
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 # 同上。変更しない
その他
姿勢角補正
- 前進時等、大きく機体が傾いている場合に、レンジファインダーの値と、実際の地面からの高度を三角測量で補正する
- 3.4以降に入った(はず)
Reference
- https://www.pulsedlight3d.com
- https://github.com/PulsedLight3D/LIDAR-Lite-Documentation/blob/master/Docs/LIDAR-Lite-v2-Docs.pdf
- https://www.garmin.com/en-US/blog/general/announcement-lidar-lite-v3/
- https://support.garmin.com/support/manuals/manuals.htm?partNo=010-01722-00&language=en&country=US
- http://static.garmin.com/pumac/LIDAR_Lite_v3_Operation_Manual_and_Technical_Specifications.pdf
- http://www.robotshop.com/blog/en/lidar-lite-v3-available-for-pre-order-19202
- http://www.robotshop.com/media/files/pdf2/lidar_lite_v3_pinout.pdf
- http://www.robotshop.com/media/files/pdf2/pli-06-instruction.pdf
- https://www.sparkfun.com/products/14032
- http://ardupilot.org/copter/docs/common-rangefinder-lidarlite.html
- https://github.com/ArduPilot/ardupilot/issues/1277
- http://discuss.ardupilot.org/t/error-terrain-alt-variance/11933/12
- http://discuss.ardupilot.org/t/altitude-hold-unreliable-in-fast-flight-how-to-tune
- https://pixhawk.org/modules/pixhawk