1. 一種利用多語言建立機(jī)器人模塊的方法,其特征在于,在Windows操作系統(tǒng)環(huán)境下,基于Visual Studio 2012開發(fā),包括如下模塊:
1)圖形庫管理模塊
對圖形化編程所需的部件庫進(jìn)行管理,包括“新建”、“打開”、“導(dǎo)入”、“添加”、“刪除”、“編輯”、“復(fù)制”、“粘貼”、“重命名”、“保存”,并采用xml文件保存部件庫基本信息,部件庫包括控制器庫、人機(jī)交互庫、驅(qū)動庫、傳感器庫和其他庫,且在每個部件庫分別設(shè)置有控制器;
對圖形化編程所需的文字庫進(jìn)行管理,包括“新建”、“打開”、“導(dǎo)入”、“添加”、“刪除”、“編輯”、“保存”;
對圖形化編程所需的圖形庫進(jìn)行管理,包括“新建”、“打開”、“導(dǎo)入”、“添加”、“刪除”、“編輯”、“保存”;
對圖形化編程所需的算法庫進(jìn)行管理,包括“新建”、“打開”、“導(dǎo)入”、“添加”、“刪除”、“編輯”、“保存”;
對可視化交互式仿真環(huán)境模塊的可視化交互式仿真環(huán)境文件進(jìn)行管理,包括“新建”、“打開”、“導(dǎo)入”、“添加”、“刪除”、“編輯”、“保存”
2)圖形化編程模塊
在Windows操作系統(tǒng)環(huán)境下,圖形化編程模塊顯示為圖形化編程界面,圖形化編程界面左側(cè)為部件庫,部件庫內(nèi)包含圖形化編程所需的圖形庫,該圖形庫不能在圖形化編程界面下編輯,已在圖形庫管理/部件庫中編輯并保存;在圖形化編程界面下,只能選擇部件庫中的部件進(jìn)行拖拽以完成連接工作;在進(jìn)行圖形化編程前,首先在部件庫中新建部件,從部件庫中拖入基本元件,在利用部件庫中的繪圖工具構(gòu)造新建部件模塊的圖形,圖形構(gòu)成完成后,對新建部件圖形接點(diǎn)標(biāo)識進(jìn)行屬性設(shè)置,通過圖形的構(gòu)成和接點(diǎn)標(biāo)識屬性的設(shè)置,一個部件模塊的圖形基本完成;
下面編寫該部件模塊對應(yīng)的程序,控制器模塊在部件庫創(chuàng)建時(shí)根據(jù)其接口屬性編寫有框架程序main.cpp,其他部件對應(yīng)的是.h程序文件;main.cpp用于實(shí)現(xiàn)對各個控制器接口功能調(diào)用,.h程序中的函數(shù)用于完成對部件模塊的功能調(diào)用;部件庫界面下方有兩個編輯區(qū),分別是Windows編輯框和Linux編輯框,在程序編輯框中編輯模塊對應(yīng)的程序,分別是在Windows仿真和Linux實(shí)際運(yùn)行的程序;將與該部件模塊對應(yīng)的部件庫拖入圖形化編程界面,在對每個部件庫的控制器與接口進(jìn)行連接、屬性設(shè)置,控制器之外的部件需根據(jù)自身接口特性與控制器的相應(yīng)接口連接,同時(shí)接口類型識別,然后在進(jìn)行接口類型匹配判斷,當(dāng)接口不匹配時(shí),則該部件無法連接,若接口匹配成功,所選用部件控制器調(diào)用函數(shù)進(jìn)行連線繪制操作,同時(shí)對所在部件庫的控制器設(shè)置機(jī)器人編號;當(dāng)部件庫拖入控制器但沒有設(shè)置屬性時(shí),控制器自動識別出錯誤;點(diǎn)擊生成C程序菜單項(xiàng)時(shí),控制器根據(jù)錯誤的類型彈出相應(yīng)的警告,提示進(jìn)行設(shè)置操作,并中斷生成程序的操作;當(dāng)拖入的部件是驅(qū)動庫類的部件時(shí),也需設(shè)置屬性;待完成每個部件庫的控制器與接口設(shè)置后,圖形化編程模塊才能生成正確的圖形化編程程序;對于完成圖形化編程的圖形,點(diǎn)擊文件/保存菜單對圖形進(jìn)行保存,保存為xml文件;
每個部件模塊在Parts庫文件夾下分別擁有一個與部件模塊本身名稱對應(yīng)的子文件夾,在這個子文件夾下,包括與部件模塊本身名稱對應(yīng)的子文件夾所創(chuàng)建部件的信息;
3)可視化交互式仿真環(huán)境模塊
搭建可視化交互式仿真環(huán)境,結(jié)合圖形化編程模塊以建立機(jī)器人模塊的仿真,并根據(jù)圖形化編程模塊編程進(jìn)度實(shí)時(shí)在圖形化編程界面顯示當(dāng)前工作狀態(tài),以實(shí)現(xiàn)仿真。
2.根據(jù)權(quán)利要求1所述的一種利用多語言建立機(jī)器人模塊的方法,其特征在于,部件庫中的繪圖工具包括矩形、接口、文本。
3.根據(jù)權(quán)利要求1所述的一種利用多語言建立機(jī)器人模塊的方法,其特征在于,新建部件圖形接點(diǎn)標(biāo)識屬性的設(shè)置,即設(shè)置接口類型,接口類型包括USBOTG、GPIO、Uart、TCP/IP、CAN、Wifi、I2C、CSPI。
4.根據(jù)權(quán)利要求1所述的一種利用多語言建立機(jī)器人模塊的方法,其特征在于,部件庫的部件接口屬性、接口數(shù)量屬性、文本屬性都可由用戶自定義,并以xml文件保存于電腦的路徑中,xml文件包括矩形框位置、接口位置、接口參數(shù)、接口數(shù)量、文本位置、文本屬性、部件的路徑及部件對應(yīng)算法。
5.根據(jù)權(quán)利要求1所述的一種利用多語言建立機(jī)器人模塊的方法,其特征在于,所有部件的接口信息、連線信息及存放信息分別由xml文件保存。
6.根據(jù)權(quán)利要求1所述的一種利用多語言建立機(jī)器人模塊的方法,其特征在于,各部件庫接口屬性包括USB、Uart、Wifi。
7.根據(jù)權(quán)利要求1所述的一種利用多語言建立機(jī)器人模塊的方法,其特征在于,在程序編輯框還具有對模塊連接的編輯功能,即每個部件可刪除,個別模塊需要設(shè)置屬性;刪除部件時(shí),控制器調(diào)用DeleteNewModule(int i)函數(shù),對選擇的模塊進(jìn)行類型判斷,然后進(jìn)行刪除并注銷其存在的標(biāo)志位,同時(shí)調(diào)用DeleteLine(int i,CPoint point0,CPoint point1)函數(shù)將與之的連線也隨之刪除;當(dāng)移動某一部件時(shí),控制器自動調(diào)用DrawNewModule(CPoint point,int i)或DrawNewControl(int i)任意一個函數(shù)進(jìn)行移動重繪操作,從而實(shí)現(xiàn)模塊的移動功能,同時(shí)調(diào)用ReDrawAll()函數(shù),使其連線也隨之移動并保持與接口的連接。