系統識別號 | U0002-2207202014050000 |
---|---|
DOI | 10.6846/TKU.2020.00649 |
論文名稱(中文) | 發展具高速計算能力之智慧機器人系統 |
論文名稱(英文) | Development of intelligent robotic systems with high-performance computing capability |
第三語言論文名稱 | |
校院名稱 | 淡江大學 |
系所名稱(中文) | 機械與機電工程學系碩士班 |
系所名稱(英文) | Department of Mechanical and Electro-Mechanical Engineering |
外國學位學校名稱 | |
外國學位學院名稱 | |
外國學位研究所名稱 | |
學年度 | 108 |
學期 | 2 |
出版年 | 109 |
研究生(中文) | 陳文東 |
研究生(英文) | Wen-Tung Chen |
學號 | 607370094 |
學位類別 | 碩士 |
語言別 | 繁體中文 |
第二語言別 | |
口試日期 | 2020-06-30 |
論文頁數 | 53頁 |
口試委員 |
指導教授
-
王銀添
委員 - 李宜勳 委員 - 羅智榮 |
關鍵字(中) |
深度學習推論 機器人作業系統 邊緣運算 |
關鍵字(英) |
Deep Learning inference Robot Operating System Edge Computing |
第三語言關鍵字 | |
學科別分類 | |
中文摘要 |
因應智慧機器人的高速計算能力的需求,系統建置可分為雲端計算與邊緣計算兩種形式。雲端計算因為無法即時更新資訊,不適合於機器人平台。而邊緣計算能達到體積遠小於個人電腦並擁有相同計算能力的系統運作,達到即時運算之要求。本研究探討在嵌入式平台上結合深度學習演算法的應用,以開發具高速計算能力的機器人系統。研究議題包括分析深度學習模型、架構機器人作業系統、蒐集與處理相機影像資料等。將處理的影像訊息傳送至深度學習模型進行推論,結果再使用機器人作業系統中的元件進行機器人的運動控制。測試的系統使用Robotis公司Turtlebot3與輝達(Nvidia)公司的Jetson Terga X2運算模組進行整合,程式使用C++與Python等語言撰寫。最後使用整合的系統驗證所提出演算法的實用性。 |
英文摘要 |
In response to the requirement of high computing capability for intelligent mobile robot systems, two different approaches were considered including cloud computing and edge computing. Because the cloud computing might not able to update information in real time, it is not suitable for the mobile robot system. On the other hand, the edge computing built in the mobile robot can provide real-time information for system. This study presents an embedded edge computing system based on the deep learning algorithm to ensure the high computing capability. Research topics include deep learning models, robotic operating systems (ROS), and visual sensing and image processing. The processed image information was sent to the deep learning model for command inference. The results were used as the ROS function to control the robot motion. An Nvidia Jetson Terga X2 embedded board was used as an edge computing system for a Robotis mobile robot - Turtlebot3. The deep learning inference mechanism was developed using C++ and Python programming language. The hardware and software of the intelligent mobile robot system were integrated to validate the practicality of the proposed algorithms. |
第三語言摘要 | |
論文目次 |
論文提要內容 II 目錄 IV 圖目錄 VII 表目錄 IX 第一章 序論 1 1.1 研究動機與目的 1 1.2 研究範圍 1 1.2.1 機器人作業系統 1 1.2.2 人體姿態辨識與物件辨識 1 1.3 論文架構 1 第二章 機器人系統架構 2 2.1 TX2開發板 3 2.1.1 Nvidia Jetson Tegra X2運算模組 3 2.1.2 Aetina AN310載板 5 2.2 機器人開發平台 6 2.2.1 OpenCR 7 2.2.2 XL430-W250伺服馬達 10 2.3 深度相機 11 2.4 MG995伺服馬達舵機 12 2.5 供電電池 13 2.6 ROS 13 2.6.1 Robot Operating System 13 2.6.2 ROS架構 13 第三章 機器人硬體設計及ROS介紹 15 3.1 嵌入式平台 15 3.1.1 嵌入式平台比較 15 3.1.2 嵌入式平台比較更換 16 3.2 安裝 Intel Realsense Camera 17 3.3 夾取裝置 17 3.4 OpenCR馬達舵機程式 18 3.4.1 舵機硬體 19 3.4.2 舵機軟體 20 第四章 深度學習演算法 24 4.1 Openpose 24 4.2 libsvm分類法 24 4.3 Tensorflow 25 4.4 Tensorflow Object Detection API 25 4.5 ssd_mobilenet_v1_coco 27 4.5.1 Single Shot Multibox Detector(SSD)演算法 27 4.5.2 Mobilenet 29 4.5.3 7 COCO dataset 32 4.6 Nvidia TensorRT介紹 33 第五章ROS軟體設計 34 5.1 軟體架構 34 5.2 ROS系統架構 35 5.3 預處理 37 Roslaunch Turtlebot 39 Roslaunch Camera 39 5.4 姿態辨識程式設計 39 5.4.1 Roslaunch openpose 41 5.4.2 Roslaunch hand_pose_detect 41 5.5 物件辨識程式設計 42 5.6.1 tf_trt_model 44 第六章 實驗結果與討論 45 6.1 Openpose區塊運行結果 45 6.2 Tensorflow Object Detection 區塊運行結果 47 6.3 TensorRT優化比較 48 6.4 目前研究成果與討論 49 6.4.1 目前研究成果 49 6.4.2 問題討論 49 參考文獻 50 圖目錄 圖2-1 Nvidia Jetson Tegra X2硬體架構 2 圖2-2機器人系統硬體架構 3 圖2-3 Nvidia Jetson Terga X2模組裸片 4 圖2-4 Aetina AN310載板 5 圖2-5 Turtlebot3外觀及基本配備 7 圖2-6 OpenCR外觀及接口位置 8 圖2-7 XL430-W250伺服馬達外觀 10 圖2-8 Realsense D435 12 圖2-11 MG995馬達 12 圖2-12供電電池 13 圖2-13 ROS架構 14 圖3-1載板比較圖 16 圖3-2 OpenCR上的供電區域 17 圖3-3相機俯仰圖 17 圖3-4夾爪參考模型 18 圖3-5夾爪實際印出品 18 圖3-6 openCR硬體供電及訊號流程圖 19 圖3-7實際連接圖 20 圖3-8 OpenCR階層圖 20 圖3-9夾取至45度 22 圖3-10夾爪平放 23 圖3-11夾爪收爪 23 圖4-1 openpose運作圖 24 圖4-2 one & two stage模型比較圖 26 圖4-3 SSD特徵圖 28 圖4-4 SSD和Yolo的單鏡頭檢測模型比較 28 圖4-5 SSD對於訓練框的處理 29 圖4-6標準卷積(Standard convolution) 30 圖4-7 TensorRT優化模型的過程 33 圖5-1實驗系統的軟體架構 34 圖5-2 ROS系統架構 36 圖5-3預處理流程圖 38 圖5-4 openpose程式設計流程圖 40 圖5-5 openpose辨識結果疊加於圖片上 41 圖5-6物件辨識程式設計流程圖 43 圖5-7主程式的架構,為一主程式依賴額外兩個用於ROS的class 44 圖6-1 openpose於ROS的運行結果 45 圖6-2 HandPoseDetect的運行結果,圖例中舉起右手讓機器人後退 46 圖6-3姿態辨識的ROS流程實例 46 圖6-4物件辨識程式運作 47 圖6-5 realsense深度相機與目標物體中心點距離的值 47 圖6-6機器人移動至物體前方並準備夾取 48 表目錄 表2-1 Nvidia Jetson Terga X2規格 4 表2-2 Aetina AN310載板相關規格 5 表2-3 Turtlebot3重要規格 7 表2-4 OpenCR接口資訊 8 表2-5 XL430-W250伺服馬達規格 10 表2-6馬達規格 12 表3-1 OpenCR腳位定義 18 表4-1 Tensorflow測試結果表 27 表4-2 SSD的兩種標準卷積的運算量對比 32 表6-1相同模型下的fps比較 49 |
參考文獻 |
參考文獻 [1]. Nvidia. (2020年5月12日). Nvidia TensorRT Documentation. 擷取自 Nvidia: https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html [2]. Eric Berger, Ken Conley, Josh Faust, Tully Foote, Brian Gerkey, Jeremy Leibs, Morgan Quigley, Rob Wheeler. . ROS Package Summary. 擷取自 ROS.org: https://wiki.ros.org/ROS [3]. CMU-Perceptual-Computing-Lab. . openpose. 擷取自 github.com: https://github.com/CMU-Perceptual-Computing-Lab/openpose [4]. Chih-Chung Chang and Chih-Jen Lin. (2019年11月29日). LIBSVM: A Library for Support Vector Machines. 擷取自 https://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf [5]. tensorflow. . 擷取自 tensorflow.org: https://www.tensorflow.org/ [6]. Mart´ın Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig Citro, Greg S. Corrado, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Ian Goodfellow, Andrew Harp, Geoffrey Irving, Michael Isard, Yangqing Jia, Rafal Jozefowicz等. (2015年11月9日). TensorFlow:Large-Scale Machine Learning on Heterogeneous Distributed Systems. 擷取自 tensorflow white paper: [7]. TEAMROBOTIS. . OpenCR1.0. 擷取自 emanual.robotis.com: https://emanual.robotis.com/docs/en/parts/controller/opencr10/ [8]. Arduino. . 擷取自 wikipedia.org: https://zh.wikipedia.org/wiki/Arduino [9]. xl430-w250. . 擷取自 emanual.robotis.com: https://emanual.robotis.com/docs/en/dxl/x/xl430-w250/ [10]. raspberry-pi-3-model-b. . 擷取自 raspberrypi.org: https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ [11]. depth-camera-d435. . 擷取自 intelrealsense.com: https://www.intelrealsense.com/depth-camera-d435/ [12]. mg995. . 擷取自 servodatabase.com: https://servodatabase.com/servo/towerpro/mg995 [13]. CorpAetina. . Aetina AN310. 擷取自 Aetina.com: https://www.aetina.com/ch/products-detail.php?i=253 [14]. 單晶片系統. . 擷取自 wikipedia.org: https://zh.wikipedia.org/wiki/%E5%8D%95%E7%89%87%E7%B3%BB%E7%BB%9F [15]. jetpack. . 擷取自 nvidia.com: https://developer.nvidia.com/embedded/jetpack [16]. cuda. . 擷取自 nvidia.com: https://docs.nvidia.com/cuda/ [17]. turtlebot3. . 擷取自 emanual.robotis.com: https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/ [18]. chengkate. (2019年9月). [ROS#2]系統架構及重要觀念介紹. 擷取自 ithome.com.tw: https://ithelp.ithome.com.tw/m/articles/10216423 [19]. Embedded System. . 擷取自 wikipedia.org: https://zh.wikipedia.org/zh-tw/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%B3%BB%E7%BB%9F [20]. The GFLOPS/W of the various machines in the VMW Research Group. . 擷取自 eece.maine.edu: http://web.eece.maine.edu/~vweaver/group/green_machines.html [21]. Nvidia jetson hardware spec. . 擷取自 nvidia.com: https://developer.nvidia.com/embedded/develop/hardware [22]. jetsonhacks. . installLibrealsenseTX2. 擷取自 github.com: https://github.com/jetsonhacks/installLibrealsenseTX2 [23]. object_detection. . 擷取自 github.com: https://github.com/tensorflow/models/tree/master/research/object_detection [24]. 林宗勳. . Support Vector Machines 簡介. 擷取自 cmlab.csie.ntu.edu.tw: http://www.cmlab.csie.ntu.edu.tw/~cyy/learning/tutorials/SVM2.pdf [25]. TensorFlow. . 擷取自 wikipedia.org: https://zh.wikipedia.org/wiki/TensorFlow [26]. Object_detection. . 擷取自 wikipedia.org: https://en.wikipedia.org/wiki/Object_detection [27]. HuYe. . Target detection algorithm SSD. 擷取自 programmersought.com: https://www.programmersought.com/article/644083829/ [28]. Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik. . Rich feature hierarchies for accurate object detection and semantic segmentation. 擷取自 arxiv.org: https://arxiv.org/pdf/1311.2524.pdf [29]. Convolutional_neural_network. . 擷取自 wikipedia.org: https://en.wikipedia.org/wiki/Convolutional_neural_network [30]. Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi. (2016年5月9日). You Only Look Once: Unified, Real-Time Object Detection. 擷取自 arxiv.org: https://arxiv.org/abs/1506.02640 [31]. Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg. (2016年12月29日). SSD: Single Shot MultiBox Detector. 擷取自 arxiv.org: https://arxiv.org/abs/1512.02325 [32]. Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun. (2016年6月6日). Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. 擷取自 arxiv.org: https://arxiv.org/abs/1506.01497 [33]. Jifeng Dai, Yi Li, Kaiming He, Jian Sun. . R-FCN: Object Detection via Region-based Fully Convolutional Networks. 擷取自 arxiv.org: https://arxiv.org/abs/1605.06409 [34]. Andrew G. Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, Hartwig Adam. (2017年4月17日). MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications. 擷取自 arxiv.org: https://arxiv.org/abs/1704.04861 [35]. detection_model_zoo.md. . 擷取自 github.com: https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md [36]. cocodataset. . 擷取自 cocodataset.org: http://cocodataset.org/#home [37]. KhanIrfanMd. (2018年5月9日). robotic-arm-gripper-5. 擷取自 grabcad.com: https://grabcad.com/library/robotic-arm-gripper-5 [38]. Cudnn 擷取自nvidia.com :https://developer.nvidia.com/cudnn [39]. CollisJaron. (2014年4月17日). Glossary of Deep Learning: Bias. 擷取自 medium.com: https://medium.com/deeper-learning/glossary-of-deep-learning-bias-cf49d9c895e2 [40]. networks neuralRectifier. . 擷取自 wikipedia.org: https://en.wikipedia.org/wiki/Rectifier_(neural_networks) [41]. firephinx. . openpose_ros. 擷取自 github.com: https://github.com/firephinx/ [42]. NVIDIA-AI-IOT. . tf_trt_models. 擷取自 github.com: https://github.com/NVIDIA-AI-IOT/tf_trt_models [43]. Zhe Cao, Gines Hidalgo, Tomas Simon, Shih-En Wei, Yaser Sheikh. (2018年12月18日). OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields. 擷取自 arxiv.org: https://arxiv.org/abs/1812.08008 [44]. 2XL430-W250-T 雙軸全向智能馬達 擷取自 採智科技 https://idminer.com.tw/product/xl-%E6%96%B0%E6%AC%BE%E5%85%A8%E5%90%91%E5%AE%9A%E4%BD%8D%E6%99%BA%E8%83%BD%E9%A6%AC%E9%81%94%E6%B8%85%E5%96%AE/ [45]. ROS架構 . ROS: A Minimum Overview. 擷取自 akihikoy.net http://akihikoy.net/notes/?text%2FROS%2FMinOverview [46]. One,two stage比較. 擷取自 programmersought.com https://www.programmersought.com/article/644083829/ |
論文全文使用權限 |
如有問題,歡迎洽詢!
圖書館數位資訊組 (02)2621-5656 轉 2487 或 來信