淡江大學覺生紀念圖書館 (TKU Library)
進階搜尋


下載電子全文限經由淡江IP使用) 
系統識別號 U0002-2207202014050000
中文論文名稱 發展具高速計算能力之智慧機器人系統
英文論文名稱 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/
論文使用權限
  • 同意紙本無償授權給館內讀者為學術之目的重製使用,於2020-08-17公開。
  • 同意授權瀏覽/列印電子全文服務,於2020-08-17起公開。


  • 若您有任何疑問,請與我們聯絡!
    圖書館: 請來電 (02)2621-5656 轉 2486 或 來信