亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種機器人導(dǎo)航的系統(tǒng)、方法及裝置與流程

文檔序號:12594582閱讀:195來源:國知局
一種機器人導(dǎo)航的系統(tǒng)、方法及裝置與流程

本發(fā)明涉及自動化領(lǐng)域,尤其涉及一種機器人移動的控制方法、裝置及系統(tǒng)。



背景技術(shù):

目前,隨著人力成本的上升,服務(wù)器機器人開始逐漸走進商用場所。作為公用場所的使用必不可少就是移動行走功能。當(dāng)今市面上的服務(wù)機器人移動方式有兩種:一種是后臺或者人為遙控行走;一種是循跡行走。其中遙控行走需要人力投入,從機器人的研究目的解放人力的初衷相違背,而循跡行走需要在地面上鋪設(shè)磁條或者光感膠條,這樣的話,一方面影響商務(wù)場所整體形象,另一方面鋪設(shè)的貼條對地板本身的顏色和周邊環(huán)境的光線有特殊要求,第三點是增加了公共場所的衛(wèi)生清理工作的難度,第四點是貼條本身會有使用壽命,需要長期投入維護。最后一點是機器人只能在已經(jīng)鋪設(shè)的貼條上移動,行動范圍非常受限。



技術(shù)實現(xiàn)要素:

為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的之一在于提供一種機器人導(dǎo)航的系統(tǒng),其能夠使得機器人在行走時,不需要預(yù)先鋪設(shè)行走軌道,而是能自動根據(jù)地形計算自身的行走路徑并能避開障礙物,到達目的地。

本發(fā)明的目的之一采用以下技術(shù)方案實現(xiàn):

本發(fā)明提供了一種機器人導(dǎo)航的系統(tǒng),包括一上位機以及安裝于機器人身上的驅(qū)動輪、激光雷達傳感器、陀螺儀、加速度計、編碼器和單片機,所述單片機與上位機通信,所述激光雷達傳感器與上位機相連;所述陀螺儀、加速度計、編碼器分別與所述單片機電性連接;所述單片機用于采集陀螺儀、加速度計以及編碼器所發(fā)送的數(shù)據(jù)并發(fā)送到上位機;上位機用于根據(jù)所述激光雷達傳感器、陀螺儀、加速度計以及編碼器所發(fā)送的數(shù)據(jù)計算得出機器人的運動路徑以及對應(yīng)的運動速度并轉(zhuǎn)換為脈沖信號發(fā)送給單片機;所述機器人身上還安裝有電機,所述驅(qū)動輪與電機轉(zhuǎn)動軸固定連接,所述電機與單片機電性連接;所述單片機用于根據(jù)所述上位機發(fā)送的脈沖信號控制電機的工作狀態(tài),從而使得電機控制驅(qū)動輪運動,完成機器人的移動。

優(yōu)選地,所述驅(qū)動輪安裝于機器人的移動底盤上,編碼器安裝于所述驅(qū)動輪的齒輪上,陀螺儀、加速度計均安裝于機器人身上任意的水平位置上,激光雷達傳感器安裝于機器人身上離地面距離30CM的地方,所述電機安裝于移動底盤上。

優(yōu)選地,所述驅(qū)動輪有兩個,分別記為第一驅(qū)動輪和第二驅(qū)動輪;所述電機有兩個,分別記為第一電機和第二電機;所述第一驅(qū)動輪與第一電機轉(zhuǎn)動軸固定連接,第二驅(qū)動輪與第二電機轉(zhuǎn)動軸固定連接;所述第一電機、第二電機分別與單片機電性連接;每一個驅(qū)動輪上都對應(yīng)安裝有一編碼器。

優(yōu)選地,所述單片機與所述上位機通過串口通信。

為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的之二在于提供一種機器人導(dǎo)航的方法,其能夠使得機器人在行走時,不需要預(yù)先鋪設(shè)行走軌道,而是能自動根據(jù)地形計算自身的行走路徑并能避開障礙物,到達目的地。

本發(fā)明的目的之二采用以下技術(shù)方案實現(xiàn):

本發(fā)明提供了一種機器人導(dǎo)航的方法,其應(yīng)用于如前所述的機器人導(dǎo)航的系統(tǒng)中,包括以下步驟:

S1:獲取機器人所要到達的當(dāng)前目標(biāo)位置;

