• 沒有找到結果。

泛用型動態虛擬實境操控與運動復健輔助系統研發(III)---總計畫:泛用型動態虛擬實境操控與運動復健輔助系統研發

N/A
N/A
Protected

Academic year: 2021

Share "泛用型動態虛擬實境操控與運動復健輔助系統研發(III)---總計畫:泛用型動態虛擬實境操控與運動復健輔助系統研發"

Copied!
36
0
0

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

全文

(1)

行政院國家科學委員會專題研究計畫 成果報告

總計畫:泛用型動態虛擬實境操控與運動復健輔助系統研發

計畫類別: 整合型計畫 計畫編號: NSC92-2213-E-009-015- 執行期間: 92 年 08 月 01 日至 93 年 07 月 31 日 執行單位: 國立交通大學電機與控制工程學系 計畫主持人: 林進燈 共同主持人: 林昇甫,李祖添,張志永,莊家峰 報告類型: 完整報告 處理方式: 本計畫可公開查詢

中 華 民 國 93 年 11 月 1 日

(2)

行政院國家科學委員會補助專題研究計畫

■ 成 果 報 告

□期中進度報告

泛用型動態虛擬實境操控與運動復健輔助系統研發

計畫類別:□ 個別型計畫 ■ 整合型計畫

計畫編號:

NSC 92 2213 E 009 015

-執行期間:90 年 08 月 01 日至 93 年 07 月 31 日

計畫主持人: 林 進 燈 教授

共同主持人: 林 昇 甫 教授

張 志 永 教授

李 祖 添 講座教授

莊 家 峰 副教授

計畫參與人員:

成果報告類型(依經費核定清單規定繳交):□精簡報告 ■完整報告

本成果報告包括以下應繳交之附件:

□赴國外出差或研習心得報告一份

□赴大陸地區出差或研習心得報告一份

□出席國際學術會議心得報告及發表之論文各一份

□國際合作研究計畫國外研究報告書一份

處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計

畫、列管計畫及下列情形者外,得立即公開查詢

□涉及專利或其他智慧財產權,□一年□二年後可公開查詢

執行單位:

國立交通大學電機與控制工程學系

中 華 民 國 93 年 7 月 日

(3)

泛用型動態虛擬實境操控與運動復健輔助系統研發

計畫編號:NSC92-2213-E-009-015

執行期限:90.8.1-93.7.31

主持人:林進燈 國立交通大學 教授

執行機構:國立交通大學電機與控制工程研究所

一、摘要

本 計 畫 的 目 標 是 發 展 一 套 運 動 復 健訓練的輔助控制系統,此系統主要是 在一個由電腦操控的六軸動作平台上 建構走步機或跑步機等運動訓練輔助 機制,配合聲光效果建立之虛擬實境, 提供使用者一個運動與訓練環境。其主 要特色在於運用感測資訊及操作者的 選擇,以電腦預測出使用者的體能與身 心狀態之型態(Pattern),進而改變輔助 訓 練的 內 容與場景 ,期可以鼓勵使用 者,達到進行運動訓練的積極目的。此 系統不但可作為一般人士的運動、健身 器材,尤其適合提供給身心殘障人士一 個更人性化及具輔助性的復健空間與 設備,並達到職業重建的目的。 關鍵字 虛擬實境、沖淡演算法、行為轉換、函 數型類神經網路、即時系統、電動運動 平台、適應性小腦模型控制、動態模擬 駕駛系統、OMAP、嵌入式系統、影像 為基礎的、成像技術、人臉表情情識、 序列人臉影像處理、人性化溝通管道、 抽象式觀念表示法、聯想記憶、人臉眼 鏡的自動去除、Q-學習

二、研究成果

本 年 度 此 計 畫 共 以 五 個 子 計 畫 完 成各自負責的項目,以下就分別陳述各 子計畫的研究成果: 子計畫一:動態 VR 運動復健輔助系 統之行為轉換與即時模擬研究 一、計畫概述 在本計畫研發的系統中,操控員 透過操控界面下達指令,以操控系統中 的 虛 擬 的 運 動 訓 練 的 輔 助 設 備 或 載 具。此操控命令將被輸入所模擬之設備 或載具的精確物理模型中,以求得真實 情況下系統的反應(包括姿態、速度、 加速度、力道等)。這些反應將透過本 子計畫的行為轉換與控制模組,而由六 軸 運 動 平 台 、 力 迴 饋 模 組 (Force feedback) 及 虛 擬 實 境 顯 示 器 表 現 出 來,以讓操控員獲得身歷其境的感受。 這整個系統中,因為行為轉換模組的設 計扮演實際環境裡物體運動狀況以及 虛 擬 環 境 中 操 控 員 身 體 感 受 之 間 橋 樑,如何讓操控員有身歷其境的感受, 有賴於在動態模擬系統發展過程中,適 當的人(操控員)機(動態模擬器)溝通界 面及迴饋學習技術,以獲得最符合人類 感覺的行為轉換模式。 在虛擬實境的運動訓練的輔助動 態模擬系統中,當虛擬系統接收到控制 命令,而設法產生應有的運動行為描述 時,在虛擬實境的顯示以及在模擬運動 平台的運動行為,則是要儘可能地模擬 並使其有身歷其境的感受,以達到虛擬 實境的目的。文獻上之動態模擬有固定 平台及動作平台二類,動作平台大部分 是在飛機模擬用,動作平台之動作方式 若不符合真實情形,比不用還要糟糕。 而為了達到此一目標,上述的運動行為 描述必須恰當的轉換給虛擬實境運動 平台的控制系統。對虛擬實境的顯示而 言,由於在顯示部分其為一動畫系統; 並在理想上,將盡可能的和真實系統貼 近,而且所有之運動行為都是以顯示的 方式來呈現,並且由於虛擬實境的顯示 的產生是可以由系統再修正,因此在運

(4)

動行為的呈現上較容易。因此,本子計 畫只要將相關之運動行為提供給顯示 子系統即可。Stewart Platform 為一具有 六自由度運動能力之機械平台,但其運 動範圍受到其工作空間的限制,有些動 作是無法達成的,因此為了在其有限空 間下模擬出騎馬、飛機、輪船等交通工 具時之運動感覺。所以一般是以沖淡演 算法(Washout Algorithm)架構出對模擬 器的力的感受。 本子計畫主要在於建立所欲模擬 之場景及運動項目的精確物理模型,以 便當接受子計畫三所傳送之使用者操 控指令時,能精確獲得被模擬之運動項 目在真實環境下的反應,而經由行為轉 換與控制送至子計畫二,在虛擬實境中 展現出來。因此本子計畫相當於整個動 態虛擬實境運動復健輔助系統的輸入 單元。在本研究中,由於真實系統並不 是在旁邊實際動作,因此如何真實地精 細架構真實系統之模式,以產生逼真的 系統反應行為於虛擬實境的動態模擬 器中,便是個非常重要的課題。同時由 於希望能更精確的反應出行為來,傳統 的模式建立可能無法達成如此精確的 要求,因此本子計畫將研究如何地綜合 利用物理運動定律,輸出、入行為,以 及利用子計畫五之技術所擷取的人為 修正訊息等,來精確地架構出真實系統 模式。本子計畫的另一個研究主題為如 何將真實系統之運動行為轉換成模擬 器的控制命令,以及如何將無限空間中 之運動感受,轉換成有限空間中運動的 感受(如在加速度前進所感受之反作用 等)。因此本子計畫扮演本計畫中真實 世界與虛擬世界的橋樑,它將接受即時 模擬單元來的行為狀態,再參考子計畫 二所提供的六軸動作平台姿態訊息,以 及子計畫二、五所感測的使用者運動狀 況資訊後,對子計畫二、三、四發出高 階的控制命令,以便使用者可以感受運 動項目的姿態變化、力迴饋及場景更 新。在模擬系統建立過程中,本子計畫 也將接受經由子計畫五來的使用者感 受反應而調整其行為轉換及控制方式。 二、沖淡演算法級行為轉換演算法 本子計畫主要在於當虛擬系統接 收到控制命令,設法產生應有的運動行 為描述以及在模擬運動平台的運動行 為,以達到虛擬實境的目的。目前文獻 上對於如是的轉換是以 Washout 演算 法 或 稱 Washout Filter 的方式來設計 [1-15]。Washout Filter 的輸入為由數學 運動模型所求得的比例力與角速度。所 謂的比例力(Specific Force)是指單位質 量所受的非重力力。由向量的觀點來看 的話,比例力即是慣性加速度與重力加 速 度 之 差 , 因 此 比 例 力 可 定 義 為 g a f v v v − = 。此比例力的觀念在航太工程 中被廣泛的使用,主要的應用是判斷飛 行員在飛行過程中是否會遭遇過大的 比例力而飛生不可預期的危險,以及飛 行載具的機械結構是否足以承受。 在這裡,我們將完整介紹沖淡演 算法的架構以及它在整個系統裡所扮 演的角色。目前實現沖淡演算法的方法 很多,在此我們是採用廣泛被使用的典 型 沖 淡 演 算 法 (University of Toronto Classic Washout Algorithm, UTCWA) [10-12]。Fig. 1 為沖淡演算法的架構, 我們將以此架構將模擬器上之一參考 點之運動感覺轉換為其在上平台對應 點之運動。沖淡演算法其實是一種概 念,它主要是利用人類對感覺具有門檻 值的特性,適當地將某些頻率成分的線 性運動或轉動運動加以濾除,並將持續 的比例力感覺用緩慢轉動一傾斜角的 方式來實現,這個傾斜角所產生的轉動 被控制在人類對轉動感覺的門檻值以 下,操作員將不會有明顯的感覺,以避 免混淆原本的轉動運動的感受。 人類對轉動運動的感受主要是由 來自半球管,而比例力則是來自內耳 石。這裡人体運動感覺模型的輸入為我 們前面所介紹的比例力與角速度,並且 各自獨立的處理與運作,而得到新的人 体真正感覺得到的力與轉動運動。人体

