移動機器人的實時定位方法及移動機器人的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動機器人的實時定位方法和移動機器人。
【背景技術(shù)】
[0002]隨著人類智能化水平的提高,世界各國都很重視自主移動機器人的開發(fā)與研究,比如,室內(nèi)掃地機由于其智能化以及便捷性,被越來越多的人所認可,但是由于家庭環(huán)境的復(fù)雜性和多變性,這就要求其具有實時感知環(huán)境、判斷障礙等相關(guān)能力,實現(xiàn)其自身定位及地圖創(chuàng)建。此外,由于實際中移室內(nèi)掃地機的輪子會存在側(cè)滑以及打滑的現(xiàn)象,里程計的定位精度會隨著時間存在很大的累計誤差。
[0003]目前室內(nèi)掃地機主要分為兩類:
一是隨機清掃式的傳統(tǒng)掃地機,主要采用機械開關(guān)、紅外二極管、超聲波等較為低廉的傳感器進行避障,但是由于是采用碰撞式的隨機清掃方式或按照預(yù)定的清掃路徑進行清掃,不具有定位功能,因此清掃效率較低且容易對家居用品造成毀壞;
二是具有定位和導(dǎo)航功能的智能掃地機,該種智能掃地機多采用慣性導(dǎo)航、激光傳感器或視覺傳感器,具有自身定位以及導(dǎo)航功能。其中,慣性導(dǎo)航以牛頓力學(xué)定律為基礎(chǔ),機器人可以在不與外界發(fā)生任何光、電、磁等信息聯(lián)系,僅依靠慣性導(dǎo)航實現(xiàn)自主三維定位、計算位姿和測量速度,但是由于慣導(dǎo)在每次使用之前都需要較長的初始對準時間,且導(dǎo)航信息經(jīng)過積分而產(chǎn)生,定位誤差隨時間而增大,長期累計造成精度差;激光雷達測量精度較高,可以直接由測量數(shù)據(jù)來對環(huán)境進行特征提取,但是由于其價格成本較高,且結(jié)構(gòu)設(shè)計較為復(fù)雜,也限制了其使用范圍;視覺傳感器可提供豐富的場景信息、探測范圍廣,具有較高的空間分辨率,且單目視覺傳感器已廣泛應(yīng)用在工業(yè)機器人、移動機器人等領(lǐng)域,但是現(xiàn)有的單目視覺機器人不能直接獲得環(huán)境的深度信息,需要添加額外的算法來實現(xiàn)環(huán)境識別的能力,運算較為復(fù)雜,且精度較低,不能較好地滿足定位的實時性。
[0004]上述兩種掃地機都未解決移動機器人特別是掃地機的里程計的定位精度會隨著時間存在很大的累計誤差的問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明專利申請的目的在于提供一種移動機器人的實時定位和地圖創(chuàng)建方法及移動機器人,解決【背景技術(shù)】中的問題。
[0006]本發(fā)明專利申請公開的移動機器人的時定位和地圖創(chuàng)建方法的技術(shù)方案如下: 一種移動機器人的實時定位方法,所述移動機器人包括里程計模塊、陀螺儀模塊和雙目攝像機模塊,所述方法包括:
51:標定雙目攝像機t吳塊的相關(guān)參數(shù);
52:設(shè)定移動機器人的初始定位信息posetQ;
53:實時獲取里程計信息和陀螺儀信息;
54:對里程計信息和陀螺儀信息進行融合后以得到移動機器人當前定位信息?08^并保存;
55:移動機器人每運動預(yù)定距離或每運動預(yù)定時間后,將此時記為時刻t’ i,通過雙目攝像機獲取移動機器人在t’ i時刻周圍環(huán)境的兩幀圖像信息;
56:對雙目攝像機的兩幀圖像進行矯正;
57:對兩幀圖像進行環(huán)境特征點提取和立體匹配;
58:計算環(huán)境特征點的三維坐標;
59:通過SLAM算法修訂移動機器人在t’ i時刻的定位信息并保存。
[0007]進一步地,所述移動機器人在任意時刻t的定位信息掃地機的定位信息pose (t)=poset.1 mod+poset0+ poset - poset,i,其中,i 表示在 t 時刻掃地機已進行了 i 次 SLAM計算,poset.1 mcid表示掃地機在ti時刻的經(jīng)SLAM算法修訂后的定位信息,pose t。表示掃地機初始位置信息,p0Set表示掃地機在t時刻經(jīng)融合里程計信息和陀螺儀信息得到的定位信息,posen表示掃地機在ti時刻經(jīng)融合里程計信息和陀螺儀信息得到的定位信息。
[0008]可選地,所述步驟S5中的預(yù)定距離為0.5m。
[0009]可選地,所述步驟S5中的預(yù)定時間為2s。
[0010]本發(fā)明專利申請公開的移動機器人的技術(shù)方案如下:
一種移動機器人,包括MCU模塊、雙目攝像機模塊、圖像采集模塊、里程計模塊、陀螺儀模塊、數(shù)據(jù)采集模塊、運動模塊、通信模塊和存儲模塊;所述MCU模塊用于標定雙目攝像機模塊的相關(guān)參數(shù)、設(shè)定移動機器人的初始定位信息poset。、對里程計信息及陀螺儀信息進行融合以得到移動機器人的當前定位信息pose t、對圖像進行環(huán)境特征點提取和立體匹配、計算環(huán)境特征點的三維坐標、計算移動機器人的修訂后定位信息poSetnicld;所述圖像采集模塊用于采集雙目攝像機模塊的圖像信息并傳輸至MCU模塊;所述數(shù)據(jù)采集模塊用于采集里程計模塊數(shù)據(jù)信息及陀螺儀模塊數(shù)據(jù)信息;所述運動模塊用于將移動機器人驅(qū)動至指定位置;所述通信模塊用于將數(shù)據(jù)采集模塊采集到的里程計信息及陀螺儀信息傳輸至MCU模塊和將MCU模塊的指令傳輸至運動模塊;所述存儲模塊用于存儲定位信息。
[0011 ] 進一步地,所述MCU模塊為ARM模塊。
[0012]進一步地,所述通信模塊為串口通信模塊。
[0013]進一步地,所述數(shù)據(jù)采集模塊為STM32。
[0014]進一步地,所述移動機器人為掃地機,所述運動模塊為掃地機的左右驅(qū)動輪,所述里程計模塊和陀螺儀模塊分別用于測量左右驅(qū)動輪的位移變量和角度變量。
[0015]進一步地,所述掃地機還避障模塊,所述避障模塊用于檢測掃地機周圍障礙并通過數(shù)據(jù)采集模塊傳輸至MCU模塊。
[0016]本發(fā)明申請具有以下優(yōu)點:
1、將里程計信息與陀螺儀信息相融合的算法,實時矯正移動機器人的定位信息,提高了定位精度,減小系統(tǒng)的累計誤差;
2、使用雙目視覺SLAM算法,將里程計信息與陀螺儀信息經(jīng)卡爾曼濾波融合成定位信息,作為SLAM算法的預(yù)測值,結(jié)合雙目攝像機獲得的場景信息進行一次SLAM算法,進而實現(xiàn)定位,可以有效地降低里程計的累計誤差;
3、在本發(fā)明的優(yōu)化方案中,本發(fā)明在移動機器人每運動預(yù)定時間或預(yù)定距離運行預(yù)定時進行一次SLAM算法,在每次SLAM算法運行期間,將此期間的里程計信息與陀螺儀信息經(jīng)融合的定位信息結(jié)合最近一次SLAM算法得到的定位信息進行修訂后進行存儲,該處理方式降低了對SLAM時間的限制,解決因一次SLAM算法耗時較長而不能在此期間對移動機器人進行定位的問題,提高了定位精度。
【附圖說明】
[0017]圖1是本發(fā)明方法的流程圖。
[0018]圖2是本發(fā)明【具體實施方式】的移動機器人的組成方框圖。
【具體實施方式】
[0019]下面結(jié)合附圖和【具體實施方式】對本發(fā)明方案進行進一步詳細說明。
[0020]如圖1所示,本發(fā)明方法中的移動機器人包括包括MCU模塊、雙目攝像機模塊、圖像采集模塊、里程計模塊、陀螺儀模塊、數(shù)據(jù)采集模塊、運動模塊、通信模塊和存儲模塊,所述MCU模塊用于標定雙目攝像機模塊的相關(guān)參數(shù)、設(shè)定移動機器人的初始定位信息poSet。、對里程計模塊數(shù)據(jù)信息及陀螺儀模塊數(shù)據(jù)信息進行卡爾曼濾波融合以得到移動機器人的在t時刻的定位信息pose t和執(zhí)行SLAM算法得到修訂后的t時刻的移動機器人的定位信息p0Set 所述圖像采集模塊用于采集雙目攝像機模塊的圖像信息并傳輸至MCU模塊;所述數(shù)據(jù)采集模塊用于采集里程計模塊數(shù)據(jù)信息及陀螺儀模塊數(shù)據(jù)信息;所述運動模塊用于將移動機器人驅(qū)動至指定位置;所述通信模塊用于將移動控制模塊采集到的里程計模塊數(shù)據(jù)信息及陀螺儀模塊數(shù)據(jù)信息傳輸至MCU模塊和將MCU模塊的指令傳輸至運動模塊;所述存儲模塊用于存儲定位信息poset。、pose jP pose t mcid。
[0021]本實施例中,移動機器人以掃地機為例進行說明,如圖2所示,掃地機包括MCU模塊(本實施例中為ARM模塊)、雙目攝像機模塊、圖像采集模塊、里程計模塊、陀螺儀模塊、數(shù)據(jù)采集模塊(本實施例中采用STM32)、運動模塊(本實施例中為掃地機的左右驅(qū)動輪)、通信模塊(本實施例中采用串口通信模塊)、存儲模塊以及避障模塊(如地檢、墻檢等),避障模塊主要使用紅外傳感器、超聲波傳感器或碰撞開關(guān),避障模塊用于產(chǎn)生避障信號,并通過數(shù)據(jù)采集模塊進行采集并通過通信模塊傳輸給MCU模塊以控制掃地機的左右輪執(zhí)行回避動作。
[0022]本發(fā)明公開的掃地機機器人的定位方法包括以下步驟。
[0023]S1:標定雙目攝像機的相關(guān)參數(shù)。
[0024]初次使用時,需要標定雙目攝像機的相關(guān)參數(shù),下次使用時,在不更換掃地機的初始位置和不更換攝像頭的可以不需要再次標定。雙目攝像機標定的目的是確定攝像機的幾何位置、屬性參數(shù)和建立成像模型,以便確定世界坐標系中的物體與它在攝像機的成像平面上的像點之間的對應(yīng)關(guān)系,包括確定攝像機內(nèi)部幾何光學(xué)特性(內(nèi)部參數(shù))和確定攝像機在世界坐標系中的三維位置和方向(外部參數(shù))。雙目攝像機的標定需要標定每個攝像頭的內(nèi)部參數(shù)矩陣K,還需要標定兩個攝像頭之間的相對位置,即右攝像頭相對于左攝像頭的平移矩陣t和旋轉(zhuǎn)矩陣R,其中攝像機內(nèi)參數(shù)為,,。為攝像機主點坐標,攝像機外參數(shù)矩陣為[R, t] ο
[0025]S2:設(shè)定掃地機的初始定位信息poset。。
[0026]本實施例中,將掃地機的初始位置poset。的坐標(X,y, phi)設(shè)置為(0,0,0),其中,x、y分別為橫縱坐標,phi為角度;將掃地機中心位置設(shè)為坐標原點,X軸、y軸垂直相交于