• 沒有找到結果。

基於代理人系統之機器人互動控制系統研發(I)

N/A
N/A
Protected

Academic year: 2021

Share "基於代理人系統之機器人互動控制系統研發(I)"

Copied!
13
0
0

加載中.... (立即查看全文)

全文

(1)

基於代理人系統之機器人互動控制系統研發(1/3)

NSC-93-2218-E-009-032

摘要

本計畫的目的在以多代理人為基礎建立一套實用的智慧型機器人互動控制 系統。重點在利用智慧型代理人的特性讓建立起來的系統,不僅性能能滿足需 求、開發週期短而且成本較低。模組化之設計可使系統具開放性,易於修改、替 換和添加新功能,使機器人各種功能開發上更有彈性。計畫內容包括整合性的系 統架構設計以及一系列的智慧型互動技術,並研發能應用在設計保全、居家看護 等實用功能上。 本報告為計畫第一年之期中報告,主要針對機器人互動系統中所需核心技術 之開發,包括用以整合的混合式控制系統與及其開發平台、以及針對特定互動功 能所開發的軟硬體周邊裝置,包含視覺為基礎之物體辨識追蹤與手臂操縱系統設 計。

一、 多代理人即時控制系統

1.1 簡介 近年來以多代理人導向的方式設計一套具有高發展彈性的機器人即時控 制系統逐漸受到機器人學界的重視[1-4]。Neves and Oliveira 將智慧型機器人本 身視為一個可以在真實世界行動的自主性代理人,提出了自主式行動機器人控制 系統(Autonomous Mobile Robot Control System ,ARCoS),並且利用多代理人的 架構提供各代理人間一套彈性的合作策略,使具備一系列的行為模式來達成相當 程度的自主性 [1] 。在軟體架構上,BERRA [5] 使用 ACE 適應式通訊環境 (Adaptive Communication Environment)來實現元件間的溝通,具備跨平台的特 性。CLARAty [6]使用抽象化的方法來建立架構,因此可以利用不同的實現方法 來適應各種不同特性的機器人平台。OROCOS project (Open Robot Control Software), [7],是一套以元件為基礎,分散式而且可調整的機器人系統軟體架構。 它具備即時的系統核心、通用的控制結構、以及客製化的工具,並且提供絕佳的 彈性:包括網路分散控制、跨作業系統、對特殊用途硬體的高效能設定等、可擴 充性等等。在此我們也會利用類似的方法,分離介面與實作,提供必需之工具, 用以實作機器人之系統控制結構。 本計畫目前所發展之系統的主要目的在於整合異質性機器人控制程式,同 時確保系統能有即時的反應效率,並在彈性與通用性之間取得平衡。本計畫我提 出之架構可幫助開發團隊成員將一複雜之控制系統依照其功能性切割成多個代 理人,如此系統的發展得以平行進行,各程式也能共享有限的硬體資源。本系統 並提供即時的訊息流通以及決策機制,開發人員只需專注在演算法的開發而不是 系統整合的細節部分。在軟體方面使用 RTAI 這套即時 Linux 套件來實現,整個 架構並提供開放式代理人樣版,使得開發者可以在維持擴充性以及相容性的前提 下移植並整合各種異質性的程式。

(2)

1.2 系統架構 本控制系統之架構如圖 1,其主要部分簡述如下: z 感測器代理人(Sensor Agents) 負責處理感測器輸入的資料,轉換成系統 所需要的資訊。例如影像處理、過濾雜訊等等。為了及時性,它也能直 接控制執行元件。 z 執行代理人(Actuator Agent)負責融合或者選擇適當的控制器輸出並操作 硬體來實行,比方說驅動馬達。如果有超出硬體能力限度的輸出則會被 濾除。 z 機能代理人(Functional Agent)負責所有機器人的具備的技能與行為反 應,例如說人臉追蹤,路徑規畫等。 z 路由器(Router)記錄所有連結於系統之代理人,不論是在本機上或者是 透過網路。它負責所有代理人之間的訊息溝通機制。訊息溝通的方式又 分為兩種: „ 簡短的訊息會直接拷貝一份給需要的代理人。通常用於控制命令等 „ 資料量大的訊息如影像皆暫存在共享記憶體,僅將可讀取資料的指 標傳給代理人。 z 短期記憶(Short-term Memory) 記錄代理人執行的過程以及其中所用之 資料。 z 知識庫(Knowledge Base) 儲存已知的、判斷用的知識,例如物體與人臉 的影像與屬性、行程、地圖等等…。 z 計時器(Clock) 用來產生時間訊號,提供系統的高解析度即時執行機制 以及按照行程安排執行之能力。

