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