張 威
青島職業(yè)技術(shù)學(xué)院 山東青島 266555
作為一種結(jié)合路徑規(guī)劃、環(huán)境感知以及定位導(dǎo)航等多種功能為一體的機(jī)器人自動(dòng)化設(shè)備,隨著近幾年P(guān)LC技術(shù)的發(fā)展,將該技術(shù)應(yīng)用到機(jī)器人控制領(lǐng)域當(dāng)中,和傳統(tǒng)機(jī)器人控制線路兩者進(jìn)行對(duì)比發(fā)現(xiàn),基于PLC技術(shù)的機(jī)器人控制系統(tǒng),具備較強(qiáng)的柔性和擴(kuò)展性,能夠從一定程度上促進(jìn)機(jī)器人控制系統(tǒng)的運(yùn)行安全性與可靠性[1]。同時(shí),這對(duì)企業(yè)生產(chǎn)效率以及動(dòng)態(tài)監(jiān)管方面具有一定的顯示意義。
首先,機(jī)器人的控制系統(tǒng)結(jié)構(gòu)主要有硬件和軟件等兩個(gè)部分共同構(gòu)成。其中,機(jī)器人控制系統(tǒng)硬件,借助PLC核心控制器、電機(jī)等來(lái)實(shí)現(xiàn)機(jī)器人驅(qū)動(dòng)和通信。軟件部分,借助PLC技術(shù),實(shí)現(xiàn)了對(duì)機(jī)器人的控制程序進(jìn)行讀取,主要體現(xiàn)在對(duì)機(jī)器人的運(yùn)動(dòng)控制程序讀取。其次,從本質(zhì)上來(lái)看機(jī)器人的運(yùn)動(dòng)是通過(guò)核心控制器、控制參數(shù)、電信號(hào)等,在運(yùn)動(dòng)控制系統(tǒng)的作用下實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng)[2]。因此,在設(shè)計(jì)時(shí)需要根據(jù)不同的應(yīng)用場(chǎng)景對(duì)其進(jìn)行設(shè)計(jì)。
在進(jìn)行機(jī)器人控制系統(tǒng)進(jìn)行設(shè)計(jì)時(shí),需要確保控制系統(tǒng)的運(yùn)行可靠性以及精確性得到保障。這樣一來(lái),可以使得機(jī)器人控制系統(tǒng)能夠正確地實(shí)現(xiàn)上位機(jī)所下達(dá)的對(duì)應(yīng)指令,從而實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng)。同時(shí),針對(duì)機(jī)器人控制系統(tǒng)的設(shè)計(jì),應(yīng)當(dāng)擁有良好的通信能力、安全性、擴(kuò)展性、柔性等特點(diǎn),具體控制系統(tǒng)原理見(jiàn)圖1所示。