S2:獲取編碼器、陀螺儀、加速度計所測量的機器人在上一運動周期中的線速度和角速度,以及激光雷達傳感器所采集的環(huán)境地圖的圖像,該圖像記為局部地圖;

S3:根據(jù)所述局部地圖、線速度以及角速度得到機器人在預(yù)設(shè)的代價地圖上對應(yīng)的當(dāng)前位置;所述代價地圖為預(yù)設(shè)的全局地圖、局部地圖以及手動添加的地圖層重疊得到的地圖;

S4:根據(jù)預(yù)設(shè)加速度、機器人線速度的預(yù)設(shè)范圍、機器人角速度的預(yù)設(shè)范圍、線速度和代價地圖得到機器人從當(dāng)前位置出發(fā)在一個運動周期內(nèi)所有的預(yù)計運動路徑以及對應(yīng)的預(yù)計運動速度;所述運動速度包括角速度和線速度;所述運動周期為系統(tǒng)預(yù)設(shè)的;

S5:對所有的預(yù)計運動路徑以及對應(yīng)的預(yù)計運動速度根據(jù)評價依據(jù)得出下一運動周期的運動路徑及對應(yīng)的運動速度;所述評價依據(jù)至少包括一條運動路徑上是否存在障礙物、與全局路徑的貼合程度、運動路徑的終點位置是否與當(dāng)前目標(biāo)位置的距離最近;所述全局路徑是指機器人在全局地圖上從導(dǎo)航起始點到達當(dāng)前目標(biāo)位置的路徑;

S6:根據(jù)所述下一運動周期的運動路徑以及對應(yīng)的運動速度計算得出對應(yīng)的驅(qū)動輪的運行速度,并轉(zhuǎn)換為脈沖信號,然后將所述脈沖信號發(fā)送給單片機,使得單片機根據(jù)所述脈沖信號控制電機的工作狀態(tài),從而控制驅(qū)動輪的運動,完成機器人的移動。

優(yōu)選地,所述全局地圖的建立步驟具體包括:

通過人為的控制機器人在地圖中行走獲取激光雷達傳感器采集到的多張環(huán)境地圖的圖像;再通過使用Hector-Mapping算法輸入地圖的大小、地圖的更新參數(shù)、建圖的起始點以及多張環(huán)境地圖的圖像生成整個環(huán)境地圖。

優(yōu)選地,所述S4具體包括:從預(yù)設(shè)線速度以及預(yù)設(shè)角速度中選取一組或者多組線速度值以及角速度值,然后計算在一個運動周期內(nèi)機器人從當(dāng)前位置出發(fā)所經(jīng)過的一條或者多條運動路徑并記錄。

優(yōu)選地,所述S3中具體包括:

首先根據(jù)所述角速度計算得到機器人的水平方向角度;然后根據(jù)該水平方向角度和線速度計算得到機器人在上一個運動周期內(nèi)的運動路徑;最后結(jié)合局部地圖與預(yù)設(shè)的全局地圖作對比,從而獲取機器人在預(yù)設(shè)的全局地圖上對應(yīng)的位置,也即是機器人運動的當(dāng)前位置;所述角速度是根據(jù)所述陀螺儀所測量的初始角速度和加速度計所測量的加速度進行擬合得到。

優(yōu)選地,所述S3與S4之間還包括S31:判斷所述當(dāng)前位置與所述當(dāng)前目標(biāo)位置是否一致,若否,則執(zhí)行S4;若是,則繼續(xù)獲取下一目標(biāo)位置或者退出。

為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的之三在于提供一種機器人導(dǎo)航的裝置,其能夠使得機器人在行走時,不需要預(yù)先鋪設(shè)行走軌道,而是能自動根據(jù)地形計算自身的行走路徑并能避開障礙物,到達目的地。

本發(fā)明的目的之三采用以下技術(shù)方案實現(xiàn):

本發(fā)明還提供了一種機器人導(dǎo)航的裝置,包括:

當(dāng)前目標(biāo)位置獲取模塊,用于獲取機器人所要到達的當(dāng)前目標(biāo)位置;

數(shù)據(jù)獲取模塊,用于獲取編碼器、陀螺儀、加速度計所測量的機器人在上一運動周期中的線速度和角速度,以及激光雷達傳感器所采集的環(huán)境地圖的圖像,該圖像記為局部地圖;

