- PiLiDARはDIYの360° 3Dパノラマスキャナーで、LiDARとパノラマ機能によって3Dシーンを構成する
- LiDARにはLDRobot LD06、LD19、または STL27L を使用し、CRCパケット整合性チェックとハードウェアPWMを含む
- パノラマはHuginを使って魚眼写真をスティッチし、EXIFデータを読み取って一定のカメラ露出と色バランスを維持する
- 3Dシーンは2D平面上で角度とオフセットに基づいて構成され、Open3Dを用いた可視化とエクスポートをサポートする
- ハードウェアはRaspberry Pi 4、Raspberry Pi HQ Camera、NEMA17ステッパーモーターなどで構成される
PiLiDARの主な機能
- LiDAR: LDRobot LD06、LD19、または STL27L 向けのカスタムシリアルドライバーを使用する
- CRCパケット整合性チェックとハードウェアPWMを、曲線フィッティングによって補正する
- 2Dのリアルタイム可視化と、numpyまたはCSVへのエクスポート機能を提供する
- パノラマ: 6K 360°球面マップを、Huginパノラマフォトスティッチャーを使って魚眼写真からスティッチする
- EXIFデータを自動で読み取り、一定のカメラ露出を維持し、カラーゲインを最適化して一定のホワイトバランスを保つ
- 3Dシーン: 角度とオフセットに基づき、2D平面から3Dシーンを組み立てる
- パノラマから頂点カラーをサンプリングし、Open3Dを使った可視化と、PCD、PLY、またはe57へのエクスポートをサポートする
- グローバルレジストレーションとICPの微調整を使って複数のシーンを位置合わせする
- Poisson Surface MeshingはPi4では非常に遅いため、PCで実行することが推奨される
ハードウェア仕様
- LDRobot LD06、LD19、または STL27L LiDAR
- Raspberry Pi HQ Camera と ArduCam M12 レンズ
- Raspberry Pi 4
- NEMA17 42-23 ステッパーと A4988 ドライバー
- 電源: 18650バッテリー2本、または10,000mAhのUSBモバイルバッテリー
ステッパードライバー、モーター、ギアボックス
- A4988 バイポーラステッパードライバー
- NEMA17 42x42x23 バイポーラステッパー
- 3Dプリント製の遊星減速ギアボックス
LDRobot LiDAR仕様
- LD06: サンプリング周波数 4500 Hz、ボーレート 230400
- STL27L: サンプリング周波数 21600 Hz、ボーレート 921600
設定と配線
- GPIOピンを使って各種機能を設定し、i2c-GPIOを使ってGY-521加速度計と接続する
- 電源ボタン、スキャンボタン、UART権限設定など、さまざまな設定を含む
パノラマスティッチングとリモート可視化
- Huginとenblendプラグインをインストールしてパノラマスティッチングを行う
- Plotlyを使ってJupyter上で3Dポイントクラウドをリモート可視化する
USBストレージへのスキャンダンプ
- GitHubリポジトリをクローンしてインストールし、スキャンデータをUSBストレージへダンプする
トラブルシューティング
- 各種トラブルシューティング方法を提供しており、Windows用シリアルドライバーのインストール、RPi.GPIOランタイムエラーの解決、VS Codeのパフォーマンス問題への対処などを含む
参考資料
- 着想元となった各種プロジェクト、ハードウェアPWM、ICP実装、3Dデモデータなどを参考としている
4件のコメント
Hacker Newsのコメント
本当にすばらしい指摘
300mmの距離を10ミクロン精度で測定する安価な方法を探している
ロボット掃除機から部品を取れるかもしれない
Sketchfabのサンプルは素晴らしく、3D空間内を動き回れるのがまるでSFシミュレーションのよう
マウス操作が分かりにくい
PiLiDARのスケーラビリティと性能が気になる
数週間前に探していたものとまさに一致している
Lidar技術は大きく進歩した
これが何の技術なのか明確ではない
利用可能なLIDAR技術のコストは、個人プロジェクトでも手が届くほど下がった
懐中電灯コミュニティって何ですか?
https://www.reddit.com/r/flashlight/
日本で言えば、ディシインサイドの懐中電灯マイナーギャラリーのようなReddit内の小規模コミュニティです
ありがとうございます