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