當(dāng)前位置計算模塊,用于根據(jù)所述局部地圖、線速度以及角速度得到機器人在預(yù)設(shè)的代價地圖上對應(yīng)的當(dāng)前位置;所述代價地圖為預(yù)設(shè)的全局地圖、局部地圖以及手動添加的地圖層重疊得到的地圖;

運動路徑計算模塊,用于根據(jù)預(yù)設(shè)加速度、機器人線速度的預(yù)設(shè)范圍、角速度的預(yù)設(shè)范圍、線速度和代價地圖得到機器人從當(dāng)前位置出發(fā)在一個運動周期內(nèi)所有的預(yù)計運動路徑以及對應(yīng)的預(yù)計運動速度;所述運動速度包括角速度和線速度;所述運動周期為系統(tǒng)預(yù)設(shè)的;

運動路徑選擇模塊,用于對所有的預(yù)計運動路徑以及對應(yīng)的預(yù)計運動速度根據(jù)評價依據(jù)得出下一運動周期的運動路徑及對應(yīng)的運動速度;所述評價依據(jù)至少包括一條運動路徑上是否存在障礙物、與全局路徑的貼合程度、運動路徑的終點位置是否與當(dāng)前目標(biāo)位置的距離最近;所述全局路徑是指機器人在全局地圖上從導(dǎo)航起始點到達當(dāng)前目標(biāo)位置的路徑;

信號發(fā)送模塊,用于根據(jù)所述下一運動周期的運動路徑以及對應(yīng)的運動速度計算得出對應(yīng)的驅(qū)動輪的運行速度,并轉(zhuǎn)換為脈沖信號,然后將所述脈沖信號發(fā)送給單片機,使得單片機根據(jù)所述脈沖信號控制電機的工作狀態(tài),從而控制驅(qū)動輪的運動,完成機器人的移動。

相比現(xiàn)有技術(shù),本發(fā)明的有益效果在于:機器人通過本發(fā)明提供的導(dǎo)航方法能夠根據(jù)地形計算機器人自身的行走路徑,并且能夠自動避開障礙物,而不需要像現(xiàn)有技術(shù)中的那樣預(yù)先鋪設(shè)行走軌道或者通過人工實時控制器行走,實現(xiàn)了智能化控制,減少了人力的消耗、節(jié)約了維護成本。

附圖說明

圖1為本發(fā)明提供的一種機器人導(dǎo)航的系統(tǒng)模塊圖;

圖2為本發(fā)明提供的一種機器人導(dǎo)航的方法流程圖;

圖3為本發(fā)明提供的一種機器人導(dǎo)航的裝置模塊圖。

具體實施方式

下面,結(jié)合附圖以及具體實施方式,對本發(fā)明做進一步描述:

如圖1所示,本發(fā)明提供了一種機器人導(dǎo)航的系統(tǒng),其包括一上位機以及安裝于機器人身上的驅(qū)動輪、激光雷達傳感器、陀螺儀、加速度計、編碼器和單片機;所述激光雷達傳感器與上位機連接,該激光雷達傳感器與上位機可通過無線連接。所述陀螺儀、加速度計、編碼器分別與單片機電性連接,所述單片機與上位機通信。該單片機用于采集陀螺儀、加速度計以及編碼器所發(fā)送的數(shù)據(jù),以及將該數(shù)據(jù)發(fā)送到上位機。其中驅(qū)動輪安裝于機器人的移動底盤上,編碼器安裝于驅(qū)動輪的齒輪上,該編碼器用于測量機器人在運動過程中的線速度;陀螺儀、加速度計分別安裝在機器人身上任意的水平位置上,用于測量機器人在運動過程中的角速度和加速度;而激光雷達傳感器可安裝在機器人身上的任意地方,優(yōu)選地,該激光雷達傳感器安裝在機器人身上的離地面距離30CM左右的地方,其所測量的數(shù)據(jù)能夠達到更好的效果。

另外,所述機器人的移動底盤上還安裝有兩個電機,分別為第一電機和第二電機;對應(yīng)的所述驅(qū)動輪也有兩個,分別為第一驅(qū)動輪和第二驅(qū)動輪,所述第一單片機與第一驅(qū)動輪轉(zhuǎn)動軸固定連接,第二單片機與第二驅(qū)動輪轉(zhuǎn)動軸固定連接。所述第一電機、第二電機分別與所述單片機電性連接,單片機用于根據(jù)上位機發(fā)送的信號控制對應(yīng)電機的工作狀態(tài),電機根據(jù)所述信號控制對應(yīng)驅(qū)動輪的運動,從而實現(xiàn)機器人的移動。

