基于計(jì)算機(jī)仿真的全景視覺鏡面設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
文章用反射鏡面設(shè)計(jì)的理論知識(shí)和計(jì)算機(jī)仿真,為實(shí)現(xiàn)應(yīng)用于中型組足球競(jìng)賽機(jī)器人全景視覺系統(tǒng)的反射鏡面的快速有效的設(shè)計(jì),自主開發(fā)了用于鏡面輪廓設(shè)計(jì)的仿真設(shè)計(jì)系統(tǒng)。
并設(shè)計(jì)制造了滿足機(jī)器人任務(wù)要求的特殊曲線的反射鏡面。通過實(shí)踐表明基于知識(shí)和計(jì)算機(jī)仿真的現(xiàn)代設(shè)計(jì)方法大大提高了反射鏡面設(shè)計(jì)的質(zhì)量和效率,能從整體上把握設(shè)計(jì)的合理性,避免設(shè)計(jì)出錯(cuò)和產(chǎn)品返工,節(jié)省制造成本,并令設(shè)計(jì)結(jié)果滿足預(yù)計(jì)的任務(wù)需求。
引言
全景視覺系統(tǒng)是由一個(gè)朝上放置的攝像頭和一個(gè)反射鏡面組成,攝像頭通過反射鏡面獲得360度范圍的圖像。因其視野廣泛,足球競(jìng)賽機(jī)器人通常采用全景視覺系統(tǒng)來獲取整個(gè)球場(chǎng)的信息。反射鏡面是影響全景視覺的圖像效果和觀察范圍的重要因素。美國哥倫比亞大學(xué)的Simon Baker和Shree K. Nayar等人專門對(duì)全景視覺系統(tǒng)的幾何特性進(jìn)行了仔細(xì)的研究和分析,并提出了“單一視點(diǎn)(single viewpoint)”的問題[1]。符合單一視點(diǎn)的曲面,所有射向焦點(diǎn)的光線經(jīng)過反射后都射向另外一個(gè)焦點(diǎn)或者平行于對(duì)稱軸,而不是散射開來。
研究表明,不同鏡面適用于不同的觀察需求。常用的曲面鏡面(如拋物面,錐面等)往往不能同時(shí)滿足執(zhí)行特殊任務(wù)的機(jī)器人的多個(gè)觀察需求。于是有學(xué)者提出根據(jù)觀察需求或者假設(shè)的成像效果反推鏡面的曲面[2],以設(shè)計(jì)出滿足特殊任務(wù)需求的鏡面輪廓。本文的鏡面設(shè)計(jì)過程是根據(jù)反推算法求得曲面輪廓,并且建立相應(yīng)的模型仿真預(yù)先觀察成像效果,與期望的成像進(jìn)行比較,根據(jù)一定的評(píng)估和分析,優(yōu)化參數(shù),由計(jì)算機(jī)完成大量的計(jì)算過程和定量分析。這種設(shè)計(jì)方法可以高效地設(shè)計(jì)出性能好、成本低的鏡面。
1鏡面設(shè)計(jì)原理及成像仿真系統(tǒng)的開發(fā)
1.1 鏡面設(shè)計(jì)原理和方法
要預(yù)知經(jīng)過鏡面反射之后的成像效果,就必須知道鏡面曲線和經(jīng)過鏡面反射后的成像點(diǎn)(CCD上的成像單位)與現(xiàn)實(shí)空間點(diǎn)的映射關(guān)系。
圖1 鏡面成像原理
以小孔成像模型作為攝像頭的成像模型,因?yàn)殓R面是旋轉(zhuǎn)對(duì)稱的結(jié)構(gòu),只需研究二維的鏡面剖面曲線。如圖所示,根據(jù)光線反射定理和小孔成像法則,可以得到如下關(guān)系式:
上式中F(t)為曲線方程,具體的關(guān)系式推導(dǎo)可參考[4]。
若是未知鏡面曲線方程,而給定現(xiàn)實(shí)點(diǎn)與圖像點(diǎn)的對(duì)應(yīng)關(guān)系,則需要反推鏡面輪廓線。逆向求取鏡面曲線的方法分為兩種:解析解[2]和數(shù)值解[3]。本文采用求數(shù)值解的算法,因?yàn)樗?jì)算復(fù)雜度小,利于編程實(shí)現(xiàn)。主要實(shí)現(xiàn)流程如圖2所示:
圖2 鏡面輪廓設(shè)計(jì)實(shí)現(xiàn)流程圖
1.2 成像仿真
為了使鏡面曲線設(shè)計(jì)更直觀,更方便調(diào)整參數(shù),對(duì)鏡面成像效果進(jìn)行仿真預(yù)覽可以使設(shè)計(jì)的應(yīng)用更加友好,同時(shí)利于提高效率和設(shè)計(jì)質(zhì)量,避免設(shè)計(jì)和預(yù)期的效果出現(xiàn)過大的出入,造成時(shí)間和成本的浪費(fèi)。仿真系統(tǒng)以Matlab為開發(fā)平臺(tái),因?yàn)镸atlab具有強(qiáng)大的數(shù)學(xué)計(jì)算功能以及圖像處理庫,可以提供方便的函數(shù)調(diào)用,縮短仿真系統(tǒng)開發(fā)的時(shí)間。
根據(jù)上述得到的圖像和實(shí)際空間矢量的映射關(guān)系來進(jìn)行成像圖形的仿真。首先需要獲取進(jìn)行鏡面映像的環(huán)境,文中用于仿真的環(huán)境是足球機(jī)器人的比賽場(chǎng)地(包括場(chǎng)地上的白線,球門,門柱等)以及比賽用球。場(chǎng)地上的物體信息都是簡(jiǎn)單的規(guī)則性幾何體,確定了全局坐標(biāo)系之后,即可以得到各個(gè)物體的空間表達(dá)式,即它們的數(shù)學(xué)模型。假設(shè)以場(chǎng)地中央為全局坐標(biāo)原點(diǎn),根據(jù)右手法則,長(zhǎng)度方向?yàn)閤軸(指向黃球門),寬度方向?yàn)閥軸,z軸垂直地面向上,則主要物體的數(shù)學(xué)模型如下(計(jì)算單位為mm):
球:
(其中r=110)
黃球門: 藍(lán)球門:
設(shè)機(jī)器人在場(chǎng)地中的位置為(dx,dy,θ)T,dx,dy為平面坐標(biāo)位置,θ是機(jī)器人朝向角。物體數(shù)學(xué)模型(x,y,θ)T與以機(jī)器人視覺系統(tǒng)為原點(diǎn)的局部坐標(biāo)下的表達(dá)式(x’,y’,z’)T存在以下關(guān)系:
因?yàn)殓R面為旋轉(zhuǎn)對(duì)稱鏡面,為簡(jiǎn)化模擬成像的計(jì)算量,取θ=0。于是變換矩陣簡(jiǎn)化為:
根據(jù)之前計(jì)算所得的像素與空間矢量(物體模型上的點(diǎn)必通過某一空間矢量)的關(guān)系式即可得到所設(shè)計(jì)的虛擬環(huán)境的成像效果圖。之后根據(jù)成像效果圖修改參數(shù),并通過成像仿真快速達(dá)到所需要的效果,可得到最終的鏡面加工參數(shù)。
2 實(shí)驗(yàn)與結(jié)果
所設(shè)計(jì)的用于足球機(jī)器人的鏡面需滿足下列要求:
1) 當(dāng)機(jī)器人在場(chǎng)地中間位置時(shí),需要看到球門,以便區(qū)分己方球門和對(duì)方球門,確定運(yùn)動(dòng)的方向。
2) 看到的遠(yuǎn)處的球要具有較準(zhǔn)確的方向信息。
3) 看到的近處的球要具有較準(zhǔn)確的方向和距離信息,即要求近處的觀察分辨率需要達(dá)到一定的要求。
4) 盡可能少地看到機(jī)器人本身(無用信息),以便更多地獲取機(jī)器人四周的環(huán)境信息。
根據(jù)以上要求,可將鏡面分成兩部分設(shè)計(jì),一部分用來觀察機(jī)器人1m內(nèi)的范圍,一部分觀察1米外和球門的信息。實(shí)現(xiàn)過程如下:
事先根據(jù)需要考慮整個(gè)圖像的觀察區(qū)域分布,分配不同距離區(qū)間的分辨率,然后運(yùn)行仿真程序得到鏡面曲線和成像效果(見圖3),并且把鏡面曲線的各點(diǎn)坐標(biāo)保存成數(shù)據(jù)文件,方便后期的數(shù)控車床加工提取數(shù)據(jù)。實(shí)際鏡面成像效果圖如圖4所示。
圖3 鏡面剖面圖和成像效果圖
圖4 加工完成的反射鏡面及實(shí)際鏡面成像圖
3 總結(jié)
通過虛擬仿真的計(jì)算機(jī)輔助設(shè)計(jì)方法以及鏡面逆推算法,可以方便而有效地設(shè)計(jì)出全景視覺系統(tǒng)的反射鏡面,滿足了預(yù)先設(shè)想的任務(wù)要求,在足球機(jī)器人應(yīng)用良好。借助計(jì)算機(jī)輔助設(shè)計(jì)及仿真方法,產(chǎn)品設(shè)計(jì)不僅提高了效率,更提高了設(shè)計(jì)的質(zhì)量,并且能把設(shè)計(jì)集中在創(chuàng)新上而不是一些繁瑣的計(jì)算和參數(shù)細(xì)化上。