本發(fā)明屬于機器人定位技術領域,特別是涉及一種機器人基于ROS和GPS的室內(nèi)外無縫定位方法和定位系統(tǒng)。
背景技術:
移動機器人是一種可在復雜環(huán)境下工作,具有自規(guī)劃、自組織、自適應能力的機器人,具有行動快捷、工作效率高、結(jié)構(gòu)簡單、可控性強、安全性好等優(yōu)勢,目前在國內(nèi)外正在被廣泛的應用。
在移動機器人相關技術研究中,導航技術屬于其核心技術,也是實現(xiàn)智能化和自主移動的關鍵技術。目前常見的導航方式有電磁導航、慣性導航、視覺導航、無線導航、衛(wèi)星導航、傳感器數(shù)據(jù)導航等等。
無線導航:如專利號201510709583.X公開的一種室內(nèi)機器人定位系統(tǒng),所述定位系統(tǒng)包括定位模塊、工控機模塊、PLC模塊和移動模塊,其中:所述定位模塊包括RFID讀寫器、RFID標簽、無線網(wǎng)絡和機器人,所述RFID標簽作為定位參考點,所述RFID標簽等距地鋪滿整個機器人運動平面,所述RFID讀寫器置于所述機器人底部,并與所述無線網(wǎng)絡相連,所述無線網(wǎng)絡作為通信載體,所述RFID標簽接收距離20cm內(nèi)的RFID讀寫器發(fā)來的射頻信息,經(jīng)過調(diào)制、解碼進行判斷,將存儲的位置信息發(fā)出去,實現(xiàn)反饋,所述RFID讀寫器接收反饋信息并將之傳遞給所述工控機模塊。
傳感數(shù)據(jù)導航:如專利號201510784502.2公開的一種機器人的地圖創(chuàng)建及定位方法,所述包括以下步驟,S1:機器人采集傳感器數(shù)據(jù);S2:機器人將傳感器數(shù)據(jù)通過無線網(wǎng)絡發(fā)送至云端服務器;S3:云端服務器根據(jù)接收到的傳感器數(shù)據(jù)創(chuàng)建地圖及生成機器人定位信息;S4:云端服務器將地圖信息及定位信息通過無線網(wǎng)絡發(fā)送至機器人和用戶終端。
對于以上傳統(tǒng)的導航方式或多或少存在著一些弊端,電磁導航靈活性差,定位不準確,智能性不高且大面積磁條鋪設維護成本高。
衛(wèi)星導航多用于機器人的室外導航,然而機器人在室內(nèi)時,因為沒有GPS信號不能定位,主要依靠室內(nèi)導航技術,但是室內(nèi)導航技術進入到室外后便不再適用,因而機器人從室內(nèi)行走到室外或從室外行走到定內(nèi),將無法準確獲取機器人的位置。
技術實現(xiàn)要素:
本發(fā)明的目的就在于克服現(xiàn)有技術的不足,提供了一種機器人基于ROS和GPS的室內(nèi)外無縫定位方法和定位系統(tǒng),本發(fā)明實現(xiàn)了機器人從室內(nèi)到室外或從室外到室內(nèi)都能無縫切換導航模式,即實現(xiàn)了機器人從室內(nèi)到室外或從室外到室內(nèi)導航的無縫拼接,機器人室內(nèi)導航模式與室外的GPS導航模式的無縫切換,以獲取機器人行走在室內(nèi)或室外的位置,以對機器人行走進行路徑規(guī)劃,定位準確,不會出現(xiàn)機器人位置丟失等的情況。
為了實現(xiàn)上述目的,本發(fā)明提供了一種機器人基于ROS和GPS的室內(nèi)外無縫定位方法,包括如下步驟:
步驟一、微型主機內(nèi)安裝ROS操作系統(tǒng),利用ROS操作系統(tǒng)配合點云算法把采集到的攝像頭環(huán)境數(shù)據(jù)生成二維點云數(shù)據(jù),并利用gmapping框架和粒子濾波算法進行局部優(yōu)化建立室內(nèi)導航地圖和由室內(nèi)向室外延伸一段距離的室外導航地圖,由室內(nèi)導航地圖和室外導航地圖組成二維導航地圖,并將二維導航地圖保存至微型主機內(nèi);
步驟二、由室外到室內(nèi)的入口處張貼ar_marker,利用攝像頭掃描ar_marker,以獲取ar_marker的ID信息和相對于機器人的姿態(tài)信息,同時設定ar_marker在二維導航地圖中的坐標并保存至微型主機內(nèi);
步驟三、機器人在室內(nèi)行走時通過室內(nèi)導航地圖獲取機器人在室內(nèi)的位置;
步驟四、機器人由室內(nèi)行走到室外導航地圖范圍內(nèi)時,通過室外導航地圖獲取機器人在此范圍內(nèi)的位置同時在室外導航地圖范圍內(nèi)能保證室內(nèi)導航模式切換到室外的GPS模式,使得機器人行走在室外導航地圖范圍外時,通過GPS獲取機器人在室外的位置;
步驟五、機器人由室外行走到室內(nèi)時,通過攝像頭掃描入口處張貼的ar_marker,識別ar_marker并從微型主機內(nèi)調(diào)取ar_marker的姿態(tài)信息和ar_marker在二維導航地圖中的坐標;
步驟六、將ar_marker在二維導航地圖中的坐標初始化為機器人的初始化坐標,并由室外的GPS模式切換到室內(nèi)導航模式,使得機器人進入室內(nèi)后通過室內(nèi)導航地圖獲取機器人在室內(nèi)的位置。
進一步地,在步驟三中,機器人在室內(nèi)行走過程中,微型主機的ROS操作系統(tǒng)將攝像頭采集到的室內(nèi)環(huán)境中的物體信息轉(zhuǎn)換成三維點云數(shù)據(jù),再轉(zhuǎn)化成二維點云數(shù)據(jù),以得到攝像頭相對于物體的距離,當攝像頭相對于物體的距離在障礙物范圍內(nèi)時,通過微處理器改變底座上驅(qū)動電機的PWM以控制機器人減速行駛并轉(zhuǎn)向繞開障礙物。
進一步地,在步驟三中,機器人在室內(nèi)行走過程中,碰撞檢測單元檢測攝像頭掃描不到的區(qū)域是否有低障礙物,紅外懸空檢測單元檢測路面是否有深坑,碰撞檢測單元和紅外懸空檢測單元分別將檢測數(shù)據(jù)通過微處理器發(fā)送給微型主機,微型主機內(nèi)的ROS操作系統(tǒng)根據(jù)檢測數(shù)據(jù)繞開障礙物。
進一步地,在步驟四中,機器人由室內(nèi)行走到室外導航地圖范圍內(nèi)時,微型主機發(fā)送請求與機器人上的GPS單元建立通訊,同時在室內(nèi)導航地圖延伸到室外的范圍內(nèi)能保證微型主機與GPS單元建立通訊,以將室內(nèi)導航模式切換到室外的GPS模式,GPS單元獲取定位數(shù)據(jù),微型主機接收GPS單元發(fā)送的定位數(shù)據(jù)。
進一步地,在室外建立區(qū)域基準站,區(qū)域基準站上的GPS接收器接收GPS數(shù)據(jù),區(qū)域基準站上的微控制單元根據(jù)GPS數(shù)據(jù)和區(qū)域基準站的經(jīng)緯度坐標偏差計算定位修正數(shù),并將定位修正數(shù)發(fā)送給服務器,服務器將定位修正數(shù)同步發(fā)送給微型主機,微型主機根據(jù)GPS單元接收的GPS數(shù)據(jù)結(jié)合定位修正數(shù),以定位機器人在室外的位置。
進一步地,在步驟四中,機器人在室外行走過程中,微型主機的ROS操作系統(tǒng)將攝像頭采集到的室外環(huán)境中的物體信息轉(zhuǎn)換成三維點云數(shù)據(jù),以得到攝像頭相對于空間三維物體的距離,當攝像頭相對于空間三維物體的距離在障礙物范圍內(nèi)時,通過微處理器改變底座上驅(qū)動電機的PWM以控制機器人減速行駛并轉(zhuǎn)向繞開障礙物。
進一步地,在步驟四中,機器人在室外行走過程中,碰撞檢測單元檢測攝像頭掃描不到的低空障礙物,紅外懸空檢測單元檢測路面是否有深坑,碰撞檢測單元和紅外懸空檢測單元分別將檢測數(shù)據(jù)通過微處理器發(fā)送給微型主機,微型主機內(nèi)的ROS操作系統(tǒng)根據(jù)檢測數(shù)據(jù)繞開障礙物。
本發(fā)明還提供了一種采用所述室內(nèi)外無縫定位方法的定位系統(tǒng),包括安裝于機器人上的微型主機、攝像頭和GPS單元,以及安裝于機器人底座上的驅(qū)動電機、微處理器、紅外懸空檢測單元和碰撞檢測單元,所述微型主機分別與所述攝像頭、GPS單元和微處理器相連接,所述微處理器分別與所述驅(qū)動電機、紅外懸空檢測單元和碰撞檢測單元相連接。
進一步地,所述定位系統(tǒng)還包括區(qū)域基準站和服務器,所述區(qū)域基準站上設置有包括GPS接收器和微控制單元,所述GPS接收器與所述微控制單元相連接,所述微控制單無與所述服務器網(wǎng)絡通訊,所述服務器與所述微型主機網(wǎng)絡通訊。
與現(xiàn)有技術相比,本發(fā)明的有益效果:
1、本發(fā)明的機器人從室內(nèi)行走到室外時,通過室內(nèi)導航地圖延伸到室外導航地圖的范圍內(nèi)能確保機器人從室內(nèi)導航模式切換到室外的GPS模式,以實現(xiàn)機器人從室內(nèi)到室外導航模式的無縫切換。而當機器人從室外行走到定內(nèi)時,通過入口處的ar_marker對機器人位置初始化,以重新定位機器人進入室內(nèi)時的起始位置,保證了機器人不會從室外到室內(nèi)丟失自己的位置,同時保障重新回到室內(nèi)能準確的進行室內(nèi)導航。
2、本發(fā)明在室外建立有區(qū)域基準站,通過區(qū)域基準站上的GPS接收器接收GPS數(shù)據(jù),以通過微控制單元根據(jù)GPS數(shù)據(jù)和區(qū)域基準站的經(jīng)緯度坐標偏差計算定位修正數(shù),并將定位修正數(shù)發(fā)送給服務器,服務器將定位修正數(shù)同步發(fā)送給微型主機,微型主機根據(jù)GPS單元接收的GPS數(shù)據(jù)結(jié)合定位修正數(shù),以定位機器人在室外的位置,從而大大提高了機器人在室外的定位精度,以實現(xiàn)更好的室外定位。
3、本發(fā)明通過攝像頭結(jié)合紅外懸空檢測單元和碰撞檢測單元實現(xiàn)了機器人室內(nèi)行走和室外行走過程中,機器人有效壁障的功能,提高了機器人行走過程中的安全性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例的流程圖。
具體實施方式
下面結(jié)合附圖對發(fā)明進一步說明,但不用來限制本發(fā)明的范圍。
實施例
如圖1所示,本發(fā)明提供的一種機器人基于ROS和GPS的室內(nèi)外無縫定位方法,包括如下步驟:
步驟一、微型主機內(nèi)安裝ROS操作系統(tǒng),利用ROS操作系統(tǒng)配合點云算法把采集到的攝像頭環(huán)境數(shù)據(jù)生成二維點云數(shù)據(jù),并利用gmapping框架和粒子濾波算法進行局部優(yōu)化建立室內(nèi)導航地圖和由室內(nèi)向室外延伸一段距離的室外導航地圖,由室內(nèi)導航地圖和室外導航地圖組成二維導航地圖,并將二維導航地圖保存至微型主機內(nèi);
步驟二、由室外到室內(nèi)的入口處張貼ar_marker,利用攝像頭掃描ar_marker,以獲取ar_marker的ID信息和相對于機器人的姿態(tài)信息,同時設定ar_marker在二維導航地圖中的坐標并保存至微型主機內(nèi);
步驟三、機器人在室內(nèi)行走時通過室內(nèi)導航地圖獲取機器人在室內(nèi)的位置;
步驟四、機器人由室內(nèi)行走到室外導航地圖范圍內(nèi)時,通過室外導航地圖獲取機器人在此范圍內(nèi)的位置同時在室外導航地圖范圍內(nèi)能保證室內(nèi)導航模式切換到室外的GPS模式,使得機器人行走在室外導航地圖范圍外時,通過GPS獲取機器人在室外的位置;
步驟五、機器人由室外行走到室內(nèi)時,通過攝像頭掃描入口處張貼的ar_marker,識別ar_marker并從微型主機內(nèi)調(diào)取ar_marker的姿態(tài)信息和ar_marker在二維導航地圖中的坐標;
步驟六、將ar_marker在二維導航地圖中的坐標初始化為機器人的初始化坐標,并由室外的GPS模式切換到室內(nèi)導航模式,使得機器人進入室內(nèi)后通過室內(nèi)導航地圖獲取機器人在室內(nèi)的位置。
在步驟三中,機器人在室內(nèi)行走過程中,微型主機的ROS操作系統(tǒng)將攝像頭采集到的室內(nèi)環(huán)境中的物體信息轉(zhuǎn)換成三維點云數(shù)據(jù),再轉(zhuǎn)化成二維點云數(shù)據(jù),以得到攝像頭相對于物體的距離,當攝像頭相對于物體的距離在障礙物范圍內(nèi)時,通過微處理器改變底座上驅(qū)動電機的PWM以控制機器人減速行駛并轉(zhuǎn)向繞開障礙物。
在步驟三中,機器人在室內(nèi)行走過程中,碰撞檢測單元檢測攝像頭掃描不到的區(qū)域是否有低障礙物,紅外懸空檢測單元檢測路面是否有深坑,碰撞檢測單元和紅外懸空檢測單元分別將檢測數(shù)據(jù)通過微處理器發(fā)送給微型主機,微型主機內(nèi)的ROS操作系統(tǒng)根據(jù)檢測數(shù)據(jù)繞開障礙物。
在步驟四中,機器人由室內(nèi)行走到室外導航地圖范圍內(nèi)時,微型主機發(fā)送請求與機器人上的GPS單元建立通訊,同時在室內(nèi)導航地圖延伸到室外的范圍內(nèi)能保證微型主機與GPS單元建立通訊,以將室內(nèi)導航模式切換到室外的GPS模式,GPS單元獲取定位數(shù)據(jù),微型主機接收GPS單元發(fā)送的定位數(shù)據(jù)。
在室外建立區(qū)域基準站,區(qū)域基準站上的GPS接收器接收GPS數(shù)據(jù),區(qū)域基準站上的微控制單元根據(jù)GPS數(shù)據(jù)和區(qū)域基準站的經(jīng)緯度坐標偏差計算定位修正數(shù),并將定位修正數(shù)發(fā)送給服務器,服務器將定位修正數(shù)同步發(fā)送給微型主機,微型主機根據(jù)GPS單元接收的GPS數(shù)據(jù)結(jié)合定位修正數(shù),以定位機器人在室外的位置。
在步驟四中,機器人在室外行走過程中,微型主機的ROS操作系統(tǒng)將攝像頭采集到的室外環(huán)境中的物體信息轉(zhuǎn)換成三維點云數(shù)據(jù),以得到攝像頭相對于空間三維物體的距離,當攝像頭相對于空間三維物體的距離在障礙物范圍內(nèi)時,通過微處理器改變底座上驅(qū)動電機的PWM以控制機器人減速行駛并轉(zhuǎn)向繞開障礙物。
在步驟四中,機器人在室外行走過程中,碰撞檢測單元檢測攝像頭掃描不到的低空障礙物,紅外懸空檢測單元檢測路面是否有深坑,碰撞檢測單元和紅外懸空檢測單元分別將檢測數(shù)據(jù)通過微處理器發(fā)送給微型主機,微型主機內(nèi)的ROS操作系統(tǒng)根據(jù)檢測數(shù)據(jù)繞開障礙物。
本發(fā)明還提供了一種采用所述室內(nèi)外無縫定位方法的定位系統(tǒng),包括安裝于機器人上的微型主機、攝像頭和GPS單元,以及安裝于機器人底座上的驅(qū)動電機、微處理器、紅外懸空檢測單元和碰撞檢測單元,所述微型主機分別與所述攝像頭、GPS單元和微處理器相連接,所述微處理器分別與所述驅(qū)動電機、紅外懸空檢測單元和碰撞檢測單元相連接。
本發(fā)明的所述定位系統(tǒng)還包括區(qū)域基準站和服務器,所述區(qū)域基準站上設置有包括GPS接收器和微控制單元,所述GPS接收器與所述微控制單元相連接,所述微控制單無與所述服務器網(wǎng)絡通訊,所述服務器與所述微型主機網(wǎng)絡通訊。
本發(fā)明的機器人從室內(nèi)行走到室外時,通過室內(nèi)導航地圖延伸到室外導航地圖的范圍內(nèi)能確保機器人從室內(nèi)導航模式切換到室外的GPS模式,以實現(xiàn)機器人從室內(nèi)到室外導航模式的無縫切換。而當機器人從室外行走到定內(nèi)時,通過入口處的ar_marker對機器人位置初始化,以重新定位機器人進入室內(nèi)時的起始位置,保證了機器人不會從室外到室內(nèi)丟失自己的位置,同時保障重新回到室內(nèi)能準確的進行室內(nèi)導航。
本發(fā)明在室外建立有區(qū)域基準站,通過區(qū)域基準站上的GPS接收器接收GPS數(shù)據(jù),以通過微控制單元根據(jù)GPS數(shù)據(jù)和區(qū)域基準站的經(jīng)緯度坐標偏差計算定位修正數(shù),并將定位修正數(shù)發(fā)送給服務器,服務器將定位修正數(shù)同步發(fā)送給微型主機,微型主機根據(jù)GPS單元接收的GPS數(shù)據(jù)結(jié)合定位修正數(shù),以定位機器人在室外的位置,從而大大提高了機器人在室外的定位精度,以實現(xiàn)更好的室外定位。
本發(fā)明通過攝像頭結(jié)合紅外懸空檢測單元和碰撞檢測單元實現(xiàn)了機器人室內(nèi)行走和室外行走過程中,機器人有效壁障的功能,提高了機器人行走過程中的安全性。
以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點。本行業(yè)的技術人員應該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下本發(fā)明還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。本發(fā)明要求保護范圍由所附的權利要求書及其等同物界定。