本發明涉及移動體自主定位技術領域,尤其涉及一種用于具有天花板的室內、并且能夠結合環境信息進行自主定位的移動機器人的定位系統及方法。
背景技術:
室內定位作為移動機器人導航的基礎,是機器人領域的熱點問題之一。目前常用的室內移動機器人定位有兩種方式:有源定位和無源定位。有源定位主要包括RFID、WIFI、紅外和超聲等。這些方法通常在室內固定位置放置多個發射源,然后移動機器人通過接收不同位置的信號判斷當前位置。但是有源定位方法擴展性差,對環境要求高。無源定位主要是設置人工標志點,通過識別標志點實現自主定位。但是該方法需要機器人能時刻識別標志點,因此標志點數量要足夠多。
技術實現要素:
本發明要解決的技術問題是當前室內移動機器人的定位方法要求在室內布置多個發射源或者多個識別標志點,提高了移動機器人對工作環境的要求,限制了移動機器人的適用范圍。
為解決上述技術問題,本發明采用的技術方案為:一種結合環境信息的室內移動機器人定位系統,該室內移動機器人用于具有天花板的室內,所述天花板被劃分成多個形狀一致的正方形分格。
定位系統包括天花板圖片采集模塊、環境圖片采集模塊、中央處理器,存儲模塊和數據通訊模塊。
天花板圖片采集模塊采集移動機器人上方的天花板圖片并傳遞至中央處理器。
環境圖片采集模塊采集移動機器人周圍環境圖片并傳遞至中央處理器。
移動機器人在其室內活動范圍上設置有多個均勻散布的位置點,這些位置點稱為自然信標點,移動機器人在每一個自然信標點采集一張天花板圖片和一張環境圖片,中央處理器預處理天花板圖片和環境圖片后將兩張圖片與自然信標點的坐標信息和方位角信息以彼此關聯的方式存儲至存儲模塊,經預處理后的天花板圖片和環境圖片分別稱為該自然信標點的天花板自然信標和環境自然信標。
中央處理器用于實時計算移動機器人的位置,中央處理器預處理實時天花板圖片和實時環境圖片,中央處理器將實時環境圖片與所有環境自然信標比對并根據比對結果作出如下動作:
動作一,如果實時環境圖片與所有環境自然信標均不匹配,則中央處理器提取實時天花板圖片的中的第一特征點和特征直線,中央處理器比對實時天花板圖片與上一幀天花板圖片,計算得到移動機器人實時位置相對于上一幀天花板圖片對應的移動機器人位置的位移向量和方位角變化量。由于天花板被分格成多個相同大小的正方格,將出現在天花板圖片中的所有正方格的角點中的最靠近圖片中心的角點確定為第一特征點,將經過該角點的兩條相互垂直的直線中的任意一條直線確定為特征直線。天花板圖片的拍攝周期短,在任意一個拍攝周期內,移動機器人的位移量和方位角變化量很小,實時天花板圖片中的第一特征點與上一幀天花板圖片(即離實時天花板圖片最近一次拍攝的天花板圖片)中的第一特征點的距離遠小于天花板分格的邊長,中央處理器據此準確提取實時天花板圖片中的第一特征點,繼而計算出移動機器人的位移向量;計算出經過實時天花板圖片的第一特征點的兩條直線與上一幀天花板圖片的特征直線的所有夾角(有四個夾角),夾角值最小的角即為移動機器人的方位角變化量。
動作二,如果實時環境圖片與任一的環境自然信標匹配,則中央處理器提取實時天花板圖片的中的第一特征點和特征直線,提取實時環境圖片中的第二特征點,中央處理器比對實時天花板圖片和天花板自然信標,計算得到移動機器人實時位置相對于自然信標點的位移向量,中央處理器繼續比對實時環境圖片和環境自然信標,計算得到移動機器人的實時位置相對于自然信標點的方位角變化量。
數據通訊模塊用于中央處理器和存儲模塊與上位機或其他外接設備數據通訊。
進一步的,所述天花板圖片采集模塊為CMOS相機,所述環境圖片采集模塊為全景相機。
進一步的,中央處理器對天花板圖片和環境圖片的預處理包括濾波處理和腐蝕膨脹處理。
本發明還提供了另一種的技術方案為:一種結合環境信息的室內移動機器人定位方法,所述定位方法用于計算室內移動機器人的實時位置,移動機器人在具有天花板的室內活動,所述天花板被劃分成多個形狀一致的正方形分格;定位方法包括如下準備步驟和工作步驟:
準備步驟1,建立自然信標庫,在移動機器人的室內活動范圍上設置多個均勻散布的位置點,這些位置點稱為自然信標點,將移動機器人分別置于每一個自然信標點,移動機器人采集上方的天花板圖片和周圍的環境圖片,將經過預處理的天花板圖片和環境圖片作為該自然信標點的天花板自然信標和環境自然信標,將每一個自然信標點的位置信息、天花板自然信標和環境自然信標作為一組關聯信息存儲;
準備步驟2,為移動機器人采集初始點上方的天花板圖片,賦予初始點的位置信息;
工作步驟1,移動機器人開始工作后,采集移動機器人實時位置上方的天花板圖片和周圍的環境圖片;
工作步驟2,預處理實時天花板圖片和環境圖片;
工作步驟3,比對實時環境圖片和環境自然信標;
工作步驟4,如果實時環境圖片與所有環境自然信標均不匹配,則提取實時天花板圖片的中的第一特征點和特征直線,比對實時天花板圖片與上一幀天花板圖片,計算得到移動機器人實時位置相對于上一幀天花板圖片對應的移動機器人位置的位移向量和方位角變化量,再計算出移動機器人的實時位置;
工作步驟5,如果實時環境圖片與任一的環境自然信標匹配,則提取實時天花板圖片的中的第一特征點和特征直線,提取實時環境圖片中的第二特征點,比對實時天花板圖片和天花板自然信標,計算得到移動機器人實時位置相對于自然信標點的位移向量;比對實時環境圖片和環境自然信標,計算得到移動機器人的實時位置相對于自然信標點的方位角變化量;再計算出移動機器人的實時位置;
進一步優化的是,所述準備步驟還包括:準備步驟3,標定天花板圖片采集模塊和環境圖片采集模塊與移動機器人理論中心點的位置關系。
進一步優化的是,所述對天花板圖片和環境圖片的預處理手段包括濾波處理和腐蝕膨脹處理。
有益效果:(1)本發明提供的結合環境信息的室內移動機器人定位系統和方法設置了自然信標庫,移動機器人在利用天花板圖片進行位置計算的時候容易產生累積誤差,自然信標庫的存在使得移動機器人在運動至自然信標點及其附近時,計算系統采用預存于自然信標庫中的天花板圖片作為基準圖片,這意味著移動機器人在自然信標點及其附近自動重新標定位置,有助于消除定位計算中的累積誤差,提高定位精度。(2)本發明提供的結合環境信息的室內移動機器人定位系統和方法利用環境圖片比對的方式判斷移動機器人是否處于自然信標點及其附近,不需要在室內實際環境中設置其他硬件,避免了對使用環境的具體改造,提高了移動機器人的適用范圍。(3)本發明提供的結合環境信息的室內移動機器人定位系統和方法在使用前標定天花板圖片采集模塊和環境圖片采集模塊與移動機器人理論中心點的位置關系,消除圖片采集模塊在機器人中的具體安裝位置所帶來的測量偏差,更為精確的反應移動機器人再使用環境中的定位。
附圖說明
圖1是實施例1移動機器人結構示意圖。
圖2是移動機器人定位系統結構框圖。
圖3是天花板圖片示例。
圖4是定位系統工作流程圖。
其中:1、機器人本體;2、CMOS相機;3、全景相機。
具體實施方式
下面結合附圖和具體實施方式對本發明作進一步詳細說明。
實施例1
如圖1至圖4所示,本實施例的移動機器人包括一個具有動力系統的機器人本體1、控制機器人運動的上位機和定位系統,定位系統依據設定的周期不斷計算機器人在室內的位置信息并傳遞至上位機,上位機根據機器人的位置信息控制機器人的具體運動軌跡和運動姿態。機器人的位置信息包括機器人在室內平面空間中的絕對位置坐標和機器人的方位角。
本實施例的移動機器人用于具有天花板的室內,所述天花板被劃分成多個形狀一致的正方形分格。
定位系統包括天花板圖片采集模塊、環境圖片采集模塊、中央處理器,存儲模塊和數據通訊模塊。
天花板圖片采集模塊為CMOS相機2,相機鏡頭垂直指向天花板,相機采集移動機器人上方的天花板圖片并傳遞至中央處理器。
環境圖片采集模塊為全景相機3,全景相機3采集移動機器人周圍環境圖片并傳遞至中央處理器。
數據通訊模塊用于中央處理器和存儲模塊與上位機或其他外接設備數據通訊。
本實施例移動機器人的定位系統在正式工作之前需進行如下的四個準備步驟:
準備步驟一、標定CMOS相機2和全景相機3,獲得CMOS相機2和全景相機3的畸變參數;具體步驟包括:(1)打印一張標準的國際象棋盤作為標定板,并將其貼在一個剛性的平面上;(2)從不同角度拍攝15張標定板圖像(數量多可使標定更準確);(3)檢測標定板上的角點,并確定圖像坐標和實際坐標;(4)利用線性模型計算出攝像機的內部參數;(5)利用畸變模型,對攝像機內參數進行優化,求出畸變參數;
準備步驟二、標定CMOS相機2和全景相機3與移動機器人理論中心點的位置關系,獲得CMOS相機2坐標系和全景相機3坐標系與移動機器人坐標系之間的相對向量和方位角變化量;
準備步驟三、建立自然信標庫,在移動機器人的室內活動范圍上以2米的間隔設置多個均勻散布的位置點,這些位置點稱為自然信標點,將移動機器人分別置于每一個自然信標點,移動機器人采集上方的天花板圖片和周圍的環境圖片,將經過預處理(畸變校正、濾波降噪和腐蝕膨脹處理)的天花板圖片和環境圖片作為該自然信標點的天花板自然信標和環境自然信標,將每一個自然信標點的位置信息、天花板自然信標和環境自然信標作為一組關聯信息存儲;
準備步驟四、為移動機器人采集初始點上方的天花板圖片,賦予初始點的位置信息。
當移動機器人從初始位置開始運動之后,中央處理器用于實時計算移動機器人的位置,具體的計算周期依據移動機器人的具體需求定義。定位系統在每一個周期內計算出一個機器人位置信息(包括絕對坐標和方位角)。具體計算過程是CMOS相機2和全景相機3分別拍攝一張實時天花板圖片和環境圖片,中央處理器預處理實時天花板圖片和實時環境圖片,中央處理器將實時環境圖片與所有環境自然信標比對,比對原理是:利用SIFT算法提取實時環境圖片的第一特征點,將第一特征點的像素值及其前后左右點的像素值和梯度值存儲為第一一維向量;將環境自然信標圖片的對應點(對應點是指與實時環境圖片的第一特征點的圖片坐標一致的點)的像素值及其前后左右點的像素值和梯度值存儲為第二一維向量,計算第一一維向量和第二一維向量之間的歐拉距離,如果該歐拉距離小于設定的閾值,判定該第一特征點和對應點匹配,即實時環境圖片與環境自然信標圖片存在一對匹配點;針對實時環境圖片的所有第一特征點重復前述過程,最終統計后,如果實時環境圖片與環境自然信標之間擁有超過10對匹配點(數值10依據具體應用而設定),則判定實時環境圖片與該環境自然信標匹配;否則判定實時環境圖片與該環境自然信標不匹配。
中央處理器依據實時環境圖片與所有環境自然信標比對結果作出如下動作:
動作一,如果實時環境圖片與所有環境自然信標均不匹配,則中央處理器提取實時天花板圖片的中的第一特征點和特征直線,中央處理器比對實時天花板圖片與上一幀天花板圖片,計算得到移動機器人實時位置相對于上一幀天花板圖片對應的移動機器人位置的位移向量和方位角變化量。
由于天花板被分格成多個相同大小的正方格,將出現在天花板圖片中的所有正方格的角點中的最靠近圖片中心的角點確定為第一特征點,將經過該角點的兩條相互垂直的直線中的任意一條直線確定為特征直線。
天花板圖片的拍攝周期短,在任意一個拍攝周期內,移動機器人的位移量和方位角變化量很小,實時天花板圖片中的第一特征點與上一幀天花板圖片(即離實時天花板圖片最近一次拍攝的天花板圖片)中的第一特征點的距離很小,中央處理器據此準確提取實時天花板圖片中的第一特征點,繼而計算出移動機器人的位移向量;計算出經過實時天花板圖片的第一特征點的兩條直線與上一幀天花板圖片的特征直線的所有夾角(有四個夾角),夾角值最小的角即為移動機器人的方位角變化量。
動作二,如果實時環境圖片與任一的環境自然信標匹配,則:(1)中央處理器利用ORB算法提取實時天花板圖片和天花板自然信標圖片的中的第一特征點和若干干擾點,再利用聚類算法進一步計算得到實時天花板圖片和天花板自然信標圖片的第一特征點(即角點),根據兩張天花板圖片的第一特征點可計算得到移動機器人的位移向量;(2)中央處理器利用SIFT算法提取實時環境圖片中的第二特征點,中央處理器利用SIFT算法提取環境自然信標圖片中的第二特征點,其中,實時環境圖片中的第二特征點與環境自然信標圖片中的第二特征點是具有對應匹配關系的;通過這兩組具有對應匹配關系的第二特征點,中央處理器計算出多個移動機器人的方位角變化量,中央處理器利用聚類算法處理計算出的多個移動機器人的方位角變化量,最終獲得一個輸出值作為移動機器人的方位角變化量。
動作一和動作二的目的在于計算出移動機器人的位移向量和方位角變化量,依據移動機器人的位移向量和方位角變化量計算移動機器人位置信息的計算公式為:
式中θ表示方位角變化量,(pxi,pyi)是移動機器人的位移向量,(x′,y′),(x,y)分別表示移動機器人在當前周期和上一個周期(或者自然信標點)中的絕對坐標。
動作一是移動機器人在除了自然信標點及其附近以外的區域所采用的位置計算方法,該計算方法以上一個周期的位置計算結果作為計算基準,以此計算當前周期的位置信息,所以該計算結果具有累積性。動作二是移動機器人在自然信標點及其附近所采用的位置計算方法,該計算方法以自然信標點預存的位置信息作為計算基準,以此計算當前周期的位置信息,避免移動機器人長距離活動帶來的計算誤差累積。
雖然說明書中對本發明的實施方式進行了說明,但這些實施方式只是作為提示,不應限定本發明的保護范圍。在不脫離本發明宗旨的范圍內進行各種省略、置換和變更均應包含在本發明的保護范圍內。