• 沒有找到結果。

虛擬導引力回饋演算法

2. 鎖定形式虛擬導引

2.3 虛擬導引力回饋演算法

有關。當我們決定一個導引向量V

G

g

然出現的力覺感受,輸出至搖桿的回授力F

G

o

VGpp

為操作向量對導引向量VGg

之垂直向量,VGpj

為操作向量在導引向量上的投 影,K 為導引係數,h 為一個高度係數,正比於控制點與圓柱底部的相對距離,

加入 h 的原因是想增加將使用者吸引到目標物的縱向力量,圖解如圖 2-10。

圖2-10 虛擬力演算法示意圖

圖2-11 為回饋力的縱切面剖面圖(x-z 軸), 顏色代表回饋力的強度,紅色表示最 強而藍色表示最弱,可以看見越接近目標點(0,0)處,回饋力就越小。

圖2-11 虛擬導引回饋力剖面圖

有了力演算法後,我們即可以根據操作點在力回饋範圍中的位置算出虛擬力的大 小,進而來對使用者進行力輔助,整個力輔助的流程如圖 2-12,當使用者對系 統輸入起始命令後,系統便開始對使用者進行力輔助,系統先根據操作點的位置 以及虛擬導引的種類設置導引向量以及力回饋範圍,接著判斷使用者是否離開力 回饋範圍,若使用者已離開力回饋範圍,表示已完成夾取的動作或者使用者決定 取消夾取,系統將取消力牆並停止力輔助;反之則依操作點在力回饋範圍中的位 置計算出回饋力並回傳給近端的電腦。

Y

N

圖2-12 虛擬導引對使用者進行力輔助之流程圖

第三章

遠端操控系統實現

在本章,我們介紹所開發的結合機器夾爪之網路遠端操控系統,其系統的架 構、軟體實現以及所使用到的硬體設備。該系統可配合鎖定形式虛擬導引,使用 了一台攝影機以及力感測器,藉由2D、3D 影像與力資訊的結合,讓操作者充分 掌握遠方機器人的情形,操作者將可利用所得資訊,透過網路來操作機器人。

在進行遠端操控時,使用者是藉由近端電腦來探索遠端的環境,因此,需要 使用感測器來收集資訊,讓使用者更進一步了解機器人的週遭環境。選用感測器 數量的多寡,對系統的影響相當大,更多感測器固然可以取得更多的資訊,但也 需要更大的網路頻寬才能即時呈現給使用者,因此,選擇適當感測器的種類及數 量,才能建構一個良好的遠端操控系統。在眾多型態的感測器,攝影機、力感測 器、紅外線及聲納等,我們尤其注重攝影機的部份,除了視覺回饋對人類而言是 最直覺的回饋方式以外,攝影機牽涉到的影像定位也一直是學界研究的重要課 題。在影像定位中,最直覺的方法即利用兩部攝影機,對空間中方形的物體作定 位[25],將攝影機取得的 2D 影像,先用影像處理進行分析,再透過幾何運算求 出物體在3D 空間的位置。經過實驗,我們知道虛擬物體與實際物體的平均誤差 約3mm,屬於可以接受的範圍,但是該方法需要對攝影機做很精準的調整,而 且進行影像處理需要運算時間,無法即時的回傳物體位置。

因此在遠端定位不精確的情況下,我們採用由操作者本身矯正誤差來完成操 作的動作,此時操作者將會遇到以下的問題,由於定位的不精準,操作者不能完

全仰賴虛擬場景,必須配合遠端的即時影像來控制,於是在進行實驗時,我們採 用最小的影像解析度以減低在頻寬上的要求,另外與目標物也可能會有不可預期 的碰撞,此時可經由力感測器回饋給操作者力感,使操作者得知碰撞的發生,並 進行修正的動作。我們使用一台攝影機搭配力感測器來獲得遠端環境的資訊,攝 影機安置在夾爪上以提供第一人稱的視角,如此一來,雖然增加了影像定位的困 難,但是可以避免在第三人稱視角時物體被其他障礙物阻擋的情況。圖3-1(a) 為 攝影機畫面,畫面中有一淡綠色方塊放置在一白色平台上,該平台並劃有格線以 便於定位,圖3-1(b)為虛擬場景,黑色方塊代表夾爪,褐色長方體為虛擬平台,

