李培英 劉偉亮
(邯鄲學(xué)院,河北 邯鄲056005)
隨著《工業(yè)4.0》及《中國(guó)制造2025》的不斷推進(jìn),企業(yè)對(duì)于柔性化制造的需求也在不斷提高,品種多、數(shù)量少的產(chǎn)品定制生產(chǎn)已是現(xiàn)代生產(chǎn)企業(yè)的智能化制造顯著的特點(diǎn)。企業(yè)生產(chǎn)過程中所需材料及貨物的搬運(yùn)成為自動(dòng)化生產(chǎn)和制造的重要環(huán)節(jié)。如何高效率、自動(dòng)化、智能化的完成將生產(chǎn)、制造、搬運(yùn)等一系列工作實(shí)現(xiàn)自動(dòng)化和智能化是人們一直所需要探索和研究的目標(biāo)[1]。自動(dòng)導(dǎo)引機(jī)器人AGV(Automatic Guided Vehicle)因其具有自主定位導(dǎo)航裝置,可以依據(jù)規(guī)劃的路線行駛,具有安全保護(hù)和移載功能,能夠在物流運(yùn)輸自動(dòng)化中不需駕駛員實(shí)地操作的運(yùn)輸車[2][3],所以AGV 在工廠自動(dòng)化產(chǎn)品生產(chǎn)與智能制造中隨之得到廣泛應(yīng)用,成為產(chǎn)品生產(chǎn)、智能制造及物流系統(tǒng)中必要的自動(dòng)化搬運(yùn)手段,極大地提高了生產(chǎn)加工工序之間工件的運(yùn)輸效率,降低了生產(chǎn)成本。
本研究的控制系統(tǒng)方案主要適用于自動(dòng)導(dǎo)引機(jī)器人AGV用于產(chǎn)品生產(chǎn)過程中的生產(chǎn)、制造及組裝的生產(chǎn)現(xiàn)場(chǎng),按照產(chǎn)品生產(chǎn)所需零件原材料及零件加工的順序,自動(dòng)導(dǎo)引機(jī)器人AGV 從原材料庫(kù)選貨后,自動(dòng)導(dǎo)引、自動(dòng)搬運(yùn)到指定的工位。若要完成這些動(dòng)作,自動(dòng)導(dǎo)引AGV 必須滿足按照生產(chǎn)調(diào)度人員在服務(wù)器端輸入的搬運(yùn)指令,把原材料、半成品或零部件可靠地運(yùn)送到指定的工位,并且可以根據(jù)指令連續(xù)運(yùn)送多個(gè)工位。另外,在搬運(yùn)期間,自動(dòng)導(dǎo)引機(jī)器人AGV 應(yīng)具有安全防護(hù)措施,如遇到緊急情況下的急停、避障和安全觸邊等功能,保證生產(chǎn)現(xiàn)場(chǎng)人員及設(shè)備的安全,滿足企業(yè)生產(chǎn)過程的自動(dòng)化及柔性化,為智能制造打下良好基礎(chǔ)。
自動(dòng)導(dǎo)引機(jī)器人的各種細(xì)微動(dòng)作都由機(jī)器人的大腦CPU中央處理器來由各個(gè)部件控制程序體來完成,以電腦技術(shù)和程序來實(shí)現(xiàn)程序化控制[4]。
自動(dòng)導(dǎo)引機(jī)器人AGV 控制系統(tǒng)實(shí)現(xiàn)的功能主要包括:
(1)服務(wù)器端與自動(dòng)導(dǎo)引機(jī)器人AGV 之間通過無線通信模塊實(shí)現(xiàn)無線通信,生產(chǎn)調(diào)度人員在服務(wù)器端通過上位機(jī)人機(jī)交互界面HMI 輸入搬運(yùn)指令,通過無線通信模塊將指令傳送到自動(dòng)導(dǎo)引機(jī)器人AGV 的中央處理器,中央處理器對(duì)輸入指令進(jìn)行處理,控制自動(dòng)導(dǎo)引機(jī)器人AGV 開始運(yùn)行并做出指定的動(dòng)作。
(2)自動(dòng)導(dǎo)引機(jī)器人AGV 開始運(yùn)行,自動(dòng)規(guī)劃路徑,并在搬運(yùn)過程中實(shí)時(shí)采集路徑信息并上傳回服務(wù)器端,在上位機(jī)人機(jī)交互界面HMI 顯示當(dāng)時(shí)的AGV 狀態(tài)信息,同時(shí)修正行進(jìn)間的轉(zhuǎn)向偏差及消除累計(jì)誤差。
(3)在搬運(yùn)物料過程中,可靠準(zhǔn)確地定位的控制指令指定的工位,實(shí)現(xiàn)物料的搬入和搬出。待本工位的規(guī)定動(dòng)作完成后,根據(jù)(1)中生產(chǎn)調(diào)度人員輸入的指令繼續(xù)前往下一工位或返回自動(dòng)導(dǎo)引機(jī)器人AGV 的始發(fā)地等待下一次任務(wù)的運(yùn)行。
(4)實(shí)時(shí)監(jiān)測(cè)自動(dòng)導(dǎo)引機(jī)器人AGV 供電電源的蓄電池電壓,當(dāng)電壓低于規(guī)定值時(shí)發(fā)出報(bào)警,提示給蓄電池充電。
控制系統(tǒng)分用戶層、執(zhí)行層和感知層三個(gè)層次,各層次之間用網(wǎng)絡(luò)連接起來。如圖1 所示為自動(dòng)導(dǎo)引機(jī)器人AGV 控制系統(tǒng)組成框圖,圖中描述了控制系統(tǒng)三個(gè)層次之間各控制功能單元之間詳細(xì)的連接關(guān)系。其中,用戶層是指人機(jī)交互單元,執(zhí)行層包括中央處理單元、導(dǎo)航單元、驅(qū)動(dòng)單元、供電單元和安全單元,網(wǎng)絡(luò)層指通信單元及各功能單元之間的通信網(wǎng)絡(luò)。
圖1 AGV 控制系統(tǒng)組成框圖
中央處理單元:自動(dòng)導(dǎo)引機(jī)器人AGV 控制系統(tǒng)采用可編程控制器PLC 作為主控制器,是整個(gè)控制系統(tǒng)的核心控制單元,通過對(duì)傳感器采集到的數(shù)據(jù)信息進(jìn)行分析處理,做出相應(yīng)的判斷[5],完成對(duì)AGV 的邏輯控制和運(yùn)動(dòng)控制。
自動(dòng)導(dǎo)引機(jī)器人AGV 控制系統(tǒng)的控制程序存儲(chǔ)在主控制器PLC 中,生產(chǎn)調(diào)度人員從上位機(jī)的人機(jī)交互界面輸入工作指令,主控制器PLC 對(duì)指令解析后對(duì)各相關(guān)控制單元進(jìn)行控制,完成指令規(guī)定的任務(wù)。
人機(jī)交互單元:有兩個(gè)主要顯示自動(dòng)導(dǎo)引機(jī)器人AGV 的人機(jī)交互界面,一個(gè)是服務(wù)器端的人機(jī)交互界面,另一個(gè)是在自動(dòng)導(dǎo)引機(jī)器人AGV 本體上的人機(jī)交互界面,兩個(gè)界面的功能相同,均由組態(tài)王軟件開發(fā),包括狀態(tài)畫面、操作畫面、報(bào)警畫面、操作記錄等功能。
導(dǎo)航單元:采集并處理環(huán)境數(shù)據(jù),確定AGV 當(dāng)前位置、姿態(tài),將計(jì)算的與目標(biāo)位置、姿態(tài)的偏差回傳到自動(dòng)導(dǎo)引機(jī)器人AGV 主控制器PLC,用于控制系統(tǒng)對(duì)驅(qū)動(dòng)系統(tǒng)下達(dá)指令、調(diào)整位置、姿態(tài)的偏差。
驅(qū)動(dòng)單元:采用行走電機(jī)和轉(zhuǎn)向電機(jī)共同實(shí)現(xiàn)自動(dòng)導(dǎo)引機(jī)器人AGV 的行走和轉(zhuǎn)向。電機(jī)選用具有抱閘功能的低壓直流電機(jī),配套選用低壓直流伺服驅(qū)動(dòng)器,保證導(dǎo)航與定位精度。如圖2 所示,前面一個(gè)車輪用做轉(zhuǎn)向驅(qū)動(dòng)輪,由轉(zhuǎn)向電機(jī)驅(qū)動(dòng),后面兩個(gè)車輪為行走驅(qū)動(dòng)輪,由行走電機(jī)驅(qū)動(dòng)。根據(jù)主控制器PLC發(fā)出的路徑規(guī)劃信號(hào),電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)電機(jī)運(yùn)行完成前進(jìn)、后退和轉(zhuǎn)向等動(dòng)作。
圖2 底盤輪系安裝結(jié)構(gòu)示意圖
圖2 中,l 為AGV 行走驅(qū)動(dòng)輪之間的長(zhǎng)度,即輪距;P 為輪距的中心點(diǎn);r 為行走驅(qū)動(dòng)輪半徑;V 為行走速度。
供電單元:系統(tǒng)采用24V 電池供電,電源經(jīng)過DC24V-DC24V 開關(guān)電源穩(wěn)壓,保證控制系統(tǒng)的電源電壓的穩(wěn)定。
安全單元:自動(dòng)導(dǎo)引機(jī)器人AGV 車頭安裝超聲波雷達(dá),用于檢測(cè)路徑上的障礙物,在車頭與車尾各安裝一個(gè)急停按鈕,用于運(yùn)行時(shí)發(fā)生緊急情況時(shí)的緊急停車。當(dāng)檢測(cè)到障礙物時(shí),自動(dòng)導(dǎo)引機(jī)器人AGV 在距離障礙物規(guī)定距離時(shí)減速并停止,待障礙物消失時(shí)自動(dòng)恢復(fù)運(yùn)行,同時(shí)在自動(dòng)導(dǎo)引機(jī)器人AGV 車頭也安裝機(jī)械式安全觸邊裝置,當(dāng)安全觸邊裝置受到碰撞或擠壓時(shí),相當(dāng)于按下急停按鈕,自動(dòng)導(dǎo)引機(jī)器人AGV 立即停止運(yùn)行,保證工作人員及生產(chǎn)設(shè)備的安全。
通訊單元:利用網(wǎng)絡(luò)交換機(jī),將自動(dòng)導(dǎo)引機(jī)器人AGV 控制系統(tǒng)中Ethernet 設(shè)備接入局域網(wǎng),各控制設(shè)備之間基于網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互,形成一個(gè)單車通信局域網(wǎng),如圖3 所示為一個(gè)自動(dòng)導(dǎo)引機(jī)器人AGV 的通訊系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D,控制系統(tǒng)網(wǎng)絡(luò)通信采用了兩種方式,分別是Ethernet 和RS485 通信。
圖3 通訊系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D
基于Ethernet 網(wǎng)絡(luò)通信的作用是通過車載無線客戶端,將單個(gè)自動(dòng)導(dǎo)引機(jī)器人AGV 車載控制系統(tǒng)接入車外無線網(wǎng)絡(luò)與服務(wù)器端上位機(jī)進(jìn)行信息交互,可以將自動(dòng)導(dǎo)引機(jī)器人AGV 當(dāng)前的位置姿態(tài)、各種運(yùn)行信息上傳到上位機(jī),使生產(chǎn)調(diào)度人員和現(xiàn)場(chǎng)工作人員監(jiān)控車輛的整體運(yùn)行狀態(tài),并且可以直接通過服務(wù)器端上位機(jī)通過無線通信對(duì)車輛發(fā)出任務(wù)指令,本課題采用Wi-Fi 通信方法完成自動(dòng)導(dǎo)引機(jī)器人AGV 與服務(wù)器端上位機(jī)之間的通信。
基于RS485 網(wǎng)絡(luò)通信的自動(dòng)導(dǎo)引機(jī)器人AGV 主控制器將電機(jī)驅(qū)動(dòng)器、RFID 讀寫器、磁導(dǎo)航傳感器、慣性導(dǎo)航和安全觸邊檢測(cè)傳感器接入RS485 總線,通過輪詢方式對(duì)各設(shè)備進(jìn)行數(shù)據(jù)讀取和指令下發(fā)。主控制器通過485 總線直接控制驅(qū)動(dòng)器,將目標(biāo)轉(zhuǎn)向角度和目標(biāo)運(yùn)行速度下發(fā)給電機(jī)驅(qū)動(dòng)器,驅(qū)動(dòng)行走電機(jī)和轉(zhuǎn)向電機(jī)運(yùn)行。RFID 讀寫器讀取布置在運(yùn)行路徑上的RFID標(biāo)簽,將標(biāo)簽內(nèi)存儲(chǔ)的數(shù)據(jù)通過485 總線傳送至主控制器,用于輔助確認(rèn)當(dāng)前車輛所處的位置。磁導(dǎo)航傳感器用于測(cè)量地面磁釘相對(duì)于傳感器的偏差位置,偏差數(shù)據(jù)通過485 總線傳送至主控制器,主控制器計(jì)算處理數(shù)據(jù)后得出自動(dòng)導(dǎo)引機(jī)器人AGV 車身實(shí)際位置偏差與姿態(tài)偏差,補(bǔ)償因差分GPS 導(dǎo)航系統(tǒng)本身的誤差。障礙檢測(cè)傳感器采用不同于傳統(tǒng)I/O 信號(hào)發(fā)送的方式,而是通過485 總線將檢測(cè)到的障礙信息發(fā)送給主控制器,包括障礙距離車身的距離、障礙物的尺寸等,根據(jù)這些信息主控制器做出判斷,并給電機(jī)驅(qū)動(dòng)器發(fā)出指令,使自動(dòng)導(dǎo)引機(jī)器人AGV減速或是緊急停車。
導(dǎo)航系統(tǒng)采集并處理環(huán)境數(shù)據(jù),確定自動(dòng)導(dǎo)引機(jī)器人AGV當(dāng)前的位置、姿態(tài),將與目標(biāo)位置、姿態(tài)的偏差回傳控制系統(tǒng),用于控制系統(tǒng)對(duì)驅(qū)動(dòng)系統(tǒng)下達(dá)指令,調(diào)整位置、姿態(tài)的偏差,保證了導(dǎo)航精度,本設(shè)計(jì)采用磁釘導(dǎo)航和慣性導(dǎo)航的混合導(dǎo)引方式。
磁釘導(dǎo)航:類似于傳統(tǒng)的磁帶導(dǎo)引,利用磁導(dǎo)航傳感器檢測(cè)出自動(dòng)導(dǎo)引機(jī)器人AGV 相對(duì)于磁釘?shù)钠顏磉M(jìn)行位姿調(diào)整,它們的區(qū)別在于磁帶是連續(xù)式導(dǎo)引,而磁釘導(dǎo)引則是非連續(xù)的。磁釘與磁釘之間的路徑是一個(gè)“盲區(qū)”,為了保證自動(dòng)導(dǎo)引機(jī)器人AGV 沿著預(yù)定的磁釘路徑正確行走,在“盲區(qū)”行走時(shí)實(shí)時(shí)記錄行走輪的行走距離,計(jì)算轉(zhuǎn)向角的變化,計(jì)算出AGV 當(dāng)前位置進(jìn)行偏差調(diào)整。但是自動(dòng)導(dǎo)引機(jī)器人AGV 行走過程中偶爾會(huì)有行走輪打滑的現(xiàn)象,這會(huì)導(dǎo)致位置計(jì)算結(jié)果有偏差,致使自動(dòng)導(dǎo)引機(jī)器人AGV 行走的安全性、可靠性不高。
慣性導(dǎo)航:利用加速度和角速度積分得到自動(dòng)導(dǎo)引機(jī)器人AGV 的運(yùn)行速度與航向轉(zhuǎn)向角,進(jìn)而計(jì)算出自動(dòng)導(dǎo)引機(jī)器人AGV 的當(dāng)前實(shí)際位置并,與預(yù)定行走的規(guī)劃路徑比對(duì),得出當(dāng)前位置的實(shí)際偏差,也就是導(dǎo)航偏差,然后對(duì)偏差進(jìn)行修正。但是,因?yàn)閼T性導(dǎo)航模塊的性能的差異存在不同程度的漂移誤差和噪聲,而且漂移誤差和噪聲也會(huì)隨時(shí)間的增加而累積,會(huì)導(dǎo)致自動(dòng)導(dǎo)引機(jī)器人AGV 行走偏離軌道,從而無法到達(dá)下一個(gè)磁釘位置。
磁釘和慣性導(dǎo)引聯(lián)合導(dǎo)航:可以消除磁釘導(dǎo)航和慣性導(dǎo)航各自的不足,使自動(dòng)導(dǎo)引機(jī)器人AGV 的行走路徑更精確。利用磁釘導(dǎo)航補(bǔ)償慣性導(dǎo)航模塊的漂移誤差和噪聲。磁釘在地面位置坐標(biāo)是絕對(duì)的,安裝在自動(dòng)導(dǎo)引機(jī)器人AGV 車體前后的磁導(dǎo)航傳感器相對(duì)于自動(dòng)導(dǎo)引機(jī)器人AGV 車體的位置是絕對(duì)的,此時(shí),通過磁導(dǎo)航傳感器檢測(cè)到地面磁釘?shù)钠罹嚯x,即可計(jì)算出當(dāng)前AGV 的位姿,用于補(bǔ)償慣性導(dǎo)航模塊的累積誤差,提高了自動(dòng)導(dǎo)引機(jī)器人AGV 運(yùn)行的精度,增加了使用的可靠性和安全性。
如圖4 所示為導(dǎo)航偏差計(jì)算示意圖。自動(dòng)導(dǎo)引機(jī)器人AGV車體中心線的方向即是行走方向,其與規(guī)劃路徑的夾角α 是轉(zhuǎn)向角誤差即導(dǎo)航偏差,導(dǎo)航偏差的計(jì)算如式(1)所示。
圖4 導(dǎo)航偏差計(jì)算示意圖
從圖4 中看出,車體是向右的方向偏離了預(yù)定規(guī)劃路線,這時(shí)
則有
若車體是向左的方向偏離了預(yù)定規(guī)劃路線,這時(shí)
同理
通過(3)式和(4)式得出結(jié)論,自動(dòng)導(dǎo)引機(jī)器人AGV 在行走過程中實(shí)時(shí)計(jì)算α 的變化,只要導(dǎo)航偏差α 不等于0,主控制器PLC 就會(huì)立即發(fā)出指令控制轉(zhuǎn)向電機(jī)動(dòng)作,改變行走方向,使自動(dòng)導(dǎo)引機(jī)器人AGV 回到預(yù)定的規(guī)劃路徑上來。
如圖5 所示為自動(dòng)導(dǎo)引機(jī)器人AGV 工作的主程序流程圖。在自動(dòng)導(dǎo)引機(jī)器人AGV 上電后,進(jìn)行總線設(shè)備通信狀態(tài)檢測(cè),包括RS485 通信設(shè)備,如電機(jī)驅(qū)動(dòng)器、RFID 讀寫器、磁導(dǎo)航傳感器、慣性導(dǎo)航傳感器和安全觸邊檢測(cè)裝置,RS232 通信設(shè)備即差分GPS 導(dǎo)航系統(tǒng)和Ethernet 通信設(shè)備即無線客戶端。檢測(cè)中若發(fā)現(xiàn)異常,控制系統(tǒng)發(fā)出報(bào)警。然后進(jìn)入安全裝置狀態(tài)檢測(cè),若發(fā)現(xiàn)有急停按鈕被按下、檢測(cè)到障礙物或安全觸邊檢測(cè)裝置動(dòng)作,同樣控制系統(tǒng)發(fā)出報(bào)警并停車。緊接下來是轉(zhuǎn)向電機(jī)零點(diǎn)校準(zhǔn)工作,因轉(zhuǎn)向電機(jī)編碼器使用增量編碼器,上電后需要零點(diǎn)校準(zhǔn)。
圖5 AGV 主程序流程圖
如圖6 所示為自動(dòng)導(dǎo)引機(jī)器人AGV 執(zhí)行搬運(yùn)任務(wù)子程序設(shè)計(jì)流程圖。
接收并解析任務(wù):根據(jù)接收到的起始站點(diǎn)與目標(biāo)站點(diǎn)的信息,進(jìn)行路徑規(guī)劃并生成地圖路徑序列,根據(jù)路徑序列自動(dòng)導(dǎo)引機(jī)器人AGV 開始運(yùn)行。
確認(rèn)當(dāng)前車輛位姿:接收差分GPS 導(dǎo)航系統(tǒng)發(fā)回的當(dāng)前車輛的經(jīng)度、緯度、航向角等位姿信息設(shè)定為當(dāng)前位姿。
比對(duì)車輛實(shí)時(shí)位姿與目標(biāo)位姿偏差:在接收、解析任務(wù)階段,已得到地圖路徑序列,其中有途經(jīng)站點(diǎn)的具體位姿坐標(biāo),比對(duì)實(shí)時(shí)位姿與下一站點(diǎn)的信息,計(jì)算出位姿偏差。
圖6 AGV 執(zhí)行搬運(yùn)任務(wù)流程圖
控制驅(qū)動(dòng)電機(jī)動(dòng)作消除偏差:根據(jù)前一步驟的位姿偏差,控制驅(qū)動(dòng)電機(jī)動(dòng)作消除偏差。
采集地面磁釘位置并補(bǔ)償矯正實(shí)時(shí)位姿:因?yàn)椴罘諫PS 導(dǎo)航數(shù)據(jù)存在誤差,而磁釘固定于地面,其位置相對(duì)于地面看成是絕對(duì)坐標(biāo),自動(dòng)導(dǎo)引機(jī)器人AGV 車身前、后各安裝一個(gè)磁導(dǎo)航傳感器,其安裝位置相對(duì)于AGV 車身來講也是絕對(duì)坐標(biāo)。兩個(gè)磁導(dǎo)航傳感器同時(shí)檢測(cè)到磁釘時(shí),可以根據(jù)幾何關(guān)系計(jì)算出AGV 車身位置相對(duì)于地面磁釘?shù)淖鴺?biāo)數(shù)據(jù)的偏差即位姿偏差,利用測(cè)出的這個(gè)位姿偏差補(bǔ)償差分GPS 導(dǎo)航數(shù)據(jù)的誤差。
安全裝置狀態(tài)檢測(cè):檢測(cè)急停按鈕、障礙檢測(cè)、安全觸邊各安全裝置狀態(tài),如發(fā)現(xiàn)異常,AGV 降低速度運(yùn)行并發(fā)出報(bào)警或緊急停車。
系統(tǒng)人機(jī)界面主要包括開機(jī)界面、導(dǎo)航設(shè)置界面、驅(qū)動(dòng)系統(tǒng)設(shè)置界面、安全觸邊界面、單任務(wù)模式設(shè)置界面、連續(xù)任務(wù)設(shè)置界面、系統(tǒng)設(shè)置界面、操作記錄查看界面和報(bào)警界面,其中,操作記錄查看界面和報(bào)警界面的數(shù)據(jù)可保留一年。界面內(nèi)容豐富、操作簡(jiǎn)單,如圖7、圖8 所示驅(qū)動(dòng)系統(tǒng)設(shè)置界面和連續(xù)任務(wù)模式設(shè)置界面。
圖7 驅(qū)動(dòng)系統(tǒng)設(shè)置界面
圖8 連續(xù)任務(wù)模式設(shè)置界面
針對(duì)實(shí)際中自動(dòng)導(dǎo)引機(jī)器人的使用,開發(fā)了基于磁釘和慣性導(dǎo)航聯(lián)合使用的自動(dòng)導(dǎo)引機(jī)器人控制系統(tǒng),并對(duì)整個(gè)控制系統(tǒng)的整體設(shè)計(jì)方案做了詳細(xì)介紹。在硬件方面,介紹了控制系統(tǒng)功能及其組成,詳細(xì)闡述了各功能單元的功能及滿足控制系統(tǒng)自動(dòng)導(dǎo)引要求的運(yùn)行策略,著重闡述了通信的構(gòu)建和運(yùn)行策略。在軟件方面,著重介紹了整個(gè)控制系統(tǒng)的主程序設(shè)計(jì)流程和自動(dòng)導(dǎo)引子程序設(shè)計(jì)流程,并給出了詳細(xì)說明。同時(shí)介紹了在行走過程中消除導(dǎo)航偏差的計(jì)算方法,為接下來深入研究路徑規(guī)劃問題的提供了依據(jù),具有一定的實(shí)際意義。