z 資源管理員(Resource Manager) 管理可用的記憶體以及 CPU 資源,調整

各代理人的執行狀態以及速度,以便調整系統效能,保證系統的執行效 果。

z 全域抉擇者(Global Decision Maker) 根據目前的系統狀態、工作目標、

等,決定代理人的執行時間,並且交由資源管理員來調整。 1.2 開發環境 整個控制系統的軟體架構可以分為三層(如圖 2)。首先最底層是提供系統 運作的基礎 API,包含訊息處理機制、即時處理機制等。第二部份是以 API 建構 成之系統元件,第三層就是設計實用功能的部分。透過幾種特別的結構樣式,讓 開發人員能夠簡單的開發或移植功能到此系統上。

(3)

圖 3 是感測器代理人的架構。輸入層負責硬體 I/O,接收感測器資料,經 過輸出層的處理再送出。在輸出層中可以提供許多不同的輸出結果,配合系統的 需要來使用。外界也可以透過訊息來調整處理的參數。 圖 4 是執行器代理人的架構。過濾器負責處理接收的命令,取出資料,並 去掉不適合的部分。如果是控制命令則直接傳給控制器;如果是言語命令則交給 糢糊融合系統加以解譯融合再交由控制器執行。 Global Decision Maker

Sensors Sensor ActuatorAgents Actuators Agents clock Resource Manager Direct Access Knowledge Base Short-term Memory clock clock clock Functional Agents Router 圖 1. 機器人互動控制架構總覽

Hardware API Communication API System API

Sensor Agents Actuator Agents Functional Agents

Kernel API System Components

Global Decision Maker Resource Manager Clock Router

(4)

1.3 實驗結果 為了測試此架構的運作效果,先設計一較為簡單的系統,並於本實驗室之 機器人平台(圖 5)上實現,以展示多代理人系統如何控制機器人完成環境探索與 影像追蹤互動。圖 6 展示此實驗系統的代理人網路,包含超音波與影像感測感 測代理人,控制機器人頭部(2 自由度 Pan-Tilt 頭部運動平台)及腳部(輪式移動平 台)之執行代理人,以及導航與影像追蹤用之機能代理人。全域決策者根據感測 器的資訊判斷環境並控制各代理人的行為。實驗結果如圖 7,機器人出發後探索 Sensor Hardware Interface Receiver Clock

Post Processor Filter

Post Processor Input layer Output layer Configuration Configuration 圖 3. 感測器代理人架構 Actuator Filter

Fuzzy behavior system

Controller Input layer Output layer System State Configuration Configuration Hardware Interface 圖 4. 執行器代理人架構

(5)

與避障同時作用,使之在複雜的環境中(如圖 8)仍能順利走出房間外,直到見到 人手持之紅色物體後開始追蹤。而避障代理人持續作用以免與人和牆壁碰撞。 圖 5. 實驗用之機器人平台 Safety Monitor Foot Motor Actuator Wall following Sonar

Sensor SensorImage Object Tracking Global Decision Maker Head Motor Actuator

Distance around the robot Raw Image and

Color filtered Image Commands

Commands Control Signal

(6)

e robot won ’ 機器人見到人手持之紅色物體後 即開始追蹤,且仍持續避障以免 與人和牆壁碰撞 (2) (1) 圖 7. 實驗結果:機器人行進軌跡 上圖(1)之環境照片 上圖(2)之環境照片 圖 8. 實驗環境照片

