Professional Documents
Culture Documents
ROS 架構下應用 SLAM 與電腦視覺之
ROS 架構下應用 SLAM 與電腦視覺之
ROS 架構下應用 SLAM 與電腦視覺之
2.2.3 影像偵測與辨識:YOLOv5
YOLOv5 是 一 種 單 階 段 目 標 檢 測 算 法 [10] , 使 用
Pytorch 框架,能夠方便地訓練自己的數據集。YOLOv5
主 要 提 供 四 種 模 型 : YOLOv5s 、 YOLOv5m 、
YOLOv5l 、 YOLOv5x 。 網 絡 架 構 分 為 輸 入 端 、
backbone、neck、prediction。
本論文使用 YOLOv5 進行電梯按鈕的辨識,運用自
行訓練好的模型判斷出各按鈕代表之意義,例如它是
上、下樓或是哪一層樓的按鈕,再藉由偵測電梯按鈕的
圖二: 圖一紅框內硬體配置
亮暗來判斷是否按到電梯按鈕,以及當按鈕由亮轉暗代
2.2 軟體系統 表抵達該樓層。
2.2.1 同步定位與地圖構建 (Simultaneous Localization 圖五為實際辨識情況,在上下樓按鈕皆沒有亮起
And Mapping,SLAM) 時,兩個按鈕的辨識結果都為 off,當下樓按鈕亮起,
SLAM 讓機器人可以在未知環境下,透過感測器數 則會辨識出 down_on。
據增量式的建立地圖,並運用重複觀測到的數據來定位
自身位置,達到同時定位與地圖構建的目的。本論文使
用的建構地圖方法為 karto SLAM [8]。karto SLAM 使用
圖優化(graph optimization)的方式進行建構,如圖三,
由感測器測得資訊預估機器人位置,再經由閉循環的掃
描匹配,使感測器數據與建構出的地圖相同。並會做非
線性最佳化,使建構出的地圖更為準確。
圖五: 實際辨識上下樓電梯按鈕
2.3 架構示意圖
圖七為機器人的架構示意圖。透過筆電鏡頭取得當
下影像資訊及辨識結果,將資訊提供給筆電做機械手臂
的角度換算,再把角度資訊傳遞給控制器,完成機械手
臂之操控。使用者在圖形化介面輸入想去的目標資訊,
進行後續導航工作。由光達掃描周遭環境,把即時測距
資訊傳回筆電,進行導航和避障功能的運算、切換。
圖四: Navigation Stack
Proceedings of 2023 National Symposium on System Science and Engineering 國立臺灣海洋大學
National Taiwan Ocean University, Keelung, 10~12 June, 2023
圖七: 機器人的架構示意圖
三、 研究方法
3.1 流程圖
3.1.1 整體流程圖
如圖八所示,在圖形化介面上輸入欲到達目標點,
機器人進入搭乘電梯流程。到達指定樓層後,在導航起
始點切換成平面導航模式,導航至指定教室。抵達教室
後使用者需在圖型化介面上確認,讓機器人得以返回搭
乘電梯起始點,並在搭乘電梯起始點等待使用者下一次
的輸入。
圖九: 搭乘電梯流程圖
3.1.3 平面導航流程圖
機器人將自行規劃最佳路徑到達指定教室。途中若
遇障礙物,會切換成避障模式以避開障礙物。在離開障
礙物後,會自行切回導航模式繼續前往目標教室。到達
目標點後,等待使用者確認已抵達,則返回搭乘電梯起
始點,如圖十。
3.2 地圖建構與導航
本論文使用 karto SLAM 建構地圖,為使地圖更符合
實際場景,使用 KolourPaint 繪圖軟體進行地圖調整,
避免因雷達放置高度,導致有些障礙物掃描不到而被誤
圖八: 整體流程圖 判為可行走區域,後續導航皆使用優化過的地圖,以利
導航順利執行。SLAM 導航使用全局路徑規劃器(global
3.1.2 搭乘電梯流程圖 planner)進行路徑規劃,它會自行避開地圖上的已知障
如圖九所示,得到目標樓層後,使用影像辨識確認 礙物,規劃出一條最適路徑。若行走過程中出現臨時障
自身所在樓層,判斷需上或下樓,走到電梯按鈕前透過 礙物,則會切換為自定義的避障模式。避障模式主要分
影像辨識得到按鈕位置,藉由逆向運動學控制手臂運 成三種,以前方避障為例:正前方避障模式、遠離前方
動,進而按到按鈕。若影像辨識判斷按鈕為暗則會重新 牆壁避障模式、遠離前方死角模式,如圖十一。
運算按鈕位置,並再次按按鈕,直到電梯按鈕為亮,等
待並用雷達偵測兩邊電梯門哪一邊開啟。進電梯後如前
面所述,完成按樓層按鈕的步驟,等按鈕燈號熄滅,便
走出電梯到達導航起始點,並切換至導航模式。
Proceedings of 2023 National Symposium on System Science and Engineering 國立臺灣海洋大學
National Taiwan Ocean University, Keelung, 10~12 June, 2023
如圖十三,在白點處機器人將轉成頭朝電梯的方
向,用雷達測距測得哪一邊的電梯門開啟。接下來走到
電梯門前空心圓圈處,確保機器人能安全進入電梯,然
後走到實心藍點,開始電梯內的位置校正。在此處需轉
成筆電鏡頭面對電梯樓層按鈕的方向,以利按按鈕工作
進行。
圖十三: 偵測哪台電梯開門
如圖十四,確認電梯按鈕的燈熄滅之後,機器人轉
成頭朝電梯門的方向,走出電梯到達綠點,在此處從搭
乘電梯的程式切換成平面導航。當平面導航結束後,會
回到白點,等待下一次使用者輸入目標點。
圖十: 平面導航流程圖
圖十四: 出電梯到樓層導航起始位置
3.4 影像辨識
當導航抵達電梯按鈕前,使用影像辨識訓練模型,
辨識出電梯按鈕亮暗、位置等資訊,再傳至筆電以供機
械手臂操控及機器人移動。按電梯按鈕屬於較精細的動
作,機器人需停在準確位置才可執行,因此我們讓機器
人在上下樓電梯按鈕前做位置和角度的校正:目標點範
圍為±0.1 公尺,並會做機器人與牆壁之間距離校正在
0.3 公尺至 0.4 公尺間,以利正確辨識出按鈕座標給機械
圖十一:導航配合動態避障 手臂運作。進入電梯後,也讓機器人在樓層電梯按鈕前
3.3 行走流程 做校正,方法同上。圖十五為電梯內辨識樓層按鈕。
如圖十二,在白點處用 YOLOv5 辨識機器人所在樓
層,因各樓的樓層標示位置不統一,所以在此處順時針
轉 90°,確定在各樓層都能辨識到,再以走直角的方式
朝電梯按鈕方向前進,到達紅點,也就是電梯上下樓按
鈕前的位置,會讓筆電鏡頭朝向牆壁,以利辨識出按鈕
位置,確認按完後,再以走斜直線方式回到白點位置。
圖十五:辨識樓層電梯按鈕
3.5 機械手臂控制
由影像辨識結果判斷電梯按鈕為暗,在符合此條件
下得到電梯按鈕座標,藉由逆向運動學換算出機械手臂
各軸所需轉動角度,先只考慮目標點的 X 和 Y 軸,且
圖十二: 偵測樓層完再按上下樓按鈕 為了達到按按鈕時有最佳效率,因此手臂最前端(L3)
Proceedings of 2023 National Symposium on System Science and Engineering 國立臺灣海洋大學
National Taiwan Ocean University, Keelung, 10~12 June, 2023
5. 按上下樓按鈕 6. 走 斜 直 線 回 搭 乘 電 梯 起 始 點
(rviz)
圖十七: 機械手臂逆向運動學
四、 實驗結果
4.1 實作流程
我們以在 1 樓輸入指令到 6 樓教室 604 為例,導航
誤差皆在 0.4 公尺以內。 圖十八顯示導航過程。包含進
出電梯、在同層樓的移動與在所件地圖的機器人導航軌
跡圖。
11. 出電梯 12.前進到導航起始點(rviz)
1. 在搭乘電梯起始點輸入指定樓 2. 偵測所在樓層(目前在 1 樓)
層、教室
Proceedings of 2023 National Symposium on System Science and Engineering 國立臺灣海洋大學
National Taiwan Ocean University, Keelung, 10~12 June, 2023
航,實現在整棟已知地圖的建築物內移動。而近年因疫
情肆虐,無接觸服務越顯重要,若能在現有架構上,增
加置物空間、讓機械手臂有抓握功能,便能達成機器人
自行搬運貨物再運到指定地的功能。在準確性方面,希
望可以對機械手臂的修正進行改善與增強,使得按電梯
按鈕成功率得以提高。
17.回到搭乘電梯起始點(rviz) 18.等待下次使用者輸入目的地 參考文獻
[1] 謝元碩、李盈臻、莊家峰,”ROS 架構下應用 SLAM 與
影 像 辨 識 之 遠 端 聲 控 導 航 機 器 人 ,”Proc. Nat. Symp.
Systems Science and Engineering, pp. 1-5, Taichung, Taiwan,
May 2022.
[2] I. M. Murwantara, B. Hardjono, H. Tjahyadi, and A. S. Putra,
“A consolidation of SLAM and signal reference point for
autonomous robot navigation,” in Proc. IEEE 17th Int. Conf.
Smart Communities: Improving Quality of Life Using ICT,
IoT and AI (HONET), 2020, pp. 108-112.
[3] C. F. Juang, C. Y. Chou, and C. T. Lin, “Navigation of a
圖十八: 導航實作 fuzzy-controlled wheeled robot through the combination of
expert knowledge and data-driven multiobjective evolutionary
4.2 影像辨識準確率 learning,” IEEE Trans. Cybernetics, vol. 52, no. 8, pp. 7388-
分為上下樓電梯按鈕與樓層電梯按鈕(圖十九)兩處來 7401, Aug. 2022.
做辨識,在有進行機器人位置校正情況下,實驗 56 [4] L. Jiang, X. Huo, Y. Liu and H. Liu, “An analytical inverse
kinematic solution with the reverse coordinates for 6-DOF
次,成功 51 次,成功率約為 0.911。除了能辨識各個按 manipulators,” in Proc. IEEE Int. Conf. Mechatronics and
鈕代表之樓層,也能偵測電梯按鈕的亮暗。 Automation, Takamatsu, Japan, 2013, pp. 1552-1558.
[5] C. -W. Chen, A. -C. Tsai, Y. -H. Zhang and J. -F. Wang, “3D
object detection combined with inverse kinematics to achieve
robotic arm grasping,” in Proc. 10th Int. Conf. Orange
Technology (ICOT), Shanghai, China, 2022, pp. 1-4.
[6] J. Zhao, Y. Chen, and Y. Lou, “A human-aware robotic
system for mobile robot navigating in multi-floor building
with elevator,” in Proc. WRC Symp. Advanced Robotics and
Automation, 2019, pp. 178-183.
[7] S. Jiang, W. Yao, M. S. Wong, M. Hang, Z. Hong, E. J. Kim,
S. H. Joo, and T. Y. Kuc, “Automatic elevator button
圖十九: 辨識樓層電梯按鈕實作
localization using a combined detecting and tracking
framework for multi-story navigation,” IEEE Access, vol. 8,
4.3 機械手臂控制準確率 pp. 1118-1134, 2020.
圖二十顯示手臂按電梯上樓、下樓實驗過程。在影 [8] K. Konolige, G. Grisetti, R. K¨ummerle, B. Limketkai, R.
Vincent, Efficient Sparse Pose Adjustment for 2D Mapping,
像辨識正確的情形下,實驗 43 次,成功 35 次,手臂控
In Proc. of Int. Conf. on Intelligent Robots and Systems
制成功率約為 0.814。 (IROS), Oct. 2010.
[9] ROS Navigation Stack, http://wiki.ros.org/navigation.
五、 結論 [10] Yolo v5, https://ultralytics.com/yolov5.
[11] Tkinter, https://docs.python.org/3/library/tkinter.html.
本論文提出以輪型機器人搭配機械手臂與影像辨
識,完成在不同樓層間的垂直移動,再配合平面樓層導