謝國(guó)坤,張培培,王寧寧
(西安交通工程學(xué)院, 西安 710300)
近年來(lái),隨著智能機(jī)器人視覺(jué)跟蹤領(lǐng)域的飛速發(fā)展,使得傳統(tǒng)靜態(tài)的目標(biāo)跟蹤方式,已無(wú)法滿(mǎn)足需要,因而如何實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng)目標(biāo)跟蹤一時(shí)間備受青睞[1]。一方面,當(dāng)前較流行的機(jī)器人運(yùn)動(dòng)目標(biāo)跟蹤方法,雖在機(jī)器人領(lǐng)域取得了一定成果,但移動(dòng)機(jī)器人運(yùn)動(dòng)在障礙物下的運(yùn)動(dòng)目標(biāo)跟蹤過(guò)程中存在一些問(wèn)題。通常的目標(biāo)跟蹤算法都是基于像素的全局搜索,然而該方法計(jì)算量大,耗時(shí)滿(mǎn)足不了移動(dòng)機(jī)器人控制的實(shí)時(shí)性要求,并且其易受到背景中相似特征物體的干擾。
王立玲等[2]提出了基于改進(jìn)Camshift算法的運(yùn)動(dòng)目標(biāo)跟蹤方法,但是該方法在有障礙物干擾時(shí),NAO機(jī)器人運(yùn)動(dòng)目標(biāo)跟蹤精度下降。李欣等[3]提出了基于ECO-HC改進(jìn)的運(yùn)動(dòng)目標(biāo)跟蹤方法,該方法雖然成功實(shí)現(xiàn)了機(jī)器人對(duì)運(yùn)動(dòng)目標(biāo)的跟蹤,但是存在誤差偏移量較大、不穩(wěn)定等問(wèn)題。上述2種方法在跟蹤目標(biāo)時(shí),易受背景中干擾因素的影響,導(dǎo)致運(yùn)動(dòng)目標(biāo)跟蹤精度下降[4-5]。
為了改變這種現(xiàn)狀,本文提出基于點(diǎn)云分割的移動(dòng)機(jī)器人運(yùn)動(dòng)目標(biāo)跟蹤方法,該方法以移動(dòng)機(jī)器人為研究對(duì)象,對(duì)運(yùn)動(dòng)目標(biāo)的坐標(biāo)等點(diǎn)云數(shù)據(jù)進(jìn)行采集和出力,降低了運(yùn)動(dòng)目標(biāo)跟蹤過(guò)程中的誤差偏移量,提高了機(jī)器人在運(yùn)動(dòng)目標(biāo)跟蹤中的穩(wěn)定性,更適應(yīng)實(shí)際需求。
2.1.1點(diǎn)云數(shù)據(jù)采集
考慮移動(dòng)機(jī)器人采集圖像中的目標(biāo)存在隨機(jī)性,因此,在采集點(diǎn)云數(shù)據(jù)過(guò)程中,為避免測(cè)量誤差,采用非接觸設(shè)備采集點(diǎn)云數(shù)據(jù)。具體采集過(guò)程為:
將非接觸掃描設(shè)備與電源、計(jì)算機(jī)相連接,開(kāi)啟數(shù)據(jù)識(shí)別與處理功能;設(shè)立圖像中被采集目標(biāo)的參照目標(biāo),啟動(dòng)掃描設(shè)備的識(shí)別功能,構(gòu)建三維坐標(biāo)系;在固定范圍內(nèi),對(duì)采集目標(biāo)并描繪為三維圖形;經(jīng)過(guò)多次變換后,重新獲取當(dāng)前坐標(biāo),同時(shí)合并數(shù)據(jù)空間;平移、旋轉(zhuǎn)、縮放獲取的點(diǎn)云信息。
2.1.2點(diǎn)云數(shù)據(jù)合并
移動(dòng)機(jī)器人在實(shí)際采集過(guò)程中,由于環(huán)境的復(fù)雜性,會(huì)受到目標(biāo)表面特征、設(shè)備轉(zhuǎn)角等因素影響,需通過(guò)不斷的變換獲取更加全面的目標(biāo)信息。而每次變換均會(huì)生成一個(gè)單獨(dú)的數(shù)據(jù),為保證數(shù)據(jù)的完整性,本文通過(guò)建立靶標(biāo)世界坐標(biāo)系,實(shí)現(xiàn)點(diǎn)云數(shù)據(jù)合并?;趫?chǎng)景三維點(diǎn)云、世界坐標(biāo)系具有相同空間尺度,建立靶標(biāo)世界坐標(biāo)系,可在世界坐標(biāo)系確定跟蹤目標(biāo)的空間區(qū)域,達(dá)到對(duì)映到世界坐標(biāo)系里的點(diǎn)云進(jìn)行分割的目的[6-7]。
相機(jī)坐標(biāo)系里的點(diǎn)云用pc(xc,yc,zc)代表,世界坐標(biāo)系里的點(diǎn)云用pw(xw,yw,zw)代表,根據(jù)像素p(u,v)投射到世界坐標(biāo)系的點(diǎn)在像素坐標(biāo)系中的齊次坐標(biāo)與在世界坐標(biāo)系里的關(guān)系,可得到式(1):
(1)
(2)
式中:pwl(Xwl,Ywl,Zwl)表示偏移補(bǔ)償后的點(diǎn)云坐標(biāo);E3×3表示單位矩陣;在靶標(biāo)坐標(biāo)系中,Vroi表示目標(biāo)區(qū)域,Vroi可通過(guò)手動(dòng)測(cè)量獲得,也可以通過(guò)目標(biāo)物模型求解。
2.1.3點(diǎn)云數(shù)據(jù)處理
想要獲得場(chǎng)景分割目標(biāo)點(diǎn)云可將鳥(niǎo)瞰視角作為觀測(cè)的角度觀測(cè)點(diǎn)云,突出目標(biāo)、從目標(biāo)點(diǎn)云獲得更多信息[8-9];通過(guò)中值濾波方法確定目標(biāo)閾值范圍后對(duì)圖像進(jìn)行還原[10-11]。
結(jié)合相關(guān)性理論與濾波技術(shù),將所有點(diǎn)的p(u,v)坐標(biāo)作為圖像灰度值,針對(duì)點(diǎn)云數(shù)據(jù)做選擇性濾波處理:
變換到場(chǎng)景點(diǎn)云俯視角時(shí),通過(guò)式(1)得到的世界坐標(biāo)系點(diǎn)云pwl(Xwl,Ywl,Zwl)變?yōu)檗D(zhuǎn)換視角后的點(diǎn)云p(xu,yu,zu)滿(mǎn)足:
(3)
(4)
(5)
以2.1小節(jié)獲取的點(diǎn)云數(shù)據(jù)處理為基礎(chǔ),采用距離函數(shù)加權(quán)方法,依據(jù)移動(dòng)機(jī)器人與目標(biāo)間的距離,通過(guò)視覺(jué)伺服和聲吶伺服混合導(dǎo)航方式實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)跟蹤。
2.2.1視覺(jué)目標(biāo)差控制
(6)
式中: 機(jī)器人坐標(biāo)系、圖像坐標(biāo)系間的轉(zhuǎn)換矩陣用M代表且滿(mǎn)足:
(7)
延伸到像素平面控制策略可表示為
(8)
2.2.2目標(biāo)跟蹤
通過(guò)距離函數(shù)加權(quán)可融合決策層的傳感器的信息,移動(dòng)機(jī)器人與目標(biāo)間的距離大、小、脫離視覺(jué)傳感器時(shí)相對(duì)應(yīng)措施是:采用視覺(jué)導(dǎo)航、強(qiáng)化聲納信息權(quán)系數(shù)、只依靠聲納導(dǎo)航[15]。而單獨(dú)使用視覺(jué)導(dǎo)航跟蹤移動(dòng)機(jī)器人目標(biāo)時(shí),存在對(duì)使用環(huán)境要求較高,受運(yùn)行場(chǎng)地信息和面積的影響,導(dǎo)致目標(biāo)跟蹤時(shí)間精度都有所下降,聲納導(dǎo)航多用于水下目標(biāo)跟蹤,其在跟蹤移動(dòng)機(jī)器人時(shí)同樣存在受外界干擾因素較強(qiáng)的影響,導(dǎo)致目標(biāo)跟蹤精度有所下降[16-17]。為此本文通過(guò)視覺(jué)伺服和聲吶伺服混合導(dǎo)航方式實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)跟蹤。
距離函數(shù)Ri可表示為
(9)
式(9)中:Δi表示移動(dòng)機(jī)器人、目標(biāo)的水平距離;Δr、Δs表示按任務(wù)需求量應(yīng)用不同跟蹤方法的范圍邊界。移動(dòng)機(jī)器人與目標(biāo)間的距離大時(shí),Δi>Δs時(shí),Ri=1。移動(dòng)機(jī)器人按高速υs通過(guò)視覺(jué)伺服跟蹤方法跟蹤運(yùn)動(dòng)目標(biāo),目標(biāo)當(dāng)前位置、跟蹤位置間的水平像素差決定用ω代表的角速度,曲率表示為
ρ=[-λ(ud-uc)-jυυs]/jωυs
(10)
式中: (ud-uc)表示目標(biāo)在圖像平面的投影水平坐標(biāo)差,jυ與jω表示移動(dòng)機(jī)器人行為控制輸入的特征描述子橫坐標(biāo)的雅可比矩陣量。jω=M12,jυ=M11,用M代表移動(dòng)機(jī)器人坐標(biāo)系得到圖像坐標(biāo)系的轉(zhuǎn)換矩陣,滿(mǎn)足:
(11)
移動(dòng)機(jī)器人與目標(biāo)間的距離較小時(shí),Δi<Δs,Ri=0。移動(dòng)機(jī)器人按低速υr通過(guò)聲納跟蹤方法跟蹤運(yùn)動(dòng)目標(biāo),局部網(wǎng)格中的目標(biāo)位置夾角、移動(dòng)機(jī)器人前進(jìn)方向決定用角速度ω,此時(shí)的曲率ρ滿(mǎn)足ρ=ρi:
(12)
Δr<Δi<Δs時(shí),0 (13) 移動(dòng)機(jī)器人不斷接近運(yùn)動(dòng)目標(biāo),如果要使速度(υ,ω)從(υs,ωs)到(υr,ωr)平滑過(guò)渡,則Ri要求從0到1平滑過(guò)渡。得到最終局部規(guī)劃控制策略: (14) υs在移動(dòng)機(jī)器人直行時(shí)值較大,轉(zhuǎn)向時(shí)值較小。故υs可表示為 υs(ω)=υmin+(υmax-υmin)(1+tanh(π-kω|ω|)) (15) 綜合考慮移動(dòng)機(jī)器人運(yùn)動(dòng)性能、柔順性可通過(guò)式(19)實(shí)現(xiàn)。移動(dòng)機(jī)器人移動(dòng)時(shí)最大最小速度分別用υmax、υmin代表,kω滿(mǎn)足kω=12。 在面積為80 m2的實(shí)驗(yàn)室內(nèi),以移動(dòng)機(jī)器人Pioneer-3DX為實(shí)驗(yàn)對(duì)象對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤。設(shè)置機(jī)器人的最高速度為200 m/s,最高角速度為10 (°)/s,將攝像頭安裝在機(jī)器人上方每隔3 s對(duì)圖像進(jìn)行一次采集。 表1為應(yīng)用本文方法與文獻(xiàn)[2]基于改進(jìn)Camshift算法的運(yùn)動(dòng)目標(biāo)跟蹤方法、文獻(xiàn)[3]基于ECO-HC改進(jìn)的運(yùn)動(dòng)目標(biāo)跟蹤方法在第1幀、200幀、400幀、600幀條件下對(duì)點(diǎn)云數(shù)為30 700的圖像進(jìn)行分割后的點(diǎn)云數(shù)目記錄表。 表1 3種方法分割后點(diǎn)云數(shù)目記錄表 利用表1所示的3種方法分割后的樣本數(shù)據(jù),統(tǒng)計(jì)3種方法在不同分割比率下的點(diǎn)云分割均方根誤差,結(jié)果見(jiàn)圖1。 圖1 點(diǎn)云分割均方根誤差曲線 從圖1可以看出,在相同分割比率下,應(yīng)用本文方法進(jìn)行點(diǎn)云分割的均方根誤差變化曲線始終低于文獻(xiàn)[2]方法、文獻(xiàn)[3]方法,且曲線比較平緩。說(shuō)明在相同分割比率下,應(yīng)用本文方法的點(diǎn)云分割誤差更小,更適應(yīng)實(shí)際需求。 圖2表示了應(yīng)用本文方法得到的4種角速度下的運(yùn)動(dòng)目標(biāo)距離精確度,該指標(biāo)通過(guò)4種角速度下距離系數(shù)Ri的變化情況反映,距離系數(shù)Ri越大,跟蹤精度越低。 從圖2分析可得,在角速度值為6 (°)/s、8 (°)/s時(shí),應(yīng)用本文方法的距離系數(shù)Ri最小,得到的運(yùn)動(dòng)目標(biāo)跟蹤的距離精確度要高于角速度為4 (°)/s、10 (°)/s時(shí)的運(yùn)動(dòng)目標(biāo)跟蹤距離精確度,且在中心距離偏差為9像素時(shí)就達(dá)到了最高值。說(shuō)明移動(dòng)機(jī)器人在進(jìn)行運(yùn)動(dòng)目標(biāo)跟蹤時(shí),采用角速度6 (°)/s、8 (°)/s時(shí)具有較好的運(yùn)動(dòng)目標(biāo)跟蹤效果。 圖2 運(yùn)動(dòng)目標(biāo)距離精確度曲線 圖3是應(yīng)用本文方法得到的4種角速度下的中心距離誤差。從圖3可以看出,在角速度值為6 (°)/s、8 (°)/s時(shí),應(yīng)用本文方法得到的運(yùn)動(dòng)目標(biāo)跟蹤的中心距離誤差要低于角速度為4 (°)/s、10 (°)/s時(shí)的運(yùn)動(dòng)目標(biāo)跟蹤中心距離誤差,且在中心距離誤差曲線無(wú)較大波動(dòng),目標(biāo)跟蹤穩(wěn)定。 圖3 中心距離誤差 圖4表示了機(jī)器人在無(wú)障礙物與有障礙物時(shí)的目標(biāo)跟蹤區(qū)域。 圖4 目標(biāo)跟蹤區(qū)域示意圖 圖5表示了應(yīng)用本文方法與文獻(xiàn)[2-3]方法對(duì)圖4中的目標(biāo)跟蹤區(qū)域進(jìn)行240次實(shí)驗(yàn),得到的目標(biāo)跟蹤區(qū)域的誤差偏移量。 圖5 目標(biāo)跟蹤誤差偏移量曲線 從圖5可以看出,在相同實(shí)驗(yàn)次數(shù)下,無(wú)論在有障礙或者無(wú)障礙情況下,應(yīng)用本文方法得到的目標(biāo)跟蹤偏移曲線始終低于文獻(xiàn)[2-3]方法,且應(yīng)用本文方法得到的目標(biāo)跟蹤偏移曲線變化較平緩,無(wú)大幅度波動(dòng),而文獻(xiàn)[2]方法、文獻(xiàn)[3]方法的目標(biāo)跟蹤偏移曲線波動(dòng)較大。說(shuō)明應(yīng)用本文方法對(duì)目標(biāo)進(jìn)行跟蹤的穩(wěn)定性更強(qiáng),誤差更小。 本文基于點(diǎn)云分割確定運(yùn)動(dòng)目標(biāo)區(qū)域,運(yùn)用混合伺服跟蹤方法在確定區(qū)域過(guò)程中實(shí)現(xiàn)了移動(dòng)機(jī)器人對(duì)運(yùn)動(dòng)目標(biāo)的跟蹤。并得出了以下結(jié)論: 驗(yàn)證了該方法完成跟蹤任務(wù)的可行性與有效性,其運(yùn)動(dòng)目標(biāo)跟蹤的距離精確度要高于其他運(yùn)動(dòng)目標(biāo)跟蹤方法,在中心距離偏差為9像素時(shí)達(dá)到了運(yùn)動(dòng)目標(biāo)跟蹤距離精確度最高值;并且采用合適的角速度可以降低運(yùn)動(dòng)目標(biāo)跟蹤時(shí)的中心距離誤差。 無(wú)論在有障礙或者無(wú)障礙情況下,本文方法得到的目標(biāo)跟蹤偏移曲線誤差值更低,且曲線變化較平緩,無(wú)大幅度波動(dòng);但是,移動(dòng)機(jī)器人跟蹤目標(biāo)單一,無(wú)法驗(yàn)證多目標(biāo)跟蹤時(shí)運(yùn)用本文方法是否同樣優(yōu)于其他運(yùn)動(dòng)目標(biāo)跟蹤方法,下一步將從移動(dòng)機(jī)器人多目標(biāo)跟蹤方向進(jìn)行研究。3 實(shí)驗(yàn)與論證
4 結(jié)論