沈 陽(yáng),魯 毅,張雁明
(紅云紅河(煙草)集團(tuán)有限責(zé)任公司紅河卷煙廠,云南彌勒 652300)
AGV(Automated Guided Vehicle,自動(dòng)導(dǎo)引小車)作為現(xiàn)代化物流生產(chǎn)線的重要組成部分,以其智能、柔性的運(yùn)輸功能在各行業(yè)廣泛使用。AGV 導(dǎo)引模式多種多樣,裝卸貨模式也各有不同,本文主要介紹激光導(dǎo)引推挽式AGV 二次定位系統(tǒng)的改造。通過(guò)二次定位改造,旨在提升使用推挽式AGV 進(jìn)行裝卸貨時(shí)的準(zhǔn)確性,降低故障頻次,為AGV 路徑規(guī)劃提供新的思路。
紅河卷煙廠(以下簡(jiǎn)稱卷煙廠)物流部輔料庫(kù)AGV 系統(tǒng)由14 臺(tái)AGV 組成,其中,12 臺(tái)單叉推挽式AGV,2 臺(tái)牽引式AGV,是一個(gè)由地面控制系統(tǒng)和車載控制系統(tǒng)組成的整體。
地面控制系統(tǒng)即上位系統(tǒng),負(fù)責(zé)對(duì)AGV 實(shí)施命令下達(dá)。例如,充電指令、站臺(tái)裝卸貨指令等都由上位系統(tǒng)進(jìn)行調(diào)配。操作人員也可以通過(guò)上位系統(tǒng)監(jiān)控界面,實(shí)時(shí)查看AGV 的運(yùn)行狀態(tài)和故障信息,以便人工迅速解決故障。
車載控制系統(tǒng)即AGV 車體本身,其中,ACC70 模塊為AGV車載控制的核心,功能與其他工業(yè)設(shè)備常見(jiàn)的PLC 類似,是一種模塊化的可編程控制器。使用NDC 公司特有的NPL 編程語(yǔ)言編寫程序,完成AGV 單機(jī)邏輯控制。同時(shí),AGV 在運(yùn)行時(shí)會(huì)保持與上位計(jì)算機(jī)的通信,很多運(yùn)行中的判斷條件由上位系統(tǒng)提供。
卷煙廠輔料庫(kù)使用的AGV 為激光導(dǎo)引式AGV,如圖1 所示。激光導(dǎo)引方式是在AGV 行駛路徑與作業(yè)區(qū)域的周圍安裝位置精確的激光反射板,AGV 通過(guò)掃描頭(Laser Scanner)發(fā)射激光束,同時(shí)接收由反射板反射的激光束,對(duì)光線信號(hào)進(jìn)行處理。通過(guò)連續(xù)的三角幾何運(yùn)算,與車載路徑程序內(nèi)保存的反射板坐標(biāo)數(shù)據(jù)進(jìn)行估算比對(duì)。結(jié)合AGV 自身的運(yùn)動(dòng)控制系統(tǒng)返回的參數(shù),確定其當(dāng)前的位置坐標(biāo)和運(yùn)動(dòng)方向,實(shí)現(xiàn)對(duì)AGV運(yùn)動(dòng)的導(dǎo)引。
圖1 AGV 激光導(dǎo)引的掃描方式示意
系統(tǒng)作業(yè)時(shí),計(jì)算機(jī)通過(guò)無(wú)線電通信系統(tǒng)自動(dòng)將任務(wù)分配給離任務(wù)作業(yè)點(diǎn)最近的AGV 小車。AGV 小車根據(jù)作業(yè)指令,按預(yù)先制定的路徑自動(dòng)駛向作業(yè)點(diǎn)進(jìn)行作業(yè)。在行駛過(guò)程中,AGV利用激光頭對(duì)周圍反射板進(jìn)行掃描,同時(shí)計(jì)算掃描結(jié)果,導(dǎo)航并修正自身的偏差,從而保證行走和定位的精度。
AGV 定位是經(jīng)車載ACC70 模塊中的導(dǎo)航卡,通過(guò)計(jì)算激光掃描頭反饋的光線信息,確定AGV 在作業(yè)區(qū)域大坐標(biāo)系內(nèi)的精確坐標(biāo)。根據(jù)設(shè)備資料,小車在走行中會(huì)結(jié)合自身的速度及方向,對(duì)接下來(lái)一個(gè)周期內(nèi)的光線夾角變化進(jìn)行連續(xù)的“呆板估算”,簡(jiǎn)要原理見(jiàn)圖2。
圖2 AGV 導(dǎo)航原理示意
在理想環(huán)境中,僅需要3 條反射光線構(gòu)成3 個(gè)連續(xù)的夾角即可完成定位。而在實(shí)際情況中,由于無(wú)法準(zhǔn)確得知第一條光線對(duì)應(yīng)的反射板是否正確,也無(wú)法保證無(wú)錯(cuò)誤光線。因此,至少需要4 條連續(xù)的正確光線才能構(gòu)成3 個(gè)連續(xù)的夾角,以供小車進(jìn)行計(jì)算。
卷煙廠輔料庫(kù)使用WW511 型推挽式AGV,隨著長(zhǎng)期使用,輔料庫(kù)在用的12 臺(tái)推挽式AGV 在作業(yè)過(guò)程中故障頻發(fā)。1 周內(nèi)輔料庫(kù)AGV 故障類型比例情況如圖3 所示,可見(jiàn),AGV 在日常使用過(guò)程中主要故障是裝卸貨故障,占故障總數(shù)的85%。推挽式AGV 在作業(yè)過(guò)程中需要配套裝卸貨站臺(tái),由于站臺(tái)位置固定,因此對(duì)AGV 的走行與定位要求很高。當(dāng)推挽式AGV 的貨叉與站臺(tái)錯(cuò)位超過(guò)±3 mm 時(shí),貨物托盤會(huì)刮擦甚至撞擊站臺(tái),正常的裝卸貨動(dòng)作會(huì)受到阻礙。經(jīng)過(guò)現(xiàn)場(chǎng)實(shí)地查看,發(fā)現(xiàn)導(dǎo)致AGV 裝卸貨故障的原因,正是由于車體與站臺(tái)無(wú)法對(duì)齊,造成裝卸貨時(shí)托盤卡阻。
圖3 1 周內(nèi)輔料庫(kù)AGV 故障類型比例情況
很多情況下AGV 與站臺(tái)不能正常對(duì)齊,最主要原因是導(dǎo)航環(huán)境過(guò)差,導(dǎo)致AGV 在站臺(tái)處停止位置不夠精確。影響導(dǎo)航環(huán)境的最主要因素是反射板。由于車間內(nèi)部各區(qū)域設(shè)備布局復(fù)雜,在AGV 運(yùn)行至某些特定位置時(shí),車間內(nèi)部玻璃表面、設(shè)備的反光表面等都會(huì)產(chǎn)生干擾光線。AGV 接收到干擾光線后,很可能將錯(cuò)誤光線與正確反射板相對(duì)應(yīng)。這種錯(cuò)誤對(duì)應(yīng)使得導(dǎo)航程序的下一個(gè)周期計(jì)算結(jié)果與估算結(jié)果相悖,從而走偏甚至丟失導(dǎo)航。同時(shí),AGV 運(yùn)行過(guò)程中,部分反射板在特定角度會(huì)被障礙物遮擋,這也會(huì)使可供定位的反射板數(shù)量減少,導(dǎo)致AGV 無(wú)法進(jìn)行定位計(jì)算,如圖4 所示。
圖4 錯(cuò)誤光線產(chǎn)生原理
綜上,影響AGV 精確定位的因素就是導(dǎo)航環(huán)境的復(fù)雜性,但是因車間內(nèi)部設(shè)備布局與建筑環(huán)境難以改變。為最大限度提升AGV 作業(yè)效率,降低定位不準(zhǔn)導(dǎo)致的裝卸貨故障,決定嘗試?yán)肁GV 控制功能中的“柔性段(Variable Segment)”功能。輔以適當(dāng)方式,提高WW511 型推挽式AGV 在站臺(tái)處的定位精度,使得AGV 在站臺(tái)處進(jìn)行“二次定位”。
AGV 的路徑由點(diǎn)和段組成,AGV 通過(guò)Layout 繪制好的路徑運(yùn)行。AGV 的運(yùn)行路徑遵循點(diǎn)到點(diǎn)的模式,兩點(diǎn)之間的路徑稱為“段”(Segment),長(zhǎng)度固定。AGV 必須走行至某段的終點(diǎn)坐標(biāo),自身的導(dǎo)航系統(tǒng)才會(huì)判定為該段結(jié)束,進(jìn)而執(zhí)行其他命令。“柔性段”(Variable Segment)顧名思義,段的長(zhǎng)度可變。這種功能允許AGV 在滿足其他判定條件時(shí),在到達(dá)該段的預(yù)設(shè)終點(diǎn)坐標(biāo)之前提前結(jié)束該段路徑,執(zhí)行下一步動(dòng)作。
如上所述,卷煙廠AGV 系統(tǒng)隨著使用時(shí)間的推移,設(shè)備產(chǎn)生自然老化。而且車間內(nèi)的導(dǎo)航環(huán)境已經(jīng)跟隨設(shè)備遷移發(fā)生了很大改變,導(dǎo)致AGV 在站臺(tái)處定位不夠精確,進(jìn)而頻繁產(chǎn)生裝卸貨故障。而全面優(yōu)化甚至重置導(dǎo)航環(huán)境,又會(huì)帶來(lái)極大工作量。
為此需要借助“柔性段”功能,在激光導(dǎo)引的基礎(chǔ)上進(jìn)一步提升AGV 定位精度。由此產(chǎn)生“二次定位”的概念,即通過(guò)加入新的驗(yàn)證機(jī)制,在AGV 運(yùn)行至裝卸貨位置時(shí)定位更加準(zhǔn)確,將AGV 與站臺(tái)之間的位置誤差控制在±3 mm 以內(nèi)。
推挽式AGV 的優(yōu)勢(shì)是能夠在狹小空間范圍內(nèi)進(jìn)行裝卸貨作業(yè),節(jié)約空間,在卷煙廠生產(chǎn)場(chǎng)地有限的情況下能夠有效提升設(shè)備作業(yè)效率。
本次二次定位系統(tǒng)改造主要涉及的輔料庫(kù)AGV 系統(tǒng)為NDC 7 系統(tǒng)。目前,NDC 7 系統(tǒng)與最新的NDC 8 系統(tǒng)相比,雖然通信效率、可擴(kuò)展性和簡(jiǎn)潔化程度都有所不及,但是NDC 7系統(tǒng)以其特殊的NPL 編程語(yǔ)言,保障了AGV 單機(jī)車體作業(yè)時(shí)的高效和穩(wěn)定。因此,在工業(yè)控制領(lǐng)域,NDC 7 系統(tǒng)仍舊保持強(qiáng)大生命力。
在柔性段功能中,NDC 公司提供了多種段的結(jié)束方式(圖5)。最常見(jiàn)的是使AGV 在運(yùn)行中,通過(guò)走行電機(jī)編碼器計(jì)算實(shí)際的走行距離并與設(shè)定值進(jìn)行比對(duì),以精確控制AGV 在最終段(Last Segment)的停止位置。但是這種方式基于AGV 在路徑段的起點(diǎn)處能夠精確定位的前提,對(duì)AGV 自身的激光定位準(zhǔn)確度要求較高,不適用于卷煙廠目前導(dǎo)航環(huán)境非常復(fù)雜的情況。為此,決定使用外部信號(hào)觸發(fā)段結(jié)束指令的方式。
圖5 柔性段幫助文檔
通過(guò)分析車型結(jié)構(gòu)與裝卸貨過(guò)程,最終選用鏡反射式光電檢測(cè)作為檢測(cè)站臺(tái)到位工具。在AGV 左右兩側(cè)安裝光電檢測(cè),在站臺(tái)上粘貼反射片,如圖6 所示。
圖6 硬件改造
當(dāng)AGV 對(duì)齊站臺(tái)時(shí),側(cè)面光電檢測(cè)照射到站臺(tái)上的反射片,給予ACC70 一個(gè)外部信號(hào)。當(dāng)AGV 檢測(cè)到該信號(hào)時(shí),即認(rèn)為對(duì)齊站臺(tái)。站臺(tái)上反射片的粘貼位置需要通過(guò)操作AGV 進(jìn)行反復(fù)調(diào)整,確保當(dāng)光電檢測(cè)被觸發(fā)時(shí),AGV 與站臺(tái)剛好對(duì)齊,如圖7 所示。
圖7 保證反射片粘貼位置正確
AGV 路徑設(shè)定使用NDC 開(kāi)發(fā)的Layout 軟件,界面如圖8所示,其內(nèi)部集成多種AGV 路徑規(guī)劃功能。在NDC 7 系統(tǒng)中,Layout 作為功能模塊被集成在DOS 下的AutoCAD(R)軟件中,路徑地圖被保存為.dwg 文件,使用Layout 中的功能塊則可以導(dǎo)出與AGV 相關(guān)的功能配置文件。
圖8 Layout 軟件界面
由于添加了柔性段,導(dǎo)致路徑中段的數(shù)目倍增,會(huì)影響AGV 作業(yè)分配。原因是AGV 在NDC 7 系統(tǒng)下計(jì)算AGV 與作業(yè)點(diǎn)的距離是對(duì)所有路徑段上點(diǎn)的數(shù)量來(lái)進(jìn)行比較的,即使各段長(zhǎng)度很短,系統(tǒng)也會(huì)認(rèn)為AGV 位置過(guò)遠(yuǎn)。由于添加新的坐標(biāo)點(diǎn)來(lái)定義柔性段,點(diǎn)的數(shù)量也成倍增長(zhǎng),因此需要優(yōu)化原AGV行進(jìn)路線,在保證功能的前提下大幅減少路徑段的數(shù)量。
卷煙廠輔料庫(kù)供料系統(tǒng)中,對(duì)應(yīng)的裝卸貨站臺(tái)多達(dá)200 余個(gè)。但是在本次改造中,無(wú)需對(duì)所有站臺(tái)進(jìn)行重新定位與測(cè)量,僅需要對(duì)原有站臺(tái)處路徑段進(jìn)行改造升級(jí)。
設(shè)計(jì)思路:為預(yù)防AGV 在站臺(tái)處沒(méi)有觸發(fā)光電檢測(cè),將原來(lái)與站臺(tái)對(duì)齊的坐標(biāo)點(diǎn)往前移動(dòng)一段距離,使得AGV 可以行走更多距離來(lái)觸發(fā)光電檢測(cè),對(duì)齊站臺(tái)。這樣就實(shí)現(xiàn)了使用站臺(tái)實(shí)際位置作為段的終點(diǎn)的目的,從而保證AGV 在站臺(tái)處的精確定位。若未檢測(cè)到反射片,AGV 將會(huì)一直走行至新站臺(tái)坐標(biāo)點(diǎn)。由于光電管在此處并未檢測(cè)到站臺(tái)上的反射片,AGV 將會(huì)停止裝卸貨動(dòng)作,向上位系統(tǒng)返回故障信息,在原地停留等待人工處理。實(shí)際路徑修改流程如圖9 所示,需要定義新的坐標(biāo)點(diǎn),將原先的段分為兩個(gè)新的段,將新的點(diǎn)到移動(dòng)后原坐標(biāo)點(diǎn)的段定義為柔性段,如圖10 所示。柔性段功能開(kāi)啟后,還需要將原來(lái)段屬性全部復(fù)制過(guò)來(lái),使得該新增的柔性段在其他功能上與原段無(wú)異,即使作為通過(guò)段也能被導(dǎo)航卡正常規(guī)劃。同時(shí),在圖11 所示的標(biāo)簽頁(yè)中,對(duì)已經(jīng)改造的路徑起止點(diǎn),定義完全相同的功能與前后繼關(guān)系,保證AGV 在該柔性段上的其他作業(yè)過(guò)程正常。
圖9 實(shí)際路徑修改流程
圖10 開(kāi)啟路徑的柔性段功能
圖11 站臺(tái)點(diǎn)功能復(fù)制
在NDC 7 系統(tǒng)程序平臺(tái)中,AGV 單機(jī)程序由BASE 7文件夾下的多個(gè)子文件組成,如圖12 所示。從圖中可以看出,.a70、.sys、.c7 和.cwy 分別對(duì)應(yīng)多個(gè)AGV 開(kāi)發(fā)程序:.a70 對(duì)應(yīng)ACC70 編程文件,.sys 對(duì)應(yīng)路徑程序Layout 應(yīng)用文件,.c7 為總編譯器需求文件,.cwy 對(duì)應(yīng)CWAY,是上位系統(tǒng)監(jiān)控軟件的地圖配置文件。其中,.a70 文件可以使用計(jì)算機(jī)的ACC70.exe 軟件進(jìn)行編輯,修改AGV 的控制邏輯程序。在本次改造中,需要對(duì)AGV 的部分動(dòng)作與邏輯判定程序進(jìn)行升級(jí),增加適當(dāng)?shù)墓δ軄?lái)配合柔性段的使用。同時(shí),更新AGV 的路徑與程序后,還需要升級(jí)相應(yīng)的.c7 與.cwy 文件來(lái)更新上位系統(tǒng)。
圖12 NDC7 系統(tǒng)下文件構(gòu)成
在ACC70 程序中,首先添加路徑的屬性變量(Attribute Symbles)flex_left、flex_right(圖13)。在路徑規(guī)劃中,改寫路徑的功能屬性,使得小車在行進(jìn)至該段時(shí)將此變量置位,作為開(kāi)啟二次定位功能的前提條件之一。同時(shí)在圖14 所示標(biāo)簽頁(yè)中,對(duì)路徑設(shè)定相關(guān)的PLC Attr,以改造該段路徑的功能。
圖13 添加屬性變量
圖14 修改路徑屬性
由于添加了左右2 個(gè)光電檢測(cè)開(kāi)關(guān),因此需要定義新的外部輸入信號(hào)。將光電檢測(cè)的信號(hào)接入AGV 控制模塊ACC70 的I/O 點(diǎn),在ACC70 程序中定義新的輸入變量名稱,如圖15 所示。
圖15 I/O 點(diǎn)定義
定義A1、A2 兩個(gè)輸入端子為左右光電開(kāi)關(guān)輸入量,命名為flex_l、flex_r,分別對(duì)應(yīng)左側(cè)和右側(cè)的光電開(kāi)關(guān)。當(dāng)光電開(kāi)關(guān)檢測(cè)到站臺(tái)上的反射片時(shí),該變量將被置位,用于下一步的邏輯判定。為此,在ACC70 PLC 中編寫柔性段停止作業(yè)程序,使AGV在滿足對(duì)齊站臺(tái)的各條件時(shí),置位“Arrived”變量,結(jié)束柔性段,發(fā)出AGV 到位信號(hào)。
圖16 中,“onlastseg”變量即為AGV 在走行中行進(jìn)至最后段時(shí)的標(biāo)志變量,由上位系統(tǒng)給出。結(jié)合添加的路徑屬性變量,所有判斷條件均要在裝卸貨路徑的柔性段才能啟用,因此不必?fù)?dān)心AGV 小車在運(yùn)行過(guò)程照射到其他站臺(tái)反射片,導(dǎo)致光電檢測(cè)誤觸發(fā)。同時(shí),在圖17 所示的菜單中,修改AGV 原有的裝卸貨控制程序,新增光電檢測(cè)判定。保證AGV 在裝卸貨過(guò)程中保持與站臺(tái)的對(duì)齊,避免個(gè)別AGV 在停車或作業(yè)過(guò)程中產(chǎn)生輕微位移,導(dǎo)致裝卸貨故障。最后,在全局變量中新增需要的各標(biāo)志位變量和中間變量,保證程序能夠正常編譯,如圖18 所示。
圖16 柔性段邏輯程序編寫
圖17 裝卸貨程序修改
圖18 全局變量添加
由于AGV 車體之間存在差異性老化,例如,編碼器比例值變化、抱閘制動(dòng)性能不同等,即使AGV 處于導(dǎo)航環(huán)境良好的區(qū)域,也會(huì)出現(xiàn)丟失導(dǎo)航的情況。對(duì)于這些基礎(chǔ)問(wèn)題,對(duì)AGV 所有硬件進(jìn)行維護(hù),包括調(diào)整抱閘間隙、修正各編碼器比例值等。同時(shí)通過(guò)校準(zhǔn)反射板坐標(biāo)、增加反射板等手段,提高導(dǎo)航環(huán)境的可靠性,排除硬件給AGV 定位帶來(lái)的干擾因素。
通過(guò)二次定位系統(tǒng)改造,修改AGV 路徑系統(tǒng)及車載控制程序。使得AGV 裝卸貨時(shí)能夠擺脫坐標(biāo)點(diǎn)的定位要求,柔性實(shí)現(xiàn)裝卸貨功能。改造后1 周內(nèi)輔料庫(kù)AGV 故障類型比例情況如圖19 所示,可見(jiàn),輔料庫(kù)AGV 在二次定位改造后,站臺(tái)定位的準(zhǔn)確性得到極大提升,AGV 故障率明顯降低。
圖19 改造后1 周內(nèi)輔料庫(kù)AGV 故障類型比例情況
AGV 作為科技自動(dòng)化的前沿產(chǎn)品,在各行各業(yè)都有著廣泛運(yùn)用,其制導(dǎo)模式也多種多樣。為更好向用戶提供便利,AGV 也經(jīng)歷著不斷改進(jìn),但是都離不開(kāi)路徑的規(guī)劃。無(wú)規(guī)矩不成方圓,良好的路徑規(guī)劃能夠提供優(yōu)質(zhì)服務(wù)。二次定位實(shí)質(zhì)是對(duì)路徑規(guī)劃的一次升華,在有限的資源條件下,以最小投入解決最大問(wèn)題,為以后AGV 路徑的規(guī)劃提供有利參考。