馮鉑凱, 張 陽
(沈陽建筑大學機械工程學院, 遼寧 沈陽 110168)
2020 全國乃至全世界都籠罩在新冠肺炎疫情的陰霾下,2020 年年初黨中央國務院下達修建火神山、 雷神山的指令。但是在建設初期,大型機器及工程機械無法及時到位。 小型搬運機器人在此種場景下無疑會發(fā)揮極大的作用。
自主移動機器人的應用性日漸增強, 但由于應用領(lǐng)域與應用環(huán)境地形的多樣性, 實際實驗周期長且無法完全仿真可能遇見的情況, 所以采用軟件模擬真實環(huán)境進行試驗。
本文主要針對二維地圖條件下, 將復雜地形拆分為子模塊并通過創(chuàng)新的方法生成隨機地圖。 在隨機地圖中融合傳感器數(shù)據(jù)構(gòu)成可供路徑規(guī)劃仿真使用的環(huán)境。
在自主駕駛實現(xiàn)中, 需要用不同地圖信息構(gòu)建的數(shù)據(jù)集作為訓練對象[1]。 普遍使用的方法是人工設置障礙物位置或使用隨機數(shù)生成隨機位置。 當環(huán)境復雜時,該方法效率較低。
在構(gòu)建隨機地圖的需求下, 柵格地圖具有同時滿足多維度語義信息以及占用內(nèi)存小的優(yōu)點。 在此基礎(chǔ)上,提出了一種有效提高柵格地圖語義維度的方法, 該方法對于路徑規(guī)劃算法驗證具有重要意義。
實際生活中有多種障礙物類型,依據(jù)機器人可通過性以及能量損耗性可將障礙物分為:無法通過、有向通過、損耗通過等三類如表1 中所示。 其中,無法通過障礙物常見的有墻、小溪或溝壑等;有向通過障礙物常見的有橋梁、隧道等;損耗通過障礙物常見的有草地或砂石路面等。
其中,在模型簡化時采用上述模塊表示,在實際地圖生成時常使用特征顏色進行簡化。
將無法通過類障礙物定義為A,且
表1 常見障礙物類型及模型簡化
式中:n—同類障礙物編號;xk—障礙物橫坐標;yk—障礙物縱坐標。
有向通過類障礙物定義為B,且
式中:n—同類障礙物編號;xk—障礙物橫坐標;yk—為障礙物縱坐標;θk—障礙物與橫坐標夾角;αk—障礙物可能存在的爬坡角度。
損耗通過類障礙物定義為C,且
式中:n—同類障礙物編號;xk—障礙物橫坐標;yk—障礙物縱坐標;γk—路面能量損耗系數(shù)。
如上,為各子模塊創(chuàng)建對象,針對其障礙物特征設置數(shù)組,將柵格地圖每單元進行編號如圖1 所示,通過映射及索引即可獲取地圖中障礙物信息。
圖1 索引坐標局部
本文選用25×25 的柵格地圖作為演示。 主要地圖構(gòu)建規(guī)則如下:
(1)生成25*25 的邊界,并在其范圍內(nèi)隨機生成互不重疊的滿足最小長寬比的矩形 (本文以創(chuàng)建五個矩形塊為例,矩形作為特殊任務房間)如圖所示2(a)。
(2)標出坐標原點及各矩形塊中心,利用三角剖分法[2,3]所有點連接獲得如圖2(b)的圖像。
(3) 利用最小生成化樹算法找出B 中連線的最短路徑,如圖2(c)所示,該路徑保證所有任務房間機器人可達。
(4)由于在柵格地圖中,像素級斜線無法保證障礙物特征的連續(xù)性,故將路徑投影到X,Y 軸得到如圖2(d)所示的紅線。
(5)在地圖隨機生成過程中,易出現(xiàn)無障礙路徑與無法通過障礙物的交叉,如圖2(e)在地圖中插入藍線作為“河流”,因“河流”的無法通過特性,故將交叉點識別并轉(zhuǎn)換為特定方向的有向障礙物。
(6)在剩余柵格單元中,隨機放置三種類型子模塊,并將其通過索引顯示在柵格地圖中完成地圖構(gòu)建, 最終效果如圖2(f)所示。
圖2 隨機地圖生成規(guī)則演示
機器人工作初期無法準確獲取全局地圖特征, 故地圖整體對于機器人來說是未知的。 此處引入占據(jù)柵格地圖概念。 機器人傳感器掃過的柵格即可被認為地圖狀態(tài)已知,并與建立的隨機地圖局部特征匹配獲得“真實”地圖數(shù)據(jù)[4,5]。
如圖3 所示, 每個柵格用二值數(shù)值0 和1 填充,0 表示該柵格被占用,1 表示該柵格沒有被占用。 每個網(wǎng)格存儲一個[0,1]之間的概率值,這個值越大,表示網(wǎng)格被占用的可能性越大;這個值越小,表示網(wǎng)格被占用的可能性越小。 對于單一柵格用p(s=1)表示無障礙狀態(tài)的概率,用p(s=0)表示有障礙下的概率,引入測量值z,z∈{0,1}。
圖3 局部柵格示意圖
激光用于測量傳感器到障礙物之間的位置關(guān)系,包含兩個參數(shù):激光角度和激光距離。 為簡化模型,認為雷達發(fā)送激光后立即收到回波,不存在時間延遲。
本文主要涉及到三個坐標系:世界坐標系、機器人坐標系以及傳感器坐標系,如圖4(a)所示。 2D 激光雷達的測量結(jié)果都是相對于自身傳感器中心的, 即以2D 激光雷達中心為坐標原點, 所有的測量結(jié)果最終都要轉(zhuǎn)換到世界坐標系,完成計算。
當只考慮激光雷達其中一條激光檢測狀態(tài)時, 如圖4(b)所示,假設機器人的位姿為(x,y,θ),測量的障礙物的距離為d,計算障礙物點的位置
再通過計算障礙物在柵格地圖中的位置(i,j),進而獲取障礙物柵格的集合。
圖4 激光雷達建模
本文將使用基于人工勢場法[6,7]的跟隨機器人系統(tǒng)驗證仿真平臺的可用性和穩(wěn)定性。 該算法將目標和障礙物分別看做對機器人有引力和斥力的物體, 機器人沿引力與斥力的合力來進行運動[8]。
其中,橫向引力勢場函數(shù)為:
式中:dob—機器人與靜態(tài)障礙物的最小距離;B—斥力場增益;dsafe—單個障礙物的安全距離。
機器人通過自身傳感器檢測目標及障礙物信息,獲得目標相對運動軌跡并通過坐標轉(zhuǎn)換獲得世界坐標系下的目標運動軌跡。
仿真結(jié)果如圖5 所示。
圖5 實驗結(jié)果演示
其中柵格灰度值為226(如柵格編號59)的柵格為有向通過障礙物,灰度值為153(如柵格編號3)的柵格代表機器人未知環(huán)境。 為驗證有向障礙物的物理特征,人為增加對照柵格,且根據(jù)障礙物特征參數(shù)標記方向(圖5 中59、84 柵格中黑線代表方向)。 柵格60中圓點為跟隨目標。當目標以圖5 中灰度值為76 的細線軌跡運動時,機器人實時跟隨結(jié)果路徑如圖6 所示。
圖6 目標及機器人運動軌跡
由圖6 可知, 機器人在跟隨目標運動過程中因有向障礙物阻擋,自行規(guī)劃出跟隨路徑。
本文提出一種基于柵格地圖的低占用內(nèi)存復雜地形下隨機地圖生成方法,并設置傳感器數(shù)據(jù)建模。使用基于人工勢場法的跟隨機器人系統(tǒng)對該仿真環(huán)境進行驗證。低內(nèi)存的復雜地形地圖, 在路徑規(guī)劃算法驗證中可以提供更多測試數(shù)據(jù), 并且地圖隨機生成特性更為積累測試數(shù)據(jù)集提供便利。