所述激光雷達傳感器用于采集一定范圍內(nèi)周圍的環(huán)境地圖的圖像,也即是機器人在運動過程中周圍的環(huán)境地圖。比如,激光雷達傳感器可采集以激光雷達傳感器為原點、半徑10米、270度扇形的環(huán)境地圖的圖像,所述上位機用于采集激光雷達傳感器所采集的環(huán)境地圖的圖像,并根據(jù)該圖像獲取到該圖像所對應(yīng)的環(huán)境地圖中的障礙物以及原點到達該障礙物的距離等信息,由于激光雷達傳感器安裝于機器人身上,因此,上位機可根據(jù)該圖像獲取到機器人在運動過程中周圍環(huán)境地圖中的障礙物以及機器人自身到達障礙物的距離。

所述編碼器的內(nèi)部是由多對光電對管組成,可通過驅(qū)動輪的齒輪撥動編碼器的碼盤,從而編碼器可將機器人在運動過程的線速度對應(yīng)的脈沖數(shù)發(fā)送給單片機,這樣,單片機就能夠通過編碼器發(fā)送的脈沖數(shù)得知機器人運動的線速度,并將該線速度發(fā)送到上位機。由于驅(qū)動輪有兩個,則對應(yīng)的編碼器也有兩個,也即是每一個驅(qū)動輪上都對應(yīng)安裝有一編碼器。

所述加速度計和陀螺儀用于測量機器人在運動過程中的加速度和角速度,該角速度是初始測量的角速度,由于陀螺儀在高頻段的測量數(shù)據(jù)校準(zhǔn),而加速度計在低頻段的測量數(shù)據(jù)更準(zhǔn),因此,本實施例中將二者測量的加速度和角速度通過卡爾曼濾波器來擬合,再通過積分計算計算出機器人的在運動過程中的角速度,然后就可通過該角速度計算得到機器人在水平方向上的角度,從而可獲取機器人的運動方向。也即是,用加速度計所測量的加速度來修正陀螺儀所測量的角速度的大小,從而使得測出來的機器人的角速度更加準(zhǔn)確,有助于之后的計算。

優(yōu)選地,所述上位機與單片機通過串口進行通信。

所述上位機用于根據(jù)加速度計、陀螺儀、編碼器、激光雷達傳感器所測量的數(shù)據(jù)計算得到機器人運動的當(dāng)前位置、運動的路徑以及運動速度,并將所述運動速度轉(zhuǎn)換為對應(yīng)的脈沖信號發(fā)送給單片機,從而使得單片機將所述脈沖信號發(fā)送到對應(yīng)的電機,然后每一個電機根據(jù)對應(yīng)的脈沖信號來控制對應(yīng)的驅(qū)動輪工作,使得機器人運動。所述運動速度包括線速度和角速度,也即是線速度決定了機器人運動的速度大小,而角速度決定了機器人運動的方向。

另外,上位機獲取加速度計、陀螺儀、編碼器以及激光雷達傳感器的數(shù)據(jù)時,是有一定的周期性,也即是系統(tǒng)會設(shè)定一個時間,每隔一段時間上位機采集一次數(shù)據(jù),并計算出機器人的當(dāng)前位置、下一個運動周期的運動路徑以及運動速度,并將該運動路徑以及運動速度發(fā)送到單片機中,從而使得單片機控制電機和驅(qū)動輪的工作,實現(xiàn)機器人的移動。該系統(tǒng)設(shè)定的時間也即是機器人的運動周期。

優(yōu)選地,機器人在運動過程中,單片機還用于通過PID控制算法對驅(qū)動輪的運動速度進行實時調(diào)節(jié)。比如,單片機根據(jù)編碼器所發(fā)送的脈沖數(shù)獲取到驅(qū)動輪的線速度,然后根據(jù)PID控制算法調(diào)節(jié)參數(shù)P、I,參數(shù)D置零,形成一速度環(huán),單片機根據(jù)該速度環(huán)實時調(diào)節(jié)驅(qū)動輪運動的速度,從而使得機器人可以及時做出合理響應(yīng)。