(7)

二、 視覺為基礎之機器人自主式操縱系統設計

為了進一步測試機器人互動控制系統本計畫第一年已研製完成一套基於眼-手(Eye-in-hand)配置之即時影像平台,將 CMOS 攝影機裝置在機器人之手爪上, 我們以視覺伺服(Visual servoing)與追蹤來展示機器人互動控制。在硬體實現方面 包括 CMOS 影像擷取系統以及使用德州儀器 TMS320C6416 DSP 處理器之數位 信號處理發展板。使用所建構之嵌入式平台之好處在於可以相對低的價格來提供 高效能之影像處理。在控制系統方面透過基於行為模式的方式去設計視覺伺服系 統,以解決移動式機械臂的控制問題。 2.1 硬體架構 圖 9 為我們的影像平台以及其在機器人上的配置。我們採用國內廠商製造之 CMOS 影像感測器擷取外部的影像,然後將所得到的影像資料送進 DSP 6416 DSK 學習板做處理,其中央處理器的速度為 600MHz。本計畫將影像處理交由 DSK6416 FPGA Daughter board (Frame Buffer) Daughter board

(COM Port I/F)

Gripper ICM205 CMOS sensor chip CMOS sensor board

Industrial PC (IPC) Power supply

(DC-DC converter)

Battery Foot & Head Motion Control

Battery

Arm motion control CMOS sensor board

4 COM ports I/F (COM1, 2, 3 & 4)

Embedded Imaging board

(8)

DSP 獨立式系統負責而與機器人主控電腦(嵌入式 PC)獨立出來,可使影像處理 速度能夠更即時,並減輕 PC 處理資料的負擔。在 DSK6416 和 CMOS 感測器之 間,我們使用 FPGA 和 Frame Buffer 作為兩者之間溝通的介面。為了避免 CMOS 感測器抓取到的影像資料流失,也因為 Frame Buffer 的控制信號比其它的記憶體 少,容易使用,所以我們將 CMOS 感測器擷取到影像的資料存放在 Frame Buffer 裡。在電路設計上本計畫以 FPGA 來初始化 CMOS Sensor,同時致能 Frame Buffer,將 CMOS 感測器所抓到的質料搬到 Frame Buffer,再將資料從 Frame Buffer 搬到 DSK 裡做處理。本計畫完成之獨立式影像系統運用 DSK6416 內部硬 體之 EDMA 的介面,影像擷取之理速度可達到每秒 30 張的影像。 2.2 基於即時影像之自主式行為 圖 10 所示為即時影像處理作障礙物閃躲之設計方塊圖。DSP 影像處理的方 法是使用我們實驗室所發展的混合式光流估測演算法[8]。此演算法主要是以關 連性光流估測法之原理,影像強度梯度為圖樣特徵,進行關連性的比對,並且以 微分光流估測法的明亮性限制作為搜尋區域,因此可以減少計算量及錯誤產生的 機會。其步驟為: (1) 首先一次擷取連續兩張連續影像 It ,I t+1。 (2) 如圖 11,計算每張影像上每個圖素的影像強度在 x , y 方向的梯度直 Ex1 , Ex2, Ey1, E y2 及連續影像每個圖素的影像強度在 x , y , t 方向 上的梯度值 Ex ,Ey 及 Et 。 (3) 在影像 It 上,設定圖素 p(x,y) 的 u,v 值最大範圍皆為 ± N,則可得 (2N+1)x(2N+1) 組的 (u,v) 向量集合,將此向量集合帶入圖素 p(x,y) 的明亮性限制式。比較計算後所得到的值,如果相鄰兩值為一正一負則記錄 Acquired two subsequent images (640x480 res.) downsampling (160x120) Calculate Ex, Ey, Et of each pixel

Search the (u,v)s near the brightness

constraint line

Correlation match

Get (u,v) which is nearest the true optical velocity Last Pixel ?

No

Yes Optical flow field

Compute TTC or depth Safety distribution histogram Turn Left or right according to the region Environment Yes Forward No Smoothness constraint 圖 10. 混合式光流估測法之流程圖

