§ 瀏覽學位論文書目資料
  
系統識別號 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 或 來信