1.一種機(jī)器人導(dǎo)航的系統(tǒng),其特征在于,包括一上位機(jī)以及安裝于機(jī)器人身上的驅(qū)動輪、激光雷達(dá)傳感器、陀螺儀、加速度計、編碼器和單片機(jī),所述單片機(jī)與上位機(jī)通信,所述激光雷達(dá)傳感器與上位機(jī)相連;所述陀螺儀、加速度計、編碼器分別與所述單片機(jī)電性連接;所述單片機(jī)用于采集陀螺儀、加速度計以及編碼器所發(fā)送的數(shù)據(jù)并發(fā)送到上位機(jī);上位機(jī)用于根據(jù)所述激光雷達(dá)傳感器、陀螺儀、加速度計以及編碼器所發(fā)送的數(shù)據(jù)計算得出機(jī)器人的運動路徑以及對應(yīng)的運動速度并轉(zhuǎn)換為脈沖信號發(fā)送給單片機(jī);所述機(jī)器人身上還安裝有電機(jī),所述驅(qū)動輪與電機(jī)轉(zhuǎn)動軸固定連接,所述電機(jī)與單片機(jī)電性連接;所述單片機(jī)用于根據(jù)所述上位機(jī)發(fā)送的脈沖信號控制電機(jī)的工作狀態(tài),從而使得電機(jī)控制驅(qū)動輪運動,完成機(jī)器人的移動。
2.如權(quán)利要求1所述機(jī)器人導(dǎo)航的系統(tǒng),其特征在于,所述驅(qū)動輪安裝于機(jī)器人的移動底盤上,編碼器安裝于所述驅(qū)動輪的齒輪上,陀螺儀、加速度計均安裝于機(jī)器人身上任意的水平位置上,激光雷達(dá)傳感器安裝于機(jī)器人身上離地面距離30CM的地方,所述電機(jī)安裝于移動底盤上。
3.如權(quán)利要求1所述機(jī)器人導(dǎo)航的系統(tǒng),其特征在于,所述驅(qū)動輪有兩個,分別記為第一驅(qū)動輪和第二驅(qū)動輪;所述電機(jī)有兩個,分別記為第一電機(jī)和第二電機(jī);所述第一驅(qū)動輪與第一電機(jī)轉(zhuǎn)動軸固定連接,第二驅(qū)動輪與第二電機(jī)轉(zhuǎn)動軸固定連接;所述第一電機(jī)、第二電機(jī)分別與單片機(jī)電性連接;每一個驅(qū)動輪上都對應(yīng)安裝有一編碼器。
4.如權(quán)利要求1所述機(jī)器人導(dǎo)航的系統(tǒng),其特征在于,所述單片機(jī)與所述上位機(jī)通過串口通信。
5.一種機(jī)器人導(dǎo)航的方法,其應(yīng)用于如權(quán)利要求1所述的機(jī)器人導(dǎo)航的系統(tǒng)中,其特征在于,包括以下步驟:
S1:獲取機(jī)器人所要到達(dá)的當(dāng)前目標(biāo)位置;
S2:獲取編碼器、陀螺儀、加速度計所測量的機(jī)器人在上一運動周期中的線速度和角速度,以及激光雷達(dá)傳感器所采集的環(huán)境地圖的圖像,該圖像記為局部地圖;
S3:根據(jù)所述局部地圖、線速度以及角速度得到機(jī)器人在預(yù)設(shè)的代價地圖上對應(yīng)的當(dāng)前位置;所述代價地圖為預(yù)設(shè)的全局地圖、局部地圖以及手動添加的地圖層重疊得到的地圖;
S4:根據(jù)預(yù)設(shè)加速度、機(jī)器人線速度的預(yù)設(shè)范圍、機(jī)器人角速度的預(yù)設(shè)范圍、線速度和代價地圖得到機(jī)器人從當(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)位置的距離最近;所述全局路徑是指機(jī)器人在全局地圖上從導(dǎo)航起始點到達(dá)當(dāng)前目標(biāo)位置的路徑;
S6:根據(jù)所述下一運動周期的運動路徑以及對應(yīng)的運動速度計算得出對應(yīng)的驅(qū)動輪的運行速度,并轉(zhuǎn)換為脈沖信號,然后將所述脈沖信號發(fā)送給單片機(jī),使得單片機(jī)根據(jù)所述脈沖信號控制電機(jī)的工作狀態(tài),從而控制驅(qū)動輪的運動,完成機(jī)器人的移動。
6.如權(quán)利要求5所述機(jī)器人導(dǎo)航的方法,其特征在于,所述全局地圖的建立步驟具體包括:
通過人為的控制機(jī)器人在地圖中行走獲取激光雷達(dá)傳感器采集到的多張環(huán)境地圖的圖像;再通過使用Hector-Mapping算法輸入地圖的大小、地圖的更新參數(shù)、建圖的起始點以及多張環(huán)境地圖的圖像生成整個環(huán)境地圖的圖像。
7.如權(quán)利要求5所述機(jī)器人導(dǎo)航的方法,其特征在于,所述S4具體包括:從預(yù)設(shè)線速度以及預(yù)設(shè)角速度中選取一組或者多組線速度值以及角速度值,然后計算在一個運動周期內(nèi)機(jī)器人從當(dāng)前位置出發(fā)所經(jīng)過的一條或者多條運動路徑并記錄。
8.如權(quán)利要求5所述機(jī)器人導(dǎo)航的方法,其特征在于,步驟S3中具體包括:
首先根據(jù)所述角速度計算得到機(jī)器人的水平方向角度;然后根據(jù)該水平方向角度和線速度計算得到機(jī)器人在上一個運動周期內(nèi)的運動路徑;最后結(jié)合局部地圖與預(yù)設(shè)的全局地圖作對比,從而獲取機(jī)器人在預(yù)設(shè)的全局地圖上對應(yīng)的位置,也即是機(jī)器人運動的當(dāng)前位置;所述角速度是根據(jù)所述陀螺儀所測量的初始角速度和加速度計所測量的加速度進(jìn)行擬合得到。
9.如權(quán)利要求5所述機(jī)器人導(dǎo)航的方法,其特征在于,所述S3與所述S4之間還包括S31:判斷所述當(dāng)前位置與所述當(dāng)前目標(biāo)位置是否一致,若否,則執(zhí)行S4;若是,則繼續(xù)獲取下一目標(biāo)位置或者退出。
10.一種機(jī)器人導(dǎo)航的裝置,其特征在于,包括:
當(dāng)前目標(biāo)位置獲取模塊,用于獲取機(jī)器人所要到達(dá)的當(dāng)前目標(biāo)位置;
數(shù)據(jù)獲取模塊,用于獲取編碼器、陀螺儀、加速度計所測量的機(jī)器人在上一運動周期中的線速度和角速度,以及激光雷達(dá)傳感器所采集的環(huán)境地圖的圖像,該圖像記為局部地圖;
當(dāng)前位置計算模塊,用于根據(jù)所述局部地圖、線速度以及角速度得到機(jī)器人在預(yù)設(shè)的代價地圖上對應(yīng)的當(dāng)前位置;所述代價地圖為預(yù)設(shè)的全局地圖、局部地圖以及手動添加的地圖層重疊得到的地圖;
運動路徑計算模塊,用于根據(jù)預(yù)設(shè)加速度、機(jī)器人線速度的預(yù)設(shè)范圍、機(jī)器人角速度的預(yù)設(shè)范圍、線速度和代價地圖得到機(jī)器人從當(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)位置的距離最近;所述全局路徑是指機(jī)器人在全局地圖上從導(dǎo)航起始點到達(dá)當(dāng)前目標(biāo)位置的路徑;
信號發(fā)送模塊,用于根據(jù)所述下一運動周期的運動路徑以及對應(yīng)的運動速度計算得出對應(yīng)的驅(qū)動輪的運行速度,并轉(zhuǎn)換為脈沖信號,然后將所述脈沖信號發(fā)送給單片機(jī),使得單片機(jī)根據(jù)所述脈沖信號控制電機(jī)的工作狀態(tài),從而控制驅(qū)動輪的運動,完成機(jī)器人的移動。