關(guān)鍵詞 料倉; 儲料量; 激光雷達(dá); 點(diǎn)云處理; 三維重建
中圖分類號 TN958.98;S816 文獻(xiàn)標(biāo)識碼 A 文章編號 1000-2421(2024)03-0293-09
大型飼料生產(chǎn)企業(yè)一般采用立筒倉儲存生產(chǎn)用的谷物類原料[1-2]。目前,倉內(nèi)儲料量測量方法可以分為2 種,即直接測量方式和間接測量方式[3]。直接測量方式是利用壓力傳感器直接測得儲料量質(zhì)量。丁虹民[4]通過改進(jìn)傳感器的彈性應(yīng)變體結(jié)構(gòu)和封裝形式,使糧食散料的分布式載荷轉(zhuǎn)化成集中載荷進(jìn)行測量,當(dāng)儲料量發(fā)生變化時,傳感器的彈性變形會使得應(yīng)變片阻值發(fā)生相應(yīng)變化,以電信號反饋質(zhì)量信息。劉世界[5]通過制作的三維力傳感器測量裝置倉壁與糧食之間正壓力與相對靜摩擦力的測試系統(tǒng),結(jié)合糧倉底部壓力的測量,實(shí)現(xiàn)儲料量的質(zhì)量測量。直接測量方式盡管測量手段簡單,但適用于大型筒倉的大量程高精度的壓力傳感器成本較高;另一方面溫度、濕度、惡劣天氣影響等因素均會對傳感器的測量精度產(chǎn)生影響,且需定期對壓力傳感器進(jìn)行定期標(biāo)定,測量過程復(fù)雜且精度不穩(wěn)定。
間接測量方式是通過激光雷達(dá)掃描技術(shù)對儲存物料進(jìn)行掃描,獲得儲存物料的體積,結(jié)合物料容重確定儲存物料質(zhì)量。激光雷達(dá)掃描技術(shù)具有受光照影響小、分辨率高、掃描速度快等優(yōu)點(diǎn)[6-8],受到研究者的廣泛關(guān)注,如在家畜體尺測量、植物株高測量、樹冠體積計算、土方量計算等[9-13]領(lǐng)域有著廣泛的應(yīng)用。在物料儲料量測量方面,謝穎[14]、李鵬[15]、李凱[16]為實(shí)現(xiàn)對糧倉的儲料量測量,開發(fā)了一種基于三維激光掃描的糧倉快速建模與儲糧體積快速測量技術(shù),實(shí)現(xiàn)了對糧倉儲糧的快速高精度的測量。邵晴等[17]為實(shí)現(xiàn)倉儲糧儲量在線實(shí)時監(jiān)測,開發(fā)了一種基于三維激光掃描技術(shù)的糧食儲量在線監(jiān)測系統(tǒng),解決了倉儲糧儲量快速高精度測量的問題。間接測量方式需要根據(jù)不同的方式構(gòu)建不同的運(yùn)算方法,但其測試過程穩(wěn)定,無需定期校準(zhǔn),對激光雷達(dá)合理的選型可良好控制成本,更有利于企業(yè)對料倉進(jìn)行系統(tǒng)管理。
為探討基于二維激光雷達(dá)掃描的儲料量測量方法的可行性,本研究設(shè)計了一種基于二維激光雷達(dá)的儲料量測量裝置,利用二維激光雷達(dá)實(shí)現(xiàn)對物料的三維掃描,采集物料的三維點(diǎn)云數(shù)據(jù)并對三維點(diǎn)云進(jìn)行處理,利用三維重建方法計算物料的體積,結(jié)合物料容重實(shí)現(xiàn)物料儲料量自動測量,旨在為大型料倉的儲料量測量提供技術(shù)支撐。
1 材料與方法
1.1 測量系統(tǒng)
1)測量裝置結(jié)構(gòu)。儲料量測量裝置整體結(jié)構(gòu)如圖1 所示。該裝置由二維激光雷達(dá)、高精度伺服電機(jī)、直流電動推桿、驅(qū)動控制器、支架等組成。為了防止粉塵對測量設(shè)備的污染,在激光雷達(dá)下方設(shè)置防塵板。防塵板和測量模塊均以電動推桿為執(zhí)行元件,激光雷達(dá)通過L 型支座與伺服電機(jī)和電動推桿相連于裝置內(nèi)部上方。本裝置采用RPLIDAR S1型二維激光雷達(dá),其測量半徑為40 m,測距分辨率為3 cm,測量精度為±5 cm。伺服電機(jī)采用國產(chǎn)RMD-S-5010 型,編碼精度為16 bit,最小的可調(diào)節(jié)角度為0.01°。
2)掃描測量原理。激光雷達(dá)采用脈沖式測距技術(shù),測距過程如下:由激光雷達(dá)發(fā)射窗口發(fā)出1 個持續(xù)時間極短的脈沖激光,被目標(biāo)物體反射,發(fā)射脈沖激光信號被激光接收窗口中的光電探測器接收,通過計算激光發(fā)射和回波信號接收的時間間隔獲得目標(biāo)物體距離。激光雷達(dá)掃描過程沿順時針方向旋轉(zhuǎn),旋轉(zhuǎn)角度范圍為0°~360°。在掃描過程中,由于每次掃描只能獲得1 個平面內(nèi)的距離信息,為了獲取儲存物料表面三維點(diǎn)云,通過伺服電機(jī)控制二維激光雷達(dá)的方位角,驅(qū)動二維激光雷達(dá)的旋轉(zhuǎn),實(shí)現(xiàn)二維激光雷達(dá)對倉內(nèi)儲存物料的全覆蓋三維掃描。
激光雷達(dá)掃描獲取的數(shù)據(jù)由被測距離值d、掃描角度α 和電機(jī)轉(zhuǎn)動的方位角η 組成。采集到的信息為極坐標(biāo)系下的數(shù)據(jù),坐標(biāo)系原點(diǎn)為測距核心的旋轉(zhuǎn)中心,其發(fā)射窗口的正前方定義為坐標(biāo)系的x 軸,x軸在橫向掃描面內(nèi),y 軸在橫向掃描內(nèi)與x 軸垂直,z軸與橫向掃描面垂直(圖2)。圖2 中,其中P 為掃描點(diǎn),P’為掃描點(diǎn)在xOy 平面上的投影點(diǎn)。由此可得點(diǎn)云的三維坐標(biāo)轉(zhuǎn)換公式為:
式(1)中:d 為雷達(dá)與掃描點(diǎn)的距離值,mm;α 為激光雷達(dá)掃描的偏轉(zhuǎn)角,(°);η 為伺服電機(jī)偏轉(zhuǎn)的方位角,(°);H 為激光雷達(dá)距離地面的高度,3 600 mm。
3)控制系統(tǒng)。儲料量測量控制系統(tǒng)主要包括Arduino UNO 開發(fā)板、四路5 V 繼電器、按鍵模塊、供電模塊、串口通信轉(zhuǎn)換器等。控制系統(tǒng)硬件連接圖如圖3 所示??刂葡到y(tǒng)主要包括激光雷達(dá)與伺服電機(jī)通信部分和推桿控制2 部分,實(shí)現(xiàn)對物料點(diǎn)云數(shù)據(jù)的采集、電動推桿伸縮等過程的控制。電動推桿控制部分主要由Arduino UNO 開發(fā)板、獨(dú)立按鍵模塊和繼電器模塊組成,Arduino 單片機(jī)連接繼電器和獨(dú)立按鍵模塊,獨(dú)立按鍵模塊通過繼電器控制電動推桿的伸縮動作。測量裝置開啟掃描前1 號電動推桿縮回,打開防塵板;2 號電動推桿推動激光雷達(dá)伸入倉內(nèi)開啟掃描,掃描結(jié)束后2 號電動推桿拉回激光雷達(dá)復(fù)位,1 號電動推桿伸出,關(guān)閉防塵板。激光雷達(dá)與伺服電機(jī)控制部分主要由激光雷達(dá)、伺服電機(jī)和PC 端組成,PC 端可以實(shí)時獲取激光雷達(dá)的掃描數(shù)據(jù)、設(shè)備信息、設(shè)備健康狀態(tài),PC 端還可以給伺服電機(jī)發(fā)送控制指令,電機(jī)接收到指令后根據(jù)命令類型選擇驅(qū)動方式,激光雷達(dá)和伺服電機(jī)通過PC 端進(jìn)行串口通信,激光雷達(dá)在每個方位角完成掃描后,暫停掃描,立即通過PC 端向伺服電機(jī)發(fā)送控制指令,伺服電機(jī)繼續(xù)旋轉(zhuǎn)1 個方位角后,激光雷達(dá)繼續(xù)開啟掃描,重復(fù)以上動作直至伺服電機(jī)完成360°旋轉(zhuǎn)。
1.2 試驗(yàn)材料
采用自主設(shè)計的儲料量測量系統(tǒng),以玉米為試驗(yàn)對象,通過小型料塔內(nèi)玉米儲料量測量驗(yàn)證試驗(yàn),對料塔儲料量測量方法的可行性及測量精度進(jìn)行試驗(yàn)。測定玉米平均容重為735.90 kg/m3;料塔總體高度為3 m,總?cè)萘繛?.8 m3,其中直體部分高度為0.68 m,上錐體部分為0.58 m,下錐體部分為1.74 m。試驗(yàn)測量現(xiàn)場如圖4 所示。
1.3 試驗(yàn)方法
將玉米分9 次投入到料塔內(nèi),每次上料100 kg,共上料900 kg。采集不同儲料量的玉米掃描數(shù)據(jù),并對掃描數(shù)據(jù)坐標(biāo)轉(zhuǎn)換得到玉米的三維點(diǎn)云數(shù)據(jù),對三維點(diǎn)云數(shù)據(jù)依次進(jìn)行重疊點(diǎn)提取、直通濾波、歐式聚類分割、點(diǎn)云拼接等處理,采用三維重建方法計算不同儲料量的玉米體積,并對基于三維重建的體積測量方法進(jìn)行體積驗(yàn)證。驗(yàn)證過程如下:采用容量15 L 桶量取玉米,每次裝料完成后用刮板將表面刮平,直至量取100 kg 玉米,并記錄量取次數(shù)n。試驗(yàn)中最后1 次玉米取樣時,玉米沒有達(dá)到“滿桶”,此時將桶內(nèi)玉米表面刮平,在桶內(nèi)沿玉米表面作標(biāo)記線。玉米上料完成后,向桶內(nèi)注水至桶內(nèi)標(biāo)記線位置,使用1 L 量筒確定桶內(nèi)水的體積Vw,Vw 為最后1 次上料的玉米體積,則玉米總體積的計算公式為:
1.4 點(diǎn)云數(shù)據(jù)采集與處理
1)掃描數(shù)據(jù)采集。基于二維激光雷達(dá)和伺服電機(jī)開發(fā)的三維掃描系統(tǒng)在數(shù)據(jù)采集階段采用脈沖測距方式獲取料塔內(nèi)物料表面的三維信息,點(diǎn)云數(shù)據(jù)采集流程如圖5 所示。測量裝置完成初始設(shè)定后,1號獨(dú)立按鍵通過Arduino 單片機(jī)和繼電器控制1 號電動推桿打開防塵板,2 號獨(dú)立按鍵通過Arduino 單片機(jī)和繼電器控制2 號電動推桿推動激光雷達(dá)和伺服電機(jī)伸入料塔中,激光雷達(dá)和伺服電機(jī)同步啟動開始掃描,掃描結(jié)束后推桿控制雷達(dá)和防塵板復(fù)位。掃描示意圖如圖6 所示。掃描數(shù)據(jù)獲取后保存進(jìn)文件夾內(nèi),對掃描數(shù)據(jù)進(jìn)行坐標(biāo)轉(zhuǎn)換獲得料塔內(nèi)物料點(diǎn)云的三維信息。
2)料塔內(nèi)物料點(diǎn)云數(shù)據(jù)處理。①點(diǎn)云重疊點(diǎn)提取。測量設(shè)備由于位置、環(huán)境等因素帶來的影響,無法精準(zhǔn)控制激光雷達(dá)只獲取物料表面的點(diǎn)云數(shù)據(jù),獲取到的點(diǎn)云數(shù)據(jù)還包含料塔壁點(diǎn)云。由于獲取到的空料塔點(diǎn)云和儲存物料的點(diǎn)云含有共同的重疊部分點(diǎn)云,需要將重疊部分進(jìn)行對應(yīng)索引提取。點(diǎn)云索引是2 片點(diǎn)云之間點(diǎn)的一一對應(yīng)索引,若某一點(diǎn)在某一距離閾值領(lǐng)域內(nèi)不止其本身一個點(diǎn),則認(rèn)為其有重復(fù)點(diǎn)[18]。點(diǎn)云索引將三維點(diǎn)云分割為多個子空間來實(shí)現(xiàn)空間三維點(diǎn)云的快速檢索,從而實(shí)現(xiàn)對整體點(diǎn)云的重疊點(diǎn)提取。
②點(diǎn)云濾波。由于2 片點(diǎn)云之間是一一對應(yīng)索引提取重疊點(diǎn),未能完全對2 片點(diǎn)云重疊部分做到完全提取,故需要對重疊點(diǎn)提取后的點(diǎn)云進(jìn)行濾波處理。目前常用的點(diǎn)云濾波方法:直通濾波(passthrough)、半徑濾波(radius outlier removal)、條件濾波(conditional removal)、統(tǒng)計濾波(statistical outlieremoval)、體素濾波(voxel grid)等,考慮到后續(xù)的分割要求,直接采用直通濾波作為料塔物料點(diǎn)云濾波方法。直通濾波是濾波掉在某一維度方向上定值域內(nèi)以外的點(diǎn)[19],指定一個維度以及該維度下的值域,遍歷點(diǎn)云中的每個點(diǎn),判斷該點(diǎn)在指定維度上的取值是否在值域內(nèi),刪除不在值域內(nèi)的點(diǎn),遍歷結(jié)束后,留下的點(diǎn)即構(gòu)成濾波后點(diǎn)云。
③點(diǎn)云分割。經(jīng)過上述點(diǎn)云濾波后,進(jìn)行基于kd-tree 最近鄰搜索的歐式聚類處理直通濾波后的點(diǎn)云。kd-tree 是一種分k 維數(shù)據(jù)空間點(diǎn)的數(shù)據(jù)結(jié)構(gòu),其常用于多維空間中數(shù)據(jù)的搜索。kd-tree 的每個節(jié)點(diǎn)都是k 維的二叉樹,本研究是三維點(diǎn)云,所以kd-tree中的k=3。從樹的根節(jié)點(diǎn)到其子節(jié)點(diǎn),根節(jié)點(diǎn)以x 軸值、子節(jié)點(diǎn)以y 軸值、孫節(jié)點(diǎn)以z 軸值、曾孫節(jié)點(diǎn)以x軸值、依此類推為關(guān)鍵值[20]。每個節(jié)點(diǎn)以關(guān)鍵值建立超平面,且超平面垂直于關(guān)鍵值所在的軸,將空間分為2 個部分,左側(cè)的點(diǎn)由左子樹表示,右側(cè)的點(diǎn)由右子樹表示。kd-tree 鄰域搜索如圖7 所示。
kd-tree 進(jìn)行三維空間點(diǎn)的搜索時,從根節(jié)點(diǎn)開始以遞歸的方式向下沿著樹進(jìn)行搜索,搜索到某一節(jié)點(diǎn)到給定點(diǎn)的歐氏距離小于設(shè)定的最近鄰域值則為最近鄰點(diǎn),則該點(diǎn)到給定點(diǎn)的距離為當(dāng)前最小距離,同時沿著原搜索路徑回退至根節(jié)點(diǎn),若發(fā)現(xiàn)該點(diǎn)到某一點(diǎn)的距離小于當(dāng)前最小距離,則繼續(xù)搜索未曾訪問的整個分支樹,即時更新最近鄰點(diǎn)直至所有的搜索完成,則kd-tree 最近鄰搜索完成。
式(5)中:若D≤T,則認(rèn)為此節(jié)點(diǎn)為目標(biāo)點(diǎn)的最近鄰點(diǎn)[20]。按照此方法對所有點(diǎn)云數(shù)據(jù)進(jìn)行搜索,直至滿足距離閾值的所有最近鄰點(diǎn)搜索完畢。物體之間的距離通??梢员砻鼽c(diǎn)云是否屬于同一物體,如果2 團(tuán)點(diǎn)云之間最近的距離小于單個點(diǎn)云內(nèi)部之間的距離,則可以通過歐式聚類分割算法將其分類。歐式聚類分割是對點(diǎn)云數(shù)據(jù)進(jìn)行kd-tree 最近鄰搜索,將所得最近的鄰點(diǎn)歸為一類,再將新生成的聚類之間進(jìn)行歐氏距離計算和迭代,直至劃分的聚類中任意2 個聚類之間的歐氏距離都大于設(shè)定的距離值,則完成歐式距離分割。
1.5 料塔內(nèi)物料三維重建和儲料量測量
1)物料三維重建。采用貪婪投影三角化算法(greedy projection algorithm)進(jìn)行塔內(nèi)儲存物料的三維重建。貪婪投影三角化算法將三維點(diǎn)云投影到二維坐標(biāo)平面內(nèi),采用基于Delaunay 的空間區(qū)域增長算法對平面內(nèi)的點(diǎn)云進(jìn)行三角化,從而獲得各點(diǎn)的連接關(guān)系,選取1 個三角面作為初始曲面,沿著初始曲面不斷擴(kuò)張,最終形成完整的封閉三角網(wǎng)格曲面模型,實(shí)現(xiàn)塔內(nèi)物料點(diǎn)云的三維重建[21]。
2)儲料量測量與評價。針對三維重建后封閉圖形體積的測量,類似于注水原理求取體積,通過虛擬化方式向三維封閉圖形中注水,直至將其注滿,注水體積即為料塔內(nèi)物料體積[22],根據(jù)PCL(point cloudlibrary)點(diǎn)云庫的vtkMassProperties 類實(shí)現(xiàn)對三維封閉圖形的體積計算。
獲得物料的體積后,依據(jù)物料的容重求得物料的質(zhì)量,該質(zhì)量即為掃描測量值。對樣本數(shù)據(jù)的掃描測量值與實(shí)際值進(jìn)行誤差分析,使用絕對誤差、平均絕對誤差、相對誤差、平均相對誤差作為測量精度的評價指標(biāo)。
2 結(jié)果與分析
2.1 激光雷達(dá)掃描數(shù)據(jù)與處理
為驗(yàn)證該測量方法的可行性,將試驗(yàn)對象分9 次投入料塔中,每次投入的質(zhì)量為100 kg,共計投入900 kg。對料塔儲存物料進(jìn)行掃描時,首先獲取空料塔原始點(diǎn)云,再分別獲取不同投放量物料的原始點(diǎn)云,每組原始點(diǎn)云數(shù)據(jù)為料塔原始點(diǎn)云與物料表面原始點(diǎn)云的拼接點(diǎn)云,共獲得了9 組原始點(diǎn)云數(shù)據(jù),獲得的原始點(diǎn)云如圖8 所示(以200 kg 物料為例)。
設(shè)置索引距離為20 mm 提取點(diǎn)云重疊點(diǎn),提取重疊點(diǎn)如圖9 所示。從圖9 可以明顯地看出,原始點(diǎn)云經(jīng)過重疊點(diǎn)提取后,2 片點(diǎn)云的重疊部分明顯變得稀疏,非重疊部分點(diǎn)云密度沒有變化,為后續(xù)的點(diǎn)云濾波提供了有效的前處理方法。
點(diǎn)云濾波采取直通濾波的方法,指定濾波z 軸上定值域內(nèi)以外的點(diǎn),對不同的點(diǎn)云數(shù)據(jù)選定最合適的定值域,點(diǎn)云濾波如圖10 所示。從圖10 可以看出,對提取重疊點(diǎn)后的點(diǎn)云進(jìn)行直通濾波處理,有效濾掉了大部分無效料塔壁點(diǎn)云,避免了無效料塔壁點(diǎn)云對后續(xù)的歐式聚類分割造成影響。
由于點(diǎn)云由同一激光雷達(dá)獲取,點(diǎn)云的疏密程度一致,在進(jìn)行歐式聚類分割時給定距離閾值為15mm,歐式聚類分割后的點(diǎn)云如圖11 所示。從圖11可以看出,料塔點(diǎn)云和物料表面點(diǎn)云直通濾波后進(jìn)行歐式聚類分割,將分割后的料塔點(diǎn)云和物料表面點(diǎn)云進(jìn)行點(diǎn)云拼接,得到了比較完整的料塔內(nèi)物料點(diǎn)云,為后續(xù)的三維重建提供了便利。
2.2 物料體積驗(yàn)證
9 組點(diǎn)云數(shù)據(jù)完成上述處理后,再使用貪婪投影三角化算法對點(diǎn)云進(jìn)行三維重建得到點(diǎn)云的三維封閉圖形。經(jīng)過貪婪投影三角化的三維重建圖像如圖12 所示。采用自主設(shè)計的儲料量測量系統(tǒng)測量9 組不同儲料量的玉米體積,測量體積與實(shí)際體積進(jìn)行對比分析,基于三維重建的體積驗(yàn)證結(jié)果如表1 所示。從表1 可知,基于三維重建方法的體積測量最大絕對誤差為0.017 2 m3,最小絕對誤差為0.001 6 m3,平均絕對誤差為0.008 9 m3;最大相對誤差為1.61%,最小相對誤差為1.03%,平均相對誤差為1.27%。結(jié)果表明,基于三維重建的體積測量方法獲得的測量值與實(shí)際體積相差不大,體積測量效果較好,適用于料倉的儲料量測量。
2.3 儲料量測量評估
結(jié)合玉米的容重與體積確定玉米的質(zhì)量,從而實(shí)現(xiàn)儲料量的測量。其中,儲料量實(shí)際值由人工測量測得,9 組掃描測量值為測量系統(tǒng)測得。試驗(yàn)結(jié)果的評價指標(biāo)如表2 所示,通過對比發(fā)現(xiàn),掃描測量值與實(shí)際值沒有明顯誤差,掃描測量值與實(shí)際值相比最大的誤差出現(xiàn)在第8 組試驗(yàn)中,絕對誤差為14.98kg,相對誤差為1.87%,最小誤差在第2 組試驗(yàn)中,絕對誤差為2.27 kg,相對誤差為1.14%,9 組試驗(yàn)數(shù)據(jù)的平均絕對誤差為8.05 kg,平均相對誤差為1.52%,所有試驗(yàn)數(shù)據(jù)均符合料塔儲料量測量要求。結(jié)果表明,基于激光雷達(dá)掃描的料塔儲料量測量方法是可行的,具有較好的穩(wěn)定性、較高的精度,能夠滿足生產(chǎn)實(shí)際需求。
3 討論
本研究提出了一種方便、快捷、準(zhǔn)確的基于二維激光雷達(dá)掃描的儲料量測量方法。采用激光雷達(dá)掃描技術(shù),設(shè)計了一種基于激光雷達(dá)掃描的儲料量測量裝置與系統(tǒng),采用小型料塔對該裝置的可行性與測量精度進(jìn)行試驗(yàn)驗(yàn)證。利用該裝置掃描倉內(nèi)物料獲取點(diǎn)云數(shù)據(jù),對點(diǎn)云數(shù)據(jù)分別進(jìn)行重疊點(diǎn)提取、濾波、分割和三維重建,計算倉內(nèi)物料三維模型的體積,依據(jù)三維模型的體積與物料的容重得到物料質(zhì)量。以玉米為試驗(yàn)對象,對該測量方法的可行性與測量精度進(jìn)行驗(yàn)證,該測量方法的平均絕對誤差為8.05 kg,平均相對誤差為1.52%。研究結(jié)果表明,采用二維激光雷達(dá)掃描技術(shù)實(shí)現(xiàn)原料儲料量的測量方法是可行的,該方法穩(wěn)定性良好、測量精度高,測量結(jié)果滿足儲料量測量精度要求。基于二維激光雷達(dá)掃描的方法具有更高的精度和更快的測量速度,為實(shí)現(xiàn)大型料倉原料儲料量的自動測量提供了一種新的方法和技術(shù)支撐。
本研究僅以小型料塔為驗(yàn)證對象,針對不同結(jié)構(gòu)尺寸、不同原料的各種料倉內(nèi)原料儲料量測量還需進(jìn)一步研究,更透徹挖掘激光掃描技術(shù)對倉內(nèi)物料儲料量測量的的適應(yīng)性和廣譜性,為實(shí)現(xiàn)各種不同結(jié)構(gòu)、不同原料儲料量快速、準(zhǔn)確的智能測量提供理論依據(jù)與技術(shù)支撐。
(責(zé)任編輯:陸文昌)