平台上有藍色的虛擬方塊,該物體位置對應實際的淡綠色方塊,使用者可以藉由 攝影機與虛擬場景的輔助來獲得平台上方塊的位置。

(a)

(b)

圖3-1 利用虛擬實境與攝影機組合取得物體位置:(a)攝影機畫面和(b)虛擬場景

接下來將介紹本實驗遠端操控系統工作,使用者透過網路,操作在實驗室另 一個角落附有夾爪的機械手臂(RV-2A Mitsubishi Industrial Robot)拾取在遠處桌 面上的物體,將物體堆疊或放置,藉此來模擬遠端遙控機器人在遠端的環境中進

目前的遠端操控系統為一對一之關係,藉由分散架構的設計,將來也可以擴 充為一對多的遠端操作系統,讓多位操作者同時使用該系統;另外,該系統也可 以透過變更輸出入裝置或感測器來改良,這說明了系統未來更多發展的可能性。

圖3-2 遠端操控系統架構圖

3.2 系統流程

我們將整個遠端操作系統的流程分成處理位置命令、力覺訊號以及視覺訊號 三個部份,分別由個別的執行緒控制,首先是位置命令處理的流程,圖3-3 為系 統處理流程,使用者藉由搖桿對近端電腦輸入位置命令,透過網路傳輸以後輸入 遠端電腦,遠端電腦接受到以後先利用低通濾波器過濾雜訊,接著將使用者的位 置控制命令轉換成機器手臂用的角度控制命令,透過角度控制操作夾爪到達使用 者想要到達的位置。

圖3-3 位置命令處理流程圖

圖3-4 力訊號處理流程圖

圖3-4 說明了力訊號在系統中傳遞的流程,當力感測器(JR3 UFS-3012A25) 感測到外力時,會將該訊號傳送給遠端電腦,遠端電腦以低通濾波去除雜訊後,

再傳到近端,近端電腦會將力訊號與虛擬導引產生的虛擬力結合,成為使用者實 際感受的回饋力。在量取力訊號的時候,由於力感測器極容易受到高頻雜訊的干 擾,故需要對該訊號作低通濾波處理,JR3 的取樣頻率約在 1k Hz,而雜訊頻率 則約為150Hz。經過設計後,我們設置了一個使用 Kaiser window 的 FIR 低通濾 波器,其pass band 為 100Hz、stop band 為 250Hz,該濾波器的參數及頻率響應 圖如圖 3-5 所示,window 長度為 16,頻率響應圖之橫軸以π為單位,2π代表 的是1kHz,故 bass band 在 0.2π的位置,stop band 則在 0.5π,濾波後的效果如 圖 3-6(a)所示。另外當操作者在進行操作時,由於手部的疲勞或者不經意的抖 動,造成位置命令也會參雜著若干雜訊,為了能更平順的控制機器人,遠端電腦 在接受使用者輸入的訊號後,同樣的安置了一個濾波器去除雜訊;一般人手部抖 動的頻率約在50Hz 左右,server 接收位置命令的取樣頻率約在 150Hz 上下,設 置 的 濾 波 器 p a s s b a n d 為 1 5 H z , s t o p b a n d 為 3 5 . 5 H z , 濾 波 後 的 圖形如圖3-6(b)所示。

圖3-5 使用 Kaiser window 的 FIR lowpass filter,上圖為 window 的 weighting 值,

下圖為頻率響應圖。

(a)

(b)

圖3-6 低通濾波前後比較圖︰(a)力訊號和(b)使用者輸入訊號,紅色線為濾波前,

藍色線為濾波後。