另外,本發(fā)明還采用了該系統(tǒng)與APP結(jié)合的方式,也即是用戶可通過APP與該系統(tǒng)進行通信,比如用戶可通過在移動設(shè)備上安裝APP,通過APP來查看或者控制該機器人的運動狀態(tài)、設(shè)置目標(biāo)位置、選擇導(dǎo)航或建圖等功能。

如圖2所示,本發(fā)明還提供了一種機器人導(dǎo)航的方法,該導(dǎo)航的方法應(yīng)用于如前所述的機器人導(dǎo)航的系統(tǒng)中,當(dāng)機器人想要到達某一目標(biāo)位置時,其導(dǎo)航的方法包括以下步驟:

S1:獲取機器人所要到達的當(dāng)前目標(biāo)位置;

在導(dǎo)航之前,首先要人為控制機器人在工作場所中行走,采集地圖環(huán)境信息,并且人為定位機器人的目標(biāo)位置,可以定位5000個目標(biāo)位置,該目標(biāo)位置也即是指機器人在運動所要到達的目標(biāo)位置。當(dāng)導(dǎo)航開始時,用戶可通過APP與系統(tǒng)進行通信,將該機器人所要達到的目標(biāo)位置發(fā)送到系統(tǒng)中。另外,機器人正常行走時,有三種模式:單次到達模式、單次循環(huán)模式、多次循環(huán)模式。其中,單次達到模式是指機器人直接行走到目標(biāo)位置后,停下等待下一步指令或者結(jié)束行走。而單次循環(huán)模式是指在該模式下預(yù)先按次序設(shè)定多個目標(biāo)位置,然后機器人會按順序行走一遍所有的目標(biāo)位置,再回到出發(fā)點;多次循環(huán)模式指的是重復(fù)單次循環(huán)模式多次。而所述機器人當(dāng)前目標(biāo)位置指的是機器人當(dāng)前所要移動到的下一目標(biāo)位置。

S2:獲取編碼器、陀螺儀、加速度計所測量機器人在上一運動周期中的線速度和角速度;

本步驟中,由于機器人在運動時,驅(qū)動輪的齒輪會撥動編碼器的碼盤而產(chǎn)生對應(yīng)的脈沖信號,編碼器就將所述脈沖信號發(fā)送給單片機,該單片機再將所述脈沖信號發(fā)送給上位機,從而使得上位機可根據(jù)該脈沖信號獲取到機器人在運動過程中線速度。所述脈沖信號是指能夠轉(zhuǎn)換為機器人運動過程中的線速度的脈沖信號。另外,陀螺儀和加速度計所測量的數(shù)據(jù)是用來計算所述機器人在運動過程中的水平方向角速度。單片機用于采集到的陀螺儀所測量的初始角速度和加速度計所測量的加速度。所述初始角速度和加速度首先通過卡爾曼濾波器擬合計算得到機器人在上一運動周期內(nèi)的角速度,然后將根據(jù)角速度得到機器人在水平方向的角度。上位機可通過線速度、水平方向的角速度以及運動周期,得到機器人在上一個運動周期內(nèi)的運動路徑。

S3:獲取激光雷達傳感器所采集的環(huán)境地圖的圖像,該圖像記為局部地圖。

所述激光雷達傳感器采集機器人周圍的環(huán)境地圖的圖像并將該圖像發(fā)送到上位機中,上位機可通過該圖像獲取機器人在運動過程中周圍環(huán)境地圖中的障礙物以及機器人所在的位置離障礙物的距離。該激光雷達傳感器所采集的機器人周圍的環(huán)境地圖的圖像是以激光雷達傳感器為原點(由于激光雷達傳感器安裝于機器人身上,因此也即是以機器人為原點)、半徑10米、270度扇形的圖像,其所采集的圖像根據(jù)機器人所在位置的不同進行實時更新。

S4:根據(jù)所述局部地圖、線速度和角速度算得到機器人在代價地圖上對應(yīng)的當(dāng)前位置;所述代價地圖為預(yù)設(shè)的全局地圖與所述局部地圖以及手動添加的地圖層重疊得到的地圖。

