3.2 智能尋線導(dǎo)航
所謂路徑規(guī)劃是指移動機器人按照某一性能指標(biāo)(如距離、時間、能量等)搜索一條從起始狀態(tài)到目標(biāo)狀態(tài)的最優(yōu)或次優(yōu)路徑。路徑規(guī)劃主要涉及的問題包括:
利用獲得的移動機器人環(huán)境信息建立較為合理的模型,再用某種算法尋找一條從起始狀態(tài)到目標(biāo)狀態(tài)的最優(yōu)或近似最優(yōu)的無碰撞路徑;能夠處理環(huán)境模型中的不確定因素和路徑跟蹤中出現(xiàn)的誤差,使外界物體對機器人的影響降到最小;如何利用已知的所有信息來引導(dǎo)機器人的動作,從而得到相對更優(yōu)的行為決策。
路徑規(guī)劃是移動機器人研究中的一個基本且重要的問題。路徑規(guī)劃的第一步是確定地圖的表示方法,其目的是將機器人和障礙物所在的物理空間的顯著特征描述出來,使之更適合于規(guī)劃。本文中將地圖置于信息庫中,智能決策Agent 根據(jù)臨時庫中的各個目的地在電子地圖中的位置,確定物體或自身的位姿(位置和姿態(tài)),制訂出他們的優(yōu)先次序。
由于機器人工作的環(huán)境是動態(tài)變化的,環(huán)境中的障礙物不全是已知的、靜止的。這就要求機器人要不斷地對周圍環(huán)境進行探測,并對探測到的障礙物進行實時處理,即要求機器人具備局部規(guī)劃的能力。機器人在運行過程中,通常會發(fā)生如下幾種類型的沖突:
碰撞、擁塞以及死鎖。
碰撞:一個運動物體在另一個運動物體運行路線上的相同位置同時出現(xiàn)。擁塞:其它運動物體妨礙當(dāng)前運動物體按要求到達目標(biāo)。死鎖:運動物體無法進行各自的下一步動作。這些沖突的產(chǎn)生主要是由于機器人對環(huán)境信息缺乏詳細(xì)了解造成的。因此,當(dāng)環(huán)境動態(tài)變化時,往往采用依賴傳感器的局部路徑規(guī)劃方法進行沖突消解。
由于本文中設(shè)計的機器人個數(shù)比較少,就將環(huán)境中其他機器人視為環(huán)境中的障礙物,而且環(huán)境比較簡單,因而采用無通訊的避碰力一法的機器人,不需要與其他機器人的通訊,完全依靠機器人的傳感器獲取其他機器人的運動信息。
本文采用改進BUG 算法計算兩點間的最短路徑,即計算出離當(dāng)前點路徑最短的目標(biāo)點,具體算法如下:
根據(jù)電子地圖,智能策略Agent 初步給出各個目的點的優(yōu)先次序及其行走路線,但是實際行走中還可以會遇到其他不可預(yù)知的障礙,這里改進BUG 算法考慮到了這些因素,具體算法如下:
S=起始點,T=終點
設(shè)M 為空矩陣,i=1; V(1)為空集
MAP_R 為與矩陣M 對應(yīng)的二維位圖,Pi 為機器人在地圖中的即時位置
While(T <> Pi) //當(dāng)T==Pi 表示機器人到達終點
{ V(i<--由EPC 方式采集的數(shù)據(jù)) // EPC 為端點采集法
M<--M∪V(i)
位圖MAP_R 隨之不斷更新
IF(線段Pi T 和障礙物邊界相交) THEN
由COD 計算出方向 // COD 為最近方向判決
ELSE
機器人沿方向移動到點Pi+1
i++;}
3.3 動作選擇
根據(jù)內(nèi)部狀態(tài)的變化,動作Agent 指導(dǎo)機器人該采取什么樣的動作,具體流程如下:
IF(傳感器感知到有書到來)THEN 觸發(fā)機械手拿書
ELSE
IF(圖書歸類完成) THEN
{ 觸發(fā)機器手將書放置在推車格子中,并將臨時庫中的已滿格子數(shù)加1;
IF(已滿格子數(shù)==總格子數(shù)) THEN 機器人不再接收其他圖書,觸發(fā)機器人根據(jù)智能策略Agent
提供的路線推動推車向各個目的地前進。}
FOR(i=1;i<=臨時庫中的總目的地數(shù);i++)
{ IF(到達臨時庫中記錄的第i 個目的地)THEN
{ 機器人停止行走,觸發(fā)機械手將對應(yīng)圖書擺在相關(guān)的柜子上
擺書動作完成,停止機械手動作,觸發(fā)機器人推車向著新目的地前行 }
ELSE 繼續(xù)根據(jù)路徑前行 }
3.4 多Agent 之間的通信
當(dāng)環(huán)境變化的時候,環(huán)境感知Agent 會自動檢測到環(huán)境狀態(tài),比如有新書到時,環(huán)境感知Agent 獲取圖書信息,并向圖書識別Agent 提出合作請求,且將圖書信息傳遞給它,環(huán)境感知Agent 繼續(xù)檢測環(huán)境變化。Agent 之間的合作提高了工作效率和準(zhǔn)確度,且保證了庫中信息的有效共享,避免資源浪費。
Agent 之間的交互與合作是多Agent 系統(tǒng)中核心問題之一,而Agent 通信語言是實現(xiàn)交互與合作的基礎(chǔ)。根據(jù)目前Agent 的應(yīng)用環(huán)境, KQML 是主流的通信語言之一。因KQML 既是一種通信語言,又是一種通信協(xié)議和標(biāo)準(zhǔn),故每個Agent 只要遵守該協(xié)議,即可受到它所提供的通信支持,若要遵守協(xié)議,每個Agent 必須添加一個KQML 語言解釋器。
概念上,可以把一條KQML 消息分為三層:內(nèi)容層、通信層和消息層。內(nèi)容層由關(guān)鍵詞:content 標(biāo)志;:reply-with, : sender, and : receiver 關(guān)鍵詞標(biāo)志了通信層; :performative 與:language, : ontology 形成消息層。全部技術(shù)通信參數(shù)都在通信層規(guī)定,消息層規(guī)定與消息有關(guān)的言語行為的類型,內(nèi)容層規(guī)定消息內(nèi)容。以環(huán)境感知Agent 與圖書識別Agent 之間的溝通為例說明KQML通信語言的方法。
?。╰ell
?。?sender 環(huán)境感知Agent
?。?receiver 圖書識別Agent
?。?reply-with information storehouse
?。?content (new book‘s information)
?。?language java
?。?ontology bar code of book)
4 結(jié)語
本文中我們在圖書館管理系統(tǒng)中引入人工智能的概念,并給出了基于多Agent 的機器人系統(tǒng)在圖書歸類中的模型。智能機器人能自動識別圖書條形碼,且結(jié)合中國圖書館圖書分類法給出歸類算法。根據(jù)此算法可計算出圖書的具體位置,將所有推車中同類書籍進行關(guān)聯(lián),機器人就可以一次性擺放所有同類書籍,而不需要多次折回,實現(xiàn)對圖書的歸類。改進BUG 算法給出了路徑規(guī)劃方案,指導(dǎo)機器人沿著路徑正確、快捷地找到各個目的地。通過機器人和多Agent 技術(shù)的結(jié)合,極大地提高了圖書管理的效率,減輕了工作人員繁重的整理工作,對將人工智能技術(shù)引入日常生活中產(chǎn)生深遠的現(xiàn)實意義。
評論
查看更多