跳到主要內容

臺灣博碩士論文加值系統

(34.204.198.73) 您好!臺灣時間:2024/07/19 14:08
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:鍾岳璁
研究生(外文):CHUNG, YUEH-TSUNG
論文名稱:使用蜂巢式網路之無人機即服務
論文名稱(外文):Drone as a Service using Cellular Networks
指導教授:賴冠廷賴冠廷引用關係
指導教授(外文):LAI, KUAN-TING
口試委員:黃育賢黃志勝賴冠廷
口試委員(外文):HWANG, YUH-SHYANHUANG, CHIH-SHENGLAI, KUAN-TING
口試日期:2022-07-14
學位類別:碩士
校院名稱:國立臺北科技大學
系所名稱:電子工程系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2022
畢業學年度:110
語文別:英文
論文頁數:68
中文關鍵詞:軟體即服務無人機AMQPWebRTC
外文關鍵詞:SaaSDroneAMQPWebRTC
相關次數:
  • 被引用被引用:1
  • 點閱點閱:254
  • 評分評分:
  • 下載下載:37
  • 收藏至我的研究室書目清單書目收藏:0
無人機發展至今已是相當成熟的產業,因它的機動性高且可控制的成本相對較 低,若有運送物資、農事庶務、高風險場域探勘及醫療急難救助等類型的團體或私人 機構,都會考慮導入無人機來進行任務。而這些需求也誕生出多家針對無人機產業所 提供服務的公司,但它的缺點在於必須使用各家公司客製化的機型和軟體且均無法互 相通用,使用上彈性因此被大幅限制。因此本論文提出支援開源無人機 (Ardupilot) 系 統的雲端無人機服務,背後的設計理念是透過 AMQP 訊息訂閱模式以實現無人機和平 台之間的通訊,制定驗證身份和綁定無人機序號以實現多人平台控制,並整合 WebRTC 媒體串流技術來達成無人機即時景象觀測以及使用 TensorFlow 加入物件辨識 的功能。在使用上,無人機端連接手機並開啟控制 APP,登入雲端平台後即可開始使 用本服務,目前主要提供的功能有即時互動式地圖控制、全程操作錄影、飛行軌跡紀 錄及多台無人機飛行監控。在未來,可望此服務可以幫助到有無人機飛行任務需求的 公共組織及企業。
Drone technology is quite mature in recent years, due to its high mobility and low costs, more and more companies try to use drones to replace manpower and reduce engagement in high-risk tasks, such as agricultural affairs, product delivery, mountain search, and medical assistance. For those requirements, several companies that provide drone-related services came out, they offer specific drone models and software to the customers. But the disadvantage is that between companies, different models and protocols cannot be compatible, and the flexibility may be limited. Therefore, the thesis proposes a cloud-based drone service that supported the open-source drone system (Ardupilot). We use AMQP topic subscription mode to enable the communication between the drone and the service platform, formulate the user authentication and the drone identification to achieve multi-user control, and integrate the WebRTC and TensorFlow to implement adaptive media streaming and object detection. Our drone cloud service features include interactive map control, operation recording, history review of drone orbit, and multi-drone monitoring.
摘要 i
ABSTRACT ii
ACKNOWLEDGEMENT iii
Table of Contents iv
List of Tables vii
List of Figures viii
Chapter 1 Introduction 1
1.1 Research Background 1
1.2 Research Motivations 1
1.3 Research Contributions 2
1.4 Thesis Structure 2
Chapter 2 Literature Review 3
2.1 Protocol Stack 3
2.2 User Datagram Protocol 4
2.3 Transmission Control Protocol 5
2.3.1 TCP Header Format 5
2.3.2 Establishing connection 8
2.3.3 Terminating connection 9
2.4 Hypertext Transfer Protocol 10
2.4.1 Headers 10
2.4.2 Request Methods 11
2.5 WebSocket Protocol 12
2.5.1 Opening handshake 13
2.5.2 Opcode 14
2.5.3 Control Frame 15
2.6 Advanced Message Queuing Protocol 16
2.6.1 Roles 17
2.6.2 Exchange 17
2.6.3 Queue 22
2.7 Web Real-Time Communication 23
2.7.1 Session Description Protocol 24
2.7.2 Peer-to-Peer communication across Network Address Translator 28
2.7.3 Session Traversal Utilities for NAT 30
2.7.4 Traversal Using Relays around NAT 31
2.7.5 Interactive Connectivity Establishment 33
Chapter 3 Research Methods 35
3.1 Design Blueprints 35
3.2 Frontend User Interface and Logic 36
3.2.1 Component Tree 37
3.2.2 State Management 39
3.3 User Authentication 44
3.3.1 Registration 44
3.3.2 Log In and Persist Session 44
3.4 Geospatial Mapping 49
3.5 Message Broker 50
3.6 Real-Time Media Streaming 53
3.6.1 WebRTC 53
3.6.2 Object Detection 55
Chapter 4 Experiment Results 56
4.1 Drone Cloud Service 56
4.2 Back-end System Architecture 59
4.3 Multi-Drone Simulation 60
4.4 Continuous Integration and Continuous Delivery 61
Chapter 5 Conclusion and Future Work 62
Reference 63


