成本僅100美元的鐳射雷達:這個專案教你零基礎DIY

杜佳豪發表於2020-03-21
成本僅100美元的鐳射雷達:這個專案教你零基礎DIY

鐳射雷達能夠幫助機器人快速獲取其周圍環境資訊,且具有探測範圍廣、精度高、抗干擾能力強等優勢,是自動駕駛汽車、掃地機器人、倉儲機器人等一系列地面自主移動機器人的重要組成部分。然而,目前工業級鐳射雷達往往造價高昂,像谷歌、百度造的那些無人車,其鐳射雷達的造價甚至超過了車輛本身的價值,讓普通人望而卻步。即使是探測範圍僅有 25m 的單線鐳射雷達,在某寶上也賣到了千元級別。

想入坑自動駕駛卻無法承受鐳射雷達高昂的價格?這個由俄羅斯的一位 Github 主近期開源的專案也許非常適合你,讓你也能低成本自制鐳射雷達

專案地址:https://github.com/iliasam/OpenTOFLidar

效果演示

我們先來看看該專案製作完成後鐳射雷達引數,這也許是大家最關心的問題,畢竟拋開精度談價格都是在耍流氓!

  • 掃描速度:每秒 15 次

  • 解析度:大約檢測距離的 1%,但不會優於±2 cm

  • 最小檢測距離:5 cm

  • 最大檢測距離:大約 25 米(白色反射平面)

  • 角解析度:0.5 度

  • 掃描頻率:大約 11 kHz

  • 掃描角度範圍:大約 230 度,改變相應結構還有一定提升空間

  • 功率:5 V/0.1 A(也就是 0.5 瓦),剛啟動時電壓可能會超過 0.8A

  • 尺寸:50x50x120 mm


下圖為該鐳射雷達的 CAD 模型與成品圖。

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY


在作者公寓的檢測效果如下圖所示

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY

 專案作者表示製作該鐳射雷達大零部件總成本大約只需要 114 美元,且鐳射發射器與接收器所使用的光學透鏡均為監控相機標準鏡頭。看到這裡你是不是已經忍不住想要自己上手試一試了呢?下面我們逐一為大家道來其製作過程。

鐳射雷達測距原理及其製作流程

鐳射雷達採用的是 TOF(Time-of-Flight)測距原理。由於之後的鏡頭選型、安裝除錯與校準均涉及到 TOF 原理的知識,這裡我們簡要介紹一下它。

測距原理

如下圖所示,鐳射器發射出一系列光脈衝,遇到物體反射後被感光元件捕獲,感光元件產生的電訊號經過放大器後,使用運算電路捕捉其上升沿或下降沿計算出光脈衝在空中的飛行時間,結合光速即可得到被測物體距離鐳射雷達的距離。

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY
TOP 測距原理示意圖(圖片來源:維基百科)

我們從 TOP 測距的原理可以看出,以下幾個因素決定了鐳射雷達的測量效能:

1. 環境中物體的顏色及其反射表面

由於 TOP 測距是透過計算光脈衝訊號發射與接收前後的時間差來工作的,假如發射出的光脈衝被環境中物體吸收,或反射到感光元件測量範圍之外,此時鐳射雷達是無法收集到正確測量資料的。這裡舉一個極端的?,隱形戰鬥機就是透過使用能夠吸收雷達的塗層以及較小的雷達反射面積來實現「隱身」的。

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY

當然由於室內的牆大多以白色或淺色為主,大可不必擔心。需要注意的是當環境中存在鏡子或顏色較深的物體時,鐳射雷達的測量精度會受到較大影響。

2. 鐳射器與感光元件的相對位置及其鏡頭焦距

為有效捕捉到鐳射器發出的脈衝訊號,感光元件需要安放在距離鐳射器合適的位置。並且需要根據測量需求,為鐳射器和感光元件安裝合適焦距的鏡頭。下圖為該專案中鐳射雷達鏡頭安裝完成後的圖片。

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY

