第四章 全天駕駛輔助系統
4.2 系統整合
4.2.2 多代理人溝通管理平台
在4.1 節的最後提到本研究的分散式程式設計理念,各代理人間是利用網路 作為溝通的傳輸介面,而為了讓此類溝通介面具有統一格式而有FIPA 規格(FIPA standard)的出現。FIPA(Foundation for Intelligent Physical Agents)[27,28]成立於 1996 年,是一個非營利性組織,主要目的是規範異質性代理人交互運作的標準。
FIPA 組織發表許多 FIPA 規格書,其內容定義異質性代理人之間的互通與代理人 提供服務的方法。FIPA 規格書的範圍極廣,例如:抽象架構、代理人管理、溝 通協定、溝通語言、個人旅遊助理、行動代理人管理、視聽娛樂與廣播、服務品 質以及其他服務規格等。FIPA 提出的代理人平台(如圖 4.7 所示)包含有:(1)代理 人目錄:提供代理人命名、位址與狀態管理;(2)服務目錄:提供代理人服務型 態、位址的查詢;(3)訊息傳遞:代理人與代理人之間訊息的傳遞、接收與聯繫 等工作;(4)代理人溝通語言:提供代理人與代理人之間互相溝通時使用的語言,
包括:本體論、語法與文法。目前已經有許多開發工具是遵循FIPA 規格書進行 實作,例如:ZEUS、FIPA-OS、JADE 等。其中 JADE(Java Agent Development Framework)[29]是最為廣泛應用的平台,使用高階的 FIPA-ACL 作為代理人溝通 語言。
圖4.7 FIPA 所提的代理人系統架構
關於代理人溝通語言(agent communication language;ACL)有低階與高階之 分,低階是指一般人所熟習的 WAP(用於 wireless)、TCP/IP(用於 internet)、
XML/HTTP(用於 web);而高階則有 KQML、FIPA-ACL、FIPA-KIF、KIF 等。低 階的ACL 強調的是「界面」,可以促進代理人系統的效率。高階的 ACL 強調的 是傳輸內的「內容」,或許可以稱之為「語意」,使用高階的 ACL,代理人只需 透過一些簡單的傳輸機制,便可傳達任何可能的意思,則其可以促進代理人系統 的威力。
在我們應用中,代理人不需要與網際網路上的代理人做互動,而且代理人間 的溝通單純,因此,我們自行以Visual C++ (MFC)撰寫簡單伺服平台,此平台只 負責簡單的管理與溝通,其類似聊天室一般,只需輸入IP、port 和 ID 就能連上 平台,並獲得相關資訊。其架構如圖4.8 所示。
圖 4.8 本論文之多代理人溝通管理平台及架構
另外也自行定義了代理人的溝通語法,能被伺服平台、影像代理人、以及雷 射掃瞄器代理人所認知,透過此語法的交流可讓其他的代理人得到對方的資訊,
其訊息格式如圖4.9 所示。To Who 與 From Who 記載代理人的名稱,目前在我們 的系統中有二個名稱可使用,分別是影像代理人(ImageAgent)與雷射掃瞄器代理 人(LaserAgent);Function 有二種,分別是要求訊息(:RequestData:)或回覆訊息 (=>);Data 則是記載著同步時間、前方車輛的位置、車道線等資訊。其程式介面 如圖4.10 所示。
z To Who:指出此訊息將傳送給何代理人。
z From Who:指出此訊息由何代理人發送。
z Function:指出此訊息是何種功能。
z Data:傳送給 To Who 的資料。
圖4.9 本論文提出的代理人溝通語法格式
圖4.10 影像及雷射掃瞄器代理人溝通管理伺服程式
此外,在伺服管理平台方面,我們也做了些微的修改。之前訊息傳遞方式為 廣播式,如圖4.11(a)所示,當 Agent 1 欲透過 Server 傳遞訊息給 Agent 2 時,Server
以外的代理人平白地多接收並處理無用的訊息,同時也會造成整個網路的負擔,
當之後的系統再多加幾個代理人時,訊息的混亂和網路延遲的現象會更嚴重。因 此,我們在 Server 端加上判斷的功能,如圖 4.11(b)所示,使訊息準確的送至目 標代理人。表4.1 條列出目前代理人間會傳遞的訊息,其中因為雷射掃瞄器代理 人(LaserAgent)掃描速度較快,並且對於前方障礙物具有較穩健的表現,故會將 最近的 20 筆資料儲存起來,以供影像代理人(ImageAgent)要求同步訊息時搜尋 用,而箭頭方向代表要求訊息的流向。
(a)廣播式 (b)目標式 圖4.11 訊息傳遞示意圖
表4.1 代理人間的傳遞訊息表
ImageAgent LaserAgent 每50 張影像要求一次訊息 → 回傳最新訊息
要求訊息 → 回傳最新訊息
要求同步的訊息 → 回傳同步訊息
回傳最新訊息 ← 每40 筆資訊要求一次訊息 由駕駛人發出訊息 → (未定義)
(未定義) ← 由駕駛人發出訊息