[1]Amazon. “Prime Air- A future delivery system from Amazon.” https://www.amazon.com/Amazon-Prime-Air/b?node=8037720011 (accessed April 25, 2022).
[2]XAG. “Agricultural Drone.” https://www.xa.com/en/plant-protection-uas (accessed April 25, 2022).
[3]A. Konert, J. Smereka, and L. Szarpak, “The Use of Drones in Emergency Medicine: Practical and Legal Aspects,” Emerg Med Int, vol. 2019, p. 3589792, 2019/12/02 2019, doi: 10.1155/2019/3589792.
[4]Measure. “The Most Complete Software Platform for Drones.” https://www.measure.com/ (accessed April 25, 2022).
[5]Aerodyne Group. “Proven and Leading Global DT3 Solutions Provider.” https://aerodyne.group/ (accessed April 25, 2022).
[6]Terra Drone. “Industry leaders in innovative aerial drone services.” https://www.terra-drone.net/global/ (accessed April 25, 2022).
[7]ArduPilot. “ArduPilot- Versatile, Trusted, Open.” https://ardupilot.org/ (accessed April 27, 2022).
[8]PX4. “PX4 Autopilot: Open Source Autopilot for Drones.” https://px4.io/ (accessed April 27, 2022).
[9]ArduPilot Dev Team. “Mission Planner.” https://ardupilot.org/planner/ (accessed April 27, 2022).
[10]QGroundControl. “QGC - QGroundControl - Drone Control.” http://qgroundcontrol.com/ (accessed April 27, 2022).
[11]Socolofsky, T. and C. Kale, “TCP/IP tutorial”, RFC 1180, Internet Engineering Task Force (IETF), DOI 10.17487/RFC1180, January 1991
[12]Postel, J., “User Datagram Protocol”, STD 6, RFC 768, Internet Engineering Task Force (IETF), DOI 10.17487/RFC0768, August 1980
[13]T. Vedavathi, R. Karthick, S. S. Raja, and M. P, “Data Communication and Networking Concepts in User Datagram Protocol (UDP),” SSRN Electronic Journal, 01/01 2020, doi: 10.2139/ssrn.3523820.
[14]IPV6. “UDP Protocol Overview.” https://www.ipv6.com/general/udp-user-datagram-protocol/ (accessed October 14, 2021).
[15]Postel, J., “Transmission Control Protocol”, STD 7, RFC 793, Internet Engineering Task Force (IETF), DOI 10.17487/RFC0793, September 1981
[16]Ramakrishnan, K., Floyd, S., and D. Black, “The Addition of Explicit Congestion Notification (ECN) to IP”, RFC 3168, Internet Engineering Task Force (IETF), DOI 10.17487/RFC3168, September 2001
[17]Gont, F. and A. Yourtchenko, “On the Implementation of the TCP Urgent Mechanism”, RFC 6093, Internet Engineering Task Force (IETF), DOI 10.17487/RFC6093, January 2011
[18]Braden, R., Ed., “Requirements for Internet Hosts - Communication Layers”, STD 3, RFC 1122, Internet Engineering Task Force (IETF), DOI 10.17487/RFC1122, October 1989
[19]Charles M. Kozierok. “TCP Connection Termination.” http://www.tcpipguide.com/free/t_TCPConnectionTermination-2.htm (accessed October 22, 2021).
[20]Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, “Hypertext Transfer Protocol -- HTTP/1.1”, RFC 2616, Internet Engineering Task Force (IETF), DOI 10.17487/RFC2616, June 1999
[21]Fielding, R., Ed., and J. Reschke, Ed., “Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content”, RFC 7231, Internet Engineering Task Force (IETF), DOI 10.17487/RFC7231, June 2014
[22]Fielding, R., Ed., and J. Reschke, Ed., “Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing”, RFC 7230, Internet Engineering Task Force (IETF), DOI 10.17487/RFC7230, June 2014
[23]Fette, I. and A. Melnikov, “The WebSocket Protocol”, RFC 6455, Internet Engineering Task Force (IETF), DOI 10.17487/RFC6455, December 2011
[24]Loreto, S., Saint-Andre, P., Salsano, S., and G. Wilkins, “Known Issues and Best Practices for the Use of Long Polling and Streaming in Bidirectional HTTP”, RFC 6202, Internet Engineering Task Force (IETF), DOI 10.17487/RFC6202, April 2011
[25]AMQP Working Group 0-9-1, “A General-Purpose Messaging Standard: Advanced Message Queuing Protocol”, Organization for the Advancement of Structured Information Standards (OASIS), November 2008
[26]Alvestrand, H., “Overview: Real-Time Protocols for Browser-Based Applications”, RFC 8825, Internet Engineering Task Force (IETF), DOI 10.17487/RFC8825, January 2021
[27]WebRTC for the Curious. “WebRTC For The Curious.” https://webrtcforthecurious.com/ (accessed March 28, 2022).
[28]IETF Datatracker. “Real-Time Communication in WEB-browsers (rtcweb).” https://datatracker.ietf.org/wg/rtcweb/documents/ (accessed March 28, 2022).
[29]Cullen Jennings, Henrik Boström, and Jan-Ivar Bruaroey, “WebRTC 1.0: Real-Time Communication Between Browsers”, World Wide Web Consortium (W3C), January 2021
[30]WebRTC. “WebRTC Architecture.” https://webrtc.github.io/webrtc-org/architecture/ (accessed March 28, 2022).
[31]Begen, A., Kyzivat, P., Perkins, C., and M. Handley, “SDP: Session Description Protocol”, RFC 8866, Internet Engineering Task Force (IETF), DOI 10.17487/RFC8866, January 2021
[32]Rosenberg, J. and H. Schulzrinne, “An Offer/Answer Model with Session Description Protocol (SDP)”, RFC 3264, Internet Engineering Task Force (IETF), DOI 10.17487/RFC3264, June 2002
[33]Srisuresh, P., Ford, B., and D. Kegel, “State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs)”, RFC 5128, Internet Engineering Task Force (IETF), DOI 10.17487/RFC5128, March 2008
[34]Srisuresh, P. and K. Egevang, “Traditional IP Network Address Translator (Traditional NAT)”, RFC 3022, Internet Engineering Task Force (IETF), DOI 10.17487/RFC3022, January 2001
[35]Audet, F., Ed., and C. Jennings, “Network Address Translation (NAT) Behavioral Requirements for Unicast UDP”, BCP 127, RFC 4787, Internet Engineering Task Force (IETF), DOI 10.17487/RFC4787, January 2007
[36]Petit-Huguenin, M., Salgueiro, G., Rosenberg, J., Wing, D., Mahy, R., and P. Matthews, “Session Traversal Utilities for NAT (STUN)”, RFC 8489, Internet Engineering Task Force (IETF), DOI 10.17487/RFC8489, February 2020
[37]MacDonald, D. and B. Lowekamp, “NAT Behavior Discovery Using Session Traversal Utilities for NAT (STUN)”, RFC 5780, Internet Engineering Task Force (IETF), DOI 10.17487/RFC5780, May 2010
[38]Reddy, T., Ed., Johnston, A., Ed., Matthews, P., and J. Rosenberg, “Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)”, RFC 8656, Internet Engineering Task Force (IETF), DOI 10.17487/RFC8656, February 2020
[39]Keranen, A., Holmberg, C., and J. Rosenberg, “Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal”, RFC 8445, Internet Engineering Task Force (IETF), DOI 10.17487/RFC8445, July 2018
[40]蘇俊嘉, “基於Android應用程式之AED救援無人機,” 碩士, 電子工程系, 國立臺北科技大學, 台北市, 2021. [Online]. Available: https://hdl.handle.net/11296/trv946
[41]Vue.js. “Vue.js- The Progressive JavaScript Framework.” https://vuejs.org/guide/introduction.html (accessed April 1, 2022).
[42]Whatwg. “DOM- Living Standard.” https://dom.spec.whatwg.org/ (accessed April 2, 2022).
[43]Vue.js. “Lifecycle Hooks.” https://vuejs.org/guide/essentials/lifecycle.html#lifecycle-diagram (accessed April 7, 2022).
[44]Vuex. “What-is-vuex.” https://vuex.vuejs.org/#what-is-a-state-management-pattern (accessed April 7, 2022).
[45]Jones, M., Bradley, J., and N. Sakimura, “JSON Web Token (JWT)”, RFC 7519, Internet Engineering Task Force (IETF), DOI 10.17487/RFC7519, May 2015
[46]John Bradley, Brian Campbell, Michael B. Jones, and Chuck Mortimore, “JSON Web Token Claims”, Internet Assigned Numbers Authority (IANA), Jan 2015
[47]Barth, A., “HTTP State Management Mechanism”, RFC 6265, Internet Engineering Task Force (IETF), DOI 10.17487/RFC6265, April 2011
[48]Mapbox. “Mapbox: Maps and location for developers.” https://www.mapbox.com/ (accessed April 13, 2022).
[49]Open Street Map. “OpenStreetMap.” https://www.openstreetmap.org/ (accessed April 13, 2022).
[50]Mapbox. “Mapbox GL JS.” https://docs.mapbox.com/mapbox-gl-js/guides/ (accessed April 13, 2022).
[51]Dean Jackson and Jeff Gilbert, “WebGL 1.0”, Khronos Group, October 2014
[52]Mapbox. “Design beautiful maps with Mapbox Studio.” https://www.mapbox.com/mapbox-studio/ (accessed April 13, 2022).
[53]Butler, H., Daly, M., Doyle, A., Gillies, S., Hagen, S., and T. Schaub, “The GeoJSON Format”, RFC 7946, Internet Engineering Task Force (IETF), DOI 10.17487/RFC7946, August 2016
[54]Turf. “Turf.js: Advanced geospatial analysis.” https://turfjs.org/ (accessed April 13, 2022).
[55]RabbitMQ. “RabbitMQ.” https://www.rabbitmq.com/ (accessed April 16, 2022).
[56]Uberti, J., Jennings, C., and E. Rescorla, Ed., “JavaScript Session Establishment Protocol (JSEP)”, RFC 8829, Internet Engineering Task Force (IETF), DOI 10.17487/RFC8829, January 2021
[57]Tfhub. “Ssd_mobilenet_v2.” https://tfhub.dev/tensorflow/ssd_mobilenet_v2/2 (accessed April 19, 2022).
[58]Ultralytics. “Ultralytics/yolov5.” https://github.com/ultralytics/yolov5/releases/tag/v6.1 (accessed April 19, 2022).
[59]Tensorflow. “TensorFlow.js.” https://www.tensorflow.org/js (accessed April 19, 2022).
[60]Google. “Google Cloud.” https://cloud.google.com/ (accessed April 20, 2022).
[61]Google. “Compute Engine.” https://cloud.google.com/compute (accessed April 20, 2022).
[62]The Kubernetes Authors. “Kubernetes.” https://kubernetes.io/ (accessed April 20, 2022).
[63]K3s Project Authors. “Lightweight Kubernetes.” https://k3s.io/ (accessed April 20, 2022).
[64]Google. “Cloud SQL.” https://cloud.google.com/sql (accessed April 20, 2022).

QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top