本發明專利技術提供了一種基于腳本和插件的可擴展機器人示教器,包括基礎模塊和插件庫模塊;基礎模塊,用于以腳本文件的形式添加或修改插件庫模塊中的各個功能插件,并與機器人控制器進行指令和狀態通信;插件庫模塊,用于為基礎模塊提供一個或多個功能插件。該示教器采用基礎模塊和插件庫模塊的組合配合,增強了示教器軟件的開發靈活度,降低開發工作量,還能夠讓用戶自己開發功能包,具有較好的使用靈活性。
An extensible robot teaching device based on scripts and plug-ins
The invention provides a script and pluginscalable robot teaching is based on, including basic module and plug-in library module; basic module, used to add or modify each function plugin library module in the form of a script file, and directives and communication with the robot controller; a plug-in module, or multi function plug-ins for providing the basic module. The combination of the teaching device using the basic module and plug-in library module with enhanced teaching device software development flexibility, reduce the workload, but also allows users to develop their own function package, with good flexibility.
【技術實現步驟摘要】
一種基于腳本和插件的可擴展機器人示教器
本專利技術涉及一種機器人示教器,尤其是一種基于腳本和插件的可擴展機器人示教器。
技術介紹
工業機器人指的是在控制下智能完成預設工作的多關節或者多自由度的機器裝備。工業機器人相比于人,具備成本低,效率高,可以克服惡劣環境等優點。目前,工業機器人已經在汽車制造,電子,橡膠塑料,軍工,航天制造,食品工業,醫藥設備,金屬制品等領域得到應用。工業機器人包括三個部分:機器人本體、控制器和示教器。示教器是人機交互設備,監測系統狀態,以及收發控制指令。面對機器人的多應用領域,多工作方式和用戶的需求多樣化,需要開發多個版本的示教器程序。示教器軟件的開發效率較低,軟件版本多,難以管理,并且不能及時滿足用戶需求。
技術實現思路
本專利技術要解決的技術問題是現有的示教器通用性差,難以滿足不同版本之間的普適應用,軟件升級效率低,可擴展性差。為了解決上述技術問題,本專利技術提供了一種基于腳本和插件的可擴展機器人示教器,包括基礎模塊和插件庫模塊;基礎模塊,用于以腳本文件的形式添加或修改插件庫模塊中的各個功能插件,并與機器人控制器進行指令和狀態通信;插件庫模塊,用于為基礎模塊提供一個或多個功能插件。作為本專利技術的進一步限定方案,基礎模塊包括通信子模塊、腳本初始化子模塊、主界面子模塊、指令收發子模塊以及狀態顯示子模塊;通信子模塊,用于與機器人控制器建立通信和心跳監測,并定時獲取機器人控制器的運行狀態;腳本初始化子模塊,用于配置腳本文件的運行環境,注冊函數到腳本文件的運行環境中,從而在腳本文件中調用注冊的函數實現功能插件的加載,同時還連接功能插件與機器人控制器的信號和槽,實現功能插件與機器人控制器的函數調用;主界面子模塊,用于提供通信子模塊和腳本初始化子模塊的接口,并讀取各個功能插件的腳本文件;指令收發子模塊,用于設置示教指令并將示教指令發送給機器人控制器,或者接受機器人控制器發送的反饋指令,并解析出反饋指令的內容;狀態顯示子模塊,用于在主界面子模塊上刷新顯示機器人控制器的運行狀態。作為本專利技術的進一步限定方案,功能插件為基礎功能插件和/或自定義功能插件。作為本專利技術的進一步限定方案,基礎功能插件為工程管理插件、程序編輯插件和/或數據管理插件。本專利技術的有益效果在于:采用基礎模塊和插件庫模塊的組合配合,增強了示教器軟件的開發靈活度,降低開發工作量;采用自定義功能插件能夠讓用戶自己開發功能包,增強了示教器的使用靈活性。附圖說明圖1為本專利技術的示教器整體框架;圖2為本專利技術的示教器基礎模塊組成;圖3為本專利技術的自定義功能插件創建流程;圖4為本專利技術的插件通信機制。具體實施方式如圖1-3所示,本專利技術公開的基于腳本和插件的可擴展機器人示教器,包括基礎模塊和插件庫模塊;基礎模塊,用于以腳本文件的形式添加或修改插件庫模塊中的各個功能插件,并與機器人控制器進行指令和狀態通信,將用戶需要的狀態顯示到主界面上或者插件上。插件庫模塊,用于為基礎模塊提供一個或多個功能插件。基礎模塊包括通信子模塊、腳本初始化子模塊、主界面子模塊、指令收發子模塊以及狀態顯示子模塊;通信子模塊,用于與機器人控制器建立通信和心跳監測,并定時獲取機器人控制器的運行狀態;腳本初始化子模塊,用于配置腳本文件的運行環境,注冊函數到腳本文件的運行環境中,從而在腳本文件中調用注冊的函數實現功能插件的加載,同時還連接功能插件與機器人控制器的信號和槽,實現功能插件與機器人控制器的函數調用;主界面子模塊,用于提供通信子模塊和腳本初始化子模塊的接口,并讀取各個功能插件的腳本文件;指令收發子模塊,用于設置示教指令并將示教指令發送給機器人控制器,或者接受機器人控制器發送的反饋指令,并解析出反饋指令的內容;狀態顯示子模塊,用于在主界面子模塊上刷新顯示機器人控制器的運行狀態。功能插件為基礎功能插件和/或自定義功能插件;基礎功能插件為工程管理插件、程序編輯插件和/或數據管理插件。本專利技術公開的基于腳本和插件的可擴展機器人示教器,采用基礎模塊加功能插件的軟件架構開發示教器,并采用腳本文件靈活添加,修改功能插件和機器人指令,狀態。基礎模塊為最基本的示教器軟件包,具備加載各功能插件,與控制器通信,設置和顯示控制器狀態和命令的功能。基礎模塊還提供系統狀態,數據管理類的指針給所有功能插件。采用腳本文件靈活配置功能插件,指令和狀態,是在腳本中通過函數實現功能插件的加載,功能插件之間的通信,動態配置指令和狀態結構。示教器升級或者用戶自己開發,只需要開發功能插件,并在狀態腳本和指令腳本中添加就可以實現示教器升級。如圖1和2所示,示教器由基礎模塊和功能插件組成。基礎程序包括通信子模塊、腳本初始化子模塊、主界面子模塊、指令收發子模塊以及狀態顯示子模塊。主界面子模塊用于搭建基本的程序框架,可以提供和通信模塊的接口和腳本接口,讀取腳本文件,并且動態顯示界面。通信子模塊用于建立通信和心跳監測,定時獲取控制器狀態,收發指令。腳本初始化子模塊用于配置腳本運行環境,注冊需要的函數到腳本環境中,在腳本中可以調用注冊的函數,實現插件的加載,連接插件與主程序的信號和槽,實現插件與主程序的函數調用。指令收發子模塊,用于設置示教指令格式,并將示教指令發送給控制器,或者接受控制器發送的反饋指令,并解析出反饋指令的內容;示教指令和反饋指令均可以通過腳本文件動態添加或修改。狀態顯示子模塊,用于顯示系統各個狀態,將關鍵狀態和主界面子模塊連接,刷新狀態信息。本專利技術采用的插件開發示教器程序的方式,相當于將整個示教器程序作為一個整體,更加便于開發和維護,而且在不需要動原示教器程序的基礎上,可以自定義插件,放到示教器程序中。插件開發首先需要讓應用程序感知插件。插件就是實現了一個或者多個接口的動態庫。接口就是由專有的純虛函數組成的類。這些純虛函數實現了基礎程序和插件的通信。因此要實現插件,首先需要讓基礎程序能夠利用接口來使用插件。然后再創建插件。然后再為基礎模塊創建接口類。接口類必須包含一個純虛析構函數,再根據基礎程序的需求,添加多個純虛函數。這些純虛函數實現插件和主程序的通信。最后使用Q_DECLARE_INTERFACE()宏使這個接口與一個關聯符聯系起來。自定義功能插件的創建流程如圖3所示,插件就是上面定義的接口類子類。在插件中實現接口類中定義的虛函數。在用Qt創建庫工程后,需要修改文件。首先就是修改頭文件,插件類必須繼承接口文件,為繼承的接口使用Q_INTERFACE()宏。并聲明接口函數,在cpp文件中實現接口函數,在cpp文件最后加上Q_EXPORT_PLUGIN2(),讓插件可以被應用程序使用。接口函數實現主程序和插件的通信,將主程序中的系統狀態指針傳遞給插件,插件也可以將插件中的指針傳遞給主程序。另一個實現插件通信的方式是Qt的信號和槽機制,如圖4所示。各插件提供出各自的信號和槽,用戶只需要在腳本文件中connect信號和槽實現通信。編譯共享庫后會生成一個庫文件,將庫文件拷貝到主程序所在目錄下使用。示教器程序會被分成多個插件,包括工程管理插件、程序編輯插件、數據管理插件等。工程管理插件用于顯示,編輯當前系統下的所有工程。程序編輯界面用于顯示被加載的程序的指令列表,并且可以對指令進行編輯,查看。數據管理插件用于顯示,編輯當前工程下的所有本文檔來自技高網...