3.3 軟體實現

圖函式庫來建構虛擬場景,雖然還有許多其他的工具,例如World Tool Kit、World up等,但因為OpenGL具有穩定且可攜性高的特性,所以我們選擇作為繪製3D虛 擬 場 景 的 工 具 。OpenGL 已 在 1992 年 已 成 為 工 業 標 準 , 由 獨 立 的 OpenGL ARB( Architecture Review Board )管理其規範,其中的成員包括SGI( Silicon Graphics )、Digital、IBM、Intel、以及Microsoft等大廠,很多影像顯示卡和作業 系統也都支援OpenGL。圖3-7為 OpenGL 成像流程,當應用程式發出OpenGL API 函數呼叫時,指令會放到指令緩衝區中,緩衝區最終會填滿指令、座標點

影像,然後影像會放到圖形緩衝區內。圖形緩衝區是圖形顯示裝置的記憶體如繪 需求,因此利用多執行緒 (Multithreading) 的技巧來解決這問題。

利用執行緒來設計程式,除了提昇效率外,還可以避免讓程式太過複雜,使

的內容都是可以被中斷的,CPU將依照目前的執行狀況自動切換執行緒,以達成 平行處理的目標。

(a) 一般程式執行

(b) 多執行緒程式執行

圖3-8 執行順序和時間關係:(a)一般程式執行和(b)執行緒程式執行

Client 端電腦因為需要同時進行網路傳輸資料、搖桿力覺的更新以及虛擬實 境畫面的更新,我們將同時開啟三個多執行序來完成這三項工作。三個多執行序 中以負責搖桿力覺更新的執行序A,其更新頻率最快為 1KHz,這個執行序同時 也負責更新搖桿的位置並將其儲存起來,其餘兩個執行序B 和 C 則分別在 150Hz 及 33Hz 的頻率下工作,執行序 B 由執行序 A 處存取目前搖桿位置並傳送至遠 端,同時將由遠端接收到的力覺資訊傳送給執行序 A,執行序 C 則同樣存取搖 桿位置後將其輸入虛擬實境並更新畫面,執行序 C 會將由虛擬導引計算出的虛 擬的回饋力回傳給執行序A,執行序 A 將會把由執行序 B 及 C 收集來的力資訊 結合,成為真正要回饋給使用者的回饋力,圖3-9 為執行緒 ABC 之間互相通訊 的示意圖。

圖3-9 多執行序執行示意圖

最後介紹遠端操控系統的使用介面,圖 3-10(a)和(b)分別是 Client 端以及 Server 端程式的使用者介面,圖 3-10(a)為 Client 端介面,虛擬場景不僅可以供使 用者進行實際遠端操作,也可以在Client 端獨立進行模擬的實驗︰圖中桌上的三 個虛擬方塊可供操作者夾取、碰撞或丟擲,在夾取途中搖桿也會給予使用者回饋 力,使模擬實驗更加貼近真實情形,圖3-10(b)為 Server 端介面,除了接受 Client 端所傳來指令外,亦可以直接經由該介面來對機械手臂下達命令,調整夾爪的位 置、開合等狀態。

(a) (b) 圖3-10 遠端操控系統之使用者介面:(a) Client 端和(b) Server 端

3.4 硬體實現

在硬體方面,本實驗共使用兩台電腦 (遠端、近端),一具機械手臂 (含控制 器),一台力回饋手術搖桿,一具力感測器,以及一具攝影機;近端電腦的配備 為Pentium(R) 4 CPU 1.70Hz,512MB的RAM,遠端電腦的配備為Celeron(R) CPU 2.60Hz,512MB的RAM,其餘的設備說明如下。

(a) Mitsubishi RV-2A 五軸機械手臂

本實驗室所使用的機械手臂為MITSUBISHI的RV-2A五軸機械手臂,所使用

本實驗室所使用的機械手臂為MITSUBISHI的RV-2A五軸機械手臂,所使用

相關文件