劉慶 鄧杰銘 張棚
摘 要:當(dāng)今社會(huì),機(jī)器人和無人駕駛技術(shù)的快速發(fā)展,機(jī)器人已經(jīng)應(yīng)用于各個(gè)行業(yè)中,路徑規(guī)劃作為該領(lǐng)域的研究問題之一,具有重要的理論研究意義和實(shí)踐應(yīng)用價(jià)值。本文分析了ROS操作系統(tǒng)的構(gòu)成,基于ROS操作系統(tǒng)上分析了路徑規(guī)劃的分類以及不同的路徑規(guī)劃算法,實(shí)現(xiàn)在不同場(chǎng)景設(shè)定初始節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn),運(yùn)用A*算法以及動(dòng)態(tài)窗口算法,對(duì)移動(dòng)機(jī)器人的運(yùn)動(dòng)軌跡進(jìn)行路徑規(guī)劃仿真,根據(jù)兩種路徑規(guī)劃算法的實(shí)現(xiàn)過程,得到仿真實(shí)驗(yàn)結(jié)果。
關(guān)鍵詞:ROS 路徑規(guī)劃 A*算法 動(dòng)態(tài)窗口算法
1引言
目前,工信和信息化部、國家發(fā)展改革委、財(cái)政部等三部委聯(lián)合印發(fā)了《機(jī)器人產(chǎn)業(yè)發(fā)展規(guī)劃(2016-2020年)》,為我國機(jī)器人產(chǎn)業(yè)發(fā)展描繪了清晰的藍(lán)圖,構(gòu)建智能制造為根本特征的新型移動(dòng)機(jī)器人,相比于傳統(tǒng)移動(dòng)機(jī)器人只能在事先設(shè)定好的程序和熟悉的環(huán)境中進(jìn)行機(jī)械性動(dòng)作,新型移動(dòng)機(jī)器人具有自主規(guī)劃路徑、自主導(dǎo)航、自主避障的智能機(jī)器人。
移動(dòng)機(jī)器人在各行業(yè)中的應(yīng)用環(huán)境的不同,面臨不同的運(yùn)動(dòng)軌跡和突發(fā)問題,這急需提高移動(dòng)機(jī)器人的應(yīng)用性能。未來,無人駕駛汽車、巡檢機(jī)器人等設(shè)備的發(fā)展都需要使用機(jī)器人的路徑規(guī)劃與自主導(dǎo)航功能,因此,移動(dòng)機(jī)器人的路徑規(guī)劃能力至關(guān)重要[1]。為實(shí)現(xiàn)移動(dòng)機(jī)器人的路徑規(guī)劃,采用基于ROS操作系統(tǒng)的路徑規(guī)劃算法制定最優(yōu)路徑。
2 ROS操作系統(tǒng)簡(jiǎn)介
ROS是一個(gè)適用于機(jī)器人的開源的元操作系統(tǒng),它提供了操作系統(tǒng)應(yīng)有的服務(wù),主要目標(biāo)是為機(jī)器人研究和開發(fā)提供代碼復(fù)用的支持。
ROS是將原本松散的零部件耦合在一起,這些零部件稱為節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)獨(dú)立運(yùn)行,與其他節(jié)點(diǎn)相互通信。ROS提供了大量的功能包,開發(fā)者可以直接調(diào)用包含所需節(jié)點(diǎn)的包,ROS支持多語言開發(fā),不同的節(jié)點(diǎn)可以使用不同的語言開發(fā),這種具有獨(dú)立性和開源型的模塊化開發(fā)設(shè)計(jì)提高了共享性和開發(fā)效率[2]。ROS是通訊機(jī)制、工具軟件包、機(jī)器人高層技能以及機(jī)器人生態(tài)系統(tǒng)的集合。
3移動(dòng)機(jī)器人仿真設(shè)計(jì)
3.1仿真系統(tǒng)架構(gòu)
采用模塊化設(shè)計(jì)可提高系統(tǒng)利用率,將仿真系統(tǒng)分為環(huán)境搭建、算法模塊、起始/目標(biāo)節(jié)點(diǎn)、障礙設(shè)置四大模塊,系統(tǒng)構(gòu)成如圖1所示。
3.2仿真目標(biāo)設(shè)計(jì)
(1)搭建界面友好的仿真環(huán)境,將界面設(shè)計(jì)的美觀且人性化、展現(xiàn)的與真實(shí)場(chǎng)景相似。
(2)界面可以在移動(dòng)機(jī)器人能到達(dá)的場(chǎng)景范圍內(nèi)變換場(chǎng)景設(shè)施、障礙設(shè)置。
(3)可隨意設(shè)置移動(dòng)機(jī)器人的起始節(jié)點(diǎn)位置以及目標(biāo)節(jié)點(diǎn)位置。
(4)根據(jù)不同的路徑規(guī)劃算法使機(jī)器人運(yùn)動(dòng),比較不同算法之間的優(yōu)缺點(diǎn)。
3.3系統(tǒng)仿真平臺(tái)
在Ubuntu20.0環(huán)境下搭建的ROS操作系統(tǒng)為移動(dòng)機(jī)器人提供了一系列的控制器接口、傳感器接口、工具箱等,所提供的功能包提高機(jī)器人開發(fā)效率。使用Gazebo作為系統(tǒng)仿真軟件,需要在Gazebo中配置移動(dòng)機(jī)器人模型、創(chuàng)建不同仿真環(huán)境。
4路徑規(guī)劃算法的實(shí)現(xiàn)
路徑規(guī)劃是移動(dòng)機(jī)器人運(yùn)動(dòng)的最基本環(huán)節(jié),主要包括感知、決策、控制,一般的路徑規(guī)劃指的是決策部分,如圖4所示。在有障礙物的運(yùn)動(dòng)環(huán)境中,找到一條從起點(diǎn)到終點(diǎn)的最優(yōu)運(yùn)動(dòng)路徑,機(jī)器人在運(yùn)動(dòng)過程中能無碰撞、安全的繞過所有障礙物,機(jī)器人需要對(duì)靜態(tài)和動(dòng)態(tài)環(huán)境做出綜合判斷,并規(guī)劃出最優(yōu)路徑。
在仿真環(huán)境中采用A*算法、動(dòng)態(tài)窗口算法[3]對(duì)移動(dòng)機(jī)器人的運(yùn)動(dòng)路徑模擬,實(shí)現(xiàn)移動(dòng)機(jī)器人的路徑規(guī)劃仿真。
首先在Gazebo軟件中模擬真實(shí)場(chǎng)景,給定移動(dòng)機(jī)器人的初始節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn),A*算法在地圖中搜索節(jié)點(diǎn)信息[4],根據(jù)下一節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的距離做出估價(jià),得到目前節(jié)點(diǎn)的最有路徑的可能性,快速搜索出可能性最大的路徑。
相比于A*算法的搜索啟發(fā)式路徑規(guī)劃,動(dòng)態(tài)窗口算法是對(duì)移動(dòng)機(jī)器人的行駛軌跡、模型速度采樣,由此得到不同運(yùn)動(dòng)速度,根據(jù)每條軌跡的不同角度差、最短距離以及當(dāng)前速度分別對(duì)每條路徑進(jìn)行評(píng)價(jià)[5]。
5實(shí)驗(yàn)仿真及結(jié)論
本實(shí)驗(yàn)仿真系統(tǒng)在虛擬機(jī)上運(yùn)行,使用Linux操作系統(tǒng),采用Gazebo作為開發(fā)平臺(tái),移動(dòng)機(jī)器人的路徑規(guī)劃驗(yàn)證結(jié)果都在仿真平臺(tái)上實(shí)現(xiàn)。
使用A*算法和動(dòng)態(tài)窗口算法分別實(shí)現(xiàn)移動(dòng)機(jī)器人的路徑規(guī)劃,并且機(jī)器人在不同的場(chǎng)景使用不同的算法,如圖3所示。
由仿真實(shí)驗(yàn)可以得到在不同場(chǎng)景中使用不同算法,移動(dòng)機(jī)器人的運(yùn)動(dòng)軌跡不同,根據(jù)初始節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)的設(shè)定,機(jī)器人能夠成功避開設(shè)定障礙,找到最優(yōu)路徑,實(shí)現(xiàn)達(dá)到目標(biāo)位置。結(jié)果表明,A*算法適用于靜態(tài)搜索路徑,環(huán)境一旦變化,則需重新開始規(guī)劃節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)路徑,相對(duì)于A*算法,動(dòng)態(tài)窗口算法適用于局部路徑規(guī)劃,將全局路徑進(jìn)行局部路徑規(guī)劃,直到到達(dá)目標(biāo)點(diǎn)。
6結(jié)語
(1)本文主要對(duì)基于ROS操作系統(tǒng)的移動(dòng)機(jī)器人的路徑規(guī)劃的場(chǎng)景仿真,采用不同路徑規(guī)劃算法,找到機(jī)器人運(yùn)動(dòng)的最優(yōu)路徑,得到安全、穩(wěn)定的避障路徑,完成動(dòng)態(tài)實(shí)驗(yàn)。
(2)仿真A*算法與動(dòng)態(tài)窗口算法的路徑規(guī)劃。通過仿真可以看出兩種算法的區(qū)別,并驗(yàn)證了兩種算法的適用情況以及優(yōu)缺點(diǎn),完成移動(dòng)機(jī)器人在不同場(chǎng)景、不同算法的路徑規(guī)劃。
參考文獻(xiàn):
[1]李賀喜,李富強(qiáng),牛童立,李康,杜邊境.基于ROS系統(tǒng)移動(dòng)機(jī)器人SLAM算法的研究與實(shí)現(xiàn)[J].技術(shù)與市場(chǎng),2020,27(07):97+99.
[2]吳夢(mèng)珂,任工昌,劉朋.基于ROS的移動(dòng)機(jī)器人多目標(biāo)點(diǎn)導(dǎo)航的實(shí)現(xiàn)[J].電子技術(shù),2018,47(07):26-29+22.
[3]孫章軍,田海晏,鄧雙成,孫晨.移動(dòng)機(jī)器人路徑規(guī)劃仿真平臺(tái)設(shè)計(jì)[J].北京石油化工學(xué)院學(xué)報(bào),2006(03):16-19.
[4]霍鳳財(cái),遲金,黃梓健,任璐,孫勤江,陳建玲.移動(dòng)機(jī)器人路徑規(guī)劃算法綜述[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2018,36(06):639-647.
[5]何壯壯,丁德銳.基于D-star和DWA的改進(jìn)機(jī)器人導(dǎo)航方法[J].電子測(cè)量技術(shù),2019,42(12):122-128.
作者簡(jiǎn)介:
劉慶 ,女 , 重慶郵電大學(xué) 工業(yè)物聯(lián)網(wǎng)與網(wǎng)絡(luò)化控制教育部重點(diǎn)實(shí)驗(yàn)室? 在讀研究生 研究方向:物聯(lián)網(wǎng)技術(shù)與應(yīng)用
基金:重慶市教委雛鷹計(jì)劃第九期研究項(xiàng)目“基于Hadoop智能家居管理軟件的研究與設(shè)計(jì)”(編號(hào):CY200609)