【技術保護點】
一種基于腳本和插件的可擴展機器人示教器,其特征在于:包括基礎模塊和插件庫模塊;基礎模塊,用于以腳本文件的形式添加或修改插件庫模塊中的各個功能插件,并與機器人控制器進行指令和狀態通信;插件庫模塊,用于為基礎模塊提供一個或多個功能插件。
【技術特征摘要】
1.一種基于腳本和插件的可擴展機器人示教器,其特征在于:包括基礎模塊和插件庫模塊;基礎模塊,用于以腳本文件的形式添加或修改插件庫模塊中的各個功能插件,并與機器人控制器進行指令和狀態通信;插件庫模塊,用于為基礎模塊提供一個或多個功能插件。2.根據權利要求1所述的基于腳本和插件的可擴展機器人示教器,其特征在于:基礎模塊包括通信子模塊、腳本初始化子模塊、主界面子模塊、指令收發子模塊以及狀態顯示子模塊;通信子模塊,用于與機器人控制器建立通信和心跳監測,并定時獲取機器人控制器的運行狀態;腳本初始化子模塊,用于配置腳本文件的運行環境,注冊函數到腳本文件的運行環境中,從而在腳本文件中調用注冊的函數實現功能插件的加載,...
【專利技術屬性】
技術研發人員:王超,宋方方,魏永帥,
申請(專利權)人:南京埃斯頓機器人工程有限公司,
類型:發明
國別省市:江蘇,32
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。