(廣東工業大學 廣東 廣州 510000)
制造業是國民經濟基礎,是國家復興、發展、強盛的保證,是綜合國力和國際競爭力的重要體現[1]。在工業生產中,機械設備的控制技術一直與生產效率息息相關,尤其是自動化控制技術不僅可以優化工業生產效率,還能降低人工誤差。隨著我國現代科學技術的不斷發展,我國機器人技術進步很快,尤其是工業機器人[2]。
所謂工業機器人,就是能夠自主動作,且多軸聯動的機械設備。為了能夠安全、高效的操作機器人,示教器便應運而生。示教器作為示教再現型機器人控制系統的重要組成部分,是進行人機交互的重要工具。示教器不僅要界面圖示化,簡潔美觀,還必須具備示教、顯示、調試、仿真等多種功能,要求機器人語言系統在不同的控制器和操作系統上具有較好的可移植性和可擴展性[3]。
用戶對機器人的操作通過示教器來完成,以交互界面為媒介:用戶接收系統運行的反饋信息并分析判斷,做出決策。示教器用來人機交互,必須考慮到三個元素:人的因素、交互設備以及實現人機對話的軟件。交互設備:圖形、圖像輸入輸出設備,聲音、姿勢、觸覺設備,三維交互設備等。交互軟件:交互軟件是交互計算機的核心。人的因素:人的因素指的是用戶操作模型,與用戶的各種特征有關。任務將用戶和計算機的行為有機地結合起來[4]。
Qt是一個1991年由Qt Company開發的跨平臺C++圖形用戶界面應用程序開發框架。利用Qt編寫出來的應用程序,可以同時在多種平臺和系統中運行,便于后期的維護和使用。它基于完全面向對象的C++,擴展性非常強,允許組件編程,形成了多媒體庫、腳本庫數據庫、多線程、進程通信等多個核心功能模塊,從而具備良好的跨平臺應用程序能力[5]。
建立在所支持平臺的底層 API 上使得Qt靈活而高效,是一個“模擬的”多平臺工具包,程序員可以通過重新實現其虛函數來擴展或自定義。完整的體系結構,如圖1所示。

圖1 Qt的體系結構
工業機器人的軟件系統主要由示教器的交互界面、機器人的控制系統、機器人本體三部分組成。本文中,示教器的交互界面框架由六大模塊組成,如圖2所示。

圖2 交互界面模塊
監視模塊:機器人運行前,可以通過設置參數模塊進行參數設定,監視模塊,對機器人的狀態實時監控,一旦意外發生,可以通過“急停”或者“減速”按鈕,將損失降到最低。
設置參數模塊:系統運行之前,用戶可初始化機器人參數使機器人能夠正常啟動并運行。
數據讀取、編輯、保存模塊:此模塊能夠保證示教器在重新啟動的情況下,讀取之前操作保存的信息,運行中如有需要可以進行再次編輯并保存。
運行操作模塊:用戶可以根據自己的需求操作機器人。
通訊模塊:此模塊主要用于交互界面和機器人控制系統之間的通訊,能夠將用戶輸入的信息傳遞到控制系統進行處理,同時將系統處理的反饋結果傳遞到交互界面顯示。
系統更新模塊:工業機器人的功能一直處于開發之中,當功能增加、軟件系統更新的時候,要求示教器的交互界面也要相應更新,此時系統更新模塊能夠及時示教器的相關功能。
本文使用Qt的基礎窗口部件QWidget進行開發。QWidget類是所有用戶界面對象的基類,繼承自QObject類和QPaintDevice類,其中QObject類是所有支持Qt對象模型(Qt Object Model)的基類,QPaintDevice類是所有可以繪制的對象的基類。
本文所設計的示教器界面總共分為七大部分,在新建工程時,將.pro文件分為coordinate、dragteach、IOcontrol等七個.pri文件夾,方便理清思緒進行開發以及后期維護。如圖3所示。

圖3 界面設計模塊
本文充分利用Qt的信號和槽機制。信號和槽用于兩個對象之間的通信,是Qt的核心特征,也是Qt不同于其他開發框架的最突出特征。
綜上所述,工業機器人未來有著極大的應用和發展空間,同時也帶動了工業機器人示教器的發展空間。界面是人與計算機之間傳遞、交換信息的媒介和對話接口,示教器作為示教再現機器人控制系統的重要組成部分,是進行人機交互的重要工具。而傳統的機器人示教器結構封閉、擴展性差、可移植性差。本文提出的以Qt為基礎進行工業機器人示教器交互界面的開發具有以下優點:界面設計的完全可視化操作;界面設計與業務代碼完全隔離;豐富且合理的接口設計;極其完善的文檔。不僅界面友好美觀功能豐富且易實現,還能夠根據不同設備的需要進行跨平臺使用,具有重大意義。