為家用機器人挑一雙眼睛

3D stereo matching by LEADERG.png

 

小編想為家用機器人挑選一雙眼睛,所以展開一趟硬體挑選與規格比較的旅程。在這篇記錄裡,小編將為大家介紹旅途中遇到的相關技術與現有產品。希望這段故事,能為大家在做機器視覺挑選設備時,提供一些經驗參考。

 

故事的開始,小編先為家用機器人設定兩個視覺功能:(1) 要能建立家裡的地圖 (使機器人可以自動導航);(2) 要能看見障礙物 (使機器人可以避開危險)。想要建立地圖,機器人的眼睛就需要能測量它與牆壁的距離,並且由於是室內環境,所以測量距離的尺度在數公尺的範圍即足夠,不需要太遠、也不需要毫米等級的精準度。想要看見障礙物,機器人的測距能力就需要獲得「一整面」的資訊,才能偵測是否有異物接近機器人。

 

這個設定,讓小編優先排除了單點或單線的測距方式,如雷射測距儀光學雷達 (LIDAR)。雷射基礎的技術可以在短距離與長距離都精確測量微米等級的精度,但是價格昂貴,若要獲得一整面的距離資訊,恐怕會讓機器人的價格難以走進家庭。因此,小編開始考慮使用「深度攝影機」。

 

深度攝影機是泛稱能提供深度資訊的相機,也就是它提供的「畫面」代表的是前方物體距離相機的遠近。目前有四種方法常被用於實踐深度攝影機,分別是:

1. 時差測距 (Time of Flight, ToF)

以測量紅外線的飛行時間來測距。用於短至中距離,精密至 mm。

2. 立體視覺法 (Stereoscopic)

透過雙眼相差來測距。適用於長距離,無法測量平滑表面。

3. 固定結構光 (Fixed structured light)

透過條紋變化來測距。用於超短距離,精密至 mm。

4. 可程式化結構光 (Programmable structured light)

以格雷碼方式多次投射結構光,提升測量精度。用於超短距離時可精密至 um。

 

以上技術都能提供一整面的深度資訊。其中,時差測距類型深度攝影機的工作距離最符合小編的室內需求,因此選擇時差測距為基礎的深度攝影機做為家用機器人的眼睛。五年前,華碩專為立體視覺開發者們提供名為 Xtion Pro Live 的深度攝影機產品,只可惜目前已經停售。所以小編需要將視野放到國外,尋找最合適的產品。很幸運地,Stimulant 實驗室發表了現有各款深度攝影機產品的研究與比較。以下小編將針對各個產品提出適用性分析。

 

1. Kinect for XBox 360

使用的是 PrimeSense 的晶片,由於該公司已被 Apple 收購,目前已停產。

2. Leap Motion

工作距離在 0.025 m – 0.6 m,不符合家用機器人的需求。

3. DUO mini lx

工作距離在 0.3 m – 2.4 m,價格 US 695,遠高於其他產品。

4. RealSense F200

工作距離在 0.2 m – 1.2 m,不符合家用機器人的需求。

5. ZED Stereo Camera

使用立體視覺法。不屬於時差測距的討論範圍。

 

以下三款是可能較適用的產品:

6. Orbbec Astra

工作距離在 0.4 m – 8 m,軟體開發套件 (SDK) 為 OpenNI

7. RealSense R200

工作距離在 0.5 m – 3.5 m,SDK 為 Intel 自己出的工具。

8. Kinect for XBox One

工作距離在 0.5 m – 4.5 m,SDK 為微軟出的 Kinect v2 SDK。

 

在比較這三款產品之前,先要說一段 OpenNI 的故事。OpenNI 是 PrimeSense 這家公司出的 SDK,當時由於微軟的 Kinect 一代使用的是 PrimeSense 的晶片,所以 OpenNI 也能開發 Kinect 一代的程式。隨著 PrimeSense 在 2013 年被蘋果電腦收購,OpenNI 也就終止維護了。另一方面,微軟的第二代 Kinect 則改採用 Canesta 公司的晶片,並且後來微軟也收購了這家公司。

 

基於開發工具的維護來考量時,使用 OpenNI 的 Orbbec Astra 較為不利。若基於開發工具的使用人數來考量,則微軟的 Kinect for XBox One 優於 Intel 的 RealSense R200。因此,小編對於避障與建立地圖導航的應用,在技術與各產品的眾多比較與考量後,選擇使用 Kinect for XBox One 來當家用機器人的眼睛。

 

大家覺得這趟旅程有收穫嗎?如果有什麼回饋,歡迎跟小編聯絡哦!


延伸閱讀

1.
Project Tango: 讓行動裝置擁有人類視覺

2.
Dynamic Vision Sensor (DVS) 動態視覺感應器用於四旋翼機器人的控制。

3.
用機器視覺保持鉛筆直立不倒

  • Share on Weibo
  • Share on Email