視覺化智慧人機控制介面發展與實現

作者:

黃立武、范智翔、陳響亮、黃兆平、曾俊彥

刊登日期:2021/06/30

摘要:為了降低編輯運動控制程式之專業門檻,並提供易於入門之操作環境,本研究於PC-Based控制器中針對六軸機械手臂與生產線周邊設備,提出一個易學、易理解、易操作的視覺化智慧人機控制介面。此人機控制介面採用流程圖之概念設計視覺化程式語言(Visual programming language, VPL),使用者可透過拖曳、連結不同功能區塊之方式,實現生產線控制流程之建立與調整。此介面後端以混合式編譯器作為VPL之運行核心,並將工研院機械所之運動控制函式庫(Motion Control Command Library, MCCL)包裝為Python語法之程式應用介面(Application Programming Interface, API),使本研究提出之VPL可順利轉換為供直譯器執行之控制函式。
Abstract:To reduce the professional threshold of editing motion control programs and provide an easier operating environment, a visual intelligent human-machine control interface is proposed in this research. The interface is easy to learn, easy to understand, and easy to operate in a PC-based controller for the six-axis robot arm and the peripheral equipment of a production line. Through the flowchart-based Visual Programming Language (VPL), users can set up and adjust the control process by dragging and linking different functional blocks. The hybrid compiler is used in the back-end of the interface as the core of the VPL. The Motion Control Command Library (MCCL) of ITRI is packaged as an Application Programming Interface (API) in Python syntax. The VPL can be converted into a control function for literal translation.
關鍵詞:視覺化程式語言、運動控制、人機控制介面
Keywords:Visual programming language, Motion control, Human machine control interface

前言
於智慧製造之製程設計中,機械手臂之運動控制具備相當高之專業及技術要求,須由受過專業訓練之工程師負責此項工作。目前許多機器人大廠皆有發展各自的機器人控制語言,例如ABB、Funac與Kuka即分別開發出KRL、RAPID、Karel等文字形式之控制程式,導致市面上運動控制程式語言的種類繁多,對於不具程式編輯經驗與非專業領域的終端使用者而言,必須付出更多時間與心力方能熟悉不同的系統環境;Alexandrova等人之研究[1]亦顯示,市售的機械手臂軟體環境仍過於封閉,針對不同的系統環境與日益複雜的應用情境,機械手臂的運動程式將更要求由專業的程式人員撰寫。為改善上述問題,本研究將基於VPL[2]設計一視覺化人機控制介面,並於其中整合工業機械手臂與生產線周邊設備之控制功能,以期降低智慧製造領域使用者編輯運動控制程式之門檻。
相較於文字形式之程式,VPL能夠讓使用者不再受限於程式語法,只需排列、連結功能區塊即可實現程式執行流程的設計,將有助於簡化程式編輯之難度並使程式更易於理解,於教育領域已被廣泛應用於初階程式的教學中[3-4],近年來較著名且成功的案例為Scratch。Scratch雖然作為一個程式教育軟體,但其獨特之編輯模式為後續積木式(block-based)VPL相關研究打下了良好的發展基礎。積木式VPL可根據應用情境設計成特定用途之語言,並提供相對簡易的程式編輯方式,但積木式VPL的語句排列及語法組成皆有嚴格限制,將可能造成使用者花費更多時間在適應及學習此種VPL[5]。為了充分發揮VPL之優勢,增加可使用之VPL類型以表達更多元的程式內容,並且設計具備可擴展性之軟體架構將成為VPL系統的發展趨勢。
本研究提出一用於製造領域之視覺化智慧人機控制介面,以基於流程圖之形式(flowchart-based)設計此介面之VPL,並著重於實現可被移植的運動程式。本研究之目的如下:
(1)降低運動程式編輯困難度:將流程圖形式之VPL應用於生產線設備之控制介面,使程式編輯的過程能更加直覺且簡易,以降低生產線中工程師之程式能力需求。
(2) 透過軟體介面整合與控制不同外圍裝置:本研究之人機控制介面將能透過硬體的I/O卡輸出與接收外部訊號,以外部訊號作為VPL控制流程中的判斷條件,或利用特定之VPL圖示輸出控制信號以驅動外部設備,達成藉由此介面實現生產線自動化作業之目的。
(3) 開發支援不同運動控制函式庫之系統:透過後端之混合式編譯器,此人機控制介面可編譯出符合特定程式語法的運動程式。本研究以Python語法作為編譯器之目標程式語言,並藉由第三方開源函式庫的輔助,使此介面可引用基於C#、C/C++語法封裝的運動控制函式庫,為系統帶來更高的功能擴充性。
視覺化人機控制介面總體設計
本視覺化智慧人機控制介面以「功能圖示」作為VPL之基本元件,各圖示皆具備其獨特的語意,例如執行點對點運動、邏輯選擇、程式起始點,並以圖示間相連之線段表示程式執行的順序關係。藉由上述設計,本介面之終端使用者只需要專注於設計機台控制流程及相關設定,而無須知曉專業且繁瑣的程式語法。本介面之運作方式示意圖如圖1所示,使用者可藉由功能圖示調整特定機台或設備之控制流程,介面後端即可根據各個功能圖示之連結關係,將描述運動控制程序的VPL轉換為Python運動程式,並藉由MCCL第三方的Python程式直譯器執行。本介面之UI設計則如圖2所示,包含陳列可用功能圖示之「Toolbox」、編輯VPL之「Edit panel」、提供編輯VPL功能之「Context menu」、以樹狀結構顯示VPL內容之「Monitor window」,以及用於設定功能圖式各項設定值之「Properties window」。

圖1 視覺化人機控制介面運作方式示意圖

…本文未結束

更完整的內容 歡迎訂購 2021年7月號 460期

機械工業雜誌‧每期240元‧一年12期2400元

我要訂購