| 研究生: |
范智翔 Fan, Chih-Hsiang |
|---|---|
| 論文名稱: |
機械手臂之圖形化運動控制介面及編譯器發展與實現 Development and Implement of Compiler and Graphical Programming Interface for Robot Arm Control |
| 指導教授: |
陳響亮
Chen, Shang-Liang |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 製造資訊與系統研究所 Institute of Manufacturing Information and Systems |
| 論文出版年: | 2020 |
| 畢業學年度: | 108 |
| 語文別: | 中文 |
| 論文頁數: | 81 |
| 中文關鍵詞: | 可視化程式 、混合式編譯器 、圖形化使用者介面 、Python腳本程式 |
| 外文關鍵詞: | Visual programming, Hybrid compiler, Python script, Graphical user interface |
| 相關次數: | 點閱:79 下載:2 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
機械手臂採用PC-Based控制器,可帶來更易於整合與擴展功能的軟體開發環境,以符合更多複雜作業的需求。於機械手臂控制系統中,運動路徑的規劃經常仰賴教導器或牽引的方式錄製,但若應用情境具條件判斷的要求時,使用者則須再以文字程式重新編寫運動程式。而根據不同系統的機械手臂,使用者可能需學習一種以上的程式語言,以整合不同系統間的作業需求。因此,為簡化運動程式編輯的專業度並提供簡易操作的程式編輯介面,本研究將提出一個易學、易理解、易操作的圖形化運動控制介面,由設計的圖形化程式語言作為編輯手段,實現提出的系統於PC-Based控制器中。
本研究提出的運動控制介面將採用流程圖表達機械手臂的運動程式,終端使用者可透過拖曳、連結、編輯屬性等操作,達到簡易組成控制流程與修正控制流程之目的。於系統架構中,將基於混合式編譯器架構作為圖形化程式的運行核心,並透過用於分析控制流程的語法規則,將圖形化程式轉換為Python程式運動腳本,最終由直譯器運行腳本以驅動機械手臂。本系統由分工明確的軟體架構實現,將允許從不同層面擴充系統功能,其中包含替換程式直譯器及引用第三方函式庫,提供終端使用者更多樣的特色功能。
本研究於系統測試的環節中,將由二個實機操作的案例驗證圖形化程式編輯、圖形化程式編譯與運動執行等一連串的系統行為,是否合乎本研究設計之運作原理。由實驗的結果得知,本研究提出的系統將可讓使用者以流程圖的編輯概念,表達機械手臂於製程中的運作流程,過程中更可針對特定圖示修改而不更動整體表達的結構。更進一步地,本系統可藉由圖形化程式配合I/O控制卡,使機械手臂與不同的機台協作,使自動化程序的編輯更加得容易。
The motion control interface introduced in this paper will adopt flow charts to express the motion script of the Robot Arm. Then, end users can easily realize the control structure, as well as the realization of branch flow by the way of dragging, linking, and editing by a graphical programming language proposed in this paper. In the implemented system, a hybrid compiler is used as the key to the proposed system for running and parsing a graphical program. Then, the program will be converted into a python script by the syntax rules of the graphical programming language and driven the robot arm by the python interpreter. From the perspective of system functions expansion, this system is implemented with a clear software architecture, which makes expanding the system functions from different levels possibly, including the replacement and use of different third-party interpreters and import other motion control libraries.
According to the conclusion of the performance test, the system proposed in this paper allows users to express the movements of the robot arm in different manufacturing processes with the editing in the concept of the flowchart. Moreover, it can also modify the particular graphics rather than the whole structure of the expressed process. Furthermore, this system can make the Robot Arm work with the peripheral device to cooperate with different machines through a graphical programming interface and make it easier in the editing of the program for the automation process.
[1] M. Bouri and R. Clavel, "A Windows PC based robot controller, An open architecture," in International Symposium on Robotics, 2005, vol. 36: unknown, p. 59.
[2] IFR, "Robots and the Workplace of the Future," 2018.
[3] 莊勝欽, "工程分析後處理圖形程式語言之開發與應用," National Taiwan University, 2003.
[4] 楊書銘, "Scratch 程式設計對六年級學童邏輯推理能力, 問題解決能力及創造力的影響," 台北市立教育大學. 數學資訊教育學系數學資訊教育教學碩士學位班, 2007.
[5] R. V. Roque, "OpenBlocks: an extendable framework for graphical block programming systems," Massachusetts Institute of Technology, 2007.
[6] Developers.google.com, "Google Blockly," Available: https://developers.google.co m/blockly/, 2017.
[7] E. Pasternak, R. Fenichel, and A. N. Marshall, "Tips for creating a block language with blockly," in 2017 IEEE Blocks and Beyond Workshop (B&B), 2017: IEEE, pp. 21-24.
[8] D. D. Cook, "Flowgorithm: Principles for teaching introductory programming using flowcharts," in Proc. American Society of Engineering Education Pacific Southwest Conf. (ASEE/PSW), 2015, pp. 158-167.
[9] IBM, "Flowcharting Techniques," Publication: C20-8152-1, 1970.
[10] I. Plauska, R. Lukas, and R. Damasevicius, "Reflections on using robots and visual programming environments for project-based teaching," Elektronika ir Elektrotechnika, vol. 20, no. 1, pp. 71-74, 2014.
[11] 張文綺, "機械手臂控操圖形化介面," 中山大學電機工程學系研究所學位論文, pp. 1-40, 2017.
[12] D. Weintrop, D. C. Shepherd, P. Francis, and D. Franklin, "Blockly goes to work: Block-based programming for industrial robots," in 2017 IEEE Blocks and Beyond Workshop (B&B), 2017: IEEE, pp. 29-36.
[13] A. Aho, R. Sethi, and J. Ullman, "Compilers: Principles, Techniques and Tools,” Addison-Wesley, Reading, MA," 1986.
[14] Suh, S. H., Kang, S. K., Chung, D. H., & Stroud, I. Theory and design of CNC systems. 2008.
[15] 范劭寧, "CNC 控制器之編譯器原理研究與發展以 PCB 鑽孔機 Excellon 碼為例," 成功大學製造資訊與系統研究所學位論文, pp. 1-119, 2008.
[16] 蔣承儒, "工具機數控程式編譯系統研究暨行動化人機實現," 成功大學製造資訊與系統研究所學位論文, 2018年, pp. 1-60, 2018.
[17] P. Grigorenko, A. Saabas, and E. Tyugu, "Cocovila–compiler-compiler for visual languages," Electronic Notes in Theoretical Computer Science, vol. 141, no. 4, pp. 137-142, 2005.
[18] Chapin, Ned, "Flowcharting with the ANSI standard: A tutorial," ACM Computing Surveys (CSUR), vol. 2, no. 2, pp. 119-146, 1970.
[19] Alexandrova, Sonya, Zachary Tatlock, and Maya Cakmak, "RoboFlow: A flow-based visual programming language for mobile manipulation tasks," in 2015 IEEE International Conference on Robotics and Automation (ICRA), 2015, pp. 5537-5544.
校內:2025-07-01公開