3. 鐳射訊號發生器脈寬以及放大電流與運算單元解析度

還有一個對感測器效能影響至關重要的是鐳射訊號發射器的脈寬,它決定了鐳射雷達能夠測量的最大距離。假設光速為 c = 300,000,000 m/s,當光脈衝寬度為 50 ns 時,其最遠測量距離為 7.5 m。

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY

由於感光元件產生的電訊號需要經過放大處理,相應放大元件的增益、頻寬、噪聲、電源抑制比、共模抑制比、線性度、輸出阻抗等關鍵指標,在製作過程中也是需要考慮的因素。最後就是運算單元的解析度,其決定著感測器能否準確計算出鐳射脈衝往返的時間差。

製作流程

首先是鐳射脈衝電路的製作。作者選用了價格相對便宜但功能強大的脈衝鐳射二極體「SPL PL90_3」,其工作在 905 nm 的波長下,能夠產生高達 75 瓦功率的鐳射脈衝,對應驅動電路圖如左下所示。在檢測電路部分,作者選用雪崩光電二極體(APD)作為光電探測元件,同時設計了 DC-DC 轉換器為其產生足夠高的偏置電壓。鐳射脈衝探測需要訊號頻寬大且輸入電容低的運算放大器,於是作者選用 MAX3658 作為運放。該晶片專門設計用於光電二極體,放大倍數為 18000,頻寬為 580 MHz。此外,該晶片還包含一個內建濾波器,可削減低頻噪聲。檢測電路圖如圖所示:

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY


成本僅100美元的鐳射雷達:這個專案教你零基礎DIY

脈衝鐳射驅動電路圖;脈衝檢測單位電路圖。

在時間節點測量部分,作者選用了用於超聲波液體流量計的現成晶片 TDC-GP21。該微電路的時間解析度為 90 ps 左右,MCU 可透過 SPI 匯流排對其進行控制。作者選用 STM32F303CBT6 作為微控制器,以實現對鐳射脈衝的傳送與接收、測量資料讀取與校準、反光鏡電機轉速的控制以及與上位機的通訊。製作完成的 PCB 如下圖所示。

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY

正面示意圖+背面示意圖。

在光學元件方面,選用標準的 M12 鏡頭作為鐳射透鏡,發散角約為 0.45 度。並選用焦距為 25 mm 的鏡頭用於感光元件,該鏡頭具有較大的光圈,能夠儘可能多地讓反射光落在光電二極體上,以獲得更高的訊雜比。如果要在強光照射條件下(例如戶外)使用鐳射雷達,作者建議在光電二極體和透鏡之間安裝專為 905 nm 波長設計的干涉濾光片。由於本專案是在室內照明條件下進行測試,所以沒有安裝。

旋轉型別的鐳射雷達有兩種方式來實現對周圍環境的探測,分別是透過旋轉整個測距儀或透過旋轉相對於鐳射雷達光軸傾斜 45 度的反射鏡來完成掃描,其對應工作方式如下圖所示。

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY


這兩種方法各有優缺點,由於第二種方法僅需旋轉反射鏡,而第一種方法需要考慮測距儀在旋轉時的供電與通訊問題,所以這裡採用僅旋轉反射鏡的掃描方法。待裝好反射鏡和驅動電機後,就完成了整個鐳射雷達硬體部分的製作工作。下面就可以使用專案作者提供的上位機軟體進行除錯與測量了。

成本僅100美元的鐳射雷達:這個專案教你零基礎DIY
上位機軟體軟體示意圖。

鐳射雷達用於 SLAM 可以說是如今比較成熟的技術,其具有精度高、速度快、抗干擾能力強等優勢。然而目前由於其高昂的造價限制了它在民用無人駕駛領域的普及,哪怕是售價高達 100 餘萬人民幣的特斯拉 Model S,使用的檢測方案仍然以攝像頭為主。或許此類低成本的鐳射雷達開源專案能對我們瞭解這一技術提供便利。

相關文章