摘 要:現代圖書館的藏書量已成為衡量一個圖書館水平的重要指標之一,而藏書量的增多也意味著圖書館日常管理任務的加重,圖書管理人員要耗費巨大的精力去歸類、整理圖書。移動機器人和多Agent 技術的迅猛發展給這個亟待解決的問題帶來了一種新的、可能的解決途徑。我們提出一種基于多Agent 技術的機器人軟件實現模型,該機器人能自動識別、歸類圖書,并通過改進BUG 算法導航適宜的行走路線,快速、準確地完成圖書館大量書籍的分類整理工作,極大地簡化了傳統的人工操作,減輕了管理人員繁重的重復性勞動。
隨著科學的進步,現代圖書館的藏書量和報刊雜志的種類急劇增加。隨之而來的日益繁重的管理任務,僅憑傳統的人工操作,不僅耗費越來越多的人力、物力、財力,也降低了圖書管理工作的可靠性,特別是有些讀者借了多本書后隔天就馬上歸還,這無形中加重了圖書館理人員的勞動量,因而,讓機器代替人類實現圖書館管理的工作是圖書館管理的必然發展趨勢。
智能機器人是一類能夠通過傳感器感知環境和自身狀態,實現在有障礙物的環境中面向目標的自主運動,從而完成一定作業功能的機器人系統。近年來,機器人技術在工業、農業、航天及空間探測等許多領域都起到了重要的作用,同時又顯示了廣泛的應用前景,成為人工智能學術界研究和關注的熱點問題。而Agent 是處在某個環境中的計算機系統,該系統有能力在這個環境中自主行動以實現其設計目標。多Agent 系統是多個可運作的Agent 的有機結合,通過多Agent 之間的交互將一個復雜的問題簡單化。
將多Agent 技術應用于移動機器人中使得機器人具有更高的智能性,實現自動感知環境變化、智能識別、歸類、傳送圖書,讓機器完成重復、繁重的體力勞動,減輕了圖書館工作人員的工作壓力,實現圖書館的智能化。
1 Agent與多Agent的機器人系統基本理論
1.1 Agent 理論
在人工智能研究的進程中,研究者們逐漸認識到應該把人工智能各個領域的研究成果集成為一個具有智能行為概念的“人”,更重要的是人們認識到了人類智能的本質是一種社會性的智能,人類絕大部分的活動都涉及多個人構成的社會團體,大型復雜問題的求解需要多個專業人員或組織協作完成。人最重要的和最多的智能是在由眾多個體構成的社會中進行各種活動時體現出來的。“協作”、“競爭”、“談判”等等是人類智能行為的主要表現形式。要對社會性的智能進行研究,構成社會的基本構件“人”的對應物“Agent”理所當然地就成為人工智能研究的基本對象。
一般認為,Agent 是一種處于一定環境下包裝的計算機系統,為了實現設計目的,它能在那種環境下靈活地、自主地活動。雖然目前還沒有一個大家都能接受的關于Agent 的定義,但幾乎所有被稱為Agent的軟件或硬件系統都具有以下的特征: 自治性(Autonomy ) 、社會性(Social Ability) 、反應性(Reactivity)、主動性(Proactivity)、智能性(Intelligence )、合作性(Collaboration)。
1.2 基于多Agent 的機器人系統及其任務模型
多機器人系統并非一個簡單的多機器人組合系統,而是一個以分布式人工智能為指導,結合計算機、分布式控制、多傳感器技術和理論,將多個機器人組織而成的分布式智能系統。多機器人系統在系統功能、并行性、柔性、穩定性以及容錯性等方面具有單機器人系統不可比擬的優勢,其正得到深入研究和廣泛應用。多個機器人在共同的復雜環境中協同工作時,不僅和環境之間有復雜的交互作用,而且相互之間既有分工又有協作,既有合作又有競爭。多機器人系統的研究存在許多與單機器人系統所不同的問題:(1)如何在各機器人間表達、描述問題,分解和分配任務;(2)如何使機器人間相互通訊和相互作用;(3)如何保證各機器人行為協調一致;(4)機器人間如何識別和解決沖突等等。
這些問題主要涉及分布式問題的求解,用傳統的集中控制理論和機器人理論已難以解決。當前MAS理論的發展及其在分布式系統中的應用給多機器人系統的研究帶來了新的思路,并已在一些試驗系統的開發中得到了驗證。
1.3 機器人Agent 的任務模型
機器人的行為總是帶有一定目的性,即與一定的任務或任務目標相聯系任務目標。根據其是抽象的還是具體的,可分為隱式任務和顯式任務兩類:隱式任務一般是指可用自然語言描述的,沒有明確數學形式的“抽象”任務,例如,“將圖書放到書柜上”,或“放到推車”。顯式任務則一般是具有精確的數學形式描述或量化指標的“具體”任務,如“移動到目標點(3, 7)”,或“保持加工精度為土0. 003mm ”??梢钥吹?,隱式任務一般是高層任務指令,而顯式任務一般是底層具體任務。隱式任務需要結合環境信息以及機器人的自身狀態,轉化為顯示任務序列加以實現。以機器人取書為例,假設機器人位置為(5, 8},書位置為(32, 36),推車位置為(67, 57)?!皩湃胪栖嚒睘殡[式任務目標,其可分解為顯示任務目標序列:“移動到位置點(32,36)”,“夾持位置點在(32, 36)的書”,“移動到位置點(67,57)”,“放置書到位置點在(67, 57)的推車”。一般而言,機器人Agent 的任務可用下式表示:
Task=(Goal,Precondition,Body,Effects,Setting)
其中Goal 表示任務task 的目標,一般可用自然語言描述;Precondition 表示任務task 實現所需的前提條件;Body 表示任務task 的子任務序列或顯式目標序列;Setting 表示任務task 的附加約束條件集;Effects 表示任務task 實現后對環境的效果集。
隱式任務在分解轉化為顯式任務時,也可能生成某些中間隱式任務,從而形成機器人任務分解的一種與/或樹結構。其中“與”表示上層任務目標通過實現所有下層任務目標才能完成,“或”表示上層任務目標可通過選擇實現下層的某個任務目標加以完成。一般而言,樹狀結構的最底層分支的端點都是機器人可直接執行的顯式任務目標,并且是“與”樹結構,即顯示任務目標序列。
2 基于多Agent的機器人系統的體系設計
2.1 環境設置
本系統為了便于機器人識別,將圖書館中所有的書柜用阿拉伯數字進行編號,即每一書柜對應相應的標簽編碼段,跟圖書館中每個柜上設置放置的圖書數目一致,并將其存入規則庫中。推車設計成具有若干個格子,且設定每個格子只放一本書,便于機器人區分某本書的在推車上的具體位置,推車上的格子也以阿拉伯數字標識,便于機器人存儲、記憶。
2.2 系統結構
本系統利用多Agent 系統減輕人工分類、擺放圖書的工作量,其工作流程如圖1 所示:
圖1 系統體系結構。
評論
查看更多