韓志平 靳玉峰

摘 要:由于二維激光傳感器成本比較昂貴,不是所有的導航實驗條件都能夠滿足購買此設備。所以有必要考慮采用虛擬仿真二維激光傳感器的方法,代替此掃描設備。此虛擬仿真方法是基于不同應用場景的柵格地圖信息,模擬二維激光掃描周圍現場場景,并可以將掃描后的激光信息傳遞給導航控制器。該應用結果表明,二維激光導航模擬器能夠很好的模擬激光掃描周圍場景,并將應用場景的描述信息準確地提供給導航控制器,為導航控制器實現建圖、避障等功能提供依據
關鍵詞:二維激光;傳感器;虛擬仿真;柵格地圖;導航控制器
文獻標志碼: TP242? ? 中圖分類號: A
1? 引言
隨著移動機器人[1]在物流等行業的推廣和使用,二維激光設備[2]變的尤為重要。在驗證導航、建圖、避障等算法時,二維激光設備又是必不可缺少的核心設備。所以需要開發出一種模擬器代替二維激光傳感器的使用,以便進行大量的實驗。
本文建立了一整套的二維激光導航模擬器,使得開發人員更加直觀的觀察二維激光導航狀態,同時模擬器向導航控制器傳遞激光導航信息,以便驗證移動機器人的相關算法。
2? 環境模擬
激光模擬仿真前,需要對周圍場景進行描述,從而使得激光模擬器可以根據這些描述,掃描周圍場景,確定場景物體位置。場景環境描述(即柵格地圖[3])是由實物二維激光傳感器掃描周圍復雜環境[4]而建立。
3? 激光模擬
二維激光如何掃描周圍場景,跟激光點的位置、角度和環境有關,同時也跟激光傳感器的參數有關。通常情況下,激光傳感器的參數和現場環境都是確定的,模擬算法只跟激光點的位置和角度有關。
3.1? 激光模擬計算
激光模擬是基于柵格地圖進行掃描,所以首先需要對柵格地圖進行分析[5]。柵格地圖的屬性文件包括地圖左下角點在世界坐標系中的坐標值、柵格地圖的行數和列數、柵格直徑大小。首先需要獲取每個柵格在世界坐標系中的位置,如公式(1)。
Lx和Ly是柵格在世界坐標系中x、y方向的數值,per是柵格直徑大小,Column是柵格所在地圖的列數,Row是柵格所在地圖的行數,Scale是世界坐標系與地圖坐標系的比例系數。
(1)
激光模擬計算時,面積較大的地圖,柵格數會比較多,導致算法復雜度增加,導致程序效率降低,無法在一個循環周期內處理完所有數據。故本文采用局部優化方法,先排除無效數據,得到有用數據,再進行算法處理,加快算法速度。
排除激光傳感器無法掃描到柵格地圖的方法,需要確定激光可達到區域。可達區域是以激光位置為圓心,激光掃描長度為半徑的圓形范圍內,如下方法。
Lx和Ly是柵格在世界坐標系中x、y方向的數值,Len是柵格與激光點的長度,LaserX和LaserY是二維激光點在世界坐標系中x、y方向的位置數值。Len如果小于激光掃描長度,此柵格就為激光線可達到的點。如公式(2)計算求得Len。
(2)
判斷每個柵格到激光點的角度與激光朝向所成夾角在90度范圍內,以排除激光的后面、側面激光掃描線不能達到位置。如圖2所示,兩條掃描線都與Y軸夾角小于90度。如公式(3)所示,x是柵格與激光點之間的角度值,atan是C語言中的反正切函數,返回方向角度,fabs是C語言中的求絕對值的函數,是激光朝向角度,就是最終求的夾角,當小于等于90時,即為有效的柵格點。
(3)
獲取有效的柵格點后,需要將有效的柵格點當作阻擋激光掃描線的障礙點,傳遞給導航控制器。傳遞信息包括每個柵格阻擋掃描線的序號、掃描線的長度。求掃描線的長度如公式(2)所示,求阻擋掃描線的序號,以下公式所示。
LaserID是激光掃描線的序號,fetep是兩條掃描之間的角度。
(4)
3.1.1? 阻擋激光掃描線問題
在現實場景中,很多情況下,障礙物放置都是多層次的[5]。所以激光掃描時,部分掃描線會被障礙物阻擋,無法掃描到此障礙物后面的障礙物,需要考慮算法與實際情況保持一致。
根據公式(2)可得到某條掃描線上從障礙物到激光點的長度,最小的長度即為這條激光掃描線最終可達到的長度。在仿真模擬器中,需要描繪此線條,并傳遞此序號激光的長度給導航控制器。如果激光未掃到障礙物,無需描繪此線。
3.1.2? 激光掃描線丟失問題
在仿真過程中,發現激光點與柵格離的很近時,很多掃描線會丟失。通過大量實驗分析,激光點與柵格離的越近時,一個柵格內會有更多條掃描線穿過,計算這些掃描線的方法如下。
求導一個柵格內,由哪些序號的激光掃描線經過。首先利用公式(3)求出每個頂點的與激光點之間的角度值,并比對出最小角度值min和最大角度值max,再通過公式(5)得出此柵格內激光掃描線最小序號Lmin和最大序號Lmax,最小序號與最大序號的區間即為穿過柵格所有激光的序號區間。
(5)
3.2? 噪聲抑制
在實際應用中,激光掃描線掃描的距離值并不會跟數學計算公式得出的結論一模一樣,是有噪聲[6]存在的,目前市場上常用的激光SLAM噪聲的誤差范圍為(-3cm,3cm),并且此誤差隨機產生的。模擬器模擬數值要與實際情況要保持一致,就必須要抑制此誤差的影響。最佳的辦法是在計算出的激光掃描距離上加上噪聲處理。
Lend是某個序號掃描線的最終長度,L是通過計算所得的某個序號掃描線的最終長度。
(6)
4? 模擬激光實現
二維激光導航模擬器實現激光的模擬,首先需要導入柵格地圖,實現對現場環境進行描述。激光SLAM移動到柵格地圖中任意位置,掃描周圍場景。如圖1所示,二維激光點在不同的位置和不同的朝向時,激光的掃描信息會不同。
5? 結語
模擬器很好的模仿二維激光導航傳感器,在不同的場景、空間位置與激光不同的朝向,模擬器都能精準的模擬出激光,給予導航控制器算法支持。隨著模擬器的應用,開發人員無需購買昂貴的二維激光導航傳感器,節省大量物力成本。
參考文獻:
[1]袁明. 柔性復合機器人的設計與應用[J].物流科技, 2018,18(6):63-65.
[2]周星林, 呂文莎, 伍洋, 伊皓暉. 二維激光掃描車輛行駛跑偏量測量研究[J]. 汽車技術, 2016,1(10):7-10.
[3]王啟宇, 李剛俊. 基于典型柵格地圖的輪式移動機器人路徑規劃與跟蹤[J].西南科技大學學報, 2017,32(4):54-57.
[4]秦玉鑫, 張高峰, 王裕清. 針對復雜環境的模塊化柵格地圖構建算法[J]. 控制工程, 2016,23(10):1627-1633.
[5]于曉天, 高秀花, 張俊, 鄭冰環, 費雯凱. 基于分層柵格地圖的移動機器人路徑規劃[J].導航與控制,2017,16(4):30-36.
[6]唐嫻, 李鴻雁. 激光成像跟蹤系統的圖像噪聲抑制分析[J].激光雜志, 2016,37(6):106-108.