| 研究生: |
翁嘉駿 Weng, Chia-Chun |
|---|---|
| 論文名稱: |
應用深度攝影機於碰撞偵測之研究 Collision Detection Using Depth Camera |
| 指導教授: |
劉至行
Liu, Chih-Hsing |
| 學位類別: |
碩士 Master |
| 系所名稱: |
工學院 - 機械工程學系 Department of Mechanical Engineering |
| 論文出版年: | 2018 |
| 畢業學年度: | 106 |
| 語文別: | 中文 |
| 論文頁數: | 107 |
| 中文關鍵詞: | 機器視覺 、深度攝影機 、ICP(Iterative Closest Point) 、GJK(Gilbert-Johnson–Keerthi) 、碰撞偵測 |
| 外文關鍵詞: | Machine Vision, Depth Camera, ICP(Iterative Closest Point), GJK(Gilbert-Johnson–Keerthi), Collision Detection |
| 相關次數: | 點閱:118 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
隨著工業自動化的興起,為了降低機台撞擊造成傷害而發展出碰撞迴避系統。相反地,為了確定碰觸而發展出碰撞確認系統。鑒於此,碰撞感測的需求與日俱增。我們可以將感測方法分為接觸式及非接觸式。本研究採用非接觸式機器視覺方法,應用深度攝影機進行碰撞偵測。本研究流程首先應用深度攝影機環繞工作空間,抓取工作空間三維點雲(point cloud)圖。再以遞迴最近點(Iterative Closest Point, ICP)演算法進行點雲對正後黏合。基於歐幾里德距離(Euclidean distance)將黏合點雲分成目標物及障礙物點雲。將目標物點雲延著法向量(normal)方向進行膨脹(expand)。最後將各點雲網格化後使用GJK演算法(Gilbert–Johnson–Keerthi distance algorithm)達成碰撞偵測目的。本文以四個案例進行分析,分別是六軸機械手臂碰撞偵測、夾爪夾取偵測、移動機器人碰撞偵測、兵器技擊判分評斷。成功將工作空間分為目標物、靜態建構障礙物及動態偵測障礙物,對彼此進行碰撞偵測。本研究提出以一膨脹方法達到預測碰撞之成果,並達成低成本及廣用性目標。未來研究除了更優化本系統及開源化友善開發者外,亦可朝著防碰撞系統及接觸系統作做為後續研究方向。以提升工業、產業自動化邁向更安全便利的未來。
With the rise of industrial automation, collision avoidance systems have been developed to reduce the damage caused by machine impact. Conversely, collision confirmation systems have been developed to determine whether collide or not. In view of this, demand for collision detection is increasing. The sensing method can be divided into contact and non-contact methods. This study uses a non-contact machine vision method to detect collisions using a depth camera. In this study. First, a depth camera is used to surround the workspace, and captures the 3D point cloud images of the workspace. Then, the Iterative Closest Point (ICP) algorithm is used to align and merge the point clouds into a merged point cloud. The merged point cloud is divided into target object and obstacle point clouds based on Euclidean distance. The target object point cloud is expanded along the direction of normal vector of each point. Finally, each point cloud can be meshed and the GJK algorithm (Gilbert-Johnson–Keerthi distance algorithm) is used to perform collision detection. This study analyzes four cases, which are six-axis robot arm collision detection, gripper grip detection, mobile robot collision detection, and weapon arts judgment. The results show that the proposed method successfully divides the workspace into target objects, statically constructed obstacles, and dynamically detected obstacles for collision detection. This study proposes an expansion method to perform the collisions prediction
[1] Oxlade, C., The History of Robots. 2017: Capstone. p. 12.
[2] 編輯部, C.S. CTIMES/SmartAuto - Epson機械手臂力覺感測器 將精密複雜工作製程自動化:機械手臂,力覺感測器,Epson,精工愛普生,製程材料類,機械產品. 2016; Available from: https://www.ctimes.com.tw/DispProduct/tw/%E8%A3%BD%E7%A8%8B%E6%9D%90%E6%96%99%E9%A1%9E/Epson/%E5%8A%9B%E8%A6%BA%E6%84%9F%E6%B8%AC%E5%99%A8/%E6%A9%9F%E6%A2%B0%E7%94%A2%E5%93%81/%E7%B2%BE%E5%B7%A5%E6%84%9B%E6%99%AE%E7%94%9F/1606231529YZ.shtml.
[3] 劉尚昀. 機械手臂外掛套件加持 讓人機協作更順暢. 2017; Available from: https://www.digitimes.com.tw/iot/article.asp?cat=158&cat1=&cat2=&id=0000506670_69f5nzdl8nlw8bl0jqswa.
[4] 鑫意科技有限公司-Famously. 三菱機械手臂. [cited 2018; Available from: http://www.famously.com.tw/cht/products.php?func=p_list&pc_parent=2.
[5] Shaffer, C.A. and G.M. Herb, A real-time robot arm collision avoidance system. IEEE Transactions on Robotics and Automation, 1992. 8(2): p. 149-160.
[6] Figueiredo, M., J. Oliveira, B. Araújo, and J. Pereira. An efficient collision detection algorithm for point cloud models. in 20th International conference on Computer Graphics and Vision. 2010.
[7] Klein, J. and G. Zachmann. Point cloud collision detection. in Computer Graphics Forum. 2004.
[8] Pan, J., I.A. Şucan, S. Chitta, and D. Manocha. Real-time collision detection and distance computation on point cloud sensor data. in Robotics and Automation (ICRA), 2013 IEEE International Conference on. 2013.
[9] Hwang, K.-S., M.-Y. Ju, and Y.-J. Chen, Speed alteration strategy for multijoint robots in co-working environment. IEEE Transactions on Industrial Electronics, 2003. 50(2): p. 385-393.
[10] 郭子正, SCARA 機器手臂運作於 3D 最佳化路徑之研究. 國立中央大學電機工程學系碩士學位論文, 2017.
[11] Flacco, F., T. Kröger, A. De Luca, and O. Khatib. A depth space approach to human-robot collision avoidance. in Robotics and Automation (ICRA), 2012 IEEE International Conference on. 2012.
[12] Lebel. GJK algorithm distance of closest points in 3D - File Exchange - MATLAB Central. 2018; Available from: https://www.mathworks.com/matlabcentral/fileexchange/62429-gjk-algorithm-distance-of-closest-points-in-3d.
[13] Microsoft. Kinect - Windows 應用程式開發. 2018; Available from: https://developer.microsoft.com/zh-tw/windows/kinect.
[14] MathWorks. Register two point clouds using ICP algorithm - MATLAB pcregistericp. 2018; Available from: https://www.mathworks.com/help/vision/ref/pcregistericp.html.
[15] Besl, P.J. and N.D. McKay. Method for registration of 3-D shapes. in Sensor Fusion IV: Control Paradigms and Data Structures. 1992.
[16] MathWorks. Remove noise from 3-D point cloud - MATLAB pcdenoise. 2015; Available from: https://www.mathworks.com/help/vision/ref/pcdenoise.html.
[17] Rusu, R.B., Z.C. Marton, N. Blodow, M. Dolha, and M. Beetz, Towards 3D point cloud based object maps for household environments. Robotics and Autonomous Systems, 2008. 56(11): p. 927-941.
[18] MathWorks. Downsample a 3-D point cloud - MATLAB pcdownsample. 2015; Available from: https://www.mathworks.com/help/vision/ref/pcdownsample.html.
[19] Pomerleau, F., F. Colas, R. Siegwart, and S. Magnenat, Comparing ICP variants on real-world data sets. Autonomous Robots, 2013. 34(3): p. 133-148.
[20] MathWorks. Estimate normals for point cloud - MATLAB pcnormals. 2015; Available from: https://www.mathworks.com/help/vision/ref/pcnormals.html.
[21] Hoppe, H., T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle, Surface reconstruction from unorganized points. Vol. 26. 1992: ACM.
[22] MathWorks. Segment point cloud into clusters based on Euclidean distance - MATLAB pcsegdist. 2018; Available from: https://www.mathworks.com/help/vision/ref/pcsegdist.html.
[23] Giaccari. Surface Reconstruction from scattered points cloud (open surfaces) - File Exchange - MATLAB Central. 2017; Available from: https://www.mathworks.com/matlabcentral/fileexchange/63731-surface-reconstruction-from-scattered-points-cloud--open-surfaces-.
[24] MathWorks. N-D Delaunay triangulation - MATLAB delaunayn. Before 2006; Available from: https://www.mathworks.com/help/matlab/ref/delaunayn.html.
[25] Delaunay, B., On the empty sphere(Sur la sphere vide). Izv. Akad. Nauk SSSR, Otdelenie Matematicheskii i Estestvennyka Nauk, 1934. 7(793-800): p. 1-2.
[26] Garcia, J. and Z. Zalevsky, Range mapping using speckle decorrelation. 2008, Google Patents.
[27] Freedman, B., A. Shpunt, M. Machline, and Y. Arieli, Depth mapping using projected patterns. 2012, Google Patents.
[28] CuriousInventor. How the Kinect Depth Sensor Works in 2 Minutes. 2013; Available from: https://youtu.be/uq9SEJxZiUg.
[29] Annoymous. Time-of-flight camera. 2018; Available from: https://en.wikipedia.org/wiki/Time-of-flight_camera.
[30] MathWorks. Register two point clouds using ICP algorithm - MATLAB pcregrigid. 2015; Available from: https://www.mathworks.com/help/vision/ref/pcregrigid.html.
[31] Chen, Y. and G. Medioni, Object modelling by registration of multiple range images. Image and vision computing, 1992. 10(3): p. 145-155.
[32] Gvili. Iterative Closest Point. Available from: www.cs.tau.ac.il/~dcor/Graphics/adv-slides/ICP.ppt.
[33] MathWorks. Register two point clouds using NDT algorithm - MATLAB pcregisterndt. 2018; Available from: https://www.mathworks.com/help/vision/ref/pcregisterndt.html.
[34] Euclidean distance - Wikipedia. 2018; Available from: https://en.wikipedia.org/wiki/Euclidean_distance.
[35] MathWorks. Triangular surface plot - MATLAB trisurf. Before 2006; Available from: https://www.mathworks.com/help/matlab/ref/trisurf.html.
[36] MathWorks. Create one or more filled polygons - MATLAB patch. Before 2006; Available from: https://www.mathworks.com/help/matlab/ref/patch.html.
[37] Tang. GeomView matlab - File Exchange - MATLAB Central. 2011; Available from: https://www.mathworks.com/matlabcentral/fileexchange/31699-geomview-matlab.
[38] MathWorks. Polygons and polyhedra from points in 2-D and 3-D - MATLAB. 2014; Available from: https://www.mathworks.com/help/matlab/ref/alphashape.html.
[39] MathWorks. Delaunay triangulation - MATLAB delaunay. Before 2006; Available from: https://www.mathworks.com/help/matlab/ref/delaunay.html.
[40] Gilbert, E.G., D.W. Johnson, and S.S. Keerthi, A fast procedure for computing the distance between complex objects in three-dimensional space. IEEE Journal on Robotics and Automation, 1988. 4(2): p. 193-203.
[41] kroitor. Gilbert-Johnson-Keerthi (GJK) collision detection algorithm in 200 lines of clean plain C. 2018; Available from: https://github.com/kroitor/gjk.c.
[42] Serrano. Visualizing the GJK Collision detection algorithm. 2016; Available from: https://www.haroldserrano.com/blog/visualizing-the-gjk-collision-algorithm.