本發(fā)明涉及移動(dòng)機(jī)器人自主定位導(dǎo)航領(lǐng)域,具體涉及一種基于ros2的巡檢機(jī)器人建圖與多點(diǎn)導(dǎo)航方法。
背景技術(shù):
1、在巡檢機(jī)器人領(lǐng)域,常見的技術(shù)包括使用基本的傳感器進(jìn)行環(huán)境感知,存在局限性?,F(xiàn)有的巡檢機(jī)器人往往按照預(yù)定線路或遠(yuǎn)程控制執(zhí)行任務(wù),缺乏針對(duì)實(shí)際設(shè)備狀況的靈活調(diào)整能力,固定的路線容易受工作環(huán)境的限制,同時(shí)容易發(fā)生碰撞,不靈活的特點(diǎn)使得其并不便于使用,在復(fù)雜的環(huán)境中也不便于自主導(dǎo)航和穩(wěn)定運(yùn)行,導(dǎo)致效率低下。
2、現(xiàn)有技術(shù)方案通常是通過(guò)傳感器獲取環(huán)境信息,然后基于預(yù)設(shè)的規(guī)則和算法進(jìn)行地圖構(gòu)建和路徑規(guī)劃?,F(xiàn)有一些巡檢機(jī)器人系統(tǒng)使用傳統(tǒng)的建圖算法,如基于柵格的地圖構(gòu)建方法。在路徑規(guī)劃方面,可能采用較為簡(jiǎn)單的全局路徑規(guī)劃算法,如dijkstra算法,局部路徑規(guī)劃則可能依賴簡(jiǎn)單的避障規(guī)則。
3、但是現(xiàn)有的巡檢機(jī)器人系統(tǒng)建圖算法不夠先進(jìn),難以處理復(fù)雜環(huán)境和大量數(shù)據(jù),導(dǎo)致地圖精度和完整性不足,實(shí)現(xiàn)多點(diǎn)導(dǎo)航時(shí),固定的路線容易受工作環(huán)境的限制,同時(shí)容易發(fā)生碰撞,難以滿足復(fù)雜環(huán)境的巡檢任務(wù)需求。而且路徑規(guī)劃算法的效率和適應(yīng)性較差,在復(fù)雜環(huán)境中可能無(wú)法找到最優(yōu)路徑或及時(shí)應(yīng)對(duì)動(dòng)態(tài)障礙物。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中的問(wèn)題,提供一種基于ros2的巡檢機(jī)器人建圖與多點(diǎn)導(dǎo)航方法,引入先進(jìn)的cartographer算法進(jìn)行建圖,結(jié)合a*算法和teb算法進(jìn)行路徑規(guī)劃,并實(shí)現(xiàn)多點(diǎn)導(dǎo)航,使機(jī)器人能夠更快速、靈活地應(yīng)對(duì)復(fù)雜環(huán)境,滿足多樣化的巡檢任務(wù)需求。
2、為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是:
3、一種基于ros2的巡檢機(jī)器人建圖與多點(diǎn)導(dǎo)航方法,步驟一:配置系統(tǒng)所需的ubuntu?22.04系統(tǒng),ros發(fā)行版本humble及系統(tǒng)環(huán)境;利用gazebo軟件搭建三維仿真世界模型,建立的工作環(huán)境,編寫配置文件以搭建好實(shí)際移動(dòng)機(jī)器人平臺(tái)、多線激光雷達(dá)以及深度攝像機(jī)供實(shí)驗(yàn)?zāi)M仿真;
4、步驟二:下載cartographer算法功能包ros-humble-cartographer和ros-humble-cartographer-ros,安裝cartographer算法到步驟一建立的工作環(huán)境中并編譯算法功能包;
5、步驟三:下載安裝編譯ros-humble-navigation2包,并建立完整的工作環(huán)境,配置相關(guān)參數(shù)完成;
6、步驟四:利用cartographer算法建立地面地圖,運(yùn)行多線激光雷達(dá)驅(qū)動(dòng)程序與激光點(diǎn)云三維線束轉(zhuǎn)換成二維線束程序,以便更充分地提取周圍環(huán)境特征,配置話題名稱和功能包參數(shù),運(yùn)行移動(dòng)機(jī)器人底盤驅(qū)動(dòng)程序并做好底盤與雷達(dá)之間的位姿轉(zhuǎn)換關(guān)系,運(yùn)行cartographer程序并驅(qū)動(dòng)底盤進(jìn)行二維建圖;
7、步驟五:選擇并配置定位算法、全局路徑規(guī)劃算法和局部路徑規(guī)劃算法;
8、步驟六:設(shè)置多點(diǎn)導(dǎo)航任務(wù),通過(guò)調(diào)用ros2中nav2_util功能包獲取多個(gè)巡檢目標(biāo)點(diǎn)坐標(biāo),并導(dǎo)入開發(fā)的控制功能包,執(zhí)行功能包控制機(jī)器人模型依次到達(dá)多個(gè)目標(biāo)點(diǎn)。
9、優(yōu)選的,步驟二中還包括:將所測(cè)得雷達(dá)點(diǎn)云圖點(diǎn)云數(shù)據(jù)進(jìn)行處理,與上一次掃描所獲得的子圖進(jìn)行比對(duì),若匹配成功則插入到上一次的子圖中進(jìn)行更新優(yōu)化,并生成下一個(gè)子圖;隨著機(jī)器人在目標(biāo)區(qū)域移動(dòng),不斷重復(fù)獲得子圖;當(dāng)沒(méi)有新的子圖插入時(shí),即完成完整子圖的構(gòu)建。
10、優(yōu)選的,當(dāng)完成多個(gè)子圖的構(gòu)建以后,后端開始進(jìn)行回環(huán)檢測(cè),每一個(gè)子圖構(gòu)建完成后都會(huì)與之前所有的經(jīng)過(guò)運(yùn)動(dòng)過(guò)濾后的點(diǎn)云幀進(jìn)行匹配,進(jìn)行回環(huán)優(yōu)化,消除累計(jì)誤差。
11、優(yōu)選的,步驟三中還包括:nav2導(dǎo)航內(nèi)部分為bt導(dǎo)航服務(wù)器,根據(jù)xml格式的行為樹描述文件,配置調(diào)用下列三個(gè)服務(wù)器模塊完成對(duì)機(jī)器人的行為控制:
12、規(guī)劃器服務(wù)器,負(fù)責(zé)全局路徑規(guī)劃,負(fù)責(zé)規(guī)劃從出發(fā)點(diǎn)到目標(biāo)點(diǎn)的路徑;
13、控制服務(wù)器,根據(jù)全局路徑,結(jié)合實(shí)時(shí)障礙物和局部代價(jià)地圖完成機(jī)器人的實(shí)時(shí)控制;
14、恢復(fù)服務(wù)器,負(fù)責(zé)在機(jī)器人遇到路徑堵塞、卡住等特殊情況時(shí),進(jìn)行轉(zhuǎn)向、后退等恢復(fù)操作,并通知規(guī)劃服務(wù)器,更新全局路徑。
15、優(yōu)選的,步驟五中還包括:配置cartographer算法參數(shù)文件提供定位功能,加載之前構(gòu)建好的二維的pbstream格式地圖;全局路徑規(guī)劃算法選擇a*算法,局部路徑規(guī)劃配置teb算法,調(diào)整代價(jià)地圖與路徑規(guī)劃參數(shù)文件。
16、優(yōu)選的,步驟六中還包括:在到達(dá)目標(biāo)點(diǎn)時(shí)發(fā)出提示語(yǔ)音。
17、本發(fā)明的有益效果是:
18、1、采用完善的系統(tǒng)配置和環(huán)境搭建,包括特定版本的ubuntu系統(tǒng)、ros?2發(fā)行版以及相關(guān)軟件和硬件的協(xié)同配置,為整個(gè)系統(tǒng)的穩(wěn)定運(yùn)行提供保障。
19、2、采用先進(jìn)的cartographer算法進(jìn)行建圖,其高效的數(shù)據(jù)處理和子圖比對(duì)、更新及回環(huán)檢測(cè)機(jī)制,提高了地圖的精度和完整性,能夠更準(zhǔn)確地反映復(fù)雜的巡檢環(huán)境,而現(xiàn)有技術(shù)建圖精度低,難以呈現(xiàn)環(huán)境細(xì)節(jié)。
20、3、融合a*算法和teb算法進(jìn)行路徑規(guī)劃,a*算法保證全局路徑的最優(yōu)解,teb算法確保局部路徑的動(dòng)態(tài)避障和高效計(jì)算,兩者結(jié)合提升了路徑規(guī)劃的整體性能。
21、4、實(shí)現(xiàn)了多點(diǎn)導(dǎo)航功能,通過(guò)特定的控制包和坐標(biāo)獲取方式,使機(jī)器人能夠依次精確到達(dá)多個(gè)巡檢目標(biāo)點(diǎn),更復(fù)雜多樣的巡檢任務(wù)需求。
1.一種基于ros2的巡檢機(jī)器人建圖與多點(diǎn)導(dǎo)航方法,其特征在于:包括以下步驟,
2.根據(jù)權(quán)利要求1所述的基于ros2的巡檢機(jī)器人建圖與多點(diǎn)導(dǎo)航方法,其特征在于:步驟二中還包括:將所測(cè)得雷達(dá)點(diǎn)云圖點(diǎn)云數(shù)據(jù)進(jìn)行處理,與上一次掃描所獲得的子圖進(jìn)行比對(duì),若匹配成功則插入到上一次的子圖中進(jìn)行更新優(yōu)化,并生成下一個(gè)子圖;隨著機(jī)器人在目標(biāo)區(qū)域移動(dòng),不斷重復(fù)獲得子圖;當(dāng)沒(méi)有新的子圖插入時(shí),即完成完整子圖的構(gòu)建。
3.根據(jù)權(quán)利要求2所述的基于ros2的巡檢機(jī)器人建圖與多點(diǎn)導(dǎo)航方法,其特征在于:當(dāng)完成多個(gè)子圖的構(gòu)建以后,后端開始進(jìn)行回環(huán)檢測(cè),每一個(gè)子圖構(gòu)建完成后都會(huì)與之前所有的經(jīng)過(guò)運(yùn)動(dòng)過(guò)濾后的點(diǎn)云幀進(jìn)行匹配,進(jìn)行回環(huán)優(yōu)化,消除累計(jì)誤差。
4.根據(jù)權(quán)利要求1所述的基于ros2的巡檢機(jī)器人建圖與多點(diǎn)導(dǎo)航方法,其特征在于:步驟三中還包括:nav2導(dǎo)航內(nèi)部分為bt導(dǎo)航服務(wù)器,根據(jù)xml格式的行為樹描述文件,配置調(diào)用下列三個(gè)服務(wù)器模塊完成對(duì)機(jī)器人的行為控制:
5.根據(jù)權(quán)利要求1所述的基于ros2的巡檢機(jī)器人建圖與多點(diǎn)導(dǎo)航方法,其特征在于:步驟五中還包括:配置cartographer算法參數(shù)文件提供定位功能,加載之前構(gòu)建好的二維的pbstream格式地圖;全局路徑規(guī)劃算法選擇a*算法,局部路徑規(guī)劃配置teb算法,調(diào)整代價(jià)地圖與路徑規(guī)劃參數(shù)文件。
6.根據(jù)權(quán)利要求1所述的基于ros2的巡檢機(jī)器人建圖與多點(diǎn)導(dǎo)航方法,其特征在于:步驟六中還包括:在到達(dá)目標(biāo)點(diǎn)時(shí)發(fā)出提示語(yǔ)音。