(廣東工業(yè)大學(xué) 廣東 廣州 510000)
制造業(yè)是國民經(jīng)濟基礎(chǔ),是國家復(fù)興、發(fā)展、強盛的保證,是綜合國力和國際競爭力的重要體現(xiàn)[1]。在工業(yè)生產(chǎn)中,機械設(shè)備的控制技術(shù)一直與生產(chǎn)效率息息相關(guān),尤其是自動化控制技術(shù)不僅可以優(yōu)化工業(yè)生產(chǎn)效率,還能降低人工誤差。隨著我國現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展,我國機器人技術(shù)進步很快,尤其是工業(yè)機器人[2]。
所謂工業(yè)機器人,就是能夠自主動作,且多軸聯(lián)動的機械設(shè)備。為了能夠安全、高效的操作機器人,示教器便應(yīng)運而生。示教器作為示教再現(xiàn)型機器人控制系統(tǒng)的重要組成部分,是進行人機交互的重要工具。示教器不僅要界面圖示化,簡潔美觀,還必須具備示教、顯示、調(diào)試、仿真等多種功能,要求機器人語言系統(tǒng)在不同的控制器和操作系統(tǒng)上具有較好的可移植性和可擴展性[3]。
用戶對機器人的操作通過示教器來完成,以交互界面為媒介:用戶接收系統(tǒng)運行的反饋信息并分析判斷,做出決策。示教器用來人機交互,必須考慮到三個元素:人的因素、交互設(shè)備以及實現(xiàn)人機對話的軟件。交互設(shè)備:圖形、圖像輸入輸出設(shè)備,聲音、姿勢、觸覺設(shè)備,三維交互設(shè)備等。交互軟件:交互軟件是交互計算機的核心。人的因素:人的因素指的是用戶操作模型,與用戶的各種特征有關(guān)。任務(wù)將用戶和計算機的行為有機地結(jié)合起來[4]。
Qt是一個1991年由Qt Company開發(fā)的跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架。利用Qt編寫出來的應(yīng)用程序,可以同時在多種平臺和系統(tǒng)中運行,便于后期的維護和使用。它基于完全面向?qū)ο蟮腃++,擴展性非常強,允許組件編程,形成了多媒體庫、腳本庫數(shù)據(jù)庫、多線程、進程通信等多個核心功能模塊,從而具備良好的跨平臺應(yīng)用程序能力[5]。
建立在所支持平臺的底層 API 上使得Qt靈活而高效,是一個“模擬的”多平臺工具包,程序員可以通過重新實現(xiàn)其虛函數(shù)來擴展或自定義。完整的體系結(jié)構(gòu),如圖1所示。
圖1 Qt的體系結(jié)構(gòu)
工業(yè)機器人的軟件系統(tǒng)主要由示教器的交互界面、機器人的控制系統(tǒng)、機器人本體三部分組成。本文中,示教器的交互界面框架由六大模塊組成,如圖2所示。
圖2 交互界面模塊
監(jiān)視模塊:機器人運行前,可以通過設(shè)置參數(shù)模塊進行參數(shù)設(shè)定,監(jiān)視模塊,對機器人的狀態(tài)實時監(jiān)控,一旦意外發(fā)生,可以通過“急?!被蛘摺皽p速”按鈕,將損失降到最低。
設(shè)置參數(shù)模塊:系統(tǒng)運行之前,用戶可初始化機器人參數(shù)使機器人能夠正常啟動并運行。
數(shù)據(jù)讀取、編輯、保存模塊:此模塊能夠保證示教器在重新啟動的情況下,讀取之前操作保存的信息,運行中如有需要可以進行再次編輯并保存。
運行操作模塊:用戶可以根據(jù)自己的需求操作機器人。
通訊模塊:此模塊主要用于交互界面和機器人控制系統(tǒng)之間的通訊,能夠?qū)⒂脩糨斎氲男畔鬟f到控制系統(tǒng)進行處理,同時將系統(tǒng)處理的反饋結(jié)果傳遞到交互界面顯示。
系統(tǒng)更新模塊:工業(yè)機器人的功能一直處于開發(fā)之中,當(dāng)功能增加、軟件系統(tǒng)更新的時候,要求示教器的交互界面也要相應(yīng)更新,此時系統(tǒng)更新模塊能夠及時示教器的相關(guān)功能。
本文使用Qt的基礎(chǔ)窗口部件QWidget進行開發(fā)。QWidget類是所有用戶界面對象的基類,繼承自QObject類和QPaintDevice類,其中QObject類是所有支持Qt對象模型(Qt Object Model)的基類,QPaintDevice類是所有可以繪制的對象的基類。
本文所設(shè)計的示教器界面總共分為七大部分,在新建工程時,將.pro文件分為coordinate、dragteach、IOcontrol等七個.pri文件夾,方便理清思緒進行開發(fā)以及后期維護。如圖3所示。
圖3 界面設(shè)計模塊
本文充分利用Qt的信號和槽機制。信號和槽用于兩個對象之間的通信,是Qt的核心特征,也是Qt不同于其他開發(fā)框架的最突出特征。
綜上所述,工業(yè)機器人未來有著極大的應(yīng)用和發(fā)展空間,同時也帶動了工業(yè)機器人示教器的發(fā)展空間。界面是人與計算機之間傳遞、交換信息的媒介和對話接口,示教器作為示教再現(xiàn)機器人控制系統(tǒng)的重要組成部分,是進行人機交互的重要工具。而傳統(tǒng)的機器人示教器結(jié)構(gòu)封閉、擴展性差、可移植性差。本文提出的以Qt為基礎(chǔ)進行工業(yè)機器人示教器交互界面的開發(fā)具有以下優(yōu)點:界面設(shè)計的完全可視化操作;界面設(shè)計與業(yè)務(wù)代碼完全隔離;豐富且合理的接口設(shè)計;極其完善的文檔。不僅界面友好美觀功能豐富且易實現(xiàn),還能夠根據(jù)不同設(shè)備的需要進行跨平臺使用,具有重大意義。