其中全局地圖指的是,在導(dǎo)航開始前,首先通過人為的控制機器人行走,并通過激光雷達傳感器采集機器人所行走的周圍的環(huán)境地圖(該環(huán)境地圖中的數(shù)據(jù)包括環(huán)境地圖中的障礙物以及機器人到障礙物的距離),由于激光雷達傳感器所采集的環(huán)境地圖的圖像有限,因此,系統(tǒng)會定時采集激光雷達傳感器所采集的圖像,最終得到多張環(huán)境地圖的圖像,然后通過建圖技術(shù)Hector-Mapping算法輸入激光雷達傳感器所采集的多張環(huán)境地圖的圖像、地圖的大小、地圖的更新參數(shù)以及建圖的起始點計算得到整個環(huán)境地圖,該整個環(huán)境地圖記為全局地圖,將該全局地圖預(yù)先存儲于該系統(tǒng)中。

所述代價地圖是由預(yù)設(shè)的全局地圖、局部地圖以及手動添加的地圖層重疊得到的地圖。其中,全局地圖是指在導(dǎo)航前建立的環(huán)境地圖,局部地圖是指機器人在行走過程中通過激光雷達傳感器所采集的周圍圖像所對應(yīng)的環(huán)境地圖,相對于全局地圖來說,該局部地圖只是全局地圖中的一部分,而手動添加的地圖層是指由于激光雷達傳感器是按照與機器人身上30CM左右的地方,全局地圖和局部地圖之間可能存在高度層,因此在添加一地圖層,將三層地圖層疊加得到一個實時更新路面信息的動態(tài)地圖,也即是代價地圖。所述代價地圖能夠根據(jù)激光雷達傳感器所檢測的障礙物的不同,實現(xiàn)自我更新。比如該代價地圖是將地圖分成多個網(wǎng)格來表示,然后這些網(wǎng)格分別標(biāo)記為有障礙物、無障礙物、未知區(qū)域等,這樣通過該代價地圖中的標(biāo)記能夠獲取到哪些區(qū)域是可通行的、哪些區(qū)域是不可通行的。激光雷達傳感器所采集的圖像是實時更新的,因此其對應(yīng)的環(huán)境地圖也是實時更新的,因此該代價地圖中的障礙物信息也即是根據(jù)激光雷達傳感器所采集的圖像獲取到的。

機器人在運動過程中,激光雷達傳感器還會繼續(xù)采集周圍的環(huán)境地圖的圖像,也即是獲取機器人在運動過程中的所可能遇到的障礙物。比如在商場、超市等人流量較多的場合,地圖中的障礙物(包括人、車、其他物體等)隨時會變換,因此,機器人運動過程中,可通過激光雷達傳感器對環(huán)境地圖中的障礙物進行實時采集,從而保證機器人在運動過程中能夠?qū)崟r檢測到障礙物。

機器人的當(dāng)前位置計算過程具體包括:首先根據(jù)機器人在上一個運動周期內(nèi)的線速度和角速度計算得到機器人在上一個運動周期的運動路徑;然后結(jié)合局部地圖和代價地圖,從而可得到機器人在代價地圖上的當(dāng)前位置。

S5:若所述當(dāng)前位置與所述當(dāng)前目標(biāo)位置不一致,則執(zhí)行S6;若當(dāng)前位置與所述當(dāng)前目標(biāo)位置一致,則繼續(xù)獲取下一目標(biāo)位置或者退出。

若當(dāng)前位置和當(dāng)前目標(biāo)位置一致時,說明機器人已經(jīng)到達當(dāng)前目標(biāo)位置,若機器人處于單次到達模式,則退出或者等待下一個指令,若機器人處于單次循環(huán)模式或者多次循環(huán)模式,則獲取下一目標(biāo)位置,繼續(xù)導(dǎo)航即可。

S6:根據(jù)預(yù)設(shè)加速度、機器人線速度的預(yù)設(shè)范圍、機器人角速度的預(yù)設(shè)范圍、線速度以及代價地圖計算得出機器人在一個運動周期內(nèi)所有的預(yù)計運動路徑以及對應(yīng)的預(yù)計運動速度;所述運動速度包括線速度和角速度。

