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