一種室內(nèi)移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種室內(nèi)移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法,主要由雙輪移動(dòng)機(jī)器人平臺(tái)、里程計(jì)模塊、模擬攝像機(jī)、FPGA核心版、圖像采集模塊、無(wú)線通信模塊、存儲(chǔ)模塊、USB模塊和遠(yuǎn)程數(shù)據(jù)處理主機(jī)組成,通過(guò)FPGA核心版控制圖像采集模塊采集左右圖像信息。并發(fā)送給遠(yuǎn)程數(shù)據(jù)處理主機(jī),在遠(yuǎn)程數(shù)據(jù)處理主機(jī)上通過(guò)左右圖像的信息利用快速置信度傳播算法得到圖像和機(jī)器人間的距離信息,并在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中構(gòu)建三維環(huán)境地圖,同時(shí)利用改進(jìn)SIFT算法實(shí)現(xiàn)特定標(biāo)示物的識(shí)別,綜合以上信息利用粒子濾波算法確定移動(dòng)機(jī)器人的位置。本發(fā)明系統(tǒng)結(jié)構(gòu)緊湊,可接入智能空間系統(tǒng)中。使室內(nèi)移動(dòng)機(jī)器人可以實(shí)時(shí)的檢測(cè)環(huán)境,同時(shí)根據(jù)相應(yīng)的位置信息提供更多更準(zhǔn)確的服務(wù)。
【專(zhuān)利說(shuō)明】一種室內(nèi)移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于室內(nèi)移動(dòng)機(jī)器人【技術(shù)領(lǐng)域】,涉及一種室內(nèi)移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法。
【背景技術(shù)】
[0002]室內(nèi)移動(dòng)機(jī)器人研究的第一個(gè)重點(diǎn)就是環(huán)境感知問(wèn)題,而傳感器是機(jī)器人獲取環(huán)境信息的重要手段。移動(dòng)機(jī)器人攜帶的傳感器種類(lèi)繁多,其中與定位有關(guān)的可分為兩類(lèi):內(nèi)部傳感器和外部傳感器。內(nèi)部傳感器是指用于感知機(jī)器人自身位置、運(yùn)動(dòng)參數(shù)的傳感器,如陀螺儀、光電碼盤(pán)、多普勒儀等,這些傳感器可以用來(lái)實(shí)現(xiàn)機(jī)器人的自身位置估計(jì)。其中,基于光電碼盤(pán)和航跡推算法的機(jī)器人里程計(jì)因其價(jià)格低廉、采樣速率高、短距離內(nèi)能夠提供精確的定位精度,是移動(dòng)機(jī)器人最常用的內(nèi)部傳感器。里程計(jì)的優(yōu)點(diǎn)在于它是自完備的,并且總是能夠給出機(jī)器人的位置信息,但它的位置誤差是無(wú)界發(fā)散的,因此必須參照外部傳感器進(jìn)行位置校正。針對(duì)里程計(jì)的系統(tǒng)誤差,出現(xiàn)了 UMBmark測(cè)試校準(zhǔn)技術(shù)來(lái)校準(zhǔn)差分驅(qū)動(dòng)的服務(wù)機(jī)器人的系統(tǒng)誤差。該校準(zhǔn)技術(shù)被廣泛引用,成為差分驅(qū)動(dòng)服務(wù)機(jī)器人系統(tǒng)誤差校準(zhǔn)的典范。針對(duì)非系統(tǒng)誤差,有學(xué)者分析計(jì)算了機(jī)器人運(yùn)行軌跡的里程協(xié)方差矩陣;提出了評(píng)估服務(wù)機(jī)器人里程計(jì)的系統(tǒng)和非系統(tǒng)誤差的方法,系統(tǒng)誤差采用擴(kuò)展卡爾曼濾波器的方法,非系統(tǒng)誤差采用一種新的觀測(cè)濾波器。另一類(lèi)傳感器是感知機(jī)器人外部信息的傳感器,如聲納、GPS、紅外傳感器、激光雷達(dá)和視覺(jué)傳感器等等。這類(lèi)傳感器能提供獨(dú)立于機(jī)器人的信息,存在系統(tǒng)誤差但不會(huì)有累計(jì)誤差,因此可以用來(lái)修正機(jī)器人的位置誤差。另一方面,它們直接提供了外部環(huán)境的信息,是創(chuàng)建地圖的信息來(lái)源。其中,聲納傳感器由于價(jià)格低廉、使用簡(jiǎn)單、數(shù)據(jù)處理方便等優(yōu)點(diǎn)得到了廣泛使用,但其信息量相對(duì)較少空間分布分散,感知信息存在較大的不確定性。激光雷達(dá)的測(cè)量結(jié)果精度較高,可以直接根據(jù)測(cè)量數(shù)據(jù)進(jìn)行特征提取。視覺(jué)傳感器能夠提供更為豐富的環(huán)境信息,但視覺(jué)數(shù)據(jù)的處理需要更多的計(jì)算,實(shí)時(shí)性不強(qiáng)。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明的目的在于提供一種基于雙目視覺(jué)的室內(nèi)移動(dòng)機(jī)器人定位和三維建圖的方法,采用該方法可以充分利用視頻傳感器提供的豐富的環(huán)境信息,構(gòu)建彩色三維環(huán)境地圖。利用無(wú)線通信模塊,將數(shù)據(jù)的采集和處理分開(kāi)。用數(shù)據(jù)處理能力更強(qiáng)的處理器執(zhí)行復(fù)雜的算法,進(jìn)一步解決計(jì)算量大的問(wèn)題,提高實(shí)時(shí)性。
[0004]為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
[0005]室內(nèi)移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖系統(tǒng),包括以下模塊:圖像采集模塊;FPGA模塊;存儲(chǔ)模塊;USB通信模塊;無(wú)線通信模塊;機(jī)器人運(yùn)動(dòng)平臺(tái);里程計(jì)模塊;其中FPGA模塊與圖像采集模塊、存儲(chǔ)模塊、USB通信模塊、無(wú)線通信模塊、機(jī)器人運(yùn)動(dòng)平臺(tái)、里程計(jì)模塊相連。
[0006]基于雙目視覺(jué)的室內(nèi)移動(dòng)機(jī)器人定位和三維建圖的方法,它包含以下步驟:[0007](I)在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中選取若干個(gè)特定標(biāo)示物的圖像,提取其SIFT特征,存儲(chǔ)在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中。
[0008](2)初始化移動(dòng)機(jī)器人的位置坐標(biāo)為(0,O),控制移動(dòng)機(jī)器人向目標(biāo)位置移動(dòng)3s,控制移動(dòng)機(jī)器人停止。
[0009](3)利用FPGA讀取移動(dòng)機(jī)器人左右兩輪的里程計(jì)信息,將其轉(zhuǎn)存至存儲(chǔ)模塊中。
[0010](4)利用FPGA控制圖像采集模塊采集此刻左右攝像頭的圖像數(shù)據(jù),將其轉(zhuǎn)存至存儲(chǔ)豐吳塊中。
[0011](5)利用FPGA控制無(wú)線通信模塊,將存儲(chǔ)模塊中的本次采集的里程計(jì)數(shù)據(jù)和左右圖像數(shù)據(jù)傳給遠(yuǎn)程數(shù)據(jù)處理主機(jī)中,傳輸完成后,清除存儲(chǔ)模塊中的數(shù)據(jù)。
[0012](6)通過(guò)左右兩幅圖像的信息利用快速置信度傳播(FastBeliefPropagation)算法得到圖像和機(jī)器人間的距離信息,在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中構(gòu)建三維的環(huán)境地圖;
[0013](7)利用改進(jìn)的SIFT算法對(duì)圖像快速提取關(guān)鍵特征點(diǎn),并與遠(yuǎn)程數(shù)據(jù)處理主機(jī)中存儲(chǔ)的特定標(biāo)示物圖像特征點(diǎn)信息進(jìn)行比對(duì),實(shí)現(xiàn)圖像的識(shí)別;
[0014](8)根據(jù)里程計(jì)采集的運(yùn)動(dòng)信息、特定標(biāo)示物的坐標(biāo)位置、機(jī)器人與特定標(biāo)志物的距離信息采用粒子濾波的方法確定移動(dòng)機(jī)器人的位置。
[0015]進(jìn)一步,所述圖像采集模塊具有模擬視頻信號(hào)解碼和A/D轉(zhuǎn)換功能。
[0016]進(jìn)一步,所述的圖像采集模塊,該模塊主要采集左右兩個(gè)模擬攝像頭的PAL信號(hào),并進(jìn)行視頻信號(hào)的解碼和A/D轉(zhuǎn)換,并把A/D轉(zhuǎn)換后的數(shù)字信號(hào)傳遞給FPGA模塊。
[0017]進(jìn)一步,所述的FPGA模塊,該模塊主要功能
[0018]a.發(fā)送控制信號(hào),控制圖像采集模塊數(shù)據(jù)采集的方式,啟停等,并接收采集的數(shù)據(jù),將其轉(zhuǎn)存到存儲(chǔ)模塊中;
[0019]b.采集里程計(jì)模塊中里程計(jì)所記錄的數(shù)據(jù),將其轉(zhuǎn)存到存儲(chǔ)模塊中;
[0020]c.發(fā)送控制信號(hào)給機(jī)器人運(yùn)動(dòng)平臺(tái),控制其運(yùn)動(dòng);
[0021]d.將機(jī)器人當(dāng)前位置下存儲(chǔ)模塊中的圖像數(shù)據(jù)和里程計(jì)數(shù)據(jù)通過(guò)無(wú)線通信模塊傳給遠(yuǎn)程數(shù)據(jù)處理主機(jī),傳送成功后清除存儲(chǔ)模塊的數(shù)據(jù)。
[0022]進(jìn)一步,所述的存儲(chǔ)模塊,該模塊主要功能是當(dāng)機(jī)器人停止運(yùn)動(dòng)進(jìn)行周?chē)h(huán)境感知和自身定位時(shí),存儲(chǔ)經(jīng)由FPGA模塊控制,由里程計(jì)模塊和圖像采集模塊采集獲得的數(shù)據(jù),在成功發(fā)送給遠(yuǎn)程數(shù)據(jù)處理主機(jī)后,清除數(shù)據(jù),為下一次的數(shù)據(jù)存儲(chǔ)做準(zhǔn)備。
[0023]進(jìn)一步,所述的USB通信模塊,該模塊主要功能是調(diào)試整個(gè)系統(tǒng),判斷系統(tǒng)是否處于異常狀態(tài),如出現(xiàn)異常,則根據(jù)USB讀取的相應(yīng)數(shù)據(jù),判斷出異常的模塊。
[0024]進(jìn)一步,所述無(wú)線通信模塊,該模塊主要的功能是實(shí)現(xiàn)視覺(jué)感知子系統(tǒng)和機(jī)器人運(yùn)動(dòng)子系統(tǒng)與遠(yuǎn)程數(shù)據(jù)處理主機(jī)的數(shù)據(jù)交互。
[0025]進(jìn)一步,所述機(jī)器人運(yùn)動(dòng)平臺(tái)采用雙輪驅(qū)動(dòng)的移動(dòng)機(jī)器人。
[0026]進(jìn)一步,所述里程計(jì)模塊,該模塊的主要功能是記錄移動(dòng)機(jī)器人的運(yùn)動(dòng)信息。
[0027]進(jìn)一步,所述里程計(jì)模塊為光電碼盤(pán),安裝位置在雙輪機(jī)器人的左右輪子上方。
[0028]進(jìn)一步,所述的向目標(biāo)位置移動(dòng)3s,其中時(shí)間可以根據(jù)你想獲得機(jī)器人位置的精度和建圖的精度要求做相應(yīng)的變化。
[0029]進(jìn)一步,所述的特定標(biāo)示物為房間中一些有代表性的物體。
[0030]進(jìn)一步,所述的快速置信傳播算法是在對(duì)圖像全部像素點(diǎn)采用圖模型建模時(shí),求解每一個(gè)像素點(diǎn)視差最大概率取值的一種方法。
[0031]進(jìn)一步,所述視差是指左右兩幅圖像中相同物體所對(duì)應(yīng)的像素點(diǎn)橫坐標(biāo)值之差,該差值與攝像頭和觀測(cè)物體之間的距離成一定的比例關(guān)系,求出視差即可得到距離。
[0032]進(jìn)一步,所述的視差和距離的比例關(guān)系由左右兩個(gè)攝像頭之間的距離決定。
[0033]進(jìn)一步,所述的SIFT算法是特征提取的一種方法,可得到在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中已存儲(chǔ)的特定標(biāo)示物在左右兩幅圖像中的位置。
[0034]進(jìn)一步,所述的粒子濾波算法是采用概率統(tǒng)計(jì)的方法對(duì)機(jī)器人的位置進(jìn)行建模,結(jié)合概率密度的采樣方法,機(jī)器人的運(yùn)動(dòng)模型,機(jī)器人與標(biāo)示物之間的距離信息連續(xù)的求解機(jī)器人的最大概率位置。
[0035]采用了上述技術(shù)方案,本發(fā)明具有以下優(yōu)點(diǎn)和效果:
[0036](I)采用該方法可以充分利用視頻傳感器提供的豐富的環(huán)境信息,構(gòu)建彩色三維環(huán)境地圖,使構(gòu)建出的地圖的環(huán)境表達(dá)能力更強(qiáng)。
[0037](2)采用數(shù)據(jù)遠(yuǎn)程處理的方式,解決了算法復(fù)雜度高,實(shí)時(shí)性差的缺點(diǎn),結(jié)合并行計(jì)算的相關(guān)方法還可以進(jìn)一步的提高系統(tǒng)的實(shí)時(shí)性,故系統(tǒng)的可擴(kuò)展性強(qiáng)。
[0038](3)本發(fā)明系統(tǒng)結(jié)構(gòu)緊湊,可接入智能空間系統(tǒng)中??筛鶕?jù)相應(yīng)的位置信息提供更多更準(zhǔn)確的服務(wù)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0039]為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進(jìn)行說(shuō)明:
[0040]圖1為本發(fā)明所述移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法的系統(tǒng)結(jié)構(gòu)圖。
[0041]圖2為本發(fā)明所述移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法的系統(tǒng)流程圖。
【具體實(shí)施方式】
[0042]下面將結(jié)合附圖,對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述。
[0043]圖1為本發(fā)明所述移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法的系統(tǒng)結(jié)構(gòu)圖,包括以下模塊:圖像采集模塊;FPGA模塊;存儲(chǔ)模塊;USB通信模塊;無(wú)線通信模塊;機(jī)器人運(yùn)動(dòng)平臺(tái);里程計(jì)模塊;其中FPGA模塊與圖像采集模塊、存儲(chǔ)模塊、USB通信模塊、無(wú)線通信模塊、機(jī)器人運(yùn)動(dòng)平臺(tái)、里程計(jì)模塊相連。利用無(wú)線通信模塊,將移動(dòng)機(jī)器人的運(yùn)動(dòng)信息和左右兩幅圖像信息傳送至遠(yuǎn)程數(shù)據(jù)處理主機(jī)即數(shù)據(jù)處理子系統(tǒng),在遠(yuǎn)程數(shù)據(jù)處理主機(jī)上通過(guò)左右兩幅圖像的信息利用快速置信度傳播(FastBe I i efPropagat ion)算法得到圖像和機(jī)器人間的距離信息,并在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中構(gòu)建三維的環(huán)境地圖,同時(shí)利用改進(jìn)的SIFT算法對(duì)圖像快速提取關(guān)鍵特征點(diǎn),并與遠(yuǎn)程數(shù)據(jù)處理主機(jī)中存儲(chǔ)的特定標(biāo)示物圖像特征點(diǎn)信息進(jìn)行比對(duì),實(shí)現(xiàn)圖像的識(shí)別,進(jìn)而根據(jù)里程計(jì)采集的運(yùn)動(dòng)信息、特定標(biāo)示物的坐標(biāo)位置、機(jī)器人與特定標(biāo)志物的距離信息確定移動(dòng)機(jī)器人的位置。
[0044]圖2為本發(fā)明所述移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法的系統(tǒng)流程圖,具體實(shí)現(xiàn)步驟如下:
[0045](I)在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中選取若干個(gè)特定標(biāo)示物的圖像,提取其SIFT特征,存儲(chǔ)在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中。[0046](2)當(dāng)啟動(dòng)機(jī)器人執(zhí)行相應(yīng)任務(wù)時(shí),首先初始化移動(dòng)機(jī)器人的位置坐標(biāo)為(0,O),控制移動(dòng)機(jī)器人向目標(biāo)位置移動(dòng)3s后,控制移動(dòng)機(jī)器人停止移動(dòng)。
[0047](2)通過(guò)FPGA讀取移動(dòng)機(jī)器人左右兩輪的里程計(jì)信息,將其轉(zhuǎn)存至存儲(chǔ)模塊中。
[0048](3)通過(guò)FPGA控制圖像采集模塊采集此刻左右攝像頭的PAL信號(hào)數(shù)據(jù),并進(jìn)行視頻解碼和A/D轉(zhuǎn)換,隨后將其轉(zhuǎn)存至存儲(chǔ)模塊中。
[0049](4)通過(guò)FPGA控制無(wú)線通信模塊,將機(jī)器人當(dāng)前位置下存儲(chǔ)模塊中的圖像數(shù)據(jù)和里程計(jì)數(shù)據(jù)通過(guò)無(wú)線通信模塊傳給遠(yuǎn)程數(shù)據(jù)處理主機(jī),傳送成功后清除存儲(chǔ)模塊的數(shù)據(jù)。
[0050](5)首先圖像全部像素點(diǎn)間的關(guān)系用圖模型建模,對(duì)單一像素點(diǎn)的可能取值用概率模型建模,運(yùn)用快速置信度傳播算法中的迭代消息傳遞機(jī)制可以獲得每一個(gè)像素點(diǎn)視差最大概率取值,通過(guò)該視差值即可得到圖像和機(jī)器人間的距離信息,從而實(shí)現(xiàn)在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中構(gòu)建三維的環(huán)境地圖;
[0051](6)利用改進(jìn)的SIFT算法對(duì)當(dāng)前圖像快速提取關(guān)鍵特征點(diǎn),并與遠(yuǎn)程數(shù)據(jù)處理主機(jī)中存儲(chǔ)的特定標(biāo)示物圖像特征點(diǎn)信息進(jìn)行比對(duì),實(shí)現(xiàn)圖像的識(shí)別;
[0052](7)根據(jù)里程計(jì)采集的運(yùn)動(dòng)信息、特定標(biāo)示物的坐標(biāo)位置、機(jī)器人與特定標(biāo)志物的距離信息采用粒子濾波的方法確定移動(dòng)機(jī)器人的位置。粒子濾波算法是采用概率統(tǒng)計(jì)的方法對(duì)機(jī)器人的位置進(jìn)行建模,結(jié)合概率密度的采樣方法,機(jī)器人的運(yùn)動(dòng)模型,機(jī)器人與標(biāo)示物之間的距離信息連續(xù)的求解機(jī)器人的最大概率位置,從而實(shí)現(xiàn)機(jī)器人的定位。
[0053]最后說(shuō)明的是,以上優(yōu)選實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管通過(guò)上述優(yōu)選實(shí)施例已經(jīng)對(duì)本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對(duì)其作出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書(shū)所限定的范圍。
【權(quán)利要求】
1.一種室內(nèi)移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法,其特征在于:包括以下模塊: 模塊一:圖像采集模塊;模塊二 =FPGA模塊;模塊三:存儲(chǔ)模塊;模塊四:USB通信模塊;模塊五:無(wú)線通信模塊;模塊六:機(jī)器人運(yùn)動(dòng)平臺(tái);模塊七:里程計(jì)模塊。
2.—種室內(nèi)移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法,其特征在于:包括以下數(shù)據(jù)處理步驟: 步驟一:通過(guò)左右兩幅圖像的信息利用快速置信度傳播(FastBeliefPropagation)算法得到圖像和機(jī)器人間的距離信息,在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中構(gòu)建三維的環(huán)境地圖; 步驟二:利用改進(jìn)的SIFT算法對(duì)圖像快速提取關(guān)鍵特征點(diǎn),并與遠(yuǎn)程數(shù)據(jù)處理主機(jī)中存儲(chǔ)的特定標(biāo)示物圖像特征點(diǎn)信息進(jìn)行比對(duì),實(shí)現(xiàn)圖像的識(shí)別; 步驟三:根據(jù)里程計(jì)采集的運(yùn)動(dòng)信息、特定標(biāo)示物的坐標(biāo)位置、機(jī)器人與特定標(biāo)示物的距離信息采用粒子濾波的方法確定移動(dòng)機(jī)器人的位置。
3.根據(jù)權(quán)利要求2所述的室內(nèi)移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法,其特征在于:步驟一中所述的快速置信度傳播算法是在對(duì)圖像全部像素點(diǎn)采用圖模型建模時(shí),求解每一個(gè)像素點(diǎn)視差最大概率取值的一種方法。
4.根據(jù)權(quán)利要求2所述的室內(nèi)移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法,其特征在于:步驟二中所述的SIFT算法是特征提取的一種方法,可得到在遠(yuǎn)程數(shù)據(jù)處理主機(jī)中已存儲(chǔ)的特定標(biāo)示物在左右兩幅圖像中的位置。
5.根據(jù)權(quán)利要求2所述的室內(nèi)移動(dòng)機(jī)器人雙目視覺(jué)定位與三維建圖方法,其特征在于:步驟三中所述的粒子濾波算法是采用概率統(tǒng)計(jì)的方法對(duì)機(jī)器人的位置進(jìn)行建模,結(jié)合概率密度的采樣方法,機(jī)器人的運(yùn)動(dòng)模型,機(jī)器人與標(biāo)示物之間的距離信息連續(xù)的求解機(jī)器人的最大概率位置。
【文檔編號(hào)】G05D1/02GK103926927SQ201410184908
【公開(kāi)日】2014年7月16日 申請(qǐng)日期:2014年5月5日 優(yōu)先權(quán)日:2014年5月5日
【發(fā)明者】尹宏鵬, 柴毅, 姚聰 申請(qǐng)人:重慶大學(xué)