本步驟中,所述預(yù)設(shè)加速度是由系統(tǒng)自定義的一參數(shù),也即是其值是固定的。機器人線速度的預(yù)設(shè)范圍是指機器人在運動過程中所需要達到的速度范圍,由于硬件設(shè)備的限制,機器人速度不會無限大或無限小。因此,首先會對該機器人的運動速度進行預(yù)設(shè)一范圍,以避免由于運動速度過快或者過慢而導(dǎo)致儀器損壞或者其它的故障發(fā)生。機器人在一個運動周期后的線速度是不會超過該線速度的預(yù)設(shè)范圍,因此可從該線速度的預(yù)設(shè)范圍內(nèi)選取出多個數(shù)據(jù),作為機器人從當(dāng)前位置出發(fā)在運動到達一個運動周期時的線速度,也即是末速度。同樣的,角速度是用來確定機器人在運動過程中的方向,系統(tǒng)中也會預(yù)設(shè)一個范圍,當(dāng)選取不同的角速度值時,其機器人的運動方向是不同的。另外,線速度是用作為當(dāng)前機器人的起始速度,也即是通過陀螺儀所測量出來的上一個運動周期的線速度。

比如,首先確定機器人在運動過程中的方向,然后在選出起始速度、其中一個末速度、其中一個角速度,最后在計算出機器人從當(dāng)前位置出發(fā)的一個運動周期內(nèi)的運動路徑。根據(jù)選取不同的角速度和末速度就可得到機器人在一個運動周期內(nèi)的所有的預(yù)計運動路勁及對應(yīng)的預(yù)計運動速度。該過程可通過DWA(全稱為dynamic window approach動態(tài)窗口法)導(dǎo)航算法來實現(xiàn)。

S7:對所有的預(yù)計運動路徑以及對應(yīng)的預(yù)計運動速度根據(jù)評價依據(jù)得出下一運動周期的運動路徑以及對應(yīng)的運動速度;所述評價依據(jù)至少包括一運動路徑上是否存在障礙物、與全局路徑的貼合程度、運動路徑的終點位置是否與目標(biāo)位置的距離最近。

在評價所有的預(yù)計運動路徑時,將評價依據(jù)中的各項通過加權(quán)的方法計算得到每一條預(yù)計運動路徑的得分,然后根據(jù)該得分選出一條最優(yōu)的運動路徑以及對應(yīng)的運動速度,作為下一運動周期的運動路徑及對應(yīng)的運動速度。全局路徑的貼合程度是指該機器人在下一個運動周期內(nèi)的運動路徑與全局路徑的相似度。比如,從北京到廣州,其中全局路徑為北京-鄭州-武漢-長沙-廣州;而其中一個在運動過程中的路徑為鄭州-西安-武漢,另外一條路徑為鄭州-信陽-武漢,也即是說同樣是到達同一個地點,但是第二條路徑與全局路徑其貼合度更高,路線最近,也即是該運動路徑更優(yōu)。評價依據(jù)還包括有運動路徑上是否存在障礙物、運動路徑的終點位置是否與目標(biāo)位置的距離最近等等其他相關(guān)的因素。將這些因素通過加權(quán)比重的方法得出每一條預(yù)計運動路徑的評分,在根據(jù)該評分得出一條最優(yōu)的運動路徑,也即是機器人的下一運動周期的運動路徑。

S8:根據(jù)所述下一運動周期的運動路徑以及對應(yīng)的運動速度計算得出對應(yīng)的驅(qū)動輪的運行速度,并轉(zhuǎn)換為脈沖信號,然后將所述脈沖信號發(fā)送給單片機,使得單片機根據(jù)所述脈沖信號控制電機的工作狀態(tài),從而控制驅(qū)動輪的運動,完成機器人的移動。

在本發(fā)明所提供的優(yōu)選地實施例中,機器人的移動底盤上安裝的驅(qū)動輪不止一個。因此,計算得出下一運動周期的運動速度后,首先通過差速的方式分別計算得到每一個驅(qū)動輪運行的直線速度和角速度并轉(zhuǎn)換為對應(yīng)的脈沖信號,然后該脈沖信號發(fā)送到單片機,單片機根據(jù)對應(yīng)脈沖信號控制對應(yīng)的電機驅(qū)動對應(yīng)的驅(qū)動輪的運動,實現(xiàn)機器人的運動。

