倪海鵬 顧新艷 趙偉軍 陳立成 李昕鳴
(南京工程學院 汽車與軌道交通學院,南京 211167)
自動導航車(Automated Guided Vehicles,AGV)是一種自動化的無人駕駛的智能化搬運設(shè)備,屬于移動式機器人系統(tǒng),能夠沿預先設(shè)定的路徑行駛,是現(xiàn)代工業(yè)自動化物流系統(tǒng)的關(guān)鍵設(shè)備之一。導航技術(shù)是AGV技術(shù)的研究核心,目前國內(nèi)外主流AGV導航方式可分為固定路徑導航和柔性路徑導航兩類,其中,固定路徑導航法需要在運行路徑上預先設(shè)置引導物質(zhì),如軌道、黑白膠帶、磁帶或電磁導線等,通過傳感器獲取引導物質(zhì)的位置來引導AGV,該類技術(shù)相對成熟,是國內(nèi)AGV采用的主流導航方法。但在實際應(yīng)用中,當AGV的運行路徑需要調(diào)整時,固定路徑導航法的弊端則凸顯出來,軌道、磁帶等引導線路由于其本身的特性,無法快速、方便地調(diào)整?;诖?,提出一種基于圖像處理技術(shù)的導航方案,在原來的AGV小車上加裝視覺處理模塊,并在既有道路的路口放置指示燈,小車到達路口時,根據(jù)指示燈顏色所代表的含義,完成左轉(zhuǎn)彎、右轉(zhuǎn)彎或直行的動作,當運行路徑需要調(diào)整時,僅需更改路口指示燈的顏色,便可以完成新的路徑規(guī)劃。
在設(shè)定的環(huán)境中,AGV直線行駛時,運行避障、測距、驅(qū)動等常規(guī)程序,并將AGV運行狀態(tài)等數(shù)據(jù)通過WiFi通信上傳至系統(tǒng)上位機進行狀態(tài)顯示,以便相關(guān)人員對運行狀態(tài)進行監(jiān)測;AGV行駛至路口時,視覺處理模塊捕捉到指示燈,視覺處理模塊將每幀圖像中指示燈的顏色、位置、指示燈像素點數(shù)量(距離)等數(shù)據(jù)通過串口發(fā)送到主控板。主控板根據(jù)指示燈顏色判斷路徑規(guī)劃,即此路口左轉(zhuǎn)、右轉(zhuǎn)或直行(顏色和方向的對應(yīng)關(guān)系見表1),根據(jù)指示燈像素點數(shù)量即鏡頭和指示燈間距來判斷是否到達預設(shè)轉(zhuǎn)彎距離,根據(jù)其車身偏移量調(diào)整車身姿態(tài);當距離到達設(shè)定閾值,AGV完成原地轉(zhuǎn)彎動作,而后繼續(xù)運行。
表1 顏色和方向的對應(yīng)關(guān)系表
視覺導航AGV小車的整體控制方案如圖1所示。視覺處理使用搭載OV7725攝像頭的OPENMV模塊,不斷地抓取并處理車輛前方圖像信息,將指示燈的顏色、距離、方位等信息通過串口傳遞給主控板;與此同時,避障模塊的毫米波雷達將障礙物信息通過串口傳遞給主控板;主控板整合路標相關(guān)數(shù)據(jù)及車周障礙物情況,分析小車在下一路口運動方向,及時按照相關(guān)通信協(xié)議通過232串行通信給驅(qū)動模塊發(fā)送相關(guān)驅(qū)動指令,并將小車運行狀態(tài)、車周障礙物信息通過無線WiFi模塊上傳至Windows端進行狀態(tài)顯示,以便監(jiān)測人員對小車運行狀態(tài)進行實時監(jiān)測;同樣,監(jiān)測人員可以通過上位機對小車發(fā)送緊急停止的指令。
2.1.1 整機設(shè)計
主控板CPU采用i.MX RT1052芯片,此款芯片無需片內(nèi)閃存,能夠降低成本,而且集高性能、低延遲、高能效和安全性于一體。主控板與各模塊電氣連接、供電系統(tǒng)如圖2所示。
圖1 控制方案示意圖
圖2 各模塊電氣連接及供電示意圖
2.1.2 視覺處理模塊
視覺處理采用OPENMV模塊,此模塊搭載STM32H743II ARM Cortex M7處理器,主頻能達到480MHz,擁有1MB RAM、2MB Flash,外 部 搭 配32MB的32-bit SDRAM、100MHz的時鐘,擁有400MB/s的帶寬,能夠滿足高效率的圖像處理任務(wù)。攝像頭采用OV7725 COMS傳感器,能夠輸出640×480分辨率的圖像并保持60幀的輸出速率。此外,OPENMV模塊外部留有UART接口,將之與主控板UART相連接,以完成視覺處理模塊將路標數(shù)據(jù)傳遞給主控板。
2.1.3 避障模塊
避障采用毫米波定高雷達模塊,該模塊波束寬度40°×40°,數(shù)據(jù)率達到50Hz,能夠同時檢測前方多個障礙物的距離,測距范圍0.15~30m,測距精度±0.02m。
主控板軟件系統(tǒng)流程圖如圖3所示。
視覺模塊OPEN MV在處理完一幀數(shù)據(jù)后,將指示燈相關(guān)數(shù)據(jù)通過串口發(fā)送到主控板,此過程中,兩設(shè)備間通信協(xié)議擬定規(guī)則如圖4所示。
(1)起始:表示一幀數(shù)據(jù)的開始,這是一個恒定值0X01,其數(shù)據(jù)長度為一個字節(jié)。
(2)數(shù)據(jù)長度:表示數(shù)據(jù)段的長度,其數(shù)據(jù)長度為一個字節(jié)。
(3)數(shù)據(jù)段:表示攝像頭模塊處理的具體信息,第一個字節(jié)為指示燈的顏色;第二個字節(jié)為AGV搬運車與信號燈的距離;第三個字節(jié)為信號燈相對于AGV搬運車的偏移量;其數(shù)據(jù)長度為3個字節(jié)。
(4)結(jié)束:表示一幀數(shù)據(jù)的結(jié)束,恒定值為0X02;其數(shù)據(jù)長度為1個字節(jié)。
在設(shè)定的運行環(huán)境中,小車相繼經(jīng)過兩個路口,在第一個路口處小車左拐,在第二個路口處小車右拐。在整個運行過程中,主控板持續(xù)將運行狀態(tài)發(fā)送至Windows端。此外,為了測試整機系統(tǒng)運行狀態(tài),將視覺模塊通過串口傳給主控板的數(shù)據(jù)也一并發(fā)送至Windows端,作為測試數(shù)據(jù)。
路口環(huán)境如圖5所示。
圖3 軟件流程圖
小車運行過程中,Windows端狀態(tài)顯示數(shù)據(jù)如圖6所示。
圖4 通信協(xié)議字段組成
圖5 路口環(huán)境
圖6 狀態(tài)顯示
通過對串口回傳的數(shù)據(jù)分析,視覺模塊能夠正常識別到指示燈各項信息,主控板能夠給底層驅(qū)動發(fā)送正確的驅(qū)動信號,小車運行正常。
基于顏色的視覺導航AGV小車能夠在較為簡單的硬件基礎(chǔ)上,跟隨指示燈的指引方向運行,并且通過WiFi與上位機實時通信。相較于傳統(tǒng)的AGV固定路徑導航技術(shù),本方案通過改變指示燈顏色,便可輕松更改AGV的固定運行軌跡。對于已經(jīng)建成的運用傳統(tǒng)AGV固定路徑導航技術(shù)的廠房,僅需要加裝一套簡單的可變指示燈系統(tǒng),便可完成對AGV的改造升級。