(9)

下計算出兩個正負相鄰值的 (u,v) 向量,最後可得到一個最接近圖素 p(x,y) 明亮性限制線的向量集合。 (4) 以步驟(3)所得之向量集合為搜尋範圍,將 It 的圖素 p(x,y) 及其周圍 n x n 鄰域上的圖素形成一個圖樣區域,並且以每個圖素的 Exi 及 Eyi 為特徵值,在 It+1 上做圖樣比對,以得到一個匹配程度最高的光流速度 向量 (ue,ve)。 (5) 以內插的方式求取更精確、次像素(Subpixel)之光流速度向量,我們內差使用 的拋物線方程式表示:在這歩我們利用內插法來找尋光流向量中之最小值 (6) 判斷圖素 p(x,y) 是否影樣平面 It 上最後一個待測點,如果是,則進入步 驟(7)。如果不是,則返回步驟(3)。 得到光流場之後,可以用來計算出達到接觸時間(time-to-collision,TTC)。套用以 (u,v)位移之單攝影機動態模型方程式,可以計算出 Jacobian 矩陣: ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − + − ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + − − y x x y y W y W x y x x y W x W s s k x f s k y k x f s k y s f k Z k y s k Z f s s k y f s k x s f f s k y k x k Z k x s k Z f T ) ( ) ( ) ( ) ( ) ( ) ( ) ( 0 ) ( ) ( ) ( ) ( ) ( ) ( 0 ) ( 2 2 (1) 再計算出軌跡: ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + − − + − − + ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + + ) ( ) ( ) 1 ( ) 1 ( ) ( ) ( ) 1 ( ) 1 ( 2 1 k v k v d k T s Z f d k T s Z f T k y k x k y k x y y W x x W (2) 圖 12 顯示混合式光流法計算後的結果。其中 4(b)將 TTC 的分佈劃成三 塊,分別代表左方、前方與右方,用以提供機器人安全前進的方位。目前計算的 速度達每秒 5 張。 -1 0 1 -2 0 2 -1 0 1 -1 -2 1 0 0 0 1 2 1 -1 -2 -1 -2 -4 -2 -1 -2 1 1 2 1 2 4 2 1 2 1 + x It x It+1 x It+1 x It x It+1 x It Ex1 + Ex2 Ex1 + Ex2 EX EY Et Sobel mask 圖 11. 計算 Ex, Ey and Et

(10)

2.3 閃避障礙物實驗結果 在閃避障礙物的實驗中,機器人在前進的途中藉由 CMOS 攝影機之光流估 測偵測前方物體的位置,進而轉動 30 度來迴避。實驗結果如圖 13 所示,機器人 能連續的閃過前方障礙物並繼續前進。 2.4 抓取物件實驗結果 在物件抓取的實驗中本計畫發展出一套影像處理法則,可以自行辨識貼有 條碼的物體,進而以此物體做為目標,追蹤並抓起該物體。實驗結果如圖 14 所 示,機器人透過左右移動搜尋找到並順利抓取物體。

三、 結論與未來工作

本年度計畫至目前已完成基於多代理人之智慧型機器人互動系統軟體架 構,一套 DSP 即時影像系統,經由實驗驗證機器人互動控制系統所需之幾項核 心技術。未來將進一步整合影像系統及其它發展中之機器人互動模組,包含各種 智慧型感測器以及運動控制的融合,以及展開智慧型決策系統的開發,期能展示 具智慧自主的機器人互動系統,其整合架構示意圖如圖 15 所示。

Optical flow field (a)

Left side Front side Right side

Histogram of TTC (7 region) (b) 150 10 50 110 pixels 圖 12. 光流計算之結果

(11)

(a) (b) (c) (d) (e) (f) (g) (h) (i) 60 cm 300 120 cm Start point End point 30 cm -300 300 -300 270 cm 100 cm a b c c d c 圖 13. (a-h)閃避前方行人實驗結果以及(i)其軌跡

(12)

影像感測 超音波感測 腳部控制 手部控制 頭部控制 影像追蹤 影像辨識 DSP物體辨識 追蹤與手臂 操縱系統 導航與 避障 機器人之主控電腦 全局 決策者 圖 15. 機器人互動系統之整合規劃 (a) (b) (c) (d) (e) (f) a b c d e (g) 圖 14. (a-f)抓取貼有 bar-code-like 物體實驗結果以及(g)其軌跡

(13)

參考文獻

[1] Maria C. Neves and Eugénio Oliveira , "ARCoS- An Autonomous Mobile Robot Control System", in Proc. of International Symposium on Engineering of

Intelligent Systems, Tenerife, Spain, Feb 1998

[2] Maria C. Neves and Eugénio Oliveira ,"A Multi-Agent Approach for a Mobile Robot Control System," in Proc. of Workshop on "Multi-Agent Systems: Theory

and Applications" (MASTA'97 - EPPIA'97), Coimbra - Portugal, Oct 1997

[3] Maria C. Neves and Eugénio Oliveira , "A Control Architecture for an Autonomous Mobile Robot," in Proc. of First International Conference on

"Autonomous Agents" (AA'97) in Marina d'el Rey, California - USA, Feb 1997

[4] Maria C. Neves and Eugénio Oliveira, "Fuzzy and Connectionist Paradigms in a Multi-Agent Control Architecture for a Mobile Robot," in The 3rd World

Multi-Conference on Systems, Cybernetics and Informatics and The 5Th International Conference on Information Systems Analysis and Synthesis (SCI/ISAS'99) ,Orlando - Florida - USA, July 31-Aug 4,1999

[5] Mattias Lindstrom, Anders Oreback, and Henrik I. Christensen, “BERRA : A Research Architecture for Service Robots,” in Proceeding of the IEEE

Conference on Robotics and Automation, San Francisco, CA, USA, 2000, pp.

3278-3283

[6] R. Volpe, I. Nesnas, T. Estlin, D. Mutz, R. Petras, and H. Das. “The CLARAty architecture for robotic autonomy,” in Proc. of the 2001 IEEE Aerospace

Conference, Big Sky, Montana, March 2001.

[7] Herman Bruyninck, Peter Soetens, and Bob Koninck, “The Real-Time Motion Control Core of the Orocos Project,” in Proc. of the 2003 IEEE International

Conference on Robotics & Automation, Taipei, Taiwan, September 14-19, 2003

[8] K-T Song and J-H Huang, “Fast optical flow estimation and its application to real-time obstacle avoidance,” in Proc. IEEE International Conference on

數據

圖 3 是感測器代理人的架構。輸入層負責硬體 I/O,接收感測器資料,經 過輸出層的處理再送出。在輸出層中可以提供許多不同的輸出結果,配合系統的 需要來使用。外界也可以透過訊息來調整處理的參數。  圖 4 是執行器代理人的架構。過濾器負責處理接收的命令,取出資料,並 去掉不適合的部分。如果是控制命令則直接傳給控制器;如果是言語命令則交給 糢糊融合系統加以解譯融合再交由控制器執行。 GlobalDecisionMaker
圖 6.  實驗系統的代理人網路
圖 9.  影像平台及其在機器人上的配置

參考文獻

相關文件

• Pipeline wastes three clock cycles – Called branch penalty. – Reducing

pid, ppid, real [ug]id, supplementary gid, proc gid, session id, controlling terminal, time left until alarm clock, current working dir, root dir, file mode creation mask, file

下列何者不歸屬於系統呼叫的行程控制(Process

數位計算機可用作回授控制系統中的補償器或控制

最後特別提出說明,本研究用戶端作業系統為 Win 2000 Professional,伺服 器端作業系統為 Windows 2000 Server 並啟動 Active Directory

圖4 1 整合資訊系統風險 圖4.1 整合資訊系統風險..

本簡報旨在就常見的貪污風險及防貪措施提供一般介紹,而不會對各種情

之意,此指依照命令動作的意義。所謂伺服 系統,就是依照指示命令動作所構成的控制