本技術(shù)涉及計算機視覺的,尤其是涉及一種基于多攝像機的室內(nèi)機器人定位導(dǎo)航方法及相關(guān)設(shè)備。
背景技術(shù):
1、室內(nèi)機器人是指設(shè)計用于在室內(nèi)環(huán)境中執(zhí)行各種任務(wù)的機器人,室內(nèi)機器人可以用于多種場景,包括家庭、辦公室、商店、醫(yī)院等地方,室內(nèi)機器人的發(fā)展為人們的生活帶來了諸多便利,可以在各種場景中幫助人們完成各種任務(wù),從而提高生活質(zhì)量和工作效率。
2、在室內(nèi)環(huán)境中,機器人需要能夠準(zhǔn)確地感知和理解周圍的環(huán)境,以便執(zhí)行任務(wù)和規(guī)避障礙物,為了實現(xiàn)這一點,室內(nèi)機器人通常配備各種傳感器,如激光雷達、攝像頭、超聲波傳感器等,以獲取環(huán)境信息并進行定位和導(dǎo)航,由此可見,傳統(tǒng)的室內(nèi)機器人定位以及導(dǎo)航主要依賴機器人自身的傳感器,一方面,過多的傳感器增加了室內(nèi)機器人的制造成本,另一方面,受限于傳感器本身的尺寸與位置,導(dǎo)致觀測范圍也有很大的局限。
3、近年來,基于視覺的定位技術(shù)逐漸成為研究熱點,通常采用單視角圖像定位技術(shù),通過訓(xùn)練特定的檢測模型來識別并定位機器人在圖像中的二維坐標(biāo),然而,由于生活環(huán)境的復(fù)雜性,環(huán)境隨時改變,受外界影響、干擾較多,單視角存在監(jiān)控死角,定位導(dǎo)航精度會受到影響。
技術(shù)實現(xiàn)思路
1、為了便于實現(xiàn)室內(nèi)機器人的精準(zhǔn)定位導(dǎo)航,本技術(shù)提供一種基于多攝像機的室內(nèi)機器人定位導(dǎo)航方法及相關(guān)設(shè)備,采用如下的技術(shù)方案:
2、第一方面,本技術(shù)提供了一種基于多攝像機的室內(nèi)機器人定位導(dǎo)航方法,包括:
3、若在第一時刻觀測到事件目標(biāo),則獲取目標(biāo)場景中的n個攝像機的內(nèi)外參數(shù),其中,所述n為大于或者等于3的整數(shù),所述目標(biāo)場景為室內(nèi)場景集中的任意一個場景;
4、通過所述n個攝像機采集所述目標(biāo)場景的場景圖像,以得到所述室內(nèi)場景集所對應(yīng)的場景圖像集合;
5、基于所述場景圖像集合確定作業(yè)機器人的像素坐標(biāo)以及所述事件目標(biāo)的像素坐標(biāo);
6、基于所述作業(yè)機器人的像素坐標(biāo)、所述事件目標(biāo)的像素坐標(biāo)以及所述n個攝像機的內(nèi)外參數(shù)確定所述作業(yè)機器人的第一世界坐標(biāo)以及所述事件目標(biāo)的第二世界坐標(biāo);
7、基于所述作業(yè)機器人的第一世界坐標(biāo)、所述事件目標(biāo)的第二世界坐標(biāo)以及所述室內(nèi)場景集對應(yīng)的室內(nèi)柵格地圖對所述作業(yè)機器人進行路徑規(guī)劃,并將所述路徑規(guī)劃發(fā)送至所述作業(yè)機器人,以使得所述作業(yè)機器人根據(jù)所述路徑規(guī)劃進行作業(yè);
8、若當(dāng)前時刻達到第二時刻,且所述事件目標(biāo)未被觀測到或所述作業(yè)機器人處于預(yù)測模式,則基于預(yù)先構(gòu)建的時間坐標(biāo)運動模型預(yù)測所述事件目標(biāo)在所述第二時刻的第三世界坐標(biāo),所述第二時刻大于所述第一時刻,且所述第二時刻與所述第一時刻之間的差值為預(yù)設(shè)值;
9、根據(jù)所述事件目標(biāo)在所述第二時刻的第三世界坐標(biāo)、所述作業(yè)機器人在所述第二時刻的第四世界坐標(biāo)以及所述室內(nèi)柵格地圖對所述路徑規(guī)劃進行調(diào)整,并將調(diào)整后的路徑規(guī)劃發(fā)送至所述作業(yè)機器人,以使得所述作業(yè)機器人根據(jù)所述調(diào)整后的路徑規(guī)劃進行作業(yè)。
10、可選的,所述基于所述場景圖像集合確定作業(yè)機器人的像素坐標(biāo)以及所述事件目標(biāo)的像素坐標(biāo)包括:
11、將所述場景圖像集合輸入到神經(jīng)網(wǎng)絡(luò)檢測模型中以檢測所述作業(yè)機器人以及所述事件目標(biāo),以得到所述作業(yè)機器人的包圍框以及所述事件目標(biāo)的包圍框;
12、根據(jù)所述作業(yè)機器人的包圍框的中心坐標(biāo)確定所述作業(yè)機器人的像素坐標(biāo);
13、根據(jù)所述事件目標(biāo)的包圍框的中心坐標(biāo)確定所述事件目標(biāo)的像素坐標(biāo)。
14、可選的,所述根據(jù)所述作業(yè)機器人的包圍框的中心坐標(biāo)確定所述作業(yè)機器人的像素坐標(biāo)包括:
15、通過如下公式計算所述作業(yè)機器人的像素坐標(biāo):
16、
17、所述根據(jù)所述事件目標(biāo)的包圍框的中心坐標(biāo)確定所述事件目標(biāo)的像素坐標(biāo)包括:
18、通過如下公式計算所述事件目標(biāo)的像素坐標(biāo):
19、
20、其中,所述boxrobot_i為所述作業(yè)機器人的包圍框,所述boxobject_i為所述事件目標(biāo)的包圍框,所述為所述作業(yè)機器人的像素坐標(biāo),所述為所述事件目標(biāo)的像素坐標(biāo)。
21、可選的,所述基于所述作業(yè)機器人的像素坐標(biāo)、所述事件目標(biāo)的像素坐標(biāo)以及所述n個攝像機的內(nèi)外參數(shù)確定所述作業(yè)機器人的第一世界坐標(biāo)以及所述事件目標(biāo)的第二世界坐標(biāo)包括:
22、根據(jù)所述n個攝像機的內(nèi)外參數(shù)確定第一目標(biāo)攝像機的內(nèi)參、所述第一目標(biāo)攝像機的外參旋轉(zhuǎn)矩陣以及所述第一目標(biāo)攝像機的位移向量,其中,所述第一目標(biāo)攝像機為所述n個攝像機中的任意一個觀測到所述作業(yè)機器人的攝像機;
23、基于所述作業(yè)機器人的像素坐標(biāo)、所述作業(yè)機器人的高度、所述第一目標(biāo)攝像機的內(nèi)參、所述第一目標(biāo)攝像機的外參旋轉(zhuǎn)矩陣以及所述第一目標(biāo)攝像機的位移向量確定所述作業(yè)機器人的第一世界坐標(biāo);
24、根據(jù)所述n個攝像機的內(nèi)外參數(shù)確定第二目標(biāo)攝像機的內(nèi)參、所述第二目標(biāo)攝像機的外參旋轉(zhuǎn)矩陣以及所述第二目標(biāo)攝像機的位移向量,其中,所述第二目標(biāo)攝像機為所述n個攝像機中的任意一個觀測到所述事件目標(biāo)的攝像機;
25、基于所述事件目標(biāo)的像素坐標(biāo)、所述第二目標(biāo)攝像機的內(nèi)參、所述第二目標(biāo)攝像機的外參旋轉(zhuǎn)矩陣、所述第二目標(biāo)攝像機的位移向量以及最小化重投影誤差原理確定所述事件目標(biāo)的第二世界坐標(biāo)。
26、可選的,所述基于所述作業(yè)機器人的像素坐標(biāo)、所述作業(yè)機器人的高度、所述第一目標(biāo)攝像機的內(nèi)參、所述第一目標(biāo)攝像機的外參旋轉(zhuǎn)矩陣以及所述第一目標(biāo)攝像機的位移向量確定所述作業(yè)機器人的第一世界坐標(biāo)包括:
27、通過如下公式計算所述作業(yè)機器人的第一世界坐標(biāo):
28、通過如下公式計算所述作業(yè)機器人的第一世界坐標(biāo):
29、
30、其中,所述為所述第一世界坐標(biāo),所述為所述作業(yè)機器人在所述第一目標(biāo)攝像機成像平面的世界坐標(biāo),所述為所述作業(yè)機器人在所述第一目標(biāo)攝像機成像平面的像素坐標(biāo),所述ri1為所述第一目標(biāo)攝像機的外參旋轉(zhuǎn)矩陣,所述ki1為所述第一目標(biāo)攝像機的內(nèi)參,所述ti1為所述第一目標(biāo)攝像機的位移向量,所述為所述第一目標(biāo)攝像機的實際世界坐標(biāo),所述vobject為所述作業(yè)機器人相對所述第一目標(biāo)攝像機的方向向量,所述hrobot為所述作業(yè)機器人的高度,所述為所述第一目標(biāo)攝像機下所述作業(yè)機器人的世界坐標(biāo),所述nr為所述第一目標(biāo)攝像機的數(shù)量;i=0,1,…,n-1。
31、可選的,所述基于所述事件目標(biāo)的像素坐標(biāo)、所述第二目標(biāo)攝像機的內(nèi)參、所述第二目標(biāo)攝像機的外參旋轉(zhuǎn)矩陣、所述第二目標(biāo)攝像機的位移向量以及最小化重投影誤差原理確定所述事件目標(biāo)的第二世界坐標(biāo)包括:
32、通過如下公式計算所述事件目標(biāo)的第二世界坐標(biāo):
33、
34、其中,所述為所述第二世界坐標(biāo),所述ri2為所述第二目標(biāo)攝像機的外參旋轉(zhuǎn)矩陣,所述ki2為所述第二目標(biāo)攝像機的內(nèi)參,所述ti2為所述第二目標(biāo)攝像機的位移向量,所述為所述事件目標(biāo)的像素坐標(biāo),所述no為所述第二目標(biāo)攝像機的數(shù)量。
35、1.可選的,所述基于預(yù)先構(gòu)建的時間坐標(biāo)運動模型預(yù)測所述事件目標(biāo)在所述第二時刻的第三世界坐標(biāo)包括:
36、通過如下公式計算所述事件目標(biāo)在所述第二時刻的第三世界坐標(biāo):
37、通過如下公式計算所述事件目標(biāo)在所述第二時刻的第三世界坐標(biāo):
38、
39、vk-1,k-1=vk-2,k-2;
40、
41、其中,k=t,t+1,t+2,…;所述為所述第三世界坐標(biāo),所述δt為期望預(yù)測的時間間隔,所述kk為權(quán)重,所述pk,k為k時刻狀態(tài)轉(zhuǎn)移斜方差權(quán)重,所述rk為預(yù)測位置和觀測位置的移斜方差,所述為在第k時刻所述事件目標(biāo)在第k時刻的第三世界坐標(biāo),所述vk-1,k-1為狀態(tài)轉(zhuǎn)移速度分量系數(shù),所述為k時間狀態(tài)轉(zhuǎn)移斜方差權(quán)重速度系數(shù),所述q為誤差分量。
42、第二方面,本技術(shù)提供了一種基于多攝像機的室內(nèi)機器人定位導(dǎo)航裝置,包括:
43、第一獲取模塊,用于若在第一時刻觀測到事件目標(biāo),則獲取目標(biāo)場景中的n個攝像機的內(nèi)外參數(shù),其中,所述n為大于或者等于3的整數(shù),所述目標(biāo)場景為室內(nèi)場景集中的任意一個場景;
44、第二獲取模塊,用于通過所述n個攝像機采集所述目標(biāo)場景的場景圖像,以得到所述室內(nèi)場景集所對應(yīng)的場景圖像集合;
45、第一確定模塊,用于基于所述場景圖像集合確定作業(yè)機器人的像素坐標(biāo)以及所述事件目標(biāo)的像素坐標(biāo);
46、第二確定模塊,用于基于所述作業(yè)機器人的像素坐標(biāo)、所述事件目標(biāo)的像素坐標(biāo)以及所述n個攝像機的內(nèi)外參數(shù)確定所述作業(yè)機器人的第一世界坐標(biāo)以及所述事件目標(biāo)的第二世界坐標(biāo);第一處理模塊,用于基于所述作業(yè)機器人的第一世界坐標(biāo)、所述事件目標(biāo)的第二世界坐標(biāo)以及所述室內(nèi)場景集對應(yīng)的室內(nèi)柵格地圖對所述作業(yè)機器人進行路徑規(guī)劃,并將所述路徑規(guī)劃發(fā)送至所述作業(yè)機器人,以使得所述作業(yè)機器人根據(jù)所述路徑規(guī)劃進行作業(yè);
47、第一預(yù)測模塊,用于若當(dāng)前時刻達到第二時刻,且所述事件目標(biāo)未被觀測到或所述作業(yè)機器人處于預(yù)測模式,則基于預(yù)先構(gòu)建的時間坐標(biāo)運動模型預(yù)測所述事件目標(biāo)在所述第二時刻的第三世界坐標(biāo),所述第二時刻大于所述第一時刻,且所述第二時刻與所述第一時刻之間的差值為預(yù)設(shè)值;
48、第二處理模塊,用于根據(jù)所述事件目標(biāo)在所述第二時刻的第三世界坐標(biāo)、所述作業(yè)機器人在所述第二時刻的第四世界坐標(biāo)以及所述室內(nèi)柵格地圖對所述路徑規(guī)劃進行調(diào)整,并將調(diào)整后的路徑規(guī)劃發(fā)送至所述作業(yè)機器人,以使得所述作業(yè)機器人根據(jù)所述調(diào)整后的路徑規(guī)劃進行作業(yè)。
49、第三方面,本技術(shù)提供一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述基于多攝像機的室內(nèi)機器人定位導(dǎo)航方法的步驟。
50、第四方面,本技術(shù)提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述基于多攝像機的室內(nèi)機器人定位導(dǎo)航方法的步驟。
51、綜上所述,可以看出,本技術(shù)提供的實施例中,為了保證攝像機的視野覆蓋能夠覆蓋整個場地,在目標(biāo)場景中設(shè)置有至少n個攝像機,目標(biāo)場景為室內(nèi)場景集中的任意一個場景,當(dāng)?shù)谝粫r刻觀測到事件目標(biāo),獲取目標(biāo)場景中n個攝像機的內(nèi)外參數(shù),并通過n個攝像機采集目標(biāo)場景的場景圖像,以得到室內(nèi)場景集所對應(yīng)的場景圖像集合,基于場景圖像集合首先確定作業(yè)機器人的像素坐標(biāo)以及事件目標(biāo)的像素坐標(biāo),再基于作業(yè)機器人的像素坐標(biāo)、事件目標(biāo)的像素坐標(biāo)以及n個攝像機的內(nèi)外參數(shù)確定作業(yè)機器人的第一世界坐標(biāo)以及事件目標(biāo)的第二世界坐標(biāo),接著基于第一世界坐標(biāo)、第二世界坐標(biāo)、室內(nèi)柵格地圖對作業(yè)機器人進行路徑規(guī)劃,并將路徑規(guī)劃發(fā)送至作業(yè)機器人,以使得作業(yè)機器人根據(jù)路徑規(guī)劃進行作業(yè),倘若當(dāng)前時刻達到第二時刻,出現(xiàn)事件目標(biāo)未被觀測到或者作業(yè)機器人處于預(yù)測模式的情況,為了提高作業(yè)機器人定位導(dǎo)航的精確度,對基于預(yù)先構(gòu)建的時間坐標(biāo)運動模型預(yù)測事件目標(biāo)在第二時刻的第三世界坐標(biāo),再基于第三世界坐標(biāo)以及作業(yè)機器人在第二時刻的第四世界坐標(biāo)以及室內(nèi)室內(nèi)柵格地圖對路徑規(guī)劃進行調(diào)整,并將調(diào)整后的路徑規(guī)劃發(fā)送至作業(yè)機器人,以使得作業(yè)機器人根據(jù)調(diào)整后的路徑規(guī)劃進行作業(yè),本技術(shù)中相比與傳統(tǒng)技術(shù)過度依賴于傳感器,對動態(tài)或遮擋事件目標(biāo)導(dǎo)航效果差的問題,本技術(shù)中的方案,采用多視角圖像定位技術(shù),并在對待動態(tài)或者事件目標(biāo)時,能夠?qū)崟r預(yù)測事件目標(biāo)的位置,進而對機器人的運行軌跡進行實時調(diào)整,以實現(xiàn)室內(nèi)機器人的精準(zhǔn)定位導(dǎo)航。