三軸臺(tái)式工業(yè)機(jī)器人通用控制軟件設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
本文主要以三軸臺(tái)式工業(yè)機(jī)器人為平臺(tái),采用改進(jìn)的柵格法進(jìn)行加工工件的環(huán)境表示,利用不同優(yōu)先級(jí)的權(quán)值進(jìn)行路徑規(guī)劃,設(shè)計(jì)具備一定通用性的控制軟件,避免了加工不同工件需重新編寫(xiě)程序的麻煩。
0引言
如今工業(yè)機(jī)器人已逐步融入工業(yè)生產(chǎn)之中,與工業(yè)機(jī)器人開(kāi)發(fā)相關(guān)的企業(yè)也相繼在中國(guó)出現(xiàn)。然而,對(duì)于不同客戶(hù)的需求,只能通過(guò)工程師編寫(xiě)不同程序的方式來(lái)滿(mǎn)足客戶(hù)的需求。因此,在這些企業(yè)中,大多數(shù)都是以“非標(biāo)”產(chǎn)業(yè)和機(jī)器人代售為主。而同一機(jī)器人應(yīng)用于不同工作環(huán)境,在軟件設(shè)計(jì)上的通用性問(wèn)題上一直存在著很大的阻礙。
1機(jī)器人系統(tǒng)框架
工業(yè)機(jī)器人系統(tǒng)通過(guò)控制軟件發(fā)送指令給予SmartPAC運(yùn)動(dòng)控制器,由控制器根據(jù)相關(guān)指令轉(zhuǎn)換為軸的驅(qū)動(dòng)指令并傳輸給相應(yīng)的軸伺服器,軸伺服器根據(jù)接收過(guò)來(lái)的指令控制軸以執(zhí)行相關(guān)動(dòng)作。參數(shù)輸入端是由鼠標(biāo)與鍵盤(pán)通過(guò)USB接口直接接入控制器,該控制器自帶操作系統(tǒng)WinCE.控制軟件在該運(yùn)動(dòng)控制器的WinCE環(huán)境下運(yùn)行,通過(guò)輸入端在控制軟件上設(shè)定相關(guān)參數(shù)或進(jìn)行操作,由通用控制軟件分析并確定一條合適的加工路徑。根據(jù)加工路徑,得出相關(guān)指令集合,通過(guò)控制軟件向軸依次發(fā)送指令,以達(dá)到加工工件的目的。
該工業(yè)機(jī)器人系統(tǒng)框架如圖1所示。
2通用控制軟件簡(jiǎn)介
該軟件控制端所控制的機(jī)器人是由三個(gè)雅馬哈單軸伺服器以及一個(gè)Smart PAC運(yùn)動(dòng)控制器相組合而成的三軸臺(tái)式工業(yè)機(jī)器人。其中三軸分別命名為X,Y,Z,相互構(gòu)成了一個(gè)立體空間。加工工件固定于Y軸上,處于XY平面之內(nèi)。在加工工件上分布著N個(gè)加工點(diǎn)。
操作人員只需通過(guò)該軟件控制端輸入加工工件的模型,以及加工點(diǎn)的位置。通過(guò)柵格法加入樹(shù)的形式對(duì)模型逐步分解,對(duì)加工點(diǎn)逐個(gè)確定,接下來(lái)從中分析出最佳路徑,最佳路徑以最短的時(shí)間內(nèi)完成單位工件的加工為準(zhǔn)。
該三軸臺(tái)式工業(yè)機(jī)器人通用控制軟件界面如圖2所示,主要分為4個(gè)部分,左上角為參數(shù)設(shè)置面板,左下角為軸位置顯示面板,右上角為控制操作面板,右下角為軸測(cè)試面板,用以測(cè)試軸能否正常工作。參數(shù)設(shè)置面板與控制操作面板將會(huì)在下文中詳細(xì)介紹。
3軟件框架設(shè)計(jì)
該控制端軟件工作于Windows CE操作系統(tǒng),在VisualStudio 2005下使用C#語(yǔ)言進(jìn)行開(kāi)發(fā)。進(jìn)入控制端軟件首先進(jìn)入的是窗體初始化函數(shù)。在窗體初始化函數(shù)中進(jìn)行各軸的配置并啟動(dòng)軸,以確保各軸在開(kāi)始工作之前就已回歸零點(diǎn)位置。在回歸零點(diǎn)位置之后,再將各軸關(guān)閉。這里需要注意的是,并不是在窗體初始化函數(shù)里面去等待軸回到零點(diǎn)再進(jìn)行關(guān)閉各軸操作,而是在窗體定時(shí)器中去檢測(cè)并關(guān)閉。否則,窗體將在相當(dāng)長(zhǎng)的一段時(shí)間之內(nèi)會(huì)處于丟失焦點(diǎn)的狀態(tài),或窗體需等軸回到零點(diǎn)之后再出現(xiàn)。定時(shí)器是整個(gè)軟件的一個(gè)核心部分,相當(dāng)于軟件的心臟,它承擔(dān)著軸狀態(tài)檢測(cè)、加工工件計(jì)數(shù)、指令發(fā)送等功能。圖2為該軟件控制端的界面,在左上角有一個(gè)參數(shù)設(shè)置的面板,在這個(gè)面板中存在著兩個(gè)參數(shù)設(shè)置,分別是軸參數(shù)設(shè)置和工件參數(shù)設(shè)置。軸參數(shù)設(shè)置包含著三軸長(zhǎng)度設(shè)置與軸運(yùn)動(dòng)速度設(shè)置,可將相關(guān)的軸配置信息保存為后綴為txt的文本格式或后綴為doc的Word文檔格式,以便下次直接讀取使用。軸參數(shù)設(shè)置的具體流程圖如圖3所示。
工件參數(shù)設(shè)置包括工件模型設(shè)置、工件上的加工點(diǎn)位置的設(shè)置及軸參數(shù)設(shè)置中的文件讀取與保存。其中,模型設(shè)置采用多視角視圖法,視圖個(gè)數(shù)根據(jù)所需加工的模型設(shè)定。對(duì)于精度要求不高的模型也可采用數(shù)組輸入的方法。兩種方式的模型輸入都支持拷貝,便于在已有模型上修改加工位置。而加工點(diǎn)的位置則直接在模型的基礎(chǔ)上進(jìn)行設(shè)置即可。
圖2的控制界面中存在著3個(gè)按鍵,分別是執(zhí)行、暫停和停止。這3個(gè)按鍵分別執(zhí)行著不同功能,一般情況下,只使用暫停按鍵,停止按鍵執(zhí)行急停的任務(wù),用作緊急處理,當(dāng)停止按鍵按下時(shí),就意味著加工必須重新開(kāi)始。執(zhí)行和停止按鍵的流程圖如圖4所示。
4路徑規(guī)劃
4.1環(huán)境表示
在環(huán)境表示上采用柵格法,用柵格法表示加工工件模型及加工環(huán)境相對(duì)容易,但時(shí)間復(fù)雜性相對(duì)較高。
對(duì)于工業(yè)加工而言,加工工件一般都是成批量進(jìn)行加工的,只需在第一次加工該加工工件開(kāi)銷(xiāo)相對(duì)較長(zhǎng)的時(shí)間,此后的每一次加工只需從存儲(chǔ)的文件中,調(diào)用之前已得到的最優(yōu)路徑進(jìn)行加工即可,而且,工業(yè)加工更需要一個(gè)相對(duì)較為容易得到的模型。
常用的柵格法如圖5所示。該方法是將整塊目標(biāo)區(qū)域劃分成N個(gè)等份的小格,但是這種方法對(duì)于工業(yè)加工來(lái)說(shuō)精度差,數(shù)據(jù)存儲(chǔ)空間過(guò)大,而且時(shí)間開(kāi)銷(xiāo)較大。改進(jìn)后的柵格法如圖6所示。該改進(jìn)后的柵格法是采用逐步細(xì)分法,先將整個(gè)區(qū)域細(xì)分成四塊,然后判斷加工點(diǎn)在哪塊區(qū)域,接著在細(xì)分,直到加工點(diǎn)及環(huán)境足以被表示出來(lái)為止。該方法在對(duì)無(wú)加工點(diǎn)和無(wú)加工工件的區(qū)域內(nèi)不進(jìn)行細(xì)分,大大節(jié)省了數(shù)據(jù)消耗,并且有針對(duì)性的對(duì)有加工點(diǎn)及加工工件的位置進(jìn)行細(xì)分,提高了加工精度。為了在工件加工時(shí)能夠更精確地表示加工位置,該控制軟件在環(huán)境表示上所采用的是改進(jìn)后的柵格法。
在環(huán)境表示的代碼實(shí)現(xiàn)上采用鏈表的形式。環(huán)境單位結(jié)點(diǎn)的構(gòu)建采用結(jié)構(gòu)體的形式,其主要包括子結(jié)點(diǎn)地址、父結(jié)點(diǎn)地址和權(quán)值等。不同的權(quán)值代表著不同的含義,可表示存在加工點(diǎn)區(qū)域、靠近加工點(diǎn)區(qū)域、加工工件非加工點(diǎn)部分及其他區(qū)域,它是實(shí)行路徑規(guī)劃實(shí)現(xiàn)的引領(lǐng)者,在下節(jié)路徑規(guī)劃當(dāng)中將詳細(xì)介紹。環(huán)境單位結(jié)點(diǎn)的代碼如下:
一旦區(qū)域劃分完畢,將需要一值予以表示其加工點(diǎn)的位置。采用結(jié)構(gòu)體的形式予以表示,包括X,Y,Z三個(gè)坐標(biāo),表示其相對(duì)于所在結(jié)點(diǎn)空間的坐標(biāo)。該結(jié)構(gòu)體屬于環(huán)境單位結(jié)點(diǎn)的一部分,具體代碼如下:
Struct News
{int x;int y;int z;};
每一個(gè)環(huán)境單位結(jié)點(diǎn)都擁有自己的一個(gè)ID號(hào),即該環(huán)境單位的大小及位置,具體代碼如下:
Struct Size
{int y;int z;int x;int Size;};
x,y,z分別是區(qū)域空間內(nèi)該坐標(biāo)軸上的最小值,Size表示該立方體區(qū)域的邊長(zhǎng)。
4.2權(quán)值尋找
在路徑規(guī)劃上,采用權(quán)值尋找法。對(duì)每一個(gè)環(huán)境節(jié)點(diǎn)都進(jìn)行一個(gè)權(quán)值的賦予,給予結(jié)點(diǎn)不同的優(yōu)先級(jí),權(quán)值越低,優(yōu)先級(jí)越高,用于在路徑尋找中找到最優(yōu)路徑。
例如,現(xiàn)有4個(gè)子節(jié)點(diǎn)A,B,C,D,給予A結(jié)點(diǎn)的權(quán)值為100,B結(jié)點(diǎn)的權(quán)值為80,C結(jié)點(diǎn)的權(quán)值為50,D結(jié)點(diǎn)的權(quán)值為10.現(xiàn)在在路徑規(guī)劃尋找最優(yōu)路徑時(shí),直接先尋找到D結(jié)點(diǎn),然后繼續(xù)尋找下去,若出現(xiàn)多個(gè)優(yōu)先級(jí)相同的結(jié)點(diǎn)時(shí),則分而尋之,到尋找完畢之后,再進(jìn)行最優(yōu)路徑選取,可采用權(quán)值之和最小者優(yōu)先的方法等[6].權(quán)值賦予的優(yōu)先級(jí)按由高到低的順序排列為:存在加工點(diǎn),靠近加工點(diǎn),加工工件非加工點(diǎn)部分,其他區(qū)域。
實(shí)驗(yàn)結(jié)果表明,采用上述路徑規(guī)劃選定的實(shí)際加工路徑與理想加工路徑依然存在著一定的差距。圖7為理想加工路徑,圖8為實(shí)際加工路徑。
5總結(jié)
本文通用控制軟件是在三軸臺(tái)式工業(yè)機(jī)器人的基礎(chǔ)上,以SmartPAC運(yùn)動(dòng)控制器為核心,通過(guò)改進(jìn)后的柵格法進(jìn)行模型建立,利用權(quán)值尋找法進(jìn)行樹(shù)的遍歷尋找出一條最優(yōu)路徑作為加工路徑。經(jīng)實(shí)驗(yàn)表明,該軟件基本達(dá)到軸式機(jī)器人定位要求,能實(shí)現(xiàn)簡(jiǎn)單的路徑規(guī)劃,具備一定的通用性。針對(duì)大批量工業(yè)加工而言,軟件在加工工件的首次模型實(shí)現(xiàn)與路徑規(guī)劃上時(shí)間開(kāi)銷(xiāo)較大,相比人為設(shè)定加工路徑要簡(jiǎn)單、高效、便捷。