由于驅(qū)動輪包括兩個,在機器人進行轉(zhuǎn)彎時,只有當(dāng)一個驅(qū)動輪快速,一個驅(qū)動輪慢速才能使得機器人的底盤進行轉(zhuǎn)彎,因此采用差速的方式計算兩個驅(qū)動輪的運行速度,用不同的差速差值代表不同的轉(zhuǎn)彎角度,從而控制機器人的轉(zhuǎn)彎與直行。

所述S8中還包括:所述單片機還根據(jù)獲取的編碼器反饋的脈沖數(shù)得到驅(qū)動輪的線速度,并根據(jù)PID控制算法實時調(diào)節(jié)機器人行走的速度。比如,通過根據(jù)該PID控制算法輸入調(diào)節(jié)參數(shù)P、I,將參數(shù)D設(shè)置為零,這樣形成一速度環(huán),單片機根據(jù)該速度環(huán)實時控制調(diào)節(jié)兩個驅(qū)動輪的速度。

如圖3所示,本發(fā)明還提供了與一種機器人導(dǎo)航的方法對應(yīng)的機器人導(dǎo)航的裝置,其包括:

當(dāng)前目標(biāo)位置獲取模塊,用于獲取機器人所要到達的當(dāng)前目標(biāo)位置;

數(shù)據(jù)獲取模塊,用于獲取編碼器、陀螺儀、加速度計所測量的機器人在上一運動周期中的線速度和角速度,以及激光雷達傳感器所采集的環(huán)境地圖的圖像,該圖像記為局部地圖;

當(dāng)前位置計算模塊,用于根據(jù)所述局部地圖、線速度以及角速度得到機器人在預(yù)設(shè)的代價地圖上對應(yīng)的當(dāng)前位置;所述代價地圖為預(yù)設(shè)的全局地圖、局部地圖以及手動添加的地圖層重疊得到的地圖;

運動路徑計算模塊,用于根據(jù)預(yù)設(shè)加速度、機器人線速度的預(yù)設(shè)范圍、機器人角速度的預(yù)設(shè)范圍、線速度和代價地圖得到機器人從當(dāng)前位置出發(fā)在一個運動周期內(nèi)所有的預(yù)計運動路徑以及對應(yīng)的預(yù)計運動速度;所述運動速度包括角速度和線速度;所述運動周期為系統(tǒng)預(yù)設(shè)的;

運動路徑選擇模塊,用于對所有的預(yù)計運動路徑以及對應(yīng)的預(yù)計運動速度根據(jù)評價依據(jù)得出下一運動周期的運動路徑及對應(yīng)的運動速度;所述評價依據(jù)至少包括一條運動路徑上是否存在障礙物、與全局路徑的貼合程度、運動路徑的終點位置是否與當(dāng)前目標(biāo)位置的距離最近;所述全局路徑是指機器人在全局地圖上從導(dǎo)航起始點到達當(dāng)前目標(biāo)位置的路徑;

信號發(fā)送模塊,用于根據(jù)所述下一運動周期的運動路徑以及對應(yīng)的運動速度計算得出對應(yīng)的驅(qū)動輪的運行速度,并轉(zhuǎn)換為脈沖信號,然后將所述脈沖信號發(fā)送給單片機,使得單片機根據(jù)所述脈沖信號控制電機的工作狀態(tài),從而控制驅(qū)動輪的運動,完成機器人的移動

本發(fā)明還提供了另一替代方案,使用Kinect攝像頭代替激光雷達傳感器來生成地圖的圖像,但是激光雷達傳感器的抗干擾能力更強大。

另外,計算機器人的當(dāng)前位置時還可采用Gmapping算法,該算法首先通過陀螺儀、加速度計測試的角速度計算得到的機器人的水平方向角度以及編碼器采集的脈沖信號轉(zhuǎn)換為的線速度,使其在全局地圖上進行對應(yīng)的移動來改變激光雷達傳感器在地圖上的位置,然后在比較激光雷達傳感器所采集到的圖像中的位置與上述激光雷達傳感器在地圖上的位置是否一致,若一致,則就將該激光雷達傳感器采集到的圖像合理添加到全局地圖中,從而獲取到機器人的當(dāng)前位置。

對本領(lǐng)域的技術(shù)人員來說,可根據(jù)以上描述的技術(shù)方案以及構(gòu)思,做出其它各種相應(yīng)的改變以及形變,而所有的這些改變以及形變都應(yīng)該屬于本發(fā)明權(quán)利要求的保護范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1