圖1 機(jī)器人控制系統(tǒng)的原理示意圖
該控制系統(tǒng)的設(shè)計(jì),首先是由五個(gè)部分構(gòu)成:PLC主控制器、電機(jī)驅(qū)動(dòng)器、傳感器、上位機(jī)和安全傳感器等。其中,PLC主控制器作為機(jī)器人控制系統(tǒng)的核心部分,主要實(shí)現(xiàn)了對(duì)控制信號(hào)、運(yùn)動(dòng)程序控制、遠(yuǎn)程通信和輸出控制指令等方面的接收。上位機(jī)設(shè)計(jì),主要實(shí)現(xiàn)了對(duì)運(yùn)行任務(wù)、功能參數(shù)等方面的設(shè)置,以及對(duì)系統(tǒng)運(yùn)行狀況的實(shí)時(shí)監(jiān)控。傳感器的設(shè)計(jì),通過(guò)將檢測(cè)的信號(hào)傳遞給主控制器,在運(yùn)動(dòng)算法的作用下,實(shí)現(xiàn)機(jī)器人左右驅(qū)動(dòng)輪控制,以此完成機(jī)器人移動(dòng)。而安全傳感器的設(shè)計(jì),主要負(fù)責(zé)對(duì)機(jī)器人在移動(dòng)方向周?chē)沫h(huán)境情況進(jìn)行檢測(cè),以此減少機(jī)器人移動(dòng)過(guò)程中存在的障礙。
該技術(shù)是機(jī)器人控制系統(tǒng)的核心部分,結(jié)合所編寫(xiě)的程序可以通過(guò)掃描的方式來(lái)實(shí)現(xiàn)機(jī)器人移動(dòng)。其工作原理主要包含了采樣輸入、用戶程序執(zhí)行以及輸出刷新等三個(gè)部分。其中,從采樣輸入階段方面來(lái)看,通過(guò)PLC對(duì)機(jī)器人的各項(xiàng)戶數(shù)進(jìn)行掃描讀取,并將最后讀取的數(shù)據(jù)存儲(chǔ)在PLC的I/O映像區(qū)域當(dāng)中。然后,PLC會(huì)結(jié)合特定的順序,對(duì)用戶所編寫(xiě)的梯形圖進(jìn)行逐一掃描,并結(jié)合該步驟,對(duì)梯形圖之間的各個(gè)接觸點(diǎn)的控制線路進(jìn)行讀取和運(yùn)算,并將其結(jié)果更新在系統(tǒng)狀態(tài)當(dāng)中。以此來(lái)判斷是否對(duì)I/O區(qū)中的機(jī)器人狀態(tài)進(jìn)行更新,或者是按照用戶的指令進(jìn)行執(zhí)行等。當(dāng)以上程序完成之后,PLC主控制系統(tǒng)就會(huì)自動(dòng)進(jìn)入輸出刷新階段,而系統(tǒng)會(huì)對(duì)所保存的機(jī)器人運(yùn)行數(shù)據(jù)和狀態(tài)、電路等實(shí)現(xiàn)對(duì)機(jī)器人各個(gè)關(guān)節(jié)軸的設(shè)計(jì)。
首先,本文的機(jī)器人控制系統(tǒng)的硬件部分設(shè)計(jì),主要包含了鋰電池、PLC主控制器、傳感器、觸摸屏和驅(qū)動(dòng)器以及伺服電機(jī)等六個(gè)部分構(gòu)成。并且PLC控制器擁有三路高速脈沖輸出接口,其中最高的輸出頻率可以達(dá)到100KHZ,還能夠兼容絕對(duì)控制模塊、自動(dòng)控制模式以及手動(dòng)控制模式。其次,基于PLC技術(shù)的控制系統(tǒng),可以利用運(yùn)動(dòng)控制向?qū)В杆賹?shí)現(xiàn)并完成機(jī)器人運(yùn)動(dòng)控制組態(tài),并借助自帶的以太網(wǎng)和通信接口等實(shí)現(xiàn)遠(yuǎn)程通信服務(wù)。此外,磁位傳感器的作用主要通過(guò)對(duì)磁場(chǎng)信號(hào)進(jìn)行感應(yīng),并將其傳輸?shù)娇刂葡到y(tǒng)當(dāng)中。簡(jiǎn)單來(lái)說(shuō)該傳感器的作用是為PLC控制器提供引導(dǎo)信號(hào)[3]。
為保障控制系統(tǒng)和機(jī)器人外圍接口兩者之間的通信,通過(guò)利用CSMACD方式以及非破壞總線優(yōu)先逐位仲裁技術(shù),為機(jī)器人總線傳輸?shù)膬?yōu)先級(jí)信息傳輸提供保障,以此使得用戶對(duì)機(jī)器人的實(shí)時(shí)性控制得到保障。而基于CAL子協(xié)議的CanOpen協(xié)議,具備良好的模塊性和適應(yīng)性。因此,機(jī)器人控制系統(tǒng)過(guò)程當(dāng)中,可以有效促進(jìn)設(shè)備和設(shè)備之間通過(guò)交換通信對(duì)象的方式實(shí)現(xiàn)通信,并利用該協(xié)議構(gòu)建出一個(gè)對(duì)應(yīng)的通信模型。這樣一來(lái),就可以使得基于PLC技術(shù)設(shè)計(jì)的機(jī)器人控制系統(tǒng)和外圍I/O接口之間的通信得到保障。并且,最后使得其通信更加具備良好的穩(wěn)定性。
本文針對(duì)伺服系統(tǒng)的設(shè)計(jì),主要選擇利用三菱企業(yè)的交流伺服作為機(jī)器人控制系統(tǒng)的伺服驅(qū)動(dòng)器。首先,該驅(qū)動(dòng)器具備較為強(qiáng)大的性能和多種功能,不僅為用戶提供基礎(chǔ)的控制模式,還增添了位置控制和速度控制以及速度轉(zhuǎn)矩控制等多種高級(jí)控制方式供用戶選擇,從一定程度上促進(jìn)其控制精度以及范圍得到了提高。其次,該伺服系統(tǒng)擁有通信功能,能夠?qū)崿F(xiàn)與RS232C兩者進(jìn)行串口通信。最后,該伺服系統(tǒng)還擁有編碼器,能夠通過(guò)加裝電池,構(gòu)建絕對(duì)位置系統(tǒng),以此提高對(duì)機(jī)器人控制能力。
機(jī)器人控制系統(tǒng)的軟件設(shè)計(jì),作為該系統(tǒng)的核心部分。本文根據(jù)IEC61131-3標(biāo)準(zhǔn)的CoDeSys系統(tǒng),實(shí)現(xiàn)了對(duì)PLC主控制程序的編寫(xiě)。其中,CoDeSys系統(tǒng)幾乎包含了所有基本模塊,如力矩控制模塊、速度控制模塊、電機(jī)位置和插補(bǔ)模塊等。可以結(jié)合用戶的實(shí)際需求來(lái)實(shí)現(xiàn)控制模塊編寫(xiě),以此為用戶提供個(gè)性化服務(wù)。并且,通過(guò)該系統(tǒng)還可以實(shí)現(xiàn)PLC和其他接口之間的互相通信。最后,利用插補(bǔ)模塊,實(shí)現(xiàn)伺服電機(jī)運(yùn)動(dòng)軌跡的控制。
當(dāng)機(jī)器人控制系統(tǒng)啟動(dòng)之后,需要對(duì)其控制程序進(jìn)行初始化設(shè)置,以及傳感器周?chē)欠翊嬖谡系K物進(jìn)行檢測(cè)。但所有啟動(dòng)條件均滿足之后,可以通過(guò)設(shè)定的磁條,控制機(jī)器人進(jìn)行移動(dòng)。不過(guò),在機(jī)器人移動(dòng)過(guò)程當(dāng)中,受其左、右輪所處的地面平整度等方面的影響,會(huì)存在一定的累積誤差,因此會(huì)出現(xiàn)機(jī)器人行駛偏離預(yù)定軌跡的現(xiàn)象[4]。這時(shí)就需要通過(guò)系統(tǒng)對(duì)其進(jìn)行調(diào)整,從而保證機(jī)器人能夠沿著預(yù)定的線路進(jìn)行運(yùn)動(dòng)。
代碼編譯模塊以及解碼模塊的設(shè)計(jì)中,代碼編譯主要通過(guò)利用高級(jí)機(jī)器人語(yǔ)言來(lái)實(shí)現(xiàn)機(jī)器人控制程序編寫(xiě),并將其轉(zhuǎn)化成G代碼(數(shù)控程序)的過(guò)程。首先,需要通過(guò)單個(gè)數(shù)組,實(shí)現(xiàn)對(duì)機(jī)器人控制程序的指令以及變量和值分進(jìn)行分別保存,接著將機(jī)器人的每一天動(dòng)作運(yùn)動(dòng)控制程序進(jìn)行G代碼轉(zhuǎn)換,然后將其保存在對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)器當(dāng)中[5]。其次,利用CoDeSys工具,實(shí)現(xiàn)對(duì)代碼的編譯。具體數(shù)據(jù)結(jié)構(gòu)定義如:
typedef struct ROBOT PARAM{
String strComm;
String strChar;
String fVvalue;
} ROBOT_ PARAM;
而代碼的解碼模塊設(shè)計(jì),主要是由于機(jī)器人控制程序中的插補(bǔ)程序無(wú)法通過(guò)直接讀取文本的形式顯示為G代碼,因此,就需要借助對(duì)應(yīng)的解碼程序?qū)⑺x取的文本轉(zhuǎn)化為G代碼,這樣就能夠?qū)崿F(xiàn)對(duì)機(jī)器人控制程序進(jìn)行插補(bǔ)程序識(shí)別。
該運(yùn)動(dòng)控制算法的設(shè)計(jì),主要作用于機(jī)器人的運(yùn)動(dòng)控制。通過(guò)利用機(jī)器人控制系統(tǒng)與控制算法,能夠保障機(jī)器人可以沿著預(yù)定的路線實(shí)現(xiàn)精準(zhǔn)運(yùn)行到指定的終點(diǎn)。一般情況下,機(jī)器人常見(jiàn)的運(yùn)行路線主要分為直線和彎道等兩種情況,見(jiàn)圖2所示。

