秋月電子で発見、小型のLiDAR「LiDARユニット GS2」。6,800円とセンサーとしては高級ですが、視野角100度で160点の距離を2.5cmから30cmの間で1mm精度で、秒感28回計測してくれるとのこと。データシートを見るとシリアル信号制御だったので、IchigoJamで使えるかも!?
LiDARユニットに、USB-C接続で接続するUSBシリアル変換、USB-C/Aケーブルが付属。
接続するとこんな感じ。2つのセンサーとレーザー照射口と思われるもの。付属の4芯ケーブルは電源とシリアル信号の送受信とシンプル構造がうれしい!
「LiDAR test by Web Serial API」src on GitHub
LiDARの前で手を縦に動かし、3Dスキャンした様子。楽しい!
仕様は比較的にシンプル、0xA5A5A5A5がヘッダーとして始まるバイナリのパケットデータで送受信します。スキャンスタートコマンドでどんどんデータが送られてくるので、canvasに描画してみました。
Web Serial APIからの受信信号にはStreams APIを使います。Java風にバッファする BufferedReader.js を準備し、バイナリデータのパーサー LiDARReader を作成、visualizeLiDAR.js で、canvasに表示しています。(Web Serial APIは、SSL環境が必須となるので注意)