本發(fā)明涉及機器人自動定位技術領域,具體涉及一種基于自主定位和邊緣探索的機器人定位方法、系統(tǒng)。
背景技術:
自動化控制技術廣泛用于工業(yè)、農業(yè)、軍事、科學研究、交通運輸、商業(yè)、醫(yī)療、服務和家庭等方面。自動化控制是工業(yè)、農業(yè)、國防和科學技術現(xiàn)代化的重要條件和顯著標志。
機器人的定位問題一直是自控技術中的難點之一。機器人自主定位技術是指在已有地圖的情況下,借助其他傳感器數(shù)據(jù),確定機器人在地圖中的絕對位置?,F(xiàn)有的機器人自主定位技術常在環(huán)境中布置傳感器,而此種方法會增加設備安裝和維護成本,且對于復雜環(huán)境不易操作。
并且,現(xiàn)有的機器人自主定位技術常采用粒子濾波算法,這種算法在全局進行采樣時,則會造成收斂過慢,或者直接收斂到誤差的局部極小值處,即完全錯誤的位置,而對于一些相似度比較高的地圖,粒子幾乎沒有辦法糾正。為了解決粒子定位錯誤的問題,人們會盡可能增加粒子數(shù),然而增加粒子數(shù)會增加運算量,對于一些嵌入式的硬件無法做到實時處理。同時,對于其他的全局定位算法也會有相同的問題。
如何提高機器人自主定位的精度和速度,防止定位錯誤,拓寬應用場景,是本領域技術人員亟需解決的問題。
技術實現(xiàn)要素:
針對現(xiàn)有技術中的缺陷,本發(fā)明提供一種基于自主定位和邊緣探索的機器人定位方法、系統(tǒng),能夠提高機器人自主定位的精度和速度,防止定位錯誤,拓寬應用場景。
第一方面,本發(fā)明提供一種基于自主定位和邊緣探索的機器人定位方法,該方法包括信息獲取步驟:獲取機器人周圍的環(huán)境信息、時間信息和里程信息;
坐標估計步驟:基于自主定位算法,根據(jù)環(huán)境信息和時間信息,進行相對位置估計,獲取機器人在環(huán)境信息中的三維坐標;
實際位置確定步驟:根據(jù)環(huán)境信息,獲取預布設N個粒子中每個粒子的權重值;
根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,獲取每個粒子的當前位置;
根據(jù)每個粒子的權重值和當前位置,以及粒子的數(shù)量,確定機器人的實際位置;
目標位置確定步驟:基于邊緣探索算法,獲取環(huán)境信息的邊界點,并為邊界點進行評分,獲取邊界點評分結果,邊界點為多個;
根據(jù)邊界點評分結果,將評分最高的邊界點設置為機器人的目標位置;
實際位置檢驗步驟:采用路徑規(guī)劃算法,使機器人移動到目標位置,根據(jù)粒子的數(shù)量,檢驗實際位置是否正確,并輸出正確的實際位置。
進一步地,根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,獲取每個粒子的當前位置,具體包括:
根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,通過如下公式,獲取每個粒子的當前位置,
其中,Xk-1表示機器人在環(huán)境信息中第k-1時刻的三維坐標,xk-1表示機器人在環(huán)境信息中第k-1時刻的X方向的位置,yk-1表示機器人在環(huán)境信息中第k-1時刻的Y方向的位置,θk-1表示機器人在環(huán)境信息中第k-1時刻的指向,表示里程信息,Xi,k表示第i個粒子在環(huán)境信息中當前第k時刻的位置信息,i=1,2,3…,N-1,N。
基于上述任意基于自主定位和邊緣探索的機器人定位方法實施例,進一步地,根據(jù)環(huán)境信息,獲取每個粒子的權重值,具體包括:根據(jù)環(huán)境信息,通過如下公式,獲取每個粒子的權重值,
其中,wi表示第i個粒子的權重值,d表示在環(huán)境信息中機器人與最近障礙物距離,σ為常量。
進一步地,為邊界點進行評分,獲取邊界點評分結果,具體包括:根據(jù)未知環(huán)境的信息量、某一邊界點與歷史路徑的距離和該邊界點周圍障礙物的密度,為該邊界點評分,獲取每個邊界點評分結果。
進一步地,采用路徑規(guī)劃算法,使機器人移動到目標位置,根據(jù)粒子的數(shù)量,檢驗實際位置是否正確,具體包括:
采用路徑規(guī)劃算法,使機器人移動到目標位置,若粒子的數(shù)量小于預設值,則判斷實際位置正確,若粒子的數(shù)量大于等于預設值,則判斷實際位置錯誤,且重新執(zhí)行坐標估計步驟。
第二方面,本發(fā)明提供一種基于自主定位和邊緣探索的機器人定位系統(tǒng),該系統(tǒng)包括信息獲取子系統(tǒng)、坐標估計子系統(tǒng)、實際位置確定子系統(tǒng)、目標位置確定子系統(tǒng)和實際位置檢驗子系統(tǒng),信息獲取子系統(tǒng)用于獲取機器人周圍的環(huán)境信息、時間信息和里程信息;坐標估計子系統(tǒng)用于基于自主定位算法,根據(jù)環(huán)境信息和時間信息,進行相對位置估計,獲取機器人在環(huán)境信息中的三維坐標;實際位置確定子系統(tǒng)用于根據(jù)環(huán)境信息,獲取預布設N個粒子中每個粒子的權重值;根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,獲取每個粒子的當前位置;根據(jù)每個粒子的權重值和當前位置,以及粒子的數(shù)量,確定機器人的實際位置;目標位置確定子系統(tǒng)用于基于邊緣探索算法,獲取環(huán)境信息的邊界點,并為邊界點進行評分,獲取邊界點評分結果,邊界點為多個;根據(jù)邊界點評分結果,將評分最高的邊界點設置為機器人的目標位置;實際位置檢驗子系統(tǒng)用于采用路徑規(guī)劃算法,使機器人移動到目標位置,根據(jù)粒子的數(shù)量,檢驗實際位置是否正確,并輸出正確的實際位置。
進一步地,實際位置確定子系統(tǒng)在根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,獲取每個粒子的當前位置時,具體用于:根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,通過如下公式,獲取每個粒子的當前位置,
其中,Xk-1表示機器人在環(huán)境信息中第k-1時刻的三維坐標,xk-1表示機器人在環(huán)境信息中第k-1時刻的X方向的位置,yk-1表示機器人在環(huán)境信息中第k-1時刻的Y方向的位置,θk-1表示機器人在環(huán)境信息中第k-1時刻的指向,表示里程信息,Xi,k表示第i個粒子在環(huán)境信息中當前第k時刻的位置信息,i=1,2,3…,N-1,N。
基于上述任意基于自主定位和邊緣探索的機器人定位系統(tǒng)實施例,進一步地,實際位置確定子系統(tǒng)在根據(jù)環(huán)境信息,獲取每個粒子的權重值時,具體用于:根據(jù)環(huán)境信息,通過如下公式,獲取每個粒子的權重值,
其中,wi表示第i個粒子的權重值,d表示在環(huán)境信息中機器人與最近障礙物距離,σ為常量。
進一步地,目標位置確定子系統(tǒng)在為邊界點進行評分,獲取邊界點評分結果時,具體用于:根據(jù)未知環(huán)境的信息量、某一邊界點與歷史路徑的距離和該邊界點周圍障礙物的密度,為該邊界點評分,獲取每個邊界點評分結果。
進一步地,實際位置檢驗子系統(tǒng)具體用于:采用路徑規(guī)劃算法,使機器人移動到目標位置,若粒子的數(shù)量小于預設值,則判斷實際位置正確,若粒子的數(shù)量大于等于預設值,則判斷實際位置錯誤,且重新啟動坐標估計子系統(tǒng)。
由上述技術方案可知,本發(fā)明基于自主定位和邊緣探索的機器人定位方法、系統(tǒng),能夠有效將自主定位算法和邊緣探索算法結合起來,即使不給定機器人初始點,也能夠實現(xiàn)自主定位。通過邊緣探索算法,能夠使機器人可以更快速、精確地完成自動定位。通過邊界點評分方式,以獲取盡可能多的信息,能夠有效防止定位算法收斂到局部極小值,大大提高了機器人自主定位的準確性。并且,該方法的適用范圍廣,不僅適用于機器人自主定位的主流應用場景,還適用于創(chuàng)新型的應用場景,如家庭服務機器人、倉儲機器人、工業(yè)機器人等。
因此,本發(fā)明基于自主定位和邊緣探索的機器人定位方法、系統(tǒng),能夠提高機器人自主定位的精度和速度,防止定位錯誤,拓寬應用場景。
附圖說明
為了更清楚地說明本發(fā)明具體實施方式或現(xiàn)有技術中的技術方案,下面將對具體實施方式或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹。在所有附圖中,類似的元件或部分一般由類似的附圖標記標識。附圖中,各元件或部分并不一定按照實際的比例繪制。
圖1示出了本發(fā)明所提供的一種基于自主定位和邊緣探索的機器人定位方法流程圖;
圖2示出了本發(fā)明所提供的一種自主定位算法流程圖;
圖3示出了本發(fā)明所提供的一種邊緣探索算法流程圖;
圖4示出了本發(fā)明所提供的另一種基于自主定位和邊緣探索的機器人定位方法流程圖;
圖5示出了本發(fā)明所提供的一種基于自主定位和邊緣探索的機器人定位系統(tǒng)的結構示意圖。
具體實施方式
下面將結合附圖對本發(fā)明技術方案的實施例進行詳細的描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術方案,因此只是作為示例,而不能以此來限制本發(fā)明的保護范圍。
需要注意的是,除非另有說明,本申請使用的技術術語或者科學術語應當為本發(fā)明所屬領域技術人員所理解的通常意義。
第一方面,本發(fā)明實施例提供一種基于自主定位和邊緣探索的機器人定位方法,結合圖1或圖4,該方法包括:
信息獲取步驟S1:獲取機器人周圍的環(huán)境信息、時間信息和里程信息,在此,該方法可以采用設置在機器人上的激光雷達、測速碼盤、超聲波元件等采集環(huán)境信息,采用慣性測量傳感器獲取里程信息,上述元件最終將采集的環(huán)境信息、時間信息和里程信息上傳至數(shù)據(jù)分析平臺,進行運動解算;
坐標估計步驟S2:基于自主定位算法,根據(jù)環(huán)境信息和時間信息,進行相對位置估計,獲取機器人在環(huán)境信息中的三維坐標,在此,基于地圖匹配的自主定位算法可以是粒子濾波算法、掃描匹配算法等,采用粒子濾波算法,直接進行全局采樣,對不同時刻的環(huán)境信息進行相對位置估算,從而獲得機器人在三維環(huán)境中的三維坐標;
實際位置確定步驟S3:根據(jù)環(huán)境信息,獲取預布設N個粒子中每個粒子的權重值,其中N個粒子呈均勻分布于機器人周圍的環(huán)境中;
根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,獲取每個粒子的當前位置;
根據(jù)每個粒子的權重值和當前位置,以及粒子的數(shù)量,確定機器人的實際位置;
目標位置確定步驟S4:基于邊緣探索算法,獲取環(huán)境信息的邊界點,并為邊界點進行評分,獲取邊界點評分結果,邊界點為多個,結合圖3,該方法根據(jù)雷達數(shù)據(jù)和里程數(shù)據(jù)更新地圖,并尋找地圖中的邊界點;
根據(jù)邊界點評分結果,將評分最高的邊界點設置為機器人的目標位置;
實際位置檢驗步驟S5:采用路徑規(guī)劃算法,使機器人移動到目標位置,根據(jù)粒子的數(shù)量,檢驗實際位置是否正確,并輸出正確的實際位置。
在實際應用過程中,該方法融合基于地圖匹配的自主定位算法與基于邊緣探索算法,進行定位。首先通過二維即時定位與建圖方法取得室內環(huán)境地圖,并存儲在計算機中。機器人上電后,利用激光雷達掃描周圍環(huán)境,獲取掃描信息,并在整個地圖上進行位置搜索,確定機器人的實際位置,同時,采用基于邊緣探索算法,讓機器人盡可能的移動到地圖上的不同位置,以使定位算法獲取盡可能多的信息,從而提高定位收斂的正確度和速度,防止出現(xiàn)不收斂或收斂錯誤的現(xiàn)象。
由上述技術方案可知,本實施例基于自主定位和邊緣探索的機器人定位方法,能夠有效將自主定位算法和邊緣探索算法結合起來,即使不給定機器人初始點,也能夠實現(xiàn)自主定位。通過邊緣探索算法,能夠使機器人可以更快速、精確地完成自動定位。通過邊界點評分方式,以獲取盡可能多的信息,能夠有效防止定位算法收斂到局部極小值,大大提高了機器人自主定位的準確性。并且,該方法的適用范圍廣,不僅適用于機器人自主定位的主流應用場景,還適用于創(chuàng)新型的應用場景,如家庭服務機器人、倉儲機器人、工業(yè)機器人等。
因此,本實施例基于自主定位和邊緣探索的機器人定位方法,能夠提高機器人自主定位的精度和速度,防止定位錯誤,拓寬應用場景。
為了進一步提高本實施例基于自主定位和邊緣探索的機器人定位方法的準確性,具體地,在獲取每個粒子的當前位置時,該方法的具體實現(xiàn)過程如下:根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,通過如下公式,獲取每個粒子的當前位置,
其中,Xk-1表示機器人在環(huán)境信息中第k-1時刻的三維坐標,xk-1表示機器人在環(huán)境信息中第k-1時刻的X方向的位置,yk-1表示機器人在環(huán)境信息中第k-1時刻的Y方向的位置,θk-1表示機器人在環(huán)境信息中第k-1時刻的指向,表示里程信息,Xi,k表示第i個粒子在環(huán)境信息中當前第k時刻的位置信息,i=1,2,3…,N-1,N。在此,結合圖2,該方法采用粒子濾波算法,直接在全局進行采樣,根據(jù)歷史循環(huán)得到的粒子的歷史位置,將從底盤傳回的里程數(shù)據(jù)更新至每個粒子,實時更新粒子的狀態(tài),為機器人定位提供有效的信息支持,確保機器人定位準確、有效。
具體地,在獲取每個粒子的權重時,該方法實現(xiàn)過程如下:根據(jù)環(huán)境信息,通過如下公式,獲取每個粒子的權重值,
其中,wi表示第i個粒子的權重值,d表示在環(huán)境信息中機器人與最近障礙物距離,在實際應用中,采用雷達掃描點與最近障礙物距離,σ為常量。在此,計算權重值的公式也為似然域模型,該方法通過似然域模型處理數(shù)據(jù),獲取每個粒子的權重值。結合圖2,在實際應用過程中,該方法還能根據(jù)粒子的權重值,進行KLD重采樣,并對重采樣后的粒子的權重值進行加權平均處理,以簡便、高效地獲得實際位置。
具體地,在邊界點評分方面,該方法的實現(xiàn)過程如下:根據(jù)未知環(huán)境的信息量、某一邊界點與歷史路徑的距離和該邊界點周圍障礙物的密度,為該邊界點評分,獲取每個邊界點評分結果。在此,該方法通過三個指標進行打分,且邊界點與歷史路徑的距離越大,邊界點周圍障礙物的密度越少,則該邊界點的評分越高,以適應定位的需求,從而精準地確定機器人下一時刻的目標位置。
并且,該方法采用路徑規(guī)劃算法,使機器人移動到目標位置,若粒子的數(shù)量小于預設值,則表示算法收斂,判斷實際位置正確,若粒子的數(shù)量大于等于預設值,則判斷實際位置錯誤,且重新執(zhí)行坐標估計步驟。在實際應用過程中,粒子的數(shù)量為KLD重采樣后的粒子數(shù),預設值為最小粒子數(shù)的1.5倍,則判斷算法收斂,即實際位置正確,并將正確的實際位置進行輸出,同時停止運行邊緣探索算法,以提高定位方法的運算效率和準確性。
第二方面,本發(fā)明實施例提供一種基于自主定位和邊緣探索的機器人定位系統(tǒng),結合圖5,該系統(tǒng)包括信息獲取子系統(tǒng)1、坐標估計子系統(tǒng)2、實際位置確定子系統(tǒng)3、目標位置確定子系統(tǒng)4和實際位置檢驗子系統(tǒng)5。信息獲取子系統(tǒng)1用于獲取機器人周圍的環(huán)境信息、時間信息和里程信息;坐標估計子系統(tǒng)2用于基于自主定位算法,根據(jù)環(huán)境信息和時間信息,進行相對位置估計,獲取機器人在環(huán)境信息中的三維坐標;實際位置確定子系統(tǒng)3用于根據(jù)環(huán)境信息,獲取預布設N個粒子中每個粒子的權重值;根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,獲取每個粒子的當前位置;根據(jù)每個粒子的權重值和當前位置,以及粒子的數(shù)量,確定機器人的實際位置;目標位置確定子系統(tǒng)4用于基于邊緣探索算法,獲取環(huán)境信息的邊界點,并為邊界點進行評分,獲取邊界點評分結果,邊界點為多個;根據(jù)邊界點評分結果,將評分最高的邊界點設置為機器人的目標位置;實際位置檢驗子系統(tǒng)5用于采用路徑規(guī)劃算法,使機器人移動到目標位置,根據(jù)粒子的數(shù)量,檢驗實際位置是否正確,并輸出正確的實際位置。
由上述技術方案可知,本實施例基于自主定位和邊緣探索的機器人定位系統(tǒng),能夠有效將自主定位算法和邊緣探索算法結合起來,即使不給定機器人初始點,也能夠實現(xiàn)自主定位。通過邊緣探索算法,能夠使機器人可以更快速、精確地完成自動定位。通過邊界點評分方式,以獲取盡可能多的信息,能夠有效防止定位算法收斂到局部極小值,大大提高了機器人自主定位的準確性。并且,該系統(tǒng)的適用范圍廣,不僅適用于機器人自主定位的主流應用場景,還適用于創(chuàng)新型的應用場景,如家庭服務機器人、倉儲機器人、工業(yè)機器人等。
因此,本實施例基于自主定位和邊緣探索的機器人定位系統(tǒng),能夠提高機器人自主定位的精度和速度,防止定位錯誤,拓寬應用場景。
具體地,實際位置確定子系統(tǒng)3在根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,獲取每個粒子的當前位置時,具體用于:根據(jù)里程信息、時間信息和機器人在環(huán)境信息中的三維坐標,通過如下公式,獲取每個粒子的當前位置,
其中,Xk-1表示機器人在環(huán)境信息中第k-1時刻的三維坐標,xk-1表示機器人在環(huán)境信息中第k-1時刻的X方向的位置,yk-1表示機器人在環(huán)境信息中第k-1時刻的Y方向的位置,θk-1表示機器人在環(huán)境信息中第k-1時刻的指向,表示里程信息,Xi,k表示第i個粒子在環(huán)境信息中第k時刻的位置信息,i=1,2,3…,N-1,N。該實際位置確定子系統(tǒng)3根據(jù)歷史循環(huán)得到的粒子的歷史位置,將從底盤傳回的里程數(shù)據(jù)更新至每個粒子,實時更新粒子的狀態(tài),為機器人定位提供有效的信息支持,確保機器人定位準確、有效。
具體地,實際位置確定子系統(tǒng)3在根據(jù)環(huán)境信息,獲取每個粒子的權重值時,具體用于:根據(jù)環(huán)境信息,通過如下公式,獲取每個粒子的權重值,
其中,wi表示第i個粒子的權重值,d表示在環(huán)境信息中機器人與最近障礙物距離,σ為常量。該實際位置確定子系統(tǒng)3通過似然域模型處理數(shù)據(jù),獲取每個粒子的權重值,根據(jù)粒子的權重值,進行KLD重采樣,并對重采樣后的粒子的權重值進行加權平均處理,以簡便、高效地獲得實際位置。
具體地,目標位置確定子系統(tǒng)4在為邊界點進行評分,獲取邊界點評分結果時,具體用于:根據(jù)未知環(huán)境的信息量、某一邊界點與歷史路徑的距離和該邊界點周圍障礙物的密度,為該邊界點評分,獲取每個邊界點評分結果。在此,該目標位置確定子系統(tǒng)4通過三個指標進行打分,且邊界點與歷史路徑的距離越大,邊界點周圍障礙物的密度越少,則該邊界點的評分越高,以適應定位的需求,從而精準地確定機器人下一時刻的目標位置。并且,實際位置檢驗子系統(tǒng)5具體用于:采用路徑規(guī)劃算法,使機器人移動到目標位置,若粒子的數(shù)量小于預設值,則判斷實際位置正確,若粒子的數(shù)量大于等于預設值,則判斷實際位置錯誤,且重新啟動坐標估計子系統(tǒng)2,以提高定位系統(tǒng)的運算效率和準確性。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍,其均應涵蓋在本發(fā)明的權利要求和說明書的范圍當中。