圖2 機(jī)器人運(yùn)動(dòng)路徑示意圖
從圖2中可以得知,機(jī)器人的直線運(yùn)動(dòng)由A來(lái)表示,其彎道運(yùn)行則是由B來(lái)表示。因此,在機(jī)器人運(yùn)行過(guò)程當(dāng)中,將其左邊輪子的速度設(shè)為υL,將右邊輪子的速度設(shè)定為υR,并將該機(jī)器人的運(yùn)動(dòng)速度設(shè)置υ,用R來(lái)表示機(jī)器人的轉(zhuǎn)彎半徑,用ωO來(lái)表示機(jī)器人的角速度。因此,當(dāng)機(jī)器人進(jìn)行直線移動(dòng)時(shí),其左邊輪子的運(yùn)行速度應(yīng)當(dāng)和右邊相等。當(dāng)轉(zhuǎn)彎時(shí),機(jī)器人的運(yùn)動(dòng)軌跡會(huì)形成圓弧狀,并以機(jī)器人自身中心為回轉(zhuǎn)的中心點(diǎn),那么左輪的速度會(huì)比右邊輪子快[6]。并且,兩者對(duì)應(yīng)的角速度相等,具體公式為:
此外,當(dāng)υL/υR大于1時(shí),該機(jī)器人會(huì)向前運(yùn)動(dòng)并且向右方向轉(zhuǎn)彎。當(dāng)0小于υL/υR小于1時(shí),機(jī)器人會(huì)呈現(xiàn)向前運(yùn)動(dòng),且會(huì)向左轉(zhuǎn)動(dòng)態(tài)。因此,通過(guò)分析發(fā)現(xiàn),對(duì)該機(jī)器人的兩個(gè)驅(qū)動(dòng)輪的速度差進(jìn)行控制,可以控制機(jī)器人實(shí)現(xiàn)前進(jìn)、后退以及左右運(yùn)轉(zhuǎn)以及直行等運(yùn)行狀態(tài)。
觸摸屏設(shè)計(jì)實(shí)現(xiàn)了人機(jī)界面交互,簡(jiǎn)單來(lái)說(shuō)就是為用戶和控制系統(tǒng)兩者交互提供了操作窗口。因此,該觸摸屏監(jiān)控界面的設(shè)計(jì),促使其具有工作任務(wù)配置、機(jī)器人運(yùn)動(dòng)路徑選擇規(guī)劃、報(bào)警顯示功能以及操作權(quán)限配置等功能。本文機(jī)器人操作系統(tǒng)人機(jī)交互系統(tǒng)主要利用MCGS軟件以及昆侖通態(tài)嵌入式一體化觸摸屏,實(shí)現(xiàn)了觸摸屏設(shè)計(jì)[7],并通過(guò)通信接口PLC控制器實(shí)現(xiàn)了通信,以此將機(jī)器人自身的具體狀態(tài)實(shí)時(shí)顯示在屏幕窗口上。這樣一來(lái),就能夠讓用戶更加直觀地獲取機(jī)器人的系統(tǒng)信息,并對(duì)其各種類型的運(yùn)行參數(shù)進(jìn)行配置。
該部分的設(shè)計(jì),在機(jī)器人運(yùn)行過(guò)程當(dāng)中發(fā)生故障時(shí),通過(guò)觸摸屏可以及時(shí)報(bào)警并反饋給管理操作人員,這樣不僅可以及時(shí)地消除故障問(wèn)題,還能夠降低減少損失。其設(shè)計(jì)原理是:首先當(dāng)機(jī)器人出現(xiàn)故障異常問(wèn)題時(shí),就會(huì)在顯示屏界面彈出報(bào)警畫(huà)面,然后將報(bào)警內(nèi)容傳遞給管理員。當(dāng)故障解決后,報(bào)警就會(huì)被復(fù)位,而其內(nèi)容會(huì)消失,并被記錄在報(bào)警歷史信息當(dāng)中,方便后期查詢。
基于PLC技術(shù)的機(jī)器人控制系統(tǒng)仿真,本文通過(guò)利用計(jì)算機(jī)Matlab軟件[8]實(shí)現(xiàn)了機(jī)器人虛擬模型設(shè)計(jì),并借助該仿真軟件實(shí)現(xiàn)控制系統(tǒng)的動(dòng)態(tài)系統(tǒng)的建模和仿真,從而判斷機(jī)器人的運(yùn)行性能。經(jīng)過(guò)仿真結(jié)果表明,該機(jī)器人控制系統(tǒng)的設(shè)計(jì)在機(jī)器人中的應(yīng)用具有良好的性能和擴(kuò)展性。
在針對(duì)機(jī)器人進(jìn)行安裝調(diào)試過(guò)程當(dāng)中,不能夠直接利用220V電壓,需要借助變壓器進(jìn)行電壓轉(zhuǎn)換。在控制系統(tǒng)安裝時(shí),為了進(jìn)一步降低數(shù)據(jù)傳輸對(duì)機(jī)器人的干擾使其自動(dòng)化水平下降,需要在安裝前對(duì)系統(tǒng)程序進(jìn)行調(diào)試。當(dāng)機(jī)器人本體以及控制系統(tǒng)安裝完成之后,先對(duì)其電路、電源以及電機(jī)進(jìn)行檢測(cè),以此來(lái)確保電源的輸入和輸出正常。然后,結(jié)合對(duì)應(yīng)的系統(tǒng)設(shè)置教程,通過(guò)手動(dòng)操作模式,進(jìn)行機(jī)器人的穩(wěn)定性測(cè)試。最后,在針對(duì)測(cè)試過(guò)程中存在的誤差,對(duì)機(jī)器人控制系統(tǒng)進(jìn)行優(yōu)化調(diào)整即可。
綜上所述,本文通過(guò)利用西門(mén)子S7型號(hào)PLC作為核心控制器,結(jié)合上位機(jī)、直流電器以及安全傳感器等元器件,開(kāi)發(fā)設(shè)計(jì)了一種機(jī)器人控制系統(tǒng)。其中,PLC技術(shù)具備較強(qiáng)的適應(yīng)性和易操作性,能夠有效促進(jìn)機(jī)器人自動(dòng)控制系統(tǒng)的抗干擾性和易維護(hù)性等得到提高,還使得機(jī)器人操作的擴(kuò)展性和柔性得到了提升。因此,PLC技術(shù)在機(jī)器人領(lǐng)域的未來(lái)控制系統(tǒng)設(shè)計(jì)中應(yīng)用,具有廣闊的發(fā)展前景。