光學雷達,簡稱光達(LiDAR),是「light detection and ranging」的縮寫 >也有人認為是雷達(radar)的變體字 光達使用的ToF分為兩大類:三角測距和ToF型,而ToF型又分為直接性的計算(dToF)以及使用光波脈衝間接性的計算(iToF),三者最大的差異是來自於接收端的部分。 #### 三角測距 ![](https://hackmd.io/_uploads/r10GJrQ6n.png) 三角測距光達使用一個發射器(通常發射的是紅外線,我們可以用手機相機拍攝光達發射端確認到這件事情)與一組線性CCD組成。由於近處反射角大,CCD感光位置會偏外;反之遠處反射角小(一般而言,發射器會有一個小角度,繪圖使用PPT示意,故發射端沒有刻意畫出斜角),CCD感光位置偏內。藉由CCD測得之感光位置,可以推得當下反射物體之距離。 通常適用於初學者室內建圖導航用,且不可用於太大之室內場景(比如說羽球場館之類) #### iToF iToF主要是利用打出固定頻率的調變光,藉由接收器計算實際打出去和收到的波形差,來計算物體和發射端的距離。i的意思是Indirect,間接使用ToF的意思。 ![](https://hackmd.io/_uploads/BkiNkHX63.png) 為了減少誤差影響的量測結果,可以提高頻率藉由大量的量測值來計算達成減低誤差的效果。但提高頻率會使得可量測距離縮短,因此我們常見的iToF光達設定為中短距離使用。 iToF使用的接收器技術是CMOS,這技術發展成熟且產量大,因此成本便宜,但會受到熱雜訊和環境光的影響。因此屬於適合在室內或室外近場感測使用的ToF型光達,順便一提商用的室內AMR大多使用這類。 #### dToF 和iToF使用計算週期差的方式相比,dToF就很直接的是計算光回來的時間。dToF使用單光子雪崩二極管Single Photon Avalanche Diode (SPAD)作為接收器,這個感測器顧名思義,是種接收到單光子就能產生電訊號的感測器,可以很好的測量極短時間的脈衝光。但也因為這個感測器非常靈敏的關係,可想而知製造上就相對於CMOS感測器複雜,最終成本就比較高。 屬於室外型光達,現有的多線光達很多都是這類別,當然價格也就...... --- 光達本身有幾個比較重要的數據必須知道: * 量測距離:影響你的光達多遠可以偵測到障礙 * 測量頻率:每一秒能取幾個點的距離資料 * 掃描頻率:每一秒可以轉幾圈 從以上可以知道,測量/掃描 = 每一圈可以取出多少點,因此適當調配這兩個數值會影響取到的圖的精細度。 而這些資料可以直接使用--但就是超級多的數值,自己處理這個資料也不是不行,但有人已經做好了。 ROS(2)的一大賣點就是,應用於機器人上的硬體有很多現有的軟體包(節點)可以使用--當然,光達也是如此。 光達本身要應用到ROS(2)上推薦使用幾樣東西: * rviz(讓人類可以一眼看出執行狀況) * 光達訊息的發布節點 光達應用大概又可再分三階段: * 第一階段:scan,擷取光達數據,這邊會利用到前頁講的三項工具。 * 第二階段:slam,將數據建為地圖,這邊需要的運算資源很大,通常不會在邊緣裝置進行。 * 第三階段:navigation,利用地圖和光達掃描資訊進行導航。由於地圖本身可能出現相似區域,還可以搭配定位裝置強化導航精度。 一般而言,光達應用都是先做到scan部分。此時資料已經依照光達的共通格式送入ROS,後續利用slam和navigation的時候就不太會出問題了(? 而本教阿許久之前有示範影片: {%youtube C0reviXkHwA %} 光達訊息是建立地圖的重要資訊,對於接下來的SLAM有至關重要的作用。