孫 帥
(青島理工大學(xué) 信息與控制工程學(xué)院,青島 266520)
移動(dòng)機(jī)器人自主導(dǎo)航是近年來(lái)移動(dòng)機(jī)器人領(lǐng)域的重點(diǎn)研究方向,而路徑監(jiān)測(cè)與規(guī)劃則是實(shí)現(xiàn)機(jī)器人導(dǎo)航的關(guān)鍵步驟。所謂移動(dòng)機(jī)器人路徑監(jiān)測(cè)大體上可以理解為:在存在多個(gè)障礙物的運(yùn)動(dòng)環(huán)境中,機(jī)器人能夠根據(jù)既定評(píng)價(jià)標(biāo)準(zhǔn),找到一條由起始點(diǎn)指向目標(biāo)點(diǎn)的平滑移動(dòng)曲線。為保障機(jī)器人的運(yùn)動(dòng)安全性,要求其行進(jìn)過(guò)程中不能存在任何形式的碰撞現(xiàn)象。RANSAC算法可以根據(jù)包含異常信息的樣本數(shù)據(jù)集的存在形式,建立符合計(jì)算需求的數(shù)學(xué)模型,并可以將所得數(shù)值解按照一定標(biāo)準(zhǔn)排列起來(lái),從而快速確定有效樣本數(shù)據(jù)所處位置,常被應(yīng)用于計(jì)算機(jī)視覺(jué)領(lǐng)域之中[1]。由于樣本數(shù)據(jù)集合中存在明顯的信息噪點(diǎn),所以異常信息的存在形式并不唯一,既可以是錯(cuò)誤的計(jì)算結(jié)果,也可以是錯(cuò)誤的測(cè)量數(shù)據(jù)或是錯(cuò)誤的假設(shè)條件。為加強(qiáng)對(duì)于混合數(shù)據(jù)的處理能力,RANSAC算法在提出假設(shè)的同時(shí),也會(huì)給定一組正確的數(shù)據(jù)樣本,以供網(wǎng)絡(luò)主機(jī)在建立樣本模型時(shí)可以直接選取與利用。近年來(lái),隨著機(jī)器人研究技術(shù)的不斷深入,如何避免其運(yùn)動(dòng)角速度出現(xiàn)明顯波動(dòng)的情況,從而使機(jī)器人移動(dòng)路徑呈現(xiàn)出較為平滑的存在狀態(tài),已經(jīng)成為了一項(xiàng)亟待解決的問(wèn)題。基于上述研究背景,提出基于RANSAC算法的移動(dòng)機(jī)器人路徑監(jiān)測(cè)方法。
機(jī)器人移動(dòng)路徑的地圖模型決定了移動(dòng)特征與迭代次數(shù)指標(biāo)之間的映射對(duì)應(yīng)關(guān)系。
在使用RANSAC算法對(duì)機(jī)器人移動(dòng)路徑地圖進(jìn)行匹配處理之前,需要根據(jù)特征節(jié)點(diǎn)的實(shí)時(shí)排列形式,建立完整的路徑曲線提取法則。在曲線節(jié)點(diǎn)所處位置不發(fā)生改變的情況下,移動(dòng)特征參量之間的關(guān)聯(lián)等級(jí)越強(qiáng),就表示當(dāng)前行進(jìn)路徑的表現(xiàn)形式越趨于平滑。設(shè)c表示機(jī)器人移動(dòng)路徑標(biāo)記系數(shù),cζ、ωc表示基于標(biāo)記系數(shù)c的橫向路徑定標(biāo)值與縱向路徑定標(biāo)值。聯(lián)立上述物理量,可將機(jī)器人移動(dòng)特征提取表達(dá)式定義為:
式(1)中,z1、z2表示兩個(gè)隨機(jī)選取的移動(dòng)路徑節(jié)點(diǎn)排列系數(shù),且z1指標(biāo)取值不等于z2指標(biāo),表示機(jī)器人移動(dòng)路徑節(jié)點(diǎn)的分布特征,ΔX表示平滑移動(dòng)路徑曲線中的路徑節(jié)點(diǎn)個(gè)數(shù)值。
圖1為機(jī)器人移動(dòng)特征節(jié)點(diǎn)的提取與處理原則。
圖1 機(jī)器人移動(dòng)特征提取原理
由圖1可知,在構(gòu)建機(jī)器人移動(dòng)路徑地圖時(shí),節(jié)點(diǎn)數(shù)據(jù)的傳輸方向始終由左端指向右端。完成移動(dòng)機(jī)器人路徑節(jié)點(diǎn)采樣處理后,監(jiān)測(cè)主機(jī)可以在RANSAC算法的作用下,建立完整的數(shù)據(jù)樣本特征集合,通常情況下,該集合空間的承載能力較強(qiáng),能夠準(zhǔn)確定義關(guān)聯(lián)節(jié)點(diǎn)之間的數(shù)值,映射關(guān)系。在描述系數(shù)指標(biāo)取值保持不變的情況下,監(jiān)測(cè)主機(jī)元件能夠根據(jù)RANSAC算法的作用強(qiáng)度,完成對(duì)機(jī)器人移動(dòng)路徑節(jié)點(diǎn)特征的取樣與處理。
RANSAC算法可以約束移動(dòng)機(jī)器人路徑節(jié)點(diǎn)在地圖模型中的分布形式。若將移動(dòng)特征提取參量視為既定變量條件,則可認(rèn)為隨著RANSAC算法作用能力的增強(qiáng),路徑軌跡節(jié)點(diǎn)的分布狀態(tài)會(huì)更加趨向平滑曲線。在實(shí)際應(yīng)用過(guò)程中,RANSAC算法以機(jī)器人移動(dòng)路徑節(jié)點(diǎn)特征抽樣作為初始流程,假設(shè)路徑節(jié)點(diǎn)樣本求解結(jié)果不會(huì)發(fā)生改變,則可將機(jī)器人移動(dòng)特征節(jié)點(diǎn)在地圖模型中的映射坐標(biāo)看作影響RANSAC算法作用能力的唯一物理?xiàng)l件[2]。
設(shè)O0(x0,y0)表示移動(dòng)機(jī)器人路徑節(jié)點(diǎn)的初始值坐標(biāo),On(xn,yn)表示移動(dòng)機(jī)器人路徑節(jié)點(diǎn)在地圖模型中的映射坐標(biāo),n表示基于RANSAC算法的映射特征系數(shù)。聯(lián)立上述物理量,可將基于RANSAC算法移動(dòng)機(jī)器人路徑節(jié)點(diǎn)映射表達(dá)式定義為:
其中,vx表示橫坐標(biāo)映射向量,vy表示縱坐標(biāo)映射向量,τ表示初始映射系數(shù)。
聯(lián)立式(1)、式(2),可將RANSAC算法的作用表達(dá)式定義為:
式(3)中,V~表示基于RANSAC算法的機(jī)器人移動(dòng)路徑節(jié)點(diǎn)抽樣特征值,?映射抽樣系數(shù)。
圖2為RANSAC算法的實(shí)際作用流程。
圖2 RANSAC算法執(zhí)行流程圖
對(duì)于移動(dòng)機(jī)器人路徑節(jié)點(diǎn)而言,其在地圖模型中的排列狀態(tài)若不能完全滿(mǎn)足RANSAC算法,監(jiān)測(cè)主機(jī)就不能準(zhǔn)確定義路徑節(jié)點(diǎn)的矩陣表達(dá)式,此時(shí)主機(jī)元件也就不能實(shí)現(xiàn)對(duì)移動(dòng)機(jī)器人路徑節(jié)點(diǎn)曲線的準(zhǔn)確監(jiān)測(cè)。
RANSAC算法迭代次數(shù)能夠根據(jù)移動(dòng)機(jī)器人路徑節(jié)點(diǎn)每次迭代后的內(nèi)點(diǎn)比例,計(jì)算移動(dòng)路徑地圖模型的數(shù)值配比關(guān)系,它反映出了之前迭代過(guò)程中RANSAC算法的實(shí)際作用能力[3]。式(4)是RANSAC算法迭代次數(shù)?的計(jì)算方法。
式(4)中,v表示移動(dòng)機(jī)器人路徑節(jié)點(diǎn)的迭代配比系數(shù),gv表示與系數(shù)v相關(guān)的機(jī)器人路徑節(jié)點(diǎn)標(biāo)記特征值,g0表示機(jī)器人路徑節(jié)點(diǎn)標(biāo)記特征的初始值,a1、a2表示兩個(gè)基于RANSAC算法的機(jī)器人路徑節(jié)點(diǎn)映射系數(shù),s1、s2表示兩個(gè)基于RANSAC算法的機(jī)器人路徑節(jié)點(diǎn)關(guān)聯(lián)系數(shù),且a1≠a2、s1≠s2的不等式條件同時(shí)成立,k`表示基于RANSAC算法的移動(dòng)機(jī)器人路徑節(jié)點(diǎn)迭代配比參量。監(jiān)測(cè)主機(jī)元件可以根據(jù)迭代次數(shù)指標(biāo)的數(shù)值計(jì)算結(jié)果,對(duì)RANSAC算法的作用強(qiáng)度進(jìn)行調(diào)節(jié)。一般來(lái)說(shuō),迭代次數(shù)指標(biāo)的計(jì)算數(shù)值越大,表明RANSAC算法的作用能力較強(qiáng),此時(shí)監(jiān)測(cè)主機(jī)對(duì)于移動(dòng)機(jī)器人路徑節(jié)點(diǎn)的規(guī)劃能力也就相對(duì)較強(qiáng);反之,若迭代次數(shù)指標(biāo)的計(jì)算數(shù)值較小,則表示RANSAC算法的作用能力相對(duì)較弱,此時(shí)監(jiān)測(cè)主機(jī)也就不能對(duì)移動(dòng)機(jī)器人路徑節(jié)點(diǎn)進(jìn)行有效規(guī)劃。
在RANSAC算法的作用下,按照啟發(fā)式評(píng)估函數(shù)建立、動(dòng)態(tài)監(jiān)測(cè)機(jī)制完善、步長(zhǎng)值定義的處理流程,實(shí)現(xiàn)移動(dòng)機(jī)器人路徑監(jiān)測(cè)方法的設(shè)計(jì)與應(yīng)用。
移動(dòng)機(jī)器人的實(shí)際工作環(huán)境往往是復(fù)雜且多變的,故而直接提取路徑節(jié)點(diǎn)并不能獲得完整的全局信息,且為了保證監(jiān)測(cè)指令的執(zhí)行時(shí)效性,單次運(yùn)算行為的計(jì)算量不宜過(guò)大。針對(duì)上述問(wèn)題,根據(jù)RANSAC算法的理論基礎(chǔ),建立啟發(fā)式評(píng)估函數(shù)[4]。所謂啟發(fā)式評(píng)估函數(shù)是一種能夠評(píng)估移動(dòng)機(jī)器人路徑節(jié)點(diǎn)分布完整性的處理思想,同時(shí)具有可更改與可調(diào)節(jié)的應(yīng)用特性,在已知迭代次數(shù)指標(biāo)計(jì)算數(shù)值的前提下,函數(shù)定義式所涉及的節(jié)點(diǎn)參量越多,整條路徑軌跡的平滑性曲線特征也就越明顯。設(shè)ε、δ表示兩個(gè)不相等的路徑節(jié)點(diǎn)啟發(fā)系數(shù),且ε>δ的不等式條件恒成立,lε表示基于系數(shù)ε的軌跡節(jié)點(diǎn)評(píng)估權(quán)重值,lδ表示基于系數(shù)δ的軌跡節(jié)點(diǎn)評(píng)估權(quán)重值,k表示度量指標(biāo),hk表示度量系數(shù)為k時(shí)的路徑節(jié)點(diǎn)監(jiān)測(cè)向量,表示路徑節(jié)點(diǎn)監(jiān)測(cè)向量均值,λ表示基于RANSAC算法的運(yùn)算系數(shù)。在上述物理量的支持下,聯(lián)立式(4),可將基于RANSAC算法的移動(dòng)機(jī)器人路徑啟發(fā)式評(píng)估函數(shù)表達(dá)式為:
對(duì)于移動(dòng)機(jī)器人而言,啟發(fā)式評(píng)估函數(shù)對(duì)于路徑軌跡的約束作用,包含從當(dāng)前位姿到目標(biāo)節(jié)點(diǎn)的全部運(yùn)動(dòng)過(guò)程。若當(dāng)前位姿節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)之間的物理距離較大,建立啟發(fā)式評(píng)估函數(shù)過(guò)程中所涉及到的數(shù)據(jù)運(yùn)算行為也就越復(fù)雜;如若當(dāng)前位姿節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)之間的物理距離較小,建立啟發(fā)式評(píng)估函數(shù)過(guò)程中所涉及到的數(shù)據(jù)運(yùn)算行為也就相對(duì)較為簡(jiǎn)單。
在RANSAC算法作用下,完善動(dòng)態(tài)監(jiān)測(cè)機(jī)制既可以實(shí)現(xiàn)對(duì)移動(dòng)機(jī)器人路徑節(jié)點(diǎn)的按需調(diào)取,也能夠驗(yàn)證啟發(fā)式評(píng)估函數(shù)是否合乎實(shí)際應(yīng)用需求。規(guī)定在機(jī)器人運(yùn)動(dòng)過(guò)程中,已經(jīng)過(guò)節(jié)點(diǎn)與未經(jīng)過(guò)節(jié)點(diǎn)的編碼形式有所不同,且二者對(duì)于路徑節(jié)點(diǎn)向量的定義形式也不完全相同。設(shè) 表示機(jī)器人已經(jīng)過(guò)節(jié)點(diǎn)定義向量,表示未經(jīng)過(guò)節(jié)點(diǎn)定義向量,且的不等式條件同時(shí)成立,φ表示基于RANSAC算法的移動(dòng)機(jī)器人路徑節(jié)點(diǎn)編碼系數(shù),j1表示與已經(jīng)過(guò)節(jié)點(diǎn)定義向量相關(guān)的動(dòng)態(tài)監(jiān)測(cè)特征,j2表示與未經(jīng)過(guò)節(jié)點(diǎn)定義向量相關(guān)的動(dòng)態(tài)監(jiān)測(cè)特征。在上述物理量的支持下,聯(lián)立式(5),可將基于RANSAC算法的移動(dòng)機(jī)器人路徑動(dòng)態(tài)監(jiān)測(cè)機(jī)制表達(dá)式定義為:
為準(zhǔn)確定義機(jī)器人移動(dòng)步長(zhǎng)值,動(dòng)態(tài)監(jiān)測(cè)機(jī)制計(jì)算表達(dá)式的取值必須嚴(yán)格遵循RANSAC算法。
步長(zhǎng)值指標(biāo)決定了機(jī)器人的運(yùn)動(dòng)行進(jìn)能力。在一個(gè)完整的RANSAC算法執(zhí)行周期內(nèi),步長(zhǎng)值指標(biāo)取值越大,就表示機(jī)器人的運(yùn)動(dòng)能力越強(qiáng),此時(shí)需要監(jiān)測(cè)的路徑節(jié)點(diǎn)數(shù)量也就相對(duì)較多(為了縮小監(jiān)測(cè)誤差,在計(jì)算機(jī)器人移動(dòng)路徑節(jié)點(diǎn)個(gè)數(shù)值時(shí),必須將首尾節(jié)點(diǎn)排除在外)[5]。設(shè)α、γ表示兩個(gè)非零且不相等的機(jī)器人移動(dòng)方向定義向量,iα表示基于α向量的運(yùn)動(dòng)轉(zhuǎn)向系數(shù),iγ表示基于γ向量的運(yùn)動(dòng)轉(zhuǎn)向系數(shù),f表示移動(dòng)機(jī)器人運(yùn)動(dòng)路徑的曲率系數(shù),P表示路徑曲線的平滑性特征值。在上述物理量的支持下,聯(lián)立式(6),可將基于RANSAC算法的移動(dòng)機(jī)器人步長(zhǎng)值計(jì)算結(jié)果表示為:
根據(jù)步長(zhǎng)值指標(biāo)計(jì)算結(jié)果,核實(shí)動(dòng)態(tài)監(jiān)測(cè)機(jī)制法則的完善程度,在規(guī)范RANSAC算法作用能力的同時(shí),實(shí)現(xiàn)對(duì)移動(dòng)機(jī)器人路徑節(jié)點(diǎn)的準(zhǔn)確監(jiān)測(cè)。
選取FR-09的四轉(zhuǎn)四驅(qū)移動(dòng)機(jī)器人作為實(shí)驗(yàn)對(duì)象。首先,利用RANSAC算法執(zhí)行程序?qū)σ苿?dòng)機(jī)器人的運(yùn)動(dòng)路徑節(jié)點(diǎn)進(jìn)行監(jiān)測(cè),將所得數(shù)據(jù)作為實(shí)驗(yàn)組變量;然后,將移動(dòng)機(jī)器人再次擺放至初始運(yùn)動(dòng)位置處;其次,利用改進(jìn)灰狼優(yōu)化算法執(zhí)行程序?qū)σ苿?dòng)機(jī)器人的運(yùn)動(dòng)路徑節(jié)點(diǎn)進(jìn)行監(jiān)測(cè),將所得數(shù)據(jù)作為對(duì)照組變量;最后,對(duì)比實(shí)驗(yàn)組、對(duì)照組變量指標(biāo),總結(jié)實(shí)驗(yàn)規(guī)律。
在機(jī)器人運(yùn)動(dòng)過(guò)程中,其行進(jìn)角速度指標(biāo)能夠反映出移動(dòng)路徑曲線的平滑度水平。一般來(lái)說(shuō),機(jī)器人運(yùn)動(dòng)角速度越快,就表示移動(dòng)路徑曲線的平滑度水平越高;反之,若機(jī)器人運(yùn)動(dòng)角速度較慢,則表示移動(dòng)路徑曲線的平滑度水平也相對(duì)較低。
機(jī)器人運(yùn)動(dòng)角速度(?)的計(jì)算表達(dá)式如下:
分析式(8)可知,機(jī)器人運(yùn)動(dòng)角速度(?)受到x1指標(biāo)(水平轉(zhuǎn)向波動(dòng)值)、x2指標(biāo)(豎直轉(zhuǎn)向波動(dòng)值)的共同影響。且三者之間的影響關(guān)系為:x1指標(biāo)取值越大、x2指標(biāo)取值越大,機(jī)器人運(yùn)動(dòng)角速度也就越快,此時(shí)機(jī)器人的運(yùn)動(dòng)轉(zhuǎn)向能力相對(duì)較強(qiáng),整條運(yùn)動(dòng)曲線也就更加趨于平滑。
下表記錄了實(shí)驗(yàn)組、對(duì)照組x1指標(biāo)的實(shí)驗(yàn)數(shù)值及其與極限x1指標(biāo)的數(shù)值對(duì)比情況。
分析表1可知,在整個(gè)實(shí)驗(yàn)過(guò)程中,x1指標(biāo)理想極大值呈現(xiàn)出相對(duì)穩(wěn)定的存在狀態(tài)。實(shí)驗(yàn)組x1指標(biāo)則保持連續(xù)增大的數(shù)值變化狀態(tài),全局極大值0.694m/s與理想極大值0.353m/s相比,增大了0.341m/s。在1min~3min的實(shí)驗(yàn)時(shí)間之內(nèi),對(duì)照組x1指標(biāo)呈現(xiàn)出持續(xù)上升的數(shù)值變化狀態(tài);在3min~10min的實(shí)驗(yàn)時(shí)間之內(nèi),對(duì)照組x1指標(biāo)則呈現(xiàn)出來(lái)回波動(dòng)的數(shù)值變化狀態(tài);從極限值角度來(lái)看,對(duì)照組x1指標(biāo)最大值0.396m/s與理想極大值0.353m/s相比,僅增大了0.043m/s,遠(yuǎn)低于實(shí)驗(yàn)數(shù)值水平,但其數(shù)值波動(dòng)變化能力卻高于實(shí)驗(yàn)組。
表1 水平轉(zhuǎn)向波動(dòng)值(x1)
表2記錄了實(shí)驗(yàn)組、對(duì)照組X2指標(biāo)的實(shí)驗(yàn)數(shù)值及其與極限X2指標(biāo)的數(shù)值對(duì)比情況。
表2 豎直轉(zhuǎn)向波動(dòng)值(x2)
分析表2可知,在整個(gè)實(shí)驗(yàn)過(guò)程中,x2指標(biāo)理想極大值也呈現(xiàn)出相對(duì)穩(wěn)定的存在狀態(tài)。在1min~6min的實(shí)驗(yàn)時(shí)間之內(nèi),實(shí)驗(yàn)組X2指標(biāo)呈現(xiàn)出較為穩(wěn)定的存在狀態(tài);在6min~10min的實(shí)驗(yàn)時(shí)間之內(nèi),實(shí)驗(yàn)組x2指標(biāo)則表現(xiàn)出連續(xù)上升的數(shù)值變化狀態(tài),其極大值0.451m/s與理想極大值0.425m/s相比,增大了0.026m/s。對(duì)照組X2指標(biāo)則始終表現(xiàn)出來(lái)回波動(dòng)的數(shù)值變化狀態(tài),其全局最大值僅能達(dá)到0.423m/s,小于理想極大值,更小于實(shí)驗(yàn)組最大值。
綜上可知,在RANSAC算法的作用下,水平轉(zhuǎn)向波動(dòng)值指標(biāo)、豎直轉(zhuǎn)向波動(dòng)值指標(biāo)的數(shù)值水平都出現(xiàn)了明顯增大的變化趨勢(shì),符合促進(jìn)機(jī)器人運(yùn)動(dòng)角速度的實(shí)際應(yīng)用需求,能夠使機(jī)器人移動(dòng)路徑呈現(xiàn)出平滑曲線的存在形式。
與改進(jìn)灰狼優(yōu)化算法的監(jiān)測(cè)模型相比,新型移動(dòng)機(jī)器人路徑監(jiān)測(cè)方法以RANSAC算法為基礎(chǔ),提取移動(dòng)路徑內(nèi)的節(jié)點(diǎn)特征,又根據(jù)啟發(fā)式評(píng)估函數(shù)條件,建立步長(zhǎng)值定義表達(dá)式。隨著這種新型監(jiān)測(cè)方法的應(yīng)用,機(jī)器人運(yùn)動(dòng)角速度指標(biāo)的數(shù)值水平得到了明顯促進(jìn),在保證行進(jìn)路徑曲線的平滑性方面確實(shí)具有較強(qiáng)的實(shí)際應(yīng)用可行性。