(5)

對頻率為 0.2 rad/sec~10 rad/sec 的角速 度的感覺極為敏銳,當角速度或角加速 度較為低頻或為一常數時,感覺較為遲 鈍;而對頻率為 0.2 rad/sec~2 rad/sec 的 比例力的感覺也極佳,而對持續的加速 度感覺則趨於零。沖淡演算法正是利用 人類此一特殊的感覺模型所架構出來 的。根據上面所述,人体對比例力與角 速度之感覺類似一帶通濾波器,但我們 在實做上為了將較人体感覺更高頻的 部份表現出來,所以我們以高通濾波器 來實現。在平移運動(Translation Motion Channel)的部份,將駕駛員在模擬器的 數學模型下,所推導出來的力經過運動 學轉換成本身的受力,經過一個比例及 極限處理器,或稱為 scale block。這個 scale block 的主要作用就跟人体運動感 覺模型中的非線性衰減器一樣,其理由 是人類對在門檻值以下之比例力感覺 較為遲鈍而將之省略,如此可以避免平 台之高頻震顫,同時亦可以調變值的大 小,並限定此輸入的大小以免超出平台 的動作極限,使其值更適合平台。fv1和 1 ω 為 機 身 座 標 的 作 用 力 描 述 , 而 在 washout filter 中,大部分都會將 fv1ω1 轉為慣性座標上的描述(也就是做座標 轉換乘以L1sT )。如是的轉換會使在s 模擬運動時,較容易回歸原點。可是在 慣性座標上,運動及轉動動作軸間二者 間有 Coupling 的效應。而在早期的實驗 研究中[12],可以看出這些 Coupling 效 應是較可忽略的,比起使用機身座標所 產生原點的偏移。將 fv1利用轉換矩陣 IS L 轉置為慣性座標系的座標向量後加 上重力加速度 I gv ,最後將之通過一個 高通濾波器。此濾波器主要的功用是將 比例力中較低頻的部份加以濾除,只保 留高頻中人体所以感受得到的部份,且 能使平台在原點附近動作以免超過其 工作空間,這也是我們使用沖淡演算法 最主要的用意-確保平台在其原點動 作而不至超過其工作空間,並能在有限 空間內模擬出人体對動作的感受。接下 來將濾波器的輸出值avH經過兩次積分 以得到我們所要的平台三個軸所對應 的動作姿態的值,這個值就是模擬操縱 者在模擬器中的受力情形所對應的位 移 運 動 。 而 轉動運動(Rotation Motion Channel) 的 動 作 跟 平 移 運 動 是 很 類 似 的。這個角度是模擬操縱者在模擬器中 所受到的轉動運動所對應的角度,但輸 入平台的角度還必須加上如下所要說 明的斜傾座標所產生的傾斜角。 而 斜 傾 座 標 系 (Tilt Coordinate Channel)的作用,主要是用來模擬低頻 的受力情形。在模擬器最難實現的模擬 狀況之一,就是一段長時間持續加速的 過程,因為平台沒有足夠的空間來完成 這個動作。但是對人体而言,我們能感 受的到的也只有一開始加速時身体受 到慣性作用,及向後傾與結束加速時身 体向前傾的兩種受力情形。而中間這段 時間大多是沒有感覺的。但是我們一般 可以利用視覺上的效果,來使人認為目 前是正在動作的,這個動作就是斜傾座 標系利用重力加速度在 X-Y 平面上之 分量所製造出來的效果。這就是傾斜座 標的作用,傾斜一個角度造成視覺上的 假像,並利用重力加速度的分量來模擬 低頻的比例力。利用重力加速度來產生 傾 斜 角 度 βvL =[θx θy θz T ] , 其 中 ) ( sin 1 g fLy x − = θ 、 sin 1( ) g fLx y − − = θ 、 0 = z θ , 而 g⋅sin(θx)= fLyLy y f g⋅sin(−θ )= 。再將斜傾座標所產生 的βvL與轉動運動所產生的βvSH兩向量 合 起 來 前 , βvL還 需 經 過 Rate Limit Block,這個 Rate Limit 最主要的用意是

βvL限制在人体對轉動速度感受不到 的角度內,使人身体無法察覺斜傾座標 所產生的轉動動作,避免影響轉動運動 所產生的動作,而僅是視覺上的模擬。 然而斜傾角的改變速率限制上必須要 有限制,以免操作者感受到此一斜傾行 為。在斜傾角速率限制上,一般為在

(6)

pitch 方 向 為 13deg/s,在 roll 方向為 2deg/s。

在文獻中[7-9]也有提出調適式的 Washout filter 如 Fig. 2 為一調適式之 Washout filter,其概念是根據線上取得 的資訊去調整 Filter 中的增益。其主要 是將平台的運動和被模擬之運動之間 的差異及平台特性的考量來,架構出一 性能指標。並經由一最佳化的運算,來 找出增益調適的法則,由於指標函數及 增益間之關係複雜及即時的需要。一般 都是以最陡下降(steepest decent)法來產 生。如欲追隨之運動已知,則也可利用 最佳控制的概念,來直接尋找最佳之線 性 filter [10,11]。此一調適演算法主要的 功能,即是要減低錯誤動作方式及使平 台儘量維持在原點。而在如 Fig. 二的 架 構 中 , 其 斜 傾 處 理 的 計 算 也 有 所 改 變。首先其所利用的信號本身就不一 樣。在調適式架中由於是針對慣性座標 軸,因此有許多的運動的斜傾反應,也 進入角度運動環路中了。因此其在調適 的考慮上也變得非常複雜[15]。因此在 [15] 中 , 作 者 也 是 出 以 傳 統 Washout filter 架構的調適 Filter。因此本計畫將 嘗試在這些方面進行探討的研究,就我 們所要研究的輔助系統來探討不同的 Washout 演算法在不同狀況下的效能 評估。 在目前交大的 Washout Filter 的參 數(針對汽車運動)的非線性衰減器的參 數值列於下表一、二、三中。而必需說 明的一點是,這些值並非是絕對的,因 為每個人對運動的感受程度不同值就 會不同,甚至當時的身体狀況、心理狀 況 與 專 心 程 度 不 同 也 會 影 響 的 這 些 值,所以表中所列的值僅是參考。我們 將 以 這 些 參 數 來 當 一 初 始 研 究 的 標 的,並進而了解在不同狀態下,washout 演算法的調變效果,及若以加強式學習 調變參數時,其效能及可變化極限的研 究。 而在目前研究中,washout 演算法 大部分都是以飛機飛行為主要考慮對 象。飛行動作平台主要功能是訓練駕駛 員,因此針對 Washout 演算法的設計 由於被模擬的飛機是不變的,因此可透 過不斷的調整及改變使其效果變好,而 且由於飛行模擬必須考慮極大的操作 範圍,不過其範圍不會突然變動很大, 有時候是以數個不同的 Washout 演算 法來設計。在本計劃的研究中,由於是 屬於地面上的運動,而且根據不同的需 求及不同的狀態。因此如何使 Washout 演算法能在這些系統中仍適用,或必須 做恰當的轉換是值得探討與學習的。同 時由於地面運動體的運動反應一般較 快而多變,這是因為運動體的質量小, 因此當施於作用力時,其必然能產生較 顯著的反應。因此在 Washout 演算法 的設計上也變得較困難。由於運動轉換 主 要 的 著 眼 點 是 操 作 者 感 受 的 正 確 性,因此取得操作者的回饋來進行系統 修正變得相當重要。因此在本子計劃的 研究中,也想將操作者的回饋信息用來 修正運動轉換的相關機制。 固定平台的虛擬實境主要是靠影像部 分來達成,當運動為直線定速時,如是 的模擬是相當不錯的,可是當運動路徑 是多變的時候,在轉彎加速或上下起伏 時,在固定平台上的感受就差很多。若 使用動作平台時,由於虛擬系統能設法 產生一些相對應的動作反應,使操作者 能感受到類似的感受力,此時在輔以影 像的虛擬,確實能使虛擬實境達到更逼 真的效果。可是當動作平台產生誤動作 時,整個系統的感受將是很不好的。因 此如何去設計好的動作,便是虛擬實境 系統中不可或缺。此一部分的設計一般 統稱為 motion cue。然而針對 motion cue 的設計,大致可分為兩類,其一為事先 已知運動內容的,例如動態電影院或虛 擬歷險等,其所運動的路徑及方式都是 事先已經設定好了。因此在實務上大多 以 經 驗 法 則 加 上 現 場 測 試 調 整 來 達 成。另一類則是無法事先知道運動的內

(7)

容,例如相關模擬操控系統,其運動內 容是由現場的命令來驅動的。因此無法 以如上述的方式來設計 motion cue。在 飛機模擬系統中,大部分則是以前面所 討論到的 washout filter 來執行。在我們 的研究中,以上兩種行為轉換的 motion cue 我們都將加以探討。在前者由於場 景的設計及規劃大致其運動範圍是固 定的,而許多反應可能是來自於場景而 非運動本身。因此我們將以運對動態電 影的分析來架構 motion cue 的經驗法 則。 三、行為轉換演算法 在我們的國科會研究中,我們取得 美新科技一組影片及對應的平台操控 命令列,目前我們在探討以資料庫的方 式來建立的 motion cue 的對應法則。有 關 motion cue 方面,我們也分析了一段 雲霄飛車的影片,企圖來了解一般在 motion cue 方面的設計概念。所得到的 心得如下:軸一主要操控上下的運動, 而 腳 長 縮 短 表 示 感 受 向 上 的 力 (加 速 度),例如轉為下坡運動的起始瞬間。 而 腳 長 伸 長 表 示 感 受 向 下 的 力 (加 速 度),可分為兩種狀況,一是運動轉為 上波的瞬間,其二是一個下坡路段的盡 頭,即轉為平地。軸二主要操控左右的 運動,而腳長縮短表示向左的力,例如 右彎、右側的碰撞或路面右側高起。反 之腳長伸長表示向右的力,例如左彎、 左側的碰撞或路面左側高起。軸三主要 操控前後的運動,而腳長縮短表示受到 向後的力,例如加速。而腳長伸長表示 受到向前的力,例如減速或是與前方物 體碰撞。軸四主要操控以平行車身為軸 做旋轉的動作,而腳長伸長表示向左旋 轉,例如路面右側突起或是由左側突起 路面轉為平地,也可用來輔助左彎。反 之,腳長縮短表示向右旋轉,例如路面 左 側 突 起 或 由 右 側 突 起 路 面 轉 為 平 地,也可輔助右彎。軸五主要操控以車 身的鉛直線為軸的旋轉運動,而腳長伸 長代表逆時針旋轉,例如在左彎時。腳 長縮短代表順時針旋轉,例如右彎。軸 六主要操控以左右方向為軸的旋轉運 動,而腳長縮短代表往下旋轉,例如路 面轉為下坡或上坡結束。腳長伸長代表 向上旋轉,例如轉為上坡或下坡結束。 另外直接以運動的觀點說明腳長的變 化;加速為軸三縮短,軸六伸長。減速 為軸三伸長,軸六縮短。上坡為軸一伸 長,軸六伸長。下坡為軸一縮短,軸六 縮短。右彎為軸二縮短,軸五縮短,若 是傾斜路面軸四縮短。左彎為軸二伸 長 ,軸五伸長,若是傾斜路面軸四伸 長。最後,我們觀察在這段影片中是否 有偷偷把腳長拉回原點的動作。我並沒 有發現有偷腳長的現象,而是設計者以 不超過平台運動範圍內任意設計,因此 我們估計並不是每個類似動作發生時 乘坐在平台上的人員的感受強度都會 一樣。可能發生在影片中這段的加速度 比較大但是感受卻比加速度比較小時 來的強烈。也就是針對各種模擬主體的 運動,我們將建立其相對應的平台運動 方式。 四、函數型類神經網路 (FFANN) 可是這樣的資料庫再使用上可能 會很難,因為 generalization 的能力是相 當缺乏的。而且此資料庫的型態是以函 數為本質而不是點。在我們的研究中我 們將研究利用 Function Artificial Neural Network(FANN) [16-19]來做 Motion cue 資料的建立。而在第一年的研究中,由 於其運動體就是操作者,所以其所需要 的動作平台的模擬反應較小,而且是可 預測的。因此在研究上我們將考慮在我 們先前研究中運動轉換資料庫的設計 上,運動轉換資料庫主要的概念是針對 已知的運動行程(如動態電影院),直接 設計平台動作的方式,由於此部分有些 專家的經驗,因此針對如是的資料庫, 我們可以累積經驗使之成為與被模擬 機 構 及 平 台 機 構 無 關 的 運 動 轉 換 法

(8)

則,而為了能達到知識粹取的過程,利 用類神經方式的建模是值得探討的,除 了其能利用 recognition without definition 的特質質,其將知識參數化,也可提供 未來進一步學習修正的依據。 而在 motion cue 的記錄方面,我們 考 慮 使 用 函 數 型 類 神 經 網 路 來 記 錄 motion cue。在傳統的類神經網路,通 常以點對點的方式在時域當中進行系 統的建構。而所建構的網路以適應性網 路進行網路鍵結值的學習。近來,一種 函數型類神經網路架構已發表出來,函 數型網路架構使用數學的方式進行函 數對函數的輸出輸入對訓練網路之鍵 結值。因為函數型網路使用平行處理之 數學計算,可以快速估計出約略所需的 輸出鍵結值。由於它優異的函數近似能 力,使得我們可以將其運用在系統之頻 域響應當中。 FANN 在 1997 年 的 時 候 由 Newcomb 及 de Figueiredo 所發表出來 的一種類神經網路架構、整個的神經網 路架構如 Fig. 3。其突破傳統神經網路 以點對點的輸出輸入對的方式訓練神 經網路,而改用 function 取代原本以 point 為主要架構。輸入、輸出、鍵節 值皆以 function 來表示。而 FANN 在鍵 結值修正學習的機制裡為順向傳遞。由 圖可見u1

( ) ( )

⋅Lun⋅為 functional input,若

( )

t =

{

u

( )

un

( )

}

u 1 L ,則 n 為它的取樣個 數。輸入層與第一層隱藏層所連結的鍵 結值為 pattern 的取樣值,進入第一層 隱 藏 層 之 後 , 經 過 Volterra series 的 model 所 產 生 的 值 與 鍵 結 函 數

( )

t c

( )

t c1 L n 做 乘 加 , 所 得 出 結 果

( )

t y

( )

t y1 L n 。其他的應用,還有參考資 料[16]-含未知非線性系統之類神經網 路控制,所發展新架構的 FCPBUM,在 傳統點對點的類神經網路,為了達到良 好 的 函 數 近 似 結 果 及 快 速 收 斂 的 目 的,引用我們所發展的 CPBUM(以契 比雪夫多項式為基底的統一模型的類 神 經 網 路 ) , 在 函 數 的 學 習 上 運 用 FANN,在學習架構上使用 CPBUM, 而達到更多的優點,包含最佳化的近 似,及良好的內差能力之外,根據相似 度及靈敏度加入了知識拓展的優點。得 以克服目前點對點神經網路在未知線 性系統軌跡追蹤學習的缺點。另外在 [20]中,作者所提出的 D-FANN 架構。 在 文 中 發 表 一 新 式 函 數 型 類 神 經 架 構,唯一非線性適應性時間序列預知 器 , 以 discrete cosine transform basis function 為基底而產生的 filter bank 來做 鍵結值,主要用來 model 一些非線性的 動態訊號,例如:人類的與音訊號。 而在我們的未來工作之中,可望 結而各種演算法,解決如輸入必須為能 量有限的輸入(即為非週期且遞減的輸 入曲線)的缺點,例如 sin 跟 cos 訊號 的學習。藉由前置的離散訊號處理以頻 率域替代傳統的時間域學習,並期望在 噪音的環境之下由在頻率域作業的優 點,而產生抑噪的功能;第二步,並將 頻率分解,由 FANN 的近似能力來學 習,進而追蹤期望訊號;第三步輸出並 轉換為時間域。這個架構可結合訊號處 理的優點(高速、抑噪),而達到我們 想要的結果。目前 FANN 正處於萌芽時 期,其中尚有以上一些缺點必須解決, 對於週期性的輸入便無法辨識,還有當 期望輸出上下限落差大,FANN 也無法 學習,及鍵結值的學習速度也在改進的 範圍之中。希望藉由我們提出的架構來 改善以上所提之缺點,並提升神經網路 的效能。FANN 以函數為輸出及輸入的 類神經網路。而為了能進一步粹取出轉 換法則,我們也將使用 Function Fuzzy Network(FFN)的方式來設計。FNN 的架 構及其學習效果等,都是本研究所要探 討的。 五、訓練者修正的加強式學習 在本子計畫的研究中,我們也將 從事有關訓練者修正的加強式學習,主 要的兩個方向是在建模方面,另一則是

(9)

motion cue 的部分,主要的觀念乃是在 虛擬實境上,主要是要人的感受。因此 當 操 作 者 對 於 系 統 有 認 為 不 好 的 地 方,我們希望能將這一類的感受用於修 正系統,對建模部分而言,主要是對反 應的不真實性,加以修正,若是能建立 這樣的系統,則針對建模部分就可以只 要建一個簡單大致的模式,而後透過加 強式學習來使得模式反應更逼真,如是 未來對不同的系統開發可以不需要每 一次都要找一個所要開發系統的建模 專家,而只要有一對該系統反應狀況較 熟悉的人就可以了。同樣的,在 motion cue 設計的部分,也是如此,只要一感 受靈敏的人,針對系統反應的評估,即 可設計出較精準而感受逼真的動態模 擬系統。 在 motion cue 的部分,我們也考 慮到修正的問題。畢竟虛擬實境最重要 的還是人的感受。而一般 washout 演算 法或 motion cue設計是去經由設計者調 整 部 分 參 數 來 改 善 。 而 在 調 適 式 的 washout 演算法中則是以指標函數的設 計來調整 Filer 的增益值,而我們考慮 的是以類似在加強式學習建模的的方 式,來看是否能利用加強式學習[21-23] 的方式來達到調適的目的。而利用加強 式學習一個重要的步驟是將系統參數 化,然後利用參數改變所產生效果的評 估 來 作 為 加 強 式 學 習 參 數 改 變 的 根 據。這一部份我們的研究也是分兩方面 來探討。針對 motion cue 資料庫的部 分,若是以 FNN 架構資料庫的方式能 有不錯的結果的話,系統參數化部分就 沒有問題了,此部分的研究不僅可以對 我們計畫所要探討的問題加以解決也 可應用於動態電影院效果上。而針對 washout 演算法部分,我們當然可以直 接套用原調適式的演算法的架構,也就 是將原來指標函數的部分,改用加強式 學習中的評估網路來達到所需要的效 果。若效果的改善若有限時,我們目前 也考慮將整個 washout 演算法,利用無 模式建模的方式來加以建模。此部分將 會和 motion cue 資料庫的部分極為類 似。所以在研究上其研究的價值是相當 值得投入的。因為如果建模部分如果成 功的話,由於我們將使用 TSK 模糊法 則方式來建模。屆時,兩種系統的合併 及效能比較的因素的分析等研究將可 進行。同時,由於其是無需模式方式的 建模,其在多變數的 coupling 效應也較 能處理。 在模擬建模方面我們也將著手加 強是學習的方式來做操作者回饋系統 修正的研究。其主要的觀念在於我們的 模式為 TSK 模糊網路,因此其已經參 數化了。所以將我們對在運動轉換所提 到的語言化加強式模式修正的概念應 用於模糊模式的建模式。此系統的開發 可以使得未來在改變模擬樑時,不需大 費周章來精準建模,而只需建立一大致 模式然後經由修正的方式來達到較精 準的模式。同時在前面所提到的外差防 制的部分在使用模糊網路建模時更是 需要考慮的一部份。 在加強式的研究中,初步的架構如 Fig. 4 上,訓練者在運動平台上,針對 平台的反應來修正而修正分為部分,其 一為 Model 部分,而另一為 motion cue 部分。在做法上,我們要研究訓練者的 評估在加強式學習中的效能。而系統對 訓練者其評估的不確定性,也是研究所 需要析的。這是因為對同樣的狀況,在 不同的時候,由於人類感受評估的不精 確性,其可能會有不同的評估值。而同 時,針對訓練者評估息的定義,也不必 然和事先設定的概念一致。因此如何的 調適評估信息的歸屬函數,及其在加強 式學習中的學習法則,都需要深入的探 討與研究。而目前我們加強式學習的架 構是以[24]中的系統為基礎,並考慮用 SONFIN[25]的方式來使得每一網路的 法 則 數 不 需 要 那 麼 多 , 可 是 由 於 SONFIN 的學習在使用 BP 下較慢,而 使用 LS 方法其所欲之輸出不知道,這 些在研究中我們都將加以探討。最後, 由於如上二種加強式學習。在訓練者的

(10)

感受上似乎有不可分的現象。目前的概 念是先分別探討與學習,以便個別系統 能正確做加強式學習,若在分析中能正 確分割兩系統效應。則可據以做加強式 信號回饋的依據,若不能分割,則可考 慮將二系統直接合併。由於加強式學習 本來就是可用於較複雜,而不容易數學 化的系統而當系統參數化後,其利用 trial-and-error 的特質,也是可以架構出 加強式學習系統的。 由 於 運 動 轉 換 主 要 的 著 眼 點 是 操 作者感受的正確性,因此取得操作者的 回饋來進行系統修正變得相當重要,因 此在本子計劃的研究中也想將操作者 的回饋信息用來修正運動轉換的相關 機制。而這樣的系統面臨幾個問題,第 一個問題為回饋信息認定的任意性及 不精準性,因此如何有效而強健的轉換 操作者回饋的信息是需要設計與探討 的。第二個則為將運動轉換機制的參數 化,以使信息類的加強式學習有操作的 標的。而我們在先前的研究中也針對在 類神經網路及模糊系統都有探討且有 一些成果。因此我們將運動轉換機制 (也就是 Washout 演算法及運動轉換資 料庫)利用類神經網路或模糊網路加以 參數化或部分參數化,進而利用加強式 學習來做修正。 再者,當以類神經網路或模糊網路 來建立 Washout 演算法及運動轉換資 料庫時,我們也必須克服這些網路在使 用時,其外插效果的不可預測性。一般 系統其外插的可接受,仍是由於其系統 是由物理定律或經驗法則所建立的這 和類神經網路或模糊網路是不同的,因 此我們的研究中也將對此一問題提出 解決之道;也就在將轉換機制參數化的 同時也建立操作範圍的確立方式,而後 將物理定律或經驗法則加於操作範圍 外。而在我們的先前研究中,我們也提 出混合式建模的概念,此方法則是將知 識納入原網路的學習架構中,其效果相 當顯著,而在這裡我們所要設計的則完 全不同,由於如是的物理定理或經驗法 則將有可能減低原訓練後網路的精準 度,因此如何有效而精準的使用這些知 識則是我們要研究的課題。 同時,Washout 演算法及運動轉資 料 庫 為 兩 種 不 同 的 運 動 轉 換 處 理 方 式,因此在未來的研究中,我們也將探 討這兩者特質及其是否可合併的探討 研究,具體的說其一的研究方式是將資 料庫中的轉換做去 Washout 的計算,如 此 資 料 庫 或 所 謂 的 轉 換 法 則 就 可 和 Washout 合併動作,另一種作法則是將 資料庫法則化及通用化,並將之納入 Washout 演算法中。不過這些方法都有 待設計與探討。 在行為的轉換方面,目前文獻上 所提到的是利用 washout filter 的方式來 處理的。如是的方式是可以將在無限空 間中的運動設法在有限空間中呈現,可 是在動態模擬器中許多的運動效果並 非只是簡單的物理運動定律所能描述 的。較多而必要的是若干的特效運動感 受,而這些感受則是要利用所謂 motion cue 來設計。而傳統的動態模擬器,由 於其設計上也不是利用真實的運動物 体 的 模 擬 建 構 來 產 生 虛 擬 之 運 動 感 受,而是去設計不同的 motion cue 來搭 配 。 因 此 本 計 劃 的 研 究 中 即 去 了 解 motion cue 及其效果。而研究主要是提 出以訓練的方式來達到對 motion cue 設 計的探討。目前主要的構想是利用使用 者的回饋信息來修正 motion cue 的內 容。而修正的標的則可分為參數修正及 段落重分。而由於回饋信息是由使用者 所給的,目前探討的學習主要是針對信 息 的 認 定 , 目 前 簡 單 作 法 是 利 用 reinforcement learning 修正。而信息的內 容則是使用者對動態模擬器的動作行 為加以評分,而由於必須在 try-and-error 的 情 形 下 學 習 ,模擬器動作是由若干 motion cue 所組成而後重覆的操作,因 此使用者的評分行為和 motion cue 的 修正能產生有義意的比對。而目前我們 只考慮到參數修正部分,也就是針對每 一段 motion cue,我們以 TSK Fuzzy 模

(11)

式 表 達 , 因 此 學 習 的 行 為 就 化 約 為 membership function 及後件部參數的修 正,在這一方面傳統的倒傳學習法被用 來修正參數(由於沒有確實想要的輸出 值,最小平方差(LS)修正法無法使用)。 而在內部加強式信號的產生部分,目前 我 們 是 以 傳 統 的 Temporal Difference (TD)預估的方式來進行。由於最近的研 究大都使用遺傳演算法,我們也會考慮 使用,在未來的研究中我們將更進一步 的探討分析其結果,同時也將納入類似 washout filter 的概念以及段落分割之學 習方面。 六、模糊控制器穩定設計與探討 在我們的前三年的研究中,我們 提出了階層式控制的概念,在這些研究 中我們探討了利用模糊預估器來做預 估控制的階層式控制系統,而在此一新 提計畫中,我們打算也將階層式控制用 於 在 運 動 轉 換 的 動 作 平 台 控 制 上 使 用,由於一般動作平台的控制,一般是 以位置為主,而在我們交大目前已可做 速 度 控 制 或 加 速 度 控 制 等 的 平 台 控 制,可是在行為要求上,一般這三種控 制 都 有 可 能 在 運 動 轉 換 中 被 要 求 實 現,而且可能同時。因此如何達成這三 種要求的控制,由於如是狀態為要求多 於可控變數,尋求最佳化的控制便是一 可行的方案。所以在本子畫中,我們將 延續我們先前的研究,利用階層式控制 在運動轉換上的探討,而由於此階層式 處理的方式較適用於有運動轉換資料 庫的情形, 七、即時系統之建構 本計劃所探討的是一實際操作的 系統,因此即時性的操作是必要的,為 了能 有較佳的即時操作,我們提出利 用外部 clock 來達到即時的概念,在傳 統的 Windows 中由於其插斷其設計 不佳使得其不能有即時的操作,而在較 新的 NT 中其已能有好的處理能力, 可是由於 HAL 及驅動程式的難撰寫, 由其本身系統中去讀取很難做到。而在 我們初步的實驗中,利用外部 clock 輔 以 Event 方式的插斷處理,在其他計算 程式及硬體操作干擾下,其即時精確度 仍然可達360µs,如下表所示。如是的 精確度是符合我們需要的。因此我們也 納入此一方式來達到在 Windows 下的 即時操控的目的。 Fig. 1 沖淡演算法架構 Fig. 2

(12)

Fig. 4 加強式學習系統架構 表 一 平 移 運 動 之 非 線 性 衰 減 器 之 參 平移運動之非線性衰減器之參數 X 軸 Y 軸 Z 軸 Threshold Value T d (m/sec2) 0.17 0.17 0.25 Slope kT 0.5 0.5 0.5 表 二 轉 動 運 動 之 非 線 性 衰 減 器 之 參 轉動運動之非線性衰減器之參數

Roll Pitch Yaw

Threshold Value dR sec) (deg/ 3.0 3.6 3.6 Slope kR 0.5 0.5 0.5 表三 濾波器之參數 Transfer function of Filters 2 2 1 1 2 2 1 1 0 1 ) ( − − + + + + = z a z a z b z b b z T High-Pass Filter 1 High-Pass Filter 2 Low-Pass Filter 1 0 b 0.0378 0.9565 0.0015 1 b 0 -1.9131 0.0030 2 b -0.0378 0.9565 0.0015 1 a -1.9187 -1.9112 -1.8890 2 a 0.9244 0.9150 0.8949 子計畫二:動態 VR 運動復健輔助系 統之智慧型感測與控制 本計畫為「泛用型動態虛擬實境操 控與運動復健輔助系統研發」整合計畫 之子計畫二,研發重點在於電動動作平 台之設計與分析、運動訓練輔助機制之 感測與控制及操作者運動狀況之偵測 與分析。在前二年本子計畫的重點之一 擬開發一智慧型控制系統於電動動作 平台的姿態控制設計,以為整個動態運 動訓練輔助系統的根基平台。第二個重 點 在 為 了 提 高 系 統 的 穩 定 度 與 安 全 性,系統對外界訊息的反應,必須要更 為迅速,以確保在系統出現問題時能立 及做出適當的處理,而構成即時動態運 動訓練系統的整合機構。第三個研究主 題 是 以 LART 實 驗 單 板 的 Intel StrongARM SA-1100 處理器之 Linux 嵌 入式系統來取代舊有的 IPC 控制方式。 本 子 計 畫 也 將 發 展 即 時 計 算 環 境 的 軟、硬體,以達到整體系統的即時控制 效果。第三年本子計畫的第一個重點擬 開 發 一 動態模擬駕駛系統以結合動作 平台的姿態控制,以為整個動態運動訓 練輔助系統的虛擬互動場景。本子計畫 的第二個重點在為了提高系統的穩定 度與安全性,系統對外界訊息的反應, 必須要更為迅速,以確保在系統出現問 題時能立及做出適當的處理,而以同時 具有 ARM 和 DSP 微處理器之 OMAP 之 嵌入式系統,補足以往嵌入式系統運算 能力之不足,以達到整體系統的即時控 制效果。 針對本子計畫完成的五大研究主 題,電動動作平台的控制系統、平台即 時作業系統開發、嵌入式即時硬體單板 之 設 計 與 發 展 、動態模擬駕駛平台系 統、OMAP 嵌入式即時系統之發展等部 分。以下就分別針對此幾個方向來加以 說明。 A. 電動動作平台的控制 近二十年來電氣伺服逐步取代傳 統油壓伺服在工業界的應用,因為電氣 伺服可靠且容易維護,再加上精度高、 成本低等優勢,表四就油壓與電氣作動 之優缺點作一簡單的比較。 基於本實驗室過去開發油壓運動 平台的經驗,本研究已成功完成電動運 動平台的機構設計、加工及驅動系統研 究,由於電動運動平台之動態模型十分

(13)

複雜度,所以不易使用傳統的控制理論 來達成控制的目的,為解決此問題,本 研究提出一架構簡單、具快速學習且不 需要受控系統動態模型的適應性小腦 模型控制器來解決此控制問題,經由實 驗結果發現本研究所提出之適應性小 腦模型控制器可以有效地準確控制電 動運動平台之腳長長度,其方塊圖如 Fig. 5 所示與設計步驟與想法如下簡單 描述: 步驟一: 定 義 追 蹤 誤 差e=θ θd − , 其 中 θ 代 表 伺 服 馬 達 實 際 的 轉 子 位 置 ,θ 代 表 參 考 模 式 命 令 訊 號,並d 定義一滑動表面s =e&+k1e+k2

e。 步驟二: 利用一小腦模型控制類神經網路 線上學習近似一理想控制器。 步驟三: 依據最佳近似定理我們可得知存 在一近似誤差,為了克服此誤差往往使 用一切換控制器補償之,但 卻 因 而 造 成 控 制 力 有 嚴 重 的 顫 抖 現 象 。 步驟四: 使用一個極限值估測器來監測不 確 定 量 邊 界 值 , 在此定義不 確 定 量 邊 界 值 估測誤差為E~(t)=EEˆ(t)。 步驟五: 適應性小腦模型控制系統設計成

ˆ

( )

CMAC cp

u t

=

u

+

u

其 中 ˆuCMAC為 主 要 追 蹤 控 制 器 用 來 近 似 理 想 控 制 器 ;而 補 償 控 制 器ucp 則 被 設 計 來 消 除 理 想 控 制 器 與 小 腦模型控 制 器 之 間 的 誤 差 。 步驟六: 依據李雅普諾夫穩定法則推論而 得之線上學習法則 F aˆ& =η2s(t) ˆ

))

