[摘要]利用Player/Gazebo可以在3D環(huán)境中對單個或多個移動機(jī)器人的定位、路徑規(guī)劃、建圖等導(dǎo)航算法進(jìn)行高效的仿真。本文在簡介Player/Gazebo仿真環(huán)境的基礎(chǔ)上,對移動機(jī)器人路徑規(guī)劃進(jìn)行了討論,利用Player/Gazebo的服務(wù)器/客戶端模式,實(shí)現(xiàn)了對移動機(jī)器人路徑規(guī)劃的仿真,提高了機(jī)器人路徑規(guī)劃研究的效率。
[關(guān)鍵詞]Player/Gazebo 移動機(jī)器人 仿真
1.引言
移動機(jī)器人技術(shù)是當(dāng)今信息技術(shù)中最熱門的領(lǐng)域,涉及感知、建模、導(dǎo)航、控制等各個方面。其中,路徑規(guī)劃是移動機(jī)器人自主導(dǎo)航的基本要求之一,它使機(jī)器人在已知或未知環(huán)境中由一個初始配置自主移動到一個終點(diǎn)配置。隨著計算機(jī)技術(shù)的發(fā)展,移動機(jī)器人仿真成為現(xiàn)今機(jī)器人導(dǎo)航技術(shù)研究的重要手段。研究人員可以在虛擬環(huán)境中對機(jī)器人進(jìn)行建模和控制,模擬仿真各種現(xiàn)實(shí)環(huán)境和突發(fā)狀況,避免在復(fù)雜環(huán)境下現(xiàn)場試驗的困難并降低實(shí)際運(yùn)行的成本。Player/Stage/Gazebo是應(yīng)用最廣泛的機(jī)器人控制仿真平臺之一,利用Gazebo的三維仿真環(huán)境,人們可以清楚地看到機(jī)器人在環(huán)境中的運(yùn)行狀況,極大的方便了機(jī)器人導(dǎo)航算法的研究。本文在介紹Player/Stage/Gazebo仿真平臺的基礎(chǔ)上,以移動機(jī)器人路徑規(guī)劃為例,詳細(xì)論述了如何建立移動機(jī)器人的運(yùn)行環(huán)境和三維模型,并對機(jī)器人的路徑規(guī)劃控制進(jìn)行了仿真。結(jié)果表明該仿真環(huán)境可以真實(shí)有效的模擬移動機(jī)器人的運(yùn)動和動力學(xué)特性、各種傳感器以及機(jī)器人運(yùn)動規(guī)劃控制,必將進(jìn)一步促進(jìn)移動機(jī)器人的自主導(dǎo)航研究。
2.Player/Stage/Gazebo簡介
Player/Stage/Gazebo是目前全世界應(yīng)用最廣泛的機(jī)器人仿真開發(fā)平臺之一。Player/Stage/Gazebo仿真平臺包括機(jī)器人設(shè)備接口Player、2D多機(jī)器人仿真環(huán)境Stage以及3D多機(jī)器人仿真環(huán)境Gazebo三部分。其中,Player采用基于TCP的客戶端,服務(wù)器模式,為各種機(jī)器人平臺、傳感器、執(zhí)行器提供靈活易用的網(wǎng)絡(luò)接口,并支持多設(shè)備、多機(jī)器人連接,為分布協(xié)作多機(jī)器人及多傳感器網(wǎng)絡(luò)研究提供了可能。Stage可以在二維環(huán)境中仿真多移動機(jī)器人,它提供的Player接口幾乎不用修改可直接用于機(jī)器人硬件的連接。Gazebo能用在3D環(huán)境下對多機(jī)器人進(jìn)行仿真,包括機(jī)器人與障礙物之間的交互以及碰撞的物理特性。Player/Gazebo具有的模塊化、靈活性和快速性等特點(diǎn),使其已經(jīng)成為全世界應(yīng)用最廣泛的機(jī)器人仿真開發(fā)環(huán)境。
3.移動機(jī)器人路徑規(guī)劃
路徑規(guī)劃是移動機(jī)器人自主導(dǎo)航的關(guān)鍵技術(shù)。根據(jù)移動機(jī)器人工作空間的已知和未知,移動機(jī)器人路徑規(guī)劃可以劃分為已知環(huán)境下的全局路徑規(guī)劃和未知或部分已知環(huán)境下的基于傳感器的路徑規(guī)劃。在未知環(huán)境中,機(jī)器人事先對所探索的環(huán)境沒有先驗知識,只能靠自身裝備的傳感器對局部環(huán)境進(jìn)行認(rèn)知學(xué)習(xí),在感知環(huán)境的同時進(jìn)行路徑規(guī)劃。由于機(jī)器人感知環(huán)境的不確定性,機(jī)器人對環(huán)境的理解存在限制。另外,實(shí)際運(yùn)行環(huán)境是動態(tài)的,會不時出現(xiàn)突發(fā)性的意外,此時,在虛擬環(huán)境中對路徑規(guī)劃進(jìn)行仿真成為一種有效的手段。
人工勢場法是一種應(yīng)用于自主移動機(jī)器人的局部路徑規(guī)劃方法,由于其簡潔高效的實(shí)時避障控制,得到了廣泛的應(yīng)用。其基本思想是將機(jī)器人的工作環(huán)境視為充滿人工受力勢場,在勢場中運(yùn)動的機(jī)器人受目標(biāo)點(diǎn)的吸引并受到障礙物的排斥,最終使得機(jī)器人繞過障礙物,到達(dá)目標(biāo)點(diǎn)。本文在仿真過程中利用人工勢場法實(shí)現(xiàn)機(jī)器人的實(shí)時避障功能。其目標(biāo)產(chǎn)生的吸引勢能函數(shù)和虛擬吸引力如下所示:

4.環(huán)境建模及仿真
用戶可以通過兩種方式與Gazebo進(jìn)行交互,一是通過函數(shù)庫libgazebo,它通過共享內(nèi)存的方式與其直接通訊,速度較快,但編程較為繁瑣;另一種是通過Player,利用Player的簡易高效的客戶端服務(wù)器模式進(jìn)行通訊,簡便易用。我們利用第二種方法來實(shí)現(xiàn)與Gazebo的交互,路徑規(guī)劃流程圖如下:

5.結(jié)論
本文介紹了機(jī)器人仿真開發(fā)平臺Player/Stage/Gazebo以及如何在Gazebo的3D環(huán)境下進(jìn)行移動機(jī)器人路徑規(guī)劃的仿真。文中在建立的機(jī)器人工作環(huán)境中,采用基于人工勢場的方法,仿真了移動機(jī)器人運(yùn)動中的實(shí)時避障。仿真結(jié)果表明Gazebo是一個簡單易用且高效的機(jī)器人仿真環(huán)境,可以有效地驗證移動機(jī)器人自主導(dǎo)航算法,并進(jìn)一步開發(fā)針對更為復(fù)雜環(huán)境的高級導(dǎo)航算法。