--- title: 【軟體】機器人相機解決方案淺談 tags: TTennis Pickup Robot disqus: hackmd --- <h1 style="text-align: center; color: orange;"> 🛠️ 【軟體】影像及圖形處理 🛠️ </h1> <h2 style="text-align: center; color: skyblue;"> 機器人相機解決方案淺談 </h2> <center> 相機、視覺系統如今在機器人領域中有舉足輕重的地位。 這篇會概述個人對不同應用場景下,機器人該用什麼視覺處理方法做簡單的引導。 首先,相機型號最重要的兩個選擇是: 1. <font color="yellow">提供資訊</font>:相機需要提供 RGB 或/和 Depth 資訊 ? 2. <font color="yellow">計算單元</font>:圖形處理要在相機端還是外部去做運算 ? <font color="yellow">資訊提供方面</font>: 對於須要顏色辨識、人臉 AI 辨識、斑馬線偵測等場景,那至少要有 RGB。 對於建圖定位、物體分割、避障等功能,那你可能只需要 Depth 資訊。 <font color="yellow">運算資源方面</font>: 對於簡單的顏色遮罩、深度點雲聚類演算法等,樹梅派就能處理運算了。 對於強調即時性、複雜 AI 模型部署,你可能需要嵌入式相機或邊緣 GPU 運算。 為什麼我沒給出一個很明確的二分法呢 ? 因為相機百百種,要解決同個問題的方法也是千萬種。 例如手部追蹤也有能直接部署於手機上的模型(可參考 Google MediaPipe)。 所以 AI 辨識也有輕量化模型的解決方案,不一定需要強悍的運算單元。 總之呢,會建議從上述兩大點去思考,然後做功課。 去思考怎麼樣的解決方案會比較適合自己。 </br> <h2 style="text-align: center; color: skyblue;"> 一些例子 </h2> 我的畢專須要有以下三個功能: <font color="yellow">桌球和運動員 AI 即時辨識</font>、<font color="yellow">室內建圖定位</font>、<font color="yellow">障礙物動態避障</font>。 我最終採用的方案是使用兩台相機: **Luxonis OAK-D**:嵌入式 RGBD 相機,負責物件偵測。 **Intel® RealSense™ D435**:RGBD 相機,RGBD 用於室內建圖,D 用於避障。 --- 我僅提供我的思路,參考就好。 首先最沒問題的是物件偵測,我希望由 OAK-D 進行邊緣運算,減輕主機負擔。 而且我需要長時間且即時的辨識,有一台嵌入式相機是相對安心的。 至於建圖定位以及避障,也可以由 2D/3D LiDAR 實現。 但 LiDAR 在機構設計上須要為他空出至少 120 度的旋轉空腔去掃描。 而且通常會希望 LiDAR 位於機器底部,這對設計上更不友善。 因此最後,我希望藉由 D435 的三維深度點雲資訊, 去模擬出 3D LiDAR 能達到的避障和建圖定位效果, 且 RGB 資訊還進一步加強建圖時的回環檢測。 其實 OAK-D 也能做 SLAM,只是礙於視角範圍,還是需要兩台相機。 另外,一台相機要同時做多件任務,在軟體進程安排、相機調用上會須要處理一下。 </center>