(

sgn(

)

(

ˆ

t

s

t

E

u

cp

=

)

(

ˆ

1

s

t

E

&

=

η

其中η 與1 η 是學習速率。 2 步驟七: 為了驗証所設計之控制器對於機 械 參 數 變 化 與 外 來 的 負 載 干 擾 的 性 能,我們利用方波位 置 命 令 來 驗 證 控 制器追 隨 控 制 角度變化的軌跡來觀測 平台的動作是否正確,以驗証我們所發 展 式 的 小 腦 模 型 控 制 器 設 計 是 否 正 確,其實驗結果如 Fig. 6 所示。 表 四 油 壓 式 /電 動 式 平 台 控 制 系 統 之 比 油壓式平台 電動式平台 優點: 缺點: 優點: 缺點: •可 產 生 較 高 之 加 速 度 •作 動 元 件 尺寸較小 •耐 用 的 作 動元件 •非 常 高 的 承載能力 •有 漏 油 顧 慮 •效 率 低 造 成 高 性 能 之 作 動 閥 對 環 境 要 求較高 •較 多 的 突 發 狀 況 -如 閥軸卡死 •安 裝 較 麻 煩 需 另 加 油壓單元 •乾淨 •不 需 另 加 其 它 附 屬 裝備 •效率高 •維護容易 •安裝容易 •不 用 複 雜 的作動閥 •加 速 性 較 差 •作 動 缸 結 構複雜 •安 全 裝 置 十分複雜 •複 雜 的 電 子設計 •系 統 運 作 動 力 需 求 變化大 感應伺服馬達驅動系統 滑動表面 函式 適應性小腦模 型類神經網路 控制器 補償控制器 適應性 學習法則 t K 1 ( ) s Js+B 參考命令 c θ θd S cp u cmac uu l Ta 具近似誤差觀測能力之適應性小腦模型類神經網路控制器 + + + + − − e Eθ e T 近似誤差線上 學習法則 F i g . 5 適 應 性 小 腦 模 型 類 神 經 網 路 控 制 系統 F i g . 6 適應性小腦模型類神經網路控制 系統實驗響應圖

(14)

B. 平台即時作業系統 虛擬實境的應用非常的廣泛,例如 進行飛行器的模擬,汽車的駕駛訓練, 或是一些精密控制的模擬。在一個複雜 的虛擬實境模擬系統中,時常需要處理 大量的外界訊息,當系統呈現負載的情 況時,其中有些重要的訊息必須是不能 忽略或是要優先處理的,以保持模擬的 精確性,其次,和實際的器具一樣,系 統的穩定性、可靠性及安全性都是我們 所考量的,為了提高系統的穩定度與安 全性,系統對外界訊息的反應,必須要 更為迅速,以確保在系統出現問題時, 能立及做出適當的處理。故我們希望能 提高系統中的即時性作業能力,因此, 也確立了即時系統的必要性。以下是我 們今年針對虛擬實境控制平台,進行即 時性分析與設計的成果。 我們所使用的即時作業系統是建 構在 Linux 作業系統之上的微核心模組 Real-Time Application Interface(RTAI),這 個微核心負責處理所有與硬體間的動 作,針對需滿足即時性的工作,會在這 個即時核心的工作空間中處理。其特性 包括: Ø 即時工作的排程器,可進行不同的 即時性排程策略。 Ø 解析度更高的計時器,可供精密度 更高的控制。 Ø 完全強取式(Preemptive)模式,使得 優先權高的工作先處理。 Ø 豐富的程序間通訊(IPC)機制,如: FIFOs, shared memory, mailboxes。 Ø 維持 Linux 原有豐富資源,不需重

新開發應用程式與裝置驅動程式。 首先,是有關即時控制六軸運動平台的 分 析 , 我 們 進 行 了 即 時 (Actuation channel 部份)與非即時 (Monitor channel 部份) 工作的分工,細部分工如 Fig. 7 UML 使用者關係圖所示。根據我們模 擬 系 統 的 流 程 ,大至上可分成五個狀 態 , 分 別 是 initial, ready, running, shutdown, emergency。以下是五種狀態 的 在 即 時 控 制 系 統 裡 狀 態 轉 換 關 係 圖,如 Fig. 8 所示。 為了達到即時運算、處理的能力, 我們將平台的逆向運動學及位置控制 部 份 , 放入即時系統核心中工作,另 外,分別以週期性與偶發性工作來分派 低階 D/A 與 A/D 硬體工作,除此之外, 透 過 即 時 系 統 提 供 的 程 序 間 通 訊 機 制,讓使用者空間的監測程式與在即時 核心中運作的工作,進行資料通訊。Fig. 9 是虛擬平台即時控制系統的實現架構 圖。 為了確保有些關鍵性工作能夠被 優 先 執 行 , 如 Shutdown 的工作,因 此,我們進行了工作優先順序的指派動 作,表五是有關工作優先權的分配表, 其中`1`代表最高,`10`代表最低。 Fig. 10 為透過網路與 FlightGear 虛 擬場景結合,實際截取即時控制系統之 活 動 資 料 的 展 示 , 其 中 的 _ 100 Tick Time= µs , 代 表 的 是 每 隔 100 sµ 即會檢驗是否有其它外部中斷發 生,並迅速地做出反應,或著是否有其 它週期性工作,即將要執行,則會迅速 進 行 排 程 動 作 ,以喚醒工作執行,因 此,不僅提高了控制系統的反應能力, 也增加了週期性工作排程的精度。而圖 中PeriodD A/ =100µs,也就是以頻率為 10kHz的速度,進行精確的平台控制。 相 較 於 一 般 的 作 業 系 統 , 就Linux而 言,其Tick的時間,標準為1ms,此段 時間則視系統受負載的程度而有所變 動(1ms~100ms),故其延遲(Latency)時 間,為1ms~100ms,因此它所能提供的 控制環境,是屬於反應性較差,精確度 較低的環境,不適合用來進行精密的虛 擬實境模擬。而在本年度成果中,我們 為了將來進行一些高精度的控制,如: 電動平台的控制,而成功地增加了即時 控 制 系 統 ,且大大提高模擬的精準能 力。

(15)

表五 Task 之優先順序表

Task Priority Comment

Shutdown platform 1 Command-driven

Inverse Kinematics 2 FIFO-driven

Rise up platform 3 Command-driven

Analog Output(D/A) 4 Periodic

Position Control 5 FIFO-driven

Analog Input(A/D) 9 Command-driven

Update 10 Command-driven Actuation Data Source Sensor Input Processing Inverse Transformation Controller Monitor Monitoring Input Processing Actuator Actuator Monitor Sensor ^ measures Actuation Channel predecessor transformation successor transformation 0,1 1 Monitoring Channel activate / shutdown signal control signal monitored actuation signal Personnel send command actuation channel information Fig. 7 UML 使用者關係圖 / rt_shutdown( ) receiving data / do platform control < event > / < action > Initial [CMD] rise up / rt_riseup( ) Emergency Ready

/ notify_user( ) & entry periodic mode

Shutdown

[CMD] shutdown / exit periodic mode

Running Fig. 8 即時控制系統狀態圖 P RT task D/A A/D Emergency Handler CMD FIFO

User Program (Monitor)

Network INFO. FIFO RT task I/O S Position Control Real-Time Kernel Inverse Kinematic Shared Memory Shared Memory Payload Info. FIFO CMD Handler

Update < resume > < resume >

Shared Memory < notify > < notify > Handler < resume > Fig. 9 即時控制系統系統架構圖 Fig. 10 實驗圖 C. 嵌入式即時硬體單板之設計 在本計劃中由於在資料傳輸上受 限於 RS-232 串列傳輸, 同時以 LART 實驗單板的 Intel StrongARM SA-1100 處 理器之 Linux 嵌入式系統來取代舊有的 IPC 控制方式,這不僅使控制系統體積 大幅減少,也使我們能在 Linux 作業系 統上發展新的控制程式,並且可以達到 多平台及同步接收資料。而嵌入式系統 週邊亦支援 TCP/IP 網路。然而在 LART 實驗單板上並沒有 CAN bus 的控制裝 置與 driver 可提供虛擬實境場景的六軸 腳長 data 與 LART 實驗單板作為控制資 料 的 連 結 與 傳 輸 ,所以必須另外增加 LART 實驗單的 interface 與 CAN bus 裝 置.並且須要建立在 LART 實驗單板上 的 CAN bus driver。 然而在 LART 實驗 單板上亦是沒有 A/D 及 D/A 控制器,所 以也必須增加 LART 實驗單的 interface 與 A/D 及 D/A 的控制裝置,並且建立 LART 實驗單板上的 A/D 及 D/A 驅動程 式。

在今年進度報告中,我們完成以下 的工作:

Ø A/D,D/A 裝置的製作

Ø LART 實驗單與 A/D 及 D/A 間的 interface 電路設計

Ø CAN bus 裝置的製作

Ø LART 實 驗 單 與 CAN bus 間 的 interface 電路設計

詳細細節請見後面之敘述

在嵌入式硬體部分,我們所採用的 是 LART 實驗單板,選擇這塊板子的原

(16)

因是因為它選擇這塊板子的原因是因 為 它 有 豐 富 的 序 列 傳 輸 介 面 , 包 括 IrDA、RS-232,也有內建 10Base-T 網路, 並且支援包括 Linux 嵌入式作業系統, 可以發展的嵌入式種類及相關應用程 式可謂相當豐富。此塊單板實體圖片如 Fig. 11 所示。 除此 之 外,所使用的微處理器為 SA-1100,而在 LART 的計畫中亦是使 用 Strong ARM 微處理器系列。所謂 LART 計畫是由國外的 Delft University of Technology 所主持的研究計畫,主要 研究在消耗不到一瓦特功率而可以達 到 250MIPS 指令的 Linux 嵌入式系統。 它有一套較為完整的 Linux 嵌入式系統 文件及 mailing list,更難得的是它亦將 所有 的 軟硬 體公 開 。因此在未來發展 StrongARM SA-1100 嵌入式系統時可以 有較為完整的相關文件可以參考。 在 LART 實驗單板上發展嵌入式 系統來控制虛擬實境動態模擬器,並沒 有 CAN-Bus 的裝置與驅動程式,因此 我們必需要發展 CAN-Bus 的裝置與驅 動程式,來作為與 LART 實驗單板的傳 輸介面。如此才可以與 LART 實驗單板 溝通,接收由虛擬實境場景的六軸腳長 data,然後將腳長轉電壓,控制動態模 擬器。其系統方塊圖如 Fig. 12 所示。 在動態模擬器六軸姿態的傳遞方 式上,我們將發展 CAN-Bus 通訊協定, 因 此 必 須 在 嵌 入 式 系 統 上 發 展 CAN-Bus 驅動程式,A/D 及 D/A 驅動程 式;除此之外,還需發展 LART 實驗單 板 之 CAN-Bus 程 式 , 如 此 才 能 以 CAN-Bus 傳遞六軸控制姿態至動態模 擬器驅動控制盒上。Fig. 13 為 CAN bus 實際之控制電路板。

LART實驗單板提供了 GPIO, data bus 與 address bus pin 可作為其他額外 的 控 制 裝 置 使 用 , 同 時 我 們 利 用 address,data bus 與 read/write 的控制信 號 pin,與 ALTERA 公司所提出的 FPGA 晶片,作為 LART 實驗單板與 CAN bus 裝置間的控制。Fig. 14 為 LART 實驗單

板與 CAN bus 間的 interface 電路方塊 圖。

Fig. 11 單板實體圖片

Fig. 12 控制動態模擬器系統方塊圖

Fig. 13 CAN bus 實際之控制電路板

Fig. 14 LART 實驗單板與 CAN bus 之間 的電路方塊圖

(17)

Fig. 15 實際之控制電路板 D. 動態模擬駕駛平台 在動態模擬駕駛平台系統的發展 上主要探討兩部分,為車輛動態的研究 以及虛擬實境場景的建立,以達到更擬 真的感覺。 在汽車的動態模型之中,探討了一 些有關於汽車轉向、引擎加速及懸吊系 統的問題。 在汽車的轉向中,是由前輪轉一角 度,後輪跟著一起前進的,而場景程式 裡,雖可以得到前輪轉的角度,但是還 需要車體真正轉的角度,以及前進的距 離。要求得這兩項重要的參數,以車子 轉彎的瞬間,移動的軌跡中,分析其幾 何的變化來求得。假設汽車轉彎時,是 以內側後輪為支點而旋轉,而在前輪順 著它自己轉的角度前進的時候,後輪包 含支點的輪子也會跟著被拖行一段距 離,而後輪所前進的距離及方向,採用 近似的方法,假設支點在移動的瞬間, 是以筆直朝原來的方向移動一段距離。 用這樣的關係和已知的條件:以瞬 時速度外側車輪移動距離為 v,車輪轉 α度,加上前後輪距 l,輪軸長 w。求 出車體真正轉的角度β,和支點輪移動 的距離 z。 Fig. 16 為車子右轉的假設圖,以及 經過簡化後我們需要的資訊如,接著做 輔助線以求得 z、β,如 Fig. 17 所示。 以四邊形上下兩邊相等,可求得β。

(

)

(

)

γ α β α γ β α β γ β γ α β β −     + − = + − = + − = − + + = + − 2 2 1 2 2 2 2 sin cos sin cos sin cos cos sin sin sin cos sin w l v w w l v w w v w l v w w l 以四邊形左右兩邊相等,可求得 z。

(

γ β

)

α β β α β β α + + − + = − − + = + + = + sin cos cos sin cos cos sin cos 2 2 w l l v z l w l v z z l w v l 從引擎到車輪之間,可分成幾個部 分:引擎→變速箱,變速箱→傳動軸, 傳動軸→輪軸,輪軸就轉動車輪。在以 下分別探討這幾部分中,扭力和加速度 的關係。 引擎→變速箱:由引擎開始傳輸至 傳動系統之實際扭力必須扣除用來加 速所有轉動元件之慣量,在這裡我們只 考慮一些主要的元件慣量。應用牛頓第 二定律,從引擎輸出扭力 Te,扣除用來 加速引擎慣量 Ie ae(Ie=引擎轉動慣 量,ae=引擎之轉動加速度),而成為 變速箱的輸入扭力 Tc為: Tc = Te - Ie ae 變速箱→傳動軸:變速箱輸出的扭 矩會經由齒輪比 Nt而放大,但也會由於 齒輪及各軸之慣性損失而有所降低,若 變速箱之慣量可由其輸入端之值來決 定,其損失可表示成 It ae(It=變速箱之 轉動慣量,轉動加速度和引擎相同), 那麼輸出至傳動軸之扭力 Td可以下式 估算: Td =( Tc - It ae) Nt 傳動軸→輪軸:輸入至傳動軸的扭 力,扣除用來加速傳動軸轉動的慣量 Id ad後(Id=傳動軸之轉動慣量,ad=傳動 軸之轉動加速度),經過最終傳動比率 Nf放大後,會等於輸入到輪軸上之扭力 Ta,此扭力亦會等於地面上之牽引力 Fx 之扭矩 Fx r(r=車輪半徑),加上加速 車輪及輪軸之轉動慣量 Iw aw(Iw=車輪 及輪軸之轉動慣量,aw =車輪之轉動加

(18)

速度)。 Ta =( Td - Id ad) Nf = Fx r + Iw aw 接下來把上列一些式子串起來,讓 引擎輸出扭力可以直接和地面上之牽 引力做關連,利用齒輪比和加速度的關 係把整個式子簡化,其關係為: ad = Nf aw ae = Nt ad = Nt Nf aw 又由於車輪前進之加速度 ax為車 輪旋轉加速度 aw乘以車輪半徑 r,因此 可得:

(

)

{

2 2

}

2 e tf x x e t tf d f w T N a F I I N I N I r r = − + + + 其中 Ntf=Nt Nf。 至於傳動系統諸元件:變速箱、傳 動軸、差速器及輪軸,因機械和黏性損 失所產生之效率降低,在我們的場景建 構之中暫不考慮這個問題。由上列的方 程式,可以分成兩部分:(1)右邊第 一項為引擎扭力乘以整體齒輪比,再除 以輪胎半徑。此分項代表在地面上之穩 態牽引力,以此克服空氣動力及滾動阻 力之道路負載力量,用來加速或爬坡。 (2)右邊第二項代表由引擎及傳動系 統各元件慣量所產生之牽引力損失,括 弧內之項代表經由元件及車輪間數值 齒輪之平方放大後,各元件的慣量。。 以場景中的懸吊系統來說,其主要 功能在於:(1)提供垂直的柔度,使 得車子在不平坦的道路移動的時候,車 子的姿態可以改變的很平順。(2)對 由縱向力(加速、減速)、側向力(轉 向)及車身傾斜所產生之負載轉移的影 響,做出合適的反應,在懸吊系統上, 採用最簡易的方法來模擬它,就是在四 個輪子上各加一個彈簧及阻泥來代表 它,而加諸在各彈簧上的力為承受車子 本身的重力,再加上加速時所產生之力 矩的變化。以下分為縱向及橫向負載的 轉移來探討。 車子受到縱向力的時候,其受力的 關係如 Fig. 18 所示,在此忽略空氣阻 力、滾動阻力… 等,單純只考慮車子受 到縱向加速力、地形坡度θ的影響,施 加給前輪 Ff及後輪 Fr之力的變化。 各 車 軸 所 承 受 之 負 載 包 含 一 靜 態 分量,以及受到其他力量的作用所產生 之由前輪到後輪(或後輪到前輪)的負 載轉移,可由車輪與地面之接觸點之力 矩和來求得。假設圖中車子未在傾斜上 加速,那麼對 A 點之力矩和為零,如下 所示: sin cos 0 f x F L+F h Wh+ θWc θ = 化簡可求得前輪之負載 Ff:

(

cos x sin

)

f Wc F h Wh F L θ− − θ = 後輪之負載 Fr可由 B 點的力矩和來求 出:

(

cos x sin

)

r Wb F h Wh F L θ + + θ = 如 Fig. 19 所示為車子右轉時受到 橫向力作用時的受力情形,與縱向力的 分析一樣,考慮轉向加速力及地形傾斜 角φ的影響,以得到左側車輪 Fi與右側 車輪 Fo受到的負載。 左輪之負載 Fi可由 C 點的力矩和來求出

(

)

1 cos sin 2 i y h F W F W t φ φ = + + 右輪之負載 Fo可由 D 點的力矩和來求 出

(

)

1 cos sin 2 o y h F W F W t φ φ = − + 在合併的時候,令 b=c=L/2,除 了把兩輪受到的負載除以一半(如縱向 方面的前輪,要分給左前輪跟右前輪) 之外,對應在同一輪的值相加之後也要 再平均。另外,兩邊的式子還必須做一 點變化: 縱向負載要部分加上路面橫向的傾斜: W => W cosφ 橫向負載要部分加上路面縱向的傾斜: W => W cosθ 合併之後的左前輪的負載 Fif為: ( ) ( ) 1

cos cos sin cos sin cos

4 if y x h h F W F W F W t L φ θ φ θ θ φ   = + + − +   右前輪的負載 Fof: ( ) ( ) 1

cos cos sin cos sin cos

4 of y x h h F W F W F W t L φ θ φ θ θ φ   = − + − +   左後輪的負載 Fir: ( ) ( ) 1

cos cos sin cos sin cos 4 ir y x h h F W F W F W t L φ θ φ θ θ φ   = + + + +  

(19)

右後輪的負載 For:

( ) ( )

1

cos cos sin cos sin cos

4 or y x h h F W F W F W t L φ θ φ θ θ φ   = − + + +   從這些式子可以看出,在各輪的負 載數值上,可分為三個分量。(1)左邊 第一分量為車子靜態負載,為車子本身 的重量垂直於路面的分量。(2)左邊第 二項為車子左右兩邊之動態負載,會隨 車 子 轉 向 及 路 面 傾 斜 而 加 到 左 右 兩 側。(3)右邊第一項為車子前後之動態 負載,會跟著車子前後加速及路面傾斜 而影響前後兩側。 經由推導之後,可以得知在各輪上 的負載,與彈簧壓縮 x 所產生之力 kx (k 為彈性係數)及阻泥力 CV,可推 算出懸吊系統震盪之加速度。 在虛擬實境場景的建立上,是運用 繪圖函示庫 WTK 構成的,在 WTK 的場 景中,要得知一 3D 物件與另一 3D 物件 的 距 離 , 可 以 使 用 WTK 的 函 示 WTnode_rayintersect(),此函示功能在於 給定一個起點座標、偵測方向、及測量 物件,從起點循著偵測方向出發,若是 有碰到偵測物件,則會給一個距離,否 則回傳 NULL。在一般場景裡,要得知 車子的四個輪子距離地面的高度,需偵 測四次,越複雜的地形偵測時間越久。 所以在較複雜的地形時,預先建立好地 形高度的資料,將可以節省很多運算的 時間,使得場景速度可以加快。 我 們 所 建 構 的 地 形 資 料 庫 是 把 欲 偵測的地形用一方形區域框起來,把這 區域平均切割成 1000X1000 個小區域, 再紀錄每個小區域的高度。而在決定用 多大區域框起來之前,必須先求得上下 左右的邊界值,先利用 WTK 提供的函 示 WTnode_getradius() 得到中心點到最 遠端的距離,用此來求出最遠有可能會 到 達 的 邊 界 , 接 著 使 用 WTnode_rayintersect(),在每一個小區域 的上空由高到低偵測是否有地形存在。 量測左邊界之方法為:從中心點出 發,有偵測到地形時,就持續向左邊筆 直前進,若是偵測到無地形時,先向上 下附近的區域偵測,有地形的時候就繼 續從此區域向左邊移動,若是附近都沒 有 , 就從上面最遠的邊界開始向下偵 測,若是又碰到地形就繼續前進,若是 偵測到最下面的邊界都沒有地形時,其 右邊的區域即是最左的邊界了。其他三 邊的也是一樣。 找 到 邊 界 後 , 接著就在邊界裡用 WTnode_rayintersect(),由高到低求出每 一 小 區 域 的 高 度 ,在得到所有的高度 後,如 Fig. 20(a)所示有些地區如圍 牆、草叢、森林… 等,都得不到其高度 的資訊,原因在於他們在建構的時候, 都沒有使用到水平的面,這樣由高處垂 直往下偵測的時候,自然就碰不到了。 為了要克服這個問題,必須要從水平的 方向再進行高度資料的修正。 在水平偵測方面,分成上下及左右 來回的偵測。如 Fig. 20(b)以向左為 例:由已建好的地形資料庫中,從最右 邊開始向左,先找到一凹地,這凹地邊 界的定義為,相鄰兩點的高度差距在一 距離以上,通常這差這距離會使得車子 無 法 向 上 通 行 。接著從凹地最右邊開 始,從此地區的高度加上一距離,當作 WTnode_rayintersect()偵測的原點,向左 邊偵測,若是碰到障礙物時,則把偵測 原 點 放 到 障 礙 物 前 幾 格 做 第 二 次 確 認,其原點座標一樣是當時的高度加一 距離,若是偵測到的距離和障礙物的座 標吻合時,即可以把他的高度加到地形 資料庫裡,加上去的高度只要是車子無 法通行的高度即可。接著移動到障礙物 的後面,向左繼續做重複的動作,直到 碰到凹地的最左邊為止,之後再尋找下 一個凹地,重複以上的偵測直到地形最 左邊的邊界。做第二次的確認動作,可 以防止在偵測時碰到坡地或其他特殊 的情形,而產生判斷錯誤。 Fig. 21(a)是我們採用的場景之 一,Fig. 21(b)為第二次製作地形高度 的 結 果 , 顏色從藍到紅為高度愈來愈 高,白色的部分是空的部分。而圍牆、 草 叢 、 樹林也確實加入到高度資料之

(20)

中。 直 接 偵 測 場 景 和 使 用 地 形 高 度 資 料的比較,在同一部電腦中使用預先建 立好地形資料庫的場景,每秒鐘會比直 接偵測的多 10-25 個畫數(frame),只 是在建地形資料的時候會很久,不過只 需 建 立 一 次,建好之後輸出到檔案之 中 , 下次開啟時就可以直接讀檔輸入 了。其缺點是當遇到騎樓、涼亭、地下 室… 等地形,就會受到限制,必須把地 形的 3D 物件做修改,讓他可以偵測到 車 子 可 走 的 地 區 ,若是直接偵測的方 法,將不受此限制。 在另一方面,地形高度資料可以讓 使用者很快的知道附近的地形,讓他可 以多做一些應用,若是要增加多一點的 動態方程式在車子上,直接偵測地形的 將會變的更慢。 Fig. 22 為開發場景之一的畫面。 Fig. 16 右轉幾何圖 Fig. 17 右轉加輔助線 Fig. 18 車身受縱向力關係圖 Fig. 19 車身受橫向力關係圖 Fig. 20( a)測量高度(b)二度確認 地形 Fig. 21(a)場景 3D 圖(b)地形資料 Fig. 22 開發場景 E. OMAP 嵌入式即時系統 在人們的生活中,嵌入式系統應用 於訊號處理上十分廣泛,如多媒體語音 與影像資訊處理等。為了讓訊號得到較 佳的處理,往往需要大量的數學運算, 但 有 鑑 於 嵌 入 式 系 統 在 運 算 能 力 不 足,所以採用同時具有 ARM 和 DSP 微 處 理 器 之 OMAP 來 彌 補 這 個 問 題 。 OMAP 是由 TI 針對嵌入式系統所開發 的 一 個 具 有 優 秀 運 算 能 力 的 微 處 理 器,使用 OMAP 架構可以使數學運算上 更為迅速有效率,且 ARM 和 DSP 可以

(21)

同步處理各自不同的行程。 隨著多媒體與無線通訊的發展,訊 號處理演算法不斷更新。為了追求更為 真實的感受,在多媒體系統上必需做出 更為精確的運算。對於腦波生理訊號處 理應用,在生理訊號分析技術層面上, 運算處理上要求更為嚴苛。就軟體的層 面而言,需要一個好的演算法與良好的 計算程序;就硬體的層面而言,處理器 運算之能力亦是關鍵。大型主機,空間 大且昂貴,為了縮小體積,嵌入式系統 的發展勢必是個趨勢,強調小與省電。 一般較有名的嵌入式系統的微處理器 架構有 ARM、MIPS 等。雖然這些微處 理器相當省電、運算能力不錯且支援多 種作業系統,但處理大量的數位訊號資 訊上,還是稍嫌不足,為了使系統運算 能力更為強大,部分廠商引入了 DSP 微處理器來加強嵌入式微處理器的運 算能力。 實 驗 室 早 期 將 既 有 虛 擬 實 境 發 展 之技術,已經由工業電腦逐漸轉至嵌入 式單板電腦(SBC,Signal Board Computer) 的應用。DSP 具有優越的計算能力,硬 體精簡,高效率,可即時處理大量訊號 等特性,但不足的是缺乏作業系統的支 援,且 DSP 系統軟體程式移植不易,故 採用 LART 嵌入式單板做為開發環境。 LART(Linux Advanced Radio Terminal)是 以 StrongARM 為微處理器的嵌入式單 板,具有不錯的執行效率,體積小,支 援多種作業系統,同時具備低成本的優 點,採用這種精簡的嵌入式硬體單板可 以取代原來的電腦和 DSP 控制卡。就其 作 業系 統 而言,是採用 ARM 架構的 ARMLinux,具有 Linux 作業系統開放 原始碼的特性,在許多資料整合上,都 能得到協助。但隨著演算法複雜度的增 加,在運算處理上,以 ARM 架構為主 的 StrongARM 微處理器,處理速度漸漸 不合所需。 目 前 為 了 處 理 日 益 複 雜 的 訊 號 處 理的演算法,嵌入式單板勢必面臨大量 的特殊運算,但一方面希望在嵌入式單 板上,保有 ARM 處理器的移植性,發 展性和作業系統的支援,另一方面,又 希 望 加 入 DSP 所 擁 有 的 優 秀 計 算 能 力,因此,採用德州儀器(TI)所發展出 的新處理器 OMAP。OMAP 結合了 ARM 和 DSP 的長處,支援多種作業系統,並 且在運算上能使用 TI 所開發的 DSP 技 術。就嵌入式的作業系統而言,以原先 的 ARMLinux 為藍本,加入對 TI DSP 系統的支援,成 DSPLinux。裡面包含 了對於 OMAP 處理器上 DSP 部分的驅 動,和 ARM 與 DSP 溝通的通道。於此, 使得整個系統依然可以擁有開放原始 碼的特性進行整合,容易維護開發,並 且提升在運算上之能力等優點。

OMAP 為 Open Multimedia Architecture Platform 的縮寫,是一個有 雙核心的微處理器,使用 TI-enhanced ARM925 微處理器並結合 TMS320C55x DSP 核心。OMAP 具有高效能平衡以 及低功率消耗的能力,且擁有極佳的數 值能力。程式開發上,Linux 平台下的 跨平台環境(Cross Compiler)開發 ARM 微處理器相容的應用程式。DSP 端的程 式 開 發 , 則 主 要 是 以 TI’s CCS(Code Composer Studio)做為開發環境,使用 DSP 多執行緒的作業核心— DSP/BIOS 所提供的功能開發 DSP 應用程式。 基本上 OMAP 架構微處理器內部 的 DSP 微處理器核心與 ARM RISC 微 處理器核心分別由兩個不同的系統所 控制,DSP 微處理器核心是採用 TI 的 微 核 心 多 工 即 時 的 系 統 , 稱 為 DSP/BIOS。提供軟體工程師方便開發符 合即時運算效率的軟體元件工作。在 ARM 部分,一般常看到的嵌入式作業 系統,Linux 和 WinCE 等都有支援,可 以用來控制整個系統的運作。由於兩個 部分分屬於不同的系統所管理,為了發 揮由 ARM 操作和 DSP 運算的分工效 能,兩個處理器之間的資料流通就成為 研發重點,TI 針對這點提出 DSP/BIOS Bridge 架構,能夠讓應用程式開發人員 在雙處理器架構下撰寫程式。

數據

Fig. 3 MIMO FANN 基本架構
Fig. 4  加強式學習系統架構  表 一   平 移 運 動 之 非 線 性 衰 減 器 之 參 數  平移運動之非線性衰減器之參數  X  軸  Y  軸  Z  軸  Threshold Value  d T ( m / sec 2 ) 0.17  0.17  0.25  Slope  k T 0.5  0.5  0.5  表 二   轉 動 運 動 之 非 線 性 衰 減 器 之 參 數  轉動運動之非線性衰減器之參數  Roll  Pitch  Yaw  Threshold Value  d R
Fig. 12  控制動態模擬器系統方塊圖
Fig. 15  實際之控制電路板  D.  動態模擬駕駛平台  在動態模擬駕駛平台系統的發展 上主要探討兩部分,為車輛動態的研究 以及虛擬實境場景的建立,以達到更擬 真的感覺。  在汽車的動態模型之中,探討了一 些有關於汽車轉向、引擎加速及懸吊系 統的問題。  在汽車的轉向中,是由前輪轉一角 度,後輪跟著一起前進的,而場景程式 裡,雖可以得到前輪轉的角度,但是還 需要車體真正轉的角度,以及前進的距 離。要求得這兩項重要的參數,以車子 轉彎的瞬間,移動的軌跡中,分析其幾 何的變化來求得。假設汽車轉彎時,是
+7

參考文獻

相關文件

專案導向應用程式開發 階梯程式編輯畫面 狀態的監視與控制 階梯程式助憶碼輔助顯示 階梯程式註解功能

(Inheritance) ;c.動態繫合(Dynamic binding) ;d.動態範圍(Dynamic scoping).

Wang, A recurrent neural network for solving nonlinear convex programs subject to linear constraints, IEEE Transactions on Neural Networks, vol..

就學與就業之職能 治療暨實習、職業 輔導評量學暨實 習、職業復健暨實 習、職能評估與職 業復健暨實習、職 業輔導評量專題研 究、職業輔導評量

Our current solution, called “Iterative Earliest Deadline First+Best Fit” (IEDF+BF), includes three steps: First, estimate the number of high frequency cores; second, schedule

人參能大補元氣,強心固脫,安神 生津,是延年益壽、強身健體的佳 品。人參壽星公由2,374枝生曬參及

Moreover, this chapter also presents the basic of the Taguchi method, artificial neural network, genetic algorithm, particle swarm optimization, soft computing and

“A Flexible, Fast, and Optimal Modeling Approach Applied to Crew Rostering at London Underground,” Annals of Operations Research 127, pp.259-281,2004. [17] Levine.D, “Application of