• 沒有找到結果。

虛擬導引於機器人遠端操作之應用

N/A
N/A
Protected

Academic year: 2021

Share "虛擬導引於機器人遠端操作之應用"

Copied!
65
0
0

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

全文

(1)

立 交 通 大 學

電機與控制工程學系

碩 士 論 文

虛擬導引於機器人遠端操作之應用

Applying Virtual Guidence for Robot Teleoperation

研 究 生:黃又勳

指導教授:楊谷洋 博士

(2)

虛擬導引於機器人遠端操作之應用

Applying Virtual Guidence for Robot Teleoperation

研 究 生:黃又勳 Student: Yu-Hsun Huang

指導教授:楊谷洋 博士

Advisor: Dr. Kuu-Young Young

國立交通大學

電機與控制工程學系

碩士論文

A Thesis

Submitted to Department of Electrical and Control Engineering

College of Electrical Engineering and Computer Science

National Chiao Tung University

in Partial Fulfillment of the Requirements

of the Degree of Master

in

Electrical and Control Engineering

July 2007

Hsinchu, Taiwan, Republic of China

(3)

虛擬導引於機器人遠端操作之應用

研究生: 黃又勳 指導教授: 楊谷洋教授

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

摘要

由於現今網路技術的發達,人類已經可以藉由操作機器人在各種嚴酷的環 境下進行未知領域的探索,但是遠端操控系統也存在許多缺點,像是由於網路 的延遲使得操作者無法即時得到遠方機器人的資訊,另外攝影機回傳的影像限 制,造成操作者難以判斷物體的遠近關係,這些問題使得遠端操控在實際應用 上產生困難,因而有學者提出利用虛擬場景(Virtual environment)配合虛擬導引 (Virtual guidance)來輔助操作者進行遠端操控,虛擬導引乃透過虛擬場景中提供 的視覺、力覺等對操作者提供輔助,在操作上的穩定性以及效率都有相當大的 幫助。對於虛擬導引的建構方法,已有相當多的研究及著作,本文提出一鎖定 形式虛擬導引方法,該方法利用攝影機提供的平面影像,配合力輔助的導引, 使操作者在操作過程可矯正夾爪位置,彌補定位上的不精確,進而完成工作。 利用所提出方法,我們建構了一網路連結遠端操控機器人系統進行實地操作, 並獲得不錯的實驗結果,證明鎖定式虛擬導引在提昇效率以及穩定性方面,都 可以發揮很好的效果。

(4)

Applying Virtual Guidance for Robot Teleoperation

Student:Yu-Hsun Huang Advisor:Dr. Kuu-Young Young

Department of Electrical and Control Engineering

National Chiao Tung University

Abstract

Rapid development in computer network highly enhances the capability of teleoperation systems, people nowadays can explore an unknown area by using a remote-controlled robot. However, there are still some drawbacks in a telerobtic system.For instance, the operator can not obtain remote information fast enough due to the network time delay. Meanwhile, it is also difficult to distinguish the relative distance between objects from the planar image. Some researchers proposed using virtual environment and virtual guidance to tackles the problems. Virtual guidance acts as a guidance that aids the user in manipulating the robot via providing haptic and visual clues. In this thesis, we propose a novel virtual guidance which is more effective than those proposed previously in object grasping. The proposed virtual guidance integrates the planar image and force reflection to provide the guidance. With it, the operator can easily control the robot gripper for object grasping in the presence of imprecision in positioning. In implementation, we developed a networked VR-based telerobotic system for the proposed virtual guidance. Experiments are performed to demonstrate the effectiveness of the proposed approach.

(5)

誌 謝

首先要感謝我的指導教授----楊谷洋博士,由於他熱心的指導,使我的研究 工作得以順利完成。同時,感謝各位口試委員:楊秉祥老師、蕭得聖老師及曲在 雯博士撥冗參與論文口試,並給予許多寶貴的指導與建議,使我獲益良多。感謝 木政、一元以及豪宇學長對我研究上許多的指導以及協助,讓我能順利完成機器 人系統的建構,感謝兩年來陪我一起歡樂的同學以及學長們︰酋長,感謝你的小 頭、政龍,感謝你的希望、爽聰,感謝你的無敵南台灣輻射線、小鐵,感謝你的 薩克2.0、爽康,感謝你的嘴砲,博翔,感謝你跟我一起九月畢業,章魚,掰啦! 還有感謝宗仁、怡翔、佑綸學弟,在這兩年的實驗室研究生活中,由於你們的陪 伴讓我的生活更多采多姿。 最後要感謝的是我的爸媽,謝謝你們的耐心與信心,讓我能完成學業,謝謝, 在605 實驗室的兩年是很美好的回憶,我永遠也不會忘記,期待下次再相逢的時 候啦!

(6)

目 錄

中文摘要

I

英文摘要

I I

誌 謝

I I I

目 錄

I V

表 目 錄

V I

圖 目 錄

V I I

1. 緒論………1

2. 鎖定形式虛擬導引………8

2.1 虛擬導引路徑建立……….10

2.1.1 Bezier 演算法………12

2.2 虛擬導引回饋範圍……….15

2.3 虛擬導引力回饋演算法……….16

3. 遠端操控系統實現………21

3.1 系統架構……….23

3.2 系統流程……….25

(7)

3.3 軟體實現………..29

3.4 硬體實現………..34

4. 實驗………40

4.1 流程…..………41

4.2 操作實景………..43

4.3 結果與討論………...46

5. 結論………...….….………..…. 50

5.1 未來工作………..………....51

參考文獻………..………...52

(8)

表 目 錄

表 3-1 Mitsubishi RV-2A 五軸機械手臂基本規格………35

表 3-2 CR1-571 控制器基本規格………..36

表3-3 Laparoscopic impulse engine 規格表………..38

表 3-4 力感測器 JR3 基本規格………..39

表 4-1 操作時間的平均值以及標準差………..………….47

(9)

圖 目 錄

圖 1-1 微創機器手術系統「Zeus」………2 圖 1-2 遠端呈現資訊傳遞示意圖………3 圖1-3 遠端操縱系統示意圖………7 圖2-1 鎖定式虛擬導引示意圖………9 圖2-2 虛擬導引建構流程………9 圖2-3 攝影機與夾爪相對位置圖………10 圖2-4 利用攝影機焦點與目標物連線決定導引路徑………11 圖2-5 目標物超出攝影機視角關係圖………12

圖 2-6 (a)三點控制點之 Bezier 曲線與(b)分段式控制點的 Bezier 曲線………14

圖 2-7 不同形狀的力輔助虛擬導引︰(a)圓錐、(b)圓柱體和(c)球形…………15 圖 2-8 力回饋虛擬導引示意圖………16 圖2-9 (a)圓錐形的虛擬導引和(b)回饋力圖解………17 圖2-10 虛擬力演算法示意圖………19 圖2-11 虛擬導引回饋力剖面圖………19 圖2-12 虛擬導引對使用者進行力輔助之流程圖………20 圖 3-1 利 用 虛 擬 實 境 與 攝 影 機 組 合 取 得 物 體 位 置 : (a)攝影機畫面和(b)虛擬場景………22 圖 3-2 遠端操控系統架構圖………24 圖3-3 位置命令處理流程圖………25 圖 3-4 力訊號處理流程圖………26

圖 3-5 使用 Kaiser window 的 FIR lowpass filter………27

(10)

圖 3-7 OpenGL 成像流程………30

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

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

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

圖 3-11 Mitsubishi RV-2A 五軸機械手臂外觀………34

圖 3-12 CR1-571 控制器外觀………35

圖 3-13 Laparoscopic impulse engine………38

圖 3-14 力感測器 JR3 外觀………39 圖 4-1 夾取物體流程圖………42 圖 4-2 操作者在近端進行遠端操控的情形………43 圖 4-3 機器夾爪與操作平台………43 圖 4-4 使用者操作情形:攝影機畫面..………44 圖 4-5 使用者操作情形:虛擬場景………44 圖 4-6 實驗開始時之操作實景:(a)機器人實景和(b)虛擬場景………45 圖 4-7 進行夾取動作時之操作實景:(a)機器人實景和(b)虛擬場景…………45 圖 4-8 夾取物體時之操作實景:(a)機器人實景和(b)虛擬場景………46 圖 4-9 三種力導引下的抓取軌跡圖………47 圖 4-10 圓錐型導引引起的震盪軌跡圖)………49 圖 4-11 利用鎖定式導引夾取不同軟硬度物體之軌跡圖………49

(11)

第一章

緒論

自古以來人類對廣大的未知世界一直充滿著強烈的好奇心與求知慾望,而人 類探索的領域也隨著科技日新月異的進步而逐漸地擴大。從前的科學家們想對危 險的未知環境進行探索時,往往都必須親身歷險,各種突發狀況以及嚴苛的環境 阻礙了科學家們探索研究的腳步。後來科學家提出了由機器人代替人類,進入危 險環境進行各種任務的想法,機器人固然比人類更能抵抗高熱、低溫以及輻射, 然而面對突發狀況,機器人往往缺乏應變的智慧,不能即時的應變及處理。Goertz 與 Thompson 在 1954 年提出遠端操控 (Teleopration) [17]的概念,結合人類與機 器人兩者的優點,不僅讓人類的感測與操控能力能夠延伸到遠端,使得科學家得 以透過遙控機器人探索遠方的環境來收集各種資訊,如旅居者號 (Sojourner)在 1997 年成功的登陸火星[15],就是一個成功的案例,近年來遠端操控有越來越多 的應用,尤其在具有危險性或是人類無法親自到現場的環境,例如外太空、深海、 放測性檢測等[13,14]。 遠端操控系統在醫學等領域亦多所應用,利用遠端操控系統進行手術的構想 已經在十多年前便已付諸實現,在1996 年,Computer Motion Company 便開發 出微創機器手術系統,名為「Zeus」[6 ,23];利用遠端操控系統進行手術的優點 是可以突破尺寸的限制,例如透過將使用者公分等級輸入指令映射至遠端機器手 臂公厘等級的輸出,可以讓醫師進行更加精密的操作,在一些需要高精度的手術 中提高效率,同時系統透過力輔助對醫師本身的輔助,可以減少進行高疲勞度手 術對醫師造成的負擔。透過遠端操控系統的幫助,醫師亦可以對遠在他處的病患

(12)

為患者進行遠端手術(Telesurgery);在 2001 年,美國紐約一名醫師利用該項特點 以 Zeus 系統,透過高速光纖網路,首次成功完成遠端手術,替一名位於法國 高齡68 歲的女性病患進行膽囊切除手術。 圖1-1 微創機器手術系統「Zeus」[6] 遠端操控系統的核心主要由遠端呈現以及遠端操控所組成,在遠端呈現技術 裡,最常見的係以視覺和聽覺方面來產生擬真的環境,我們可以藉助顯像式頭盔 (Human mounted device,HMD)或立體眼鏡(3D stereo glasses)產生立體視覺 景象,透過音效卡和耳機在聽覺方面製造出立體的音場和效果;此外,力覺(Force reflection)的呈現也相當的重要,它能夠讓身處虛擬環境中的使用者感受到外界 給予的反應,而不僅是單方向的回饋,意即當使用者與虛擬環境互動時,可以透 過力覺裝置,像是透過力回饋搖桿(Force-reflection joystick)、感應手套(Sensing glove)、空間球 (Spaceball)、3D 滑鼠 (3D mouse) 以及感測衣 (Body suit)等感知

設備產生擬真的回饋力,傳達給使用者感應當時遠端接觸的情況。圖1-2 為人類

與力覺裝置之間訊息傳遞的流程圖,當人類與物體接觸時,會經由感覺神經透過 大腦將訊息傳遞給運動神經,讓手或手臂做出適當的反應,而在力覺裝置傳遞回 饋過程中,先透過感測器的量測,再經由電腦運算傳給致動器,讓它產生一回饋 力到操作者手上,使操作者可以感受到力覺資訊。

(13)

圖1-2 遠端呈現資訊傳遞示意圖

在遠端操控部份,為了讓機器人能夠協助人類完成較困難、較危險的工作, 它必須要能與使用者進行良好的溝通,也就是需要完善的人機介面才能順利達成 我 們 所 期 望 的 目 標 。 在1999年, Johansson 和 Linde [5]就使用 Microsoft Sidewinder 力回饋搖桿,在2D場景中行走迷宮,並且以搖桿的力回饋效果來模 擬碰撞到各種角度的牆壁時所產生的作用力,證明一般力回饋搖桿的可靠度及其 應用的可行性。現今,擁有力回饋效果的操作介面在許多領域中可見到其成功的 應用,例如在醫學方面,擁有力回饋操作介面的羅森三號( Luoson III )[18],藉 著圍繞在輪椅周圍的超音波裝置,將輪椅附近的環境以力回饋搖桿將資訊傳達給 操作者,即使操作者是位盲人,仍然可以知道前進路徑所將遇到的阻礙,以這個 例子看來,力回饋裝置不僅使得操作介面更加簡易,並且增加了操作時的安全性 及真實性。 先前已有許多學者[2,3,9]利用虛擬場景(Virtual environment)配合虛擬導引 (Virtual fixture)來實現遠端呈現以及輔助操作者進行遠端操控,虛擬場景的優點 在於由近端電腦模擬出遠端機器人附近的環境,因此不受網路資訊傳遞延遲的影 響,可以帶給操作者即時的影像回饋;虛擬實境還有可以任意變更視點的好處,

(14)

可以避免遠端攝影機被障礙物阻擋造成使用者視覺上的死角;而虛擬導引即利用 在虛擬場景中給予使用者視覺上的指示、力牆的輔助,或直接修正使用者下達之 控制指令等來輔助使用者進行操作,近年來,虛擬導引在訓練初學者操作設備及 輔助使用者更快速的進行操作,都發揮相當良好的效果[1,9,16]。 虛擬導引是虛擬實境技術的一種應用,目的是為了協助使用者的操作,讓整 個操作的過程更加簡易。虛擬導引的技術,在追隨路徑的實驗中,無論在增加操 作精確度或增快操作速度上,都展現了非常好的成果[2,3]。虛擬導引的方式,包 括視覺、力覺、聽覺或是它們的組合使用[4],目前已經有許多複合式虛擬導引 來協助使用者的成功案例,例如Rosenberg 應用虛擬力回饋,幫助使用者在遠端 操作的環境中完成組裝的工作,實驗結果顯示,這樣的方式增加七成以上的成功 率[11];Park 等人在 2001 年將虛擬牆的模型,運用在遠端操作冠狀動脈的外科 手術上,並成功的縮減了 27%的操作時間[21];而近年來 Peshkin 和 Colgate 也 在所發展的Cobot 中使用了虛擬導引的方式來完成工作[12]。 虛擬導引對使用者進行輔助的方法主要是在虛擬場景中建構一回饋範圍,當 使用者進入該範圍時,由電腦給予力覺及視覺等回饋,以虛擬牆為例,虛擬導引 在回饋範圍的邊緣建立起一道牆,當使用者碰觸到牆時,會受到一股反抗力,藉 此將使用者限制在範圍內,此即為力覺形式的輔助。虛擬導引的回饋範圍,依照 外觀可以分成圓錐型、圓柱型等不同的幾何形狀,S.Payandeh 與 Z.Stanisic[20] 指出,根據使用者欲進行的工作改變,所需要的回饋範圍也不盡相同,如圓錐型 的導引適合用於導引使用者前往特定地點,圓柱型適合讓使用者在一定範圍內移 動,可說是虛擬導引應依任務改變而調整,如果選取的回饋範圍不適合指定的工 作,反而會造成對使用者的妨礙[15]。 在建立虛擬導引時,除了回饋的形狀外,尚需要考慮到回饋力的範圍,回饋

(15)

力的大小等問題,回饋範圍大小與操作者要進行的工作有關,若操作者要夾取一 個螺絲釘,則回饋範圍就不宜太大,若是要讓機器人巡視房間,則範圍就不宜太 小,其他的因素,如夾取物體的軟硬度等,亦會影響範圍大小的設定;另外回饋 力的大小則直接影響了使用者的感受,太小的回饋力對使用者沒有太大幫助,太 大的回饋力則會造成系統的不穩定,這些參數都要配合使用者的目的進行設定, 建立合宜的虛擬導引以達到快速、直覺的遠端操作,而如何設計出適合的虛擬導 引對遠端系統操控是相當重要的。 本文的重點即在討論根據虛擬導引形式的不同,對於使用者操作效率上的影 響,進而設計一種鎖定式虛擬導引,並配合該虛擬導引發展出一個因應的遠端操 控系統;該虛擬導引主要是用於附有機器夾爪的機器人遠端操控系統,目的是協 助使用者更快速的操作夾爪夾取及移動遠端的物體。接下來,我們將介紹一個附 夾爪的遠端操控系統在操作上的困難處,並說明鎖定形式的虛擬導引如何改善這 些缺點。 在一個附有夾爪的遠端操控系統中,使用者由視覺回饋了解到遠處的情況, 並利用力回饋搖桿控制遠端的機器人進行探索或搬運物體的動作;但是,在操作 過程中使用者通常無法很順利的夾取物體,原因在於視覺回饋上的誤差以及操作 介面的非直覺式的控制,其中視覺回饋上的問題,在於繪製虛擬場景時所產生的 誤差,在繪製場景時,通常需要用到3D 定位來取得物體的位置、大小,以及其 他資訊;在使用3D 影像定位建構虛擬場景上,本實驗室已有若干研究成果發表 [24,25],受限於影像處理運算的速度,虛擬場景無法即時的繪出物體在外力碰撞 產生的移動或者翻轉的情形,因此經常有虛擬場景與實際情況不一致的情形,造 成操作者對物體位置的誤判。再者,操作介面的非直覺式的控制也會影響到使用 者的操作,用搖桿來控制機器夾爪抓取物體,使用者往往很難體會搖桿與夾爪間

(16)

取物體時,要花費很大的力氣,甚至會弄壞目標物。 針對以上問題,在本論文之中我們使用攝影機的2D 影像配合 3D 虛擬實境, 讓操作者來自行矯正誤差;Curtis 與 Michael[8]在遠端操控汽車行走迷宮的實驗 中,談到影像回饋搭配虛擬場景的效果要比單獨使用虛擬場景要來的好,當我們 無法準確知道物體在遠端環境中的位置時,近端電腦只要藉由力覺導引,輔助操 作者到達目標物的附近,讓操作者透過攝影機的平面影像以及力感測器的回饋, 使操作者自行進行位置的微調。為了達到上述的目的,我們將攝影機裝置在夾爪 上,回傳給使用者第一人稱視角的影像,並利用力覺導引輔助使用者操作機械夾 爪,使得夾爪在移動時,目標物能落在使用者的視線內,有如將目標物鎖定在攝 影機畫面上,因此,我們將該導引稱為鎖定式虛擬導引。使用者透過第一人稱的 畫面,對於掌握物體的遠近感以及相對位置亦較有幫助,最後,透過力牆的輔助, 使用者沿著力牆即可很輕易操控搖桿,控制機器人遠離或接近物體,讓使用者可 以克服對輸入裝置的不直覺控制。 我們配合鎖定式虛擬導引建構出一個因應的網路遠端遙控機器人系統供實 地進行遠端操控,該系統的特色如下: ․利用虛擬場景提供操作者不同的視角,使操作者能掌握物體的遠近距離; ․藉由力輔助虛擬導引(Virtual fixture)協助使用者快速並穩定的到達目標附近; ․攝影機(CMOS camera)的視覺回饋配合力感測器(Force sensor)量測的力資訊,

使操作者得以進行細微的調整,藉此可以補足影像定位的誤差。

圖1-3 為本文所建構遠端操縱系統示意圖,使用者由力回饋輸入裝置輸入指

令給近端電腦,近端電腦透過網路向遠端電腦傳送位置命令並取得機械手臂及感 測器(攝影機、力感測器)的資訊,經過處理後將視覺資訊(2D 影像、3D 虛擬場景)

(17)

及力資訊回傳給使用者。

近端(Client)

遠端(Server)

感測器

機械手臂

攝影機

遠端主機

近端主機

力回饋輸

入裝置

網際網路

使用者

視覺回授 使用者輸 入指令 圖1-3 遠端操縱系統示意圖 接下來簡述各章的內容,第二章將會說明鎖定式虛擬導引的建立,及如何輔 助操作者進行操作,第三章則是介紹我們所建構的機械夾爪結合網路之遠端物體 抓取系統,在第三章中我們會說明整個系統操作流程,並與先前實驗室已發展的 成果比較,在第四章的實驗中,將呈現如何輔助操作者透過該系統進行遠端抓取 的任務,最後第五章為本文下總結以及針對實驗結果提出討論和未來須改善的部 分。

(18)

第二章

鎖定形式虛擬導引

本章的內容主要在敘述遠端操控系統如何利用鎖定式虛擬導引對使用者進 行輔助,在遠端操控系統中,使用者乃是透過近端的虛擬環境與機器人進行互 動,其中虛擬引擎(VR engine)負責建立虛擬場景給予使用者視覺上的回饋,同時 在虛擬場景中建立虛擬導引並計算回饋力,藉此給予使用者力覺上的輔助。透過 虛擬導引,我們得以改善操作者操作上的效率。 我們針對附有夾爪的遠端操控系統,設計出一鎖定式虛擬導引,用以因應使 用者對遠方物體夾取、放置及搬運的需求,該導引利用夾爪與攝影機的組合,來 達到輔助的目的,圖2-1為遠端抓取系統示意圖,該圖為機器手臂側面(x-z平面), 圖中有一個機械夾爪,使用者可以經由遙控該夾爪來夾取桌上的目標物,我們在 夾爪上安置一攝影機,藉此回傳第一人稱視角的畫面給使用者;在使用者下達開 始輔助的指令後,電腦將會根據夾爪尖端的位置(以下簡稱操作點),以及目標物 的位置計算出一條軸線,並沿著軸線建立力覺虛擬導引,軸線即導引路徑,也就 是我們希望使用者沿其移動的路線。 Payandeh與Stanisic在 [20]中指出,虛擬導引隨指定工作而改變,舉例來說, 我們將”把物體從A點移動到B點”這個搬運過程分割成三個工作︰”將夾爪移動 到A點,抓取物體”對應的是定位用導引,”由A點移動到B點上空”對應的是移動 用導引,”由B點上空移動到B點,放置物體”對應的是定位用導引,因為由A點移 動到B點上空時,不限制使用者移動的方向,故移動導引不給使用者過多的限 制,對操作上的影響也就不大;對於操作上的效率,主要的影響將決定在定位導

(19)

引的優劣,在這方面,鎖定式虛擬導引在作為一個定位導引上有相當好的表現。 圖2-2 為力導引建構流程,首先依使用者工作的要求決定導引路徑、回饋範 圍的形狀,接著參考工作中目標物的大小、軟硬度決定回饋範圍的大小以及調整 適當的回饋力強弱,在最後,電腦將根據回饋力演算法計算出回饋力,並回饋給 使用者,以下各節將對這些流程分別介紹,2.1 節說明如何建立導引路徑,2.2 節為決定回饋範圍, 2.3 節則敘述虛擬導引的力演算法及各參數的設定,用以計 算出輔助使用者的回饋力,並列出整個利用虛擬導引進行力輔助的流程。 圖2-2 虛擬導引建構流程 圖2-1 鎖定式虛擬導引示意圖

(20)

2.1 虛擬導引路徑建立

本節內容為如何規劃出導引路徑,由於攝影機在夾爪上的位置及角度都會影 響到導引路徑的設計,因此我們將先說明攝影機的擺設方法,再繼續說明如何建 構導引路徑。圖2-3為攝影機與夾爪相對位置圖,C點為攝影機位置,P點為操作 點,攝影機掛在夾爪的側邊,並且以Ө角向夾爪傾斜,目的是要取得操作點附近 的影像;自P點延長一線交攝影機視線於Q點,令線段PQ長為h,經由調整Ө將 可以改變h的大小,由圖2-3可看出,當Ө越大時h越小,兩者呈現反比關係。隨 後我們會在建立路徑的過程中提到,路徑與h的關係,並說明我們如何決定h Ө 的值。 P C h Q Ө

Z

X

圖2-3 攝影機與夾爪相對位置圖 導引路徑的建立過程如下:首先將攝影機視線與目標物連成一直線L,則可 以知道當攝影機在 L 上移動時,操作者都可以在畫面上觀察到目標物。接著通 過操作點作一直線M1 與 L 平行,再來過目標點作一垂直桌面,長度為 h 的直線 M2,如圖 2-4 所示,M1 及 M2 即為虛擬導引的軸線,也就是導引路徑。

(21)

直線M1 直線L 直線M2 Z X 圖2-4 利用攝影機焦點與目標物連線決定導引路徑 由於攝影機的位置為固定在夾爪上,故操作點與攝影機之間的相對位置是不 變的,當操作點沿著直線M1 前進時,攝影機也會沿著直線 L 前進,換句話說, 在操作點沿著直線M1 移動到目標正上方的位置之前,目標物都會將會保持在操 作者的視線之內,當操作點移動到目標正上方,也就是M1 與 M2 之交點時,此 時夾爪與目標物的距離為h,夾爪、攝影機與目標物的關係圖將如圖 2-3 所表示, 夾爪位置為P,攝影機位置為 C,而目標物位置為 Q,當夾爪繼續往向下抓取時, 目標物的位置會落在PQ上,由Q 往 P 移動,當目標物到達 P 點時,也是夾爪可 以抓取到物體的時候,因此我們可以知道,攝影機必須可以觀察到整個PQ線段, 否則在夾取時,目標將會超出攝影機的視角,如圖 2-5 所示,藉由調整 Ө 的大 小,可以改變攝影機的角度,因此,Ө 與目標物的大小及攝影機視角寬窄有關, 我們所使用的攝影機視角約為26.56。 ,經過計算,Ө 在 26。 以上都可以讓攝影機 觀察到整個PQ線段,然而Ө 太大時,視角被夾爪遮蓋的比例也會增大,我們設 Ө 為 30。 ,對應的h 值為 15cm,。最後我們利用 Bezier 演算法來求得這個軸線 的 近 似 曲 線 , 藉 由 平 滑 的 導 引 路 徑 讓 使 用 者 在 行 進 中 有 更 好 的 表 現 , 介 紹如下。

(22)

圖2-5 目標物超出攝影機視角關係圖

2.1.1 Bezier演算法

Bezier 曲線[19,22]是由控制點所連接成的多邊形來決定的,因此只要改變控 制點座標,就可以繪製出產生出一個近似所想要的曲線;現假設有n+1個控制點 在3 維空間中,其 Bezier 參數曲線方程式表示如下,下式也稱之為n階的Bezier 曲線方程式: , 0 ( ) n i n( ) i i u B u

C

P

= =

0≤ ≤u 1 (2.1) 其中n是多項式的次數,

{ }

Pi 表示其n+1個控制點,而

{

Bi n, ( )u

}

為混合函數 (blending function),可描述成 , ( ) ! (1 ) !( )! i n i i n u u u n B i n i − = − − (2.2) 其中i 是從 0 到n,表示第幾個控制點;在(2.1)式中,尚需滿足u

[ ]

0,1 這個條 件,即當u=0時,則混合函數只有B0,n(0)為1,其餘都為 0,當u=1時,則混合

(23)

函數只有Bn n, (1)為 1,其餘都為 0,因為這樣所以才會使得 Bezier 曲線有著只會 通過第一個控制點和最後一個控制點的特性,另外混合函數還有一個特性就是: , 0 ( ) 1 n i n i u B = =

0≤ ≤u 1 (2.3) 根據(2.2)式可求得表示式為: 3 0,3 2 1,3 2 2,3 3 3,3

( ) (1

)

( ) 3 (1

)

( ) 3 (1

)

( )

u u u u u u u u u u

B

B

B

B

= −

=

=

=

(2.4) 由(2.4)式可知B u 只和曲線參數i,3( ) u有關,接著利用(2.3)式來計算Bezier曲線, 表示如下: 3 ,3 0 ( ) i ( ) i i u B u

C

P

= =

0B0,3( )u 1B1,3( )u 2B2,3( )u 3B3,3( )u

P

P

P

P

= + + + 3 2 2 3 0(1 u) 13 (1u u) 23 (1u u) 3u

P

P

P

P

= − + − + − + (2.5) 由(2.5)式可以知道我們只要在空間中任意取出四點(P0~P3),都可以藉由 Bezier 演算法計算出近似線,為了節省運算時間,我們使用三點控制點來產生曲線。圖 2-6(a)為一個由三個控制點 P1P2以及 P3所建構的二次 Bezier 曲線,可以發現 在軸線的轉折處,近似線與原本的軸線有一段誤差。為此,我們使用分段控制點 的 Bezier 演算法,藉此減小誤差,該方法為在轉折處增加控制點,以新的控制 點繪出更為接近的曲線,圖2-6(b)則為使用分段式控制點後的結果,我們在靠近 P2的位置,增加了兩個控制點P1’及 P3’,以 P1’、P2P3’為控制點生成新的 Bezier 曲線後,與線段P1P1'、線段P3P3'組成一個近似曲線,由圖2-6(b)可看出雖然使 用的控制點增加,計算量變大,但是在轉折處的誤差則變小了,我們控制P1’以

(24)

P3’與 P2的相對距離來改變誤差的大小,在實驗中使用的P1’以及 P3’與 P2 相 對距離關係為 ⎩ ⎨ ⎧ = = 2 3 1 ' 3 3 2 1 1 ' 1 1 P P D P P P P D P P (2.6) D 值將會決定 P1’以及 P3’的位置,同時也會決定 Bezier 曲線在轉折處的誤差值, 我們一方面不希望P1’以及 P3’離 P2太遠,這樣會使得誤差太大,同時也不希望 P1’及 P3’離 P2太近,這樣會使得近似曲線不夠圓滑,失去了原本使用 Bezier 演 算法的意義,經過測試後,我們選擇D=8 為一個較理想的值。 (a) (b) 圖2-6 (a)三點控制點之 Bezier 曲線與(b)分段式控制點的 Bezier 曲線

(25)

2.2 虛擬導引回饋範圍

在設定好導引路徑後,我們接著設定虛擬導引力回饋範圍的形狀,如圖2-7 所示,虛擬導引的範圍有許多不同的幾何形狀:球形(Sphere)、圓柱體(Cylinder)、 以及圓錐(Cone)等。不同的幾何圖形有不同的目的,比方說在走迷宮的過程中, 可以將錐狀的作用力範圍用在起始點,較大的開口引導使用者在空間中接近入 口;球狀用在終點,給予使用者較大的彈性到達目標;而中間避障的過程,則是 使用圓柱狀,避免使用者在操作的過程中碰撞到邊界[9]。 (a) (b) (c) 圖2-7 不同形狀的力輔助虛擬導引︰(a)圓錐、(b)圓柱體和(c)球形 由於我們主要的目的是讓使用者快速的在導引路徑上移動,因此我們選擇了 一個圓柱型的結構作為鎖定式導引的回饋範圍,沿著導引路徑建構出一個外觀為 彎曲圓柱的形狀。我們也另外選擇了圓錐型的虛擬導引作為對照,圓錐型的導引 一般應用在讓使用者移動到定點的工作,在第四章的實驗將會用這兩種不同的導 引來輔助使用者進行夾取物體的工作,觀察在指定工作下兩者的差異性。在下一 節將介紹虛擬導引中相當重要的回饋力演算法,透過該演算法,虛擬導引將可以 計算出回饋力的大小。

(26)

2.3 虛擬導引力回饋演算法

當使用者進入虛擬導引的回饋範圍時,虛擬導引會設置一個導引向量,並 且根據使用者的位置與導引向量計算出回饋的大小,以位置命令為輸入而力為輸 出,利用搖桿上的回饋力推移或拉扯使用者,達到導引使用者的效果,其演算法 如下,當使用者對系統輸入一向量

V

u

G

,該訊號將分成兩個向量,一個為垂直於 導引向量Vg G 的向量VGpp,另一個為

V

u

G

VGg上之投影VGpj,如圖2-8 所示,輸出力 o

V

G

可寫成如(2.7)式 :

)

(

pp pj o

K

V

V

V

G

=

×

G

+

G

K ≥0 (2.7) o

V

G

V

pp

G

V

pj

G

反向,目的是將操作者吸引至

V

g

G

的起點,(2.7)式中的 K 為導引 係數(Guiding factor),當 K 越大時,逼迫操作者向Vg G 靠攏的作用力越大,反之則 作用力越小,操作者越可自由移動,較不受虛擬導引影響。 圖2-8 力回饋虛擬導引示意圖 K 的大小與虛擬場景的解析度、力回饋搖桿的輸出力範圍以及力回饋範圍的大小

u

V

G

pj

V

G

V

pp

G

g

V

G

(27)

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

V

g

G

後,以VGg為軸心劃定力回饋的範圍即可做出 不同形狀的虛擬導引,倘若我們以導引向量VGg為軸心畫出一個圓錐C,如圖 2-9(a) 所示,並令圓錐C 為力回饋的範圍,當

V

u

G

落在C 上時操作者會開始受到力回饋, 如圖2-9(b)所示,它的功能是將使用者吸引至圓錐 C 的頂點。 (a) (b) 圖2-9 (a)圓錐形的虛擬導引和(b)回饋力圖解 我們接下來討論當使用者進入作用力的範圍時將會發生甚麼情形,在過去虛 擬導引類似的應用上,大都是直接採用圓錐狀(cone)模型來做為作用力的範圍, 一旦操作點進入作用力範圍,則依照力回饋演算法給予使用者力覺的感受,而受 力方向直接指向目標點,這是一個簡單而且直觀的方法,但在力回饋範圍的邊界 上我們發現一個問題,當操作點進入受力邊界時,回授的力量是最大的,這樣的 設定是為了讓操作點在接近目標時,可以感受到越來越小的回授力,以避免在目 標點附近過大的力覺回饋所造成的振動;而當操作點剛進入作用範圍時,行進的 方向不一定和此時的受力方向一致,因此一個和行進不同方向的力量突然出現, 往往會驚嚇到使用者,造成操作上暫時性的混亂;後期發表的論文大都已經注意 到這個問題,較為普遍的解決方式是,在回授力的計算上再加入時間的控制參數 [ 1 6 ] , 也 就 是 說 , 再 加 入 一 個 小 於 1 且 隨 時 間 遞 增 的 權 重 , 來 緩 和 突 g

V

G

C

(28)

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

F

o

G

可以寫成

)

(t

g

V

F

K

o

=

G

o

×

(2.8) 其中g(t)為一時間函數:

<

=

τ

τ

τ

for t

1

for t

/

)

(

t

t

g

(2.9) 當操作點剛進入受力範圍的邊緣時,t 隨著時脈( clock )開始計數,因此,使用者 所受到大的吸引力會被小的權重平均掉;而隨著操作點在受力範圍中移動,權重 也慢慢增加,最終(τ 個時脈後)回復到原始計算出的力量大小,如此一來,可以 避免使用者進入力導引範圍時,突然受到一個很大的回饋力而造成的操作上的不 穩定。 接下來,我們將(2.7)式的力演算法與(2.8)式結合,我們知道力演算法將根據 所使用的虛擬導引形式而各自有所不同;鎖定式導引與圓錐型導引不同的地方在 於,導引向量在圓錐型導引中方向恆固定,而在鎖定式導引中導引向量則會隨著 軸線而改變方向,故演算法也有所不同,令圓柱型力回饋範圍的軸線為L,其中 L 由 P0Pn 所組成,操作點為 U,已知操作點在力回饋範圍中時可以找到一與 操作點距離最近之點 Pi 以及該點的前一點 Pi-1,設向量PiU 為輸入向量

V

u

G

, 向量Pi1Pi 為導引向量VGg,此時(2.8)式將改寫如下︰

F

o

=

V

o

×

g

(t

)

G

G

)

(

)

(

V

V

h

g

t

K

×

pp

+

pj

×

×

=

G

G

(2.10)

(29)

pp VG 為操作向量對導引向量VGg之垂直向量,VGpj為操作向量在導引向量上的投 影,K 為導引係數,h 為一個高度係數,正比於控制點與圓柱底部的相對距離, 加入 h 的原因是想增加將使用者吸引到目標物的縱向力量,圖解如圖 2-10。 圖2-10 虛擬力演算法示意圖 圖2-11 為回饋力的縱切面剖面圖(x-z 軸), 顏色代表回饋力的強度,紅色表示最 強而藍色表示最弱,可以看見越接近目標點(0,0)處,回饋力就越小。 圖2-11 虛擬導引回饋力剖面圖

(30)

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

Y

N

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

(31)

第三章

遠端操控系統實現

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

(32)

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

(33)

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

3.1 系統架構

我們所採用的遠端系統採用分散式的架構概念,共使用了兩台電腦,如圖 3-2 所示,一台是近端電腦(Client),負責提供操作者視覺回饋、建立虛擬實境、 建構虛擬導引以及與力回饋搖桿進行溝通,近端電腦透過介面卡讀取搖桿資訊, 並化為位置指令,同時也經由螢幕提供使用者視覺回饋,工作執行中將使用者對 搖桿輸入的命令傳送到遠端,接收到遠端電腦回送的力資訊及視覺資訊時,將該 力資訊與虛擬導引所計算之回饋力相加,成為操作者實際所感受到的回饋力;而 視覺資訊則與虛擬實境以雙視窗的方式傳達給操作者,讓使用者能同時觀察到兩 邊的變化。 另一台遠端電腦則放在伺服端,主要的目的在於處理近端電腦的命令以及力 感測器所測得之力資訊,遠端電腦將位置指令轉換為機器手臂的角度控制命令 後,傳達給手臂的控制器,改變手臂各軸的角度,藉以移動夾爪的位置,遠端電 腦同時也對機器手臂的工作範圍以及姿態進行限制,以防止因為操作者不當的操 作或近端電腦程式的錯誤造成手臂的損傷,攝影機以及力感測器的資訊,則透過 USB介面以及JR3的資料擷取卡來取得,資料在處理後將傳回近端電腦進行整 合,回饋給使用者。

(34)

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

(35)

3.2 系統流程

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

(36)

圖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)所示。

(37)

圖3-5 使用 Kaiser window 的 FIR lowpass filter,上圖為 window 的 weighting 值, 下圖為頻率響應圖。

(38)

(a)

(b)

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

(39)

3.3 軟體實現

本論文運用到的軟體工具主要為Visual C++ 6.0以及Borland C++ builder 5.0,Client端主要實現的部分包括搖桿的驅動、與Server端的網路溝通、建構虛 擬實境以及虛擬導引的智慧型界面,Server端則負責與Client端的溝通、攝影機 的驅動、操縱機械手臂以及處理力感測器的資訊等。由於機械手臂的控制、網路 封包的傳遞和虛擬實境的更新都必須即時處理,因此在Client端我們採用多執行 緒的方式;本章中首先我們針對虛擬實境系統中可選擇採用的軟體技術進行整理 與回顧,並對所選用的虛擬實境軟體作討論,接著介紹多執行緒部分,最後分別 介紹Client端與Sever端操作程式的介面。 首先是虛擬環境的部份,在本實驗室的遠端操作系統中我們採用OpenGL繪 圖函式庫來建構虛擬場景,雖然還有許多其他的工具,例如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 函數呼叫時,指令會放到指令緩衝區中,緩衝區最終會填滿指令、座標點 資料、材質資料等等,當緩衝區清空(Flush)時,不管是經由程式指令或驅動程式 本身的設計,指令與資料都會被傳到下一個階段,座標點資料會先被轉換並進行 燈光運算,其中用以描述物體幾何位置的座標點會針對物體的位置與方向進行運 算,同時也會進行光影計算,以得出每個點上的顏色該有多亮,完成這個程序後, 就把資料提供給掃描顯像部份。掃描顯像器將依幾何位置、顏色與材質資料建立

(40)

影像,然後影像會放到圖形緩衝區內。圖形緩衝區是圖形顯示裝置的記憶體如繪 圖卡、顯示卡,到了這個階段圖形顯示裝置會把影像顯示到螢幕上。 圖3-7 OpenGL 成像流程 根據Delingette在研究[10]中指出,在人類的視覺感受中,為了要讓人感覺畫 面流暢,至少每秒需繪製20到30個畫面,也就是虛擬實境的更新頻率需要20-30Hz 左右,在力覺呈現方面,其取樣頻率範圍約在300-1000Hz,所以如果要同時在模 擬迴圈中傳送並呈現出視覺及回饋力,讓它在相同的模擬控制迴圈中,會因為無 法提供足夠的頻寬,而可能會造成回饋的力不穩定[7],讓操控者會因所回饋的 力不連續而感覺不適,所以力覺上其更新頻率必須夠快,才可滿足人類對力覺的 需求,因此利用多執行緒 (Multithreading) 的技巧來解決這問題。 利用執行緒來設計程式,除了提昇效率外,還可以避免讓程式太過複雜,使 用此技術,將可以在程式中進行兩個以上作業的平行處理,也就是使程式得以將 其工作切開,獨立運作,不互相影響,如圖3-8所示,其中圖3-8(a)為一般程式設 計時的執行順序和時間的關係,圖3-8(b)則為執行緒程式執行的順序和時間的關 係;舉個日常生活的例來說,單緒程式就像大型量飯店中只有一個結帳出口,如 果顧客採購東西只有一點點,那麼就可以快速結帳,但若採買的東西很多,則結 帳時間就需很久,且其它想結帳的顧客也需等待,而多緒程式就像是有很多個結 帳出口,就算一個出口停頓了很久,也不會影響到其它的出口路線。值得注意的 是,CPU在同一個時間內只能處理其中某一個執行緒的資料,因此每一個執行緒 OpenGL 指令緩衝 區 OpenGL API 函數 呼叫 轉換與打光 掃描 顯像 圖形緩 衝區

(41)

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

(a) 一般程式執行

(b) 多執行緒程式執行

(42)

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

(43)

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

(44)

3.4 硬體實現

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

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

本實驗室所使用的機械手臂為MITSUBISHI的RV-2A五軸機械手臂,所使用 的控制器為該公司的CR1-571,圖3-11為機械手臂RV-2A的外觀,圖3-12為控制 器CR1-571的外觀,而表3-1及表3-2則分別為機械手臂RV-2A以及控制器CR1-571 的基本規格。

(45)

圖3-12 CR1-571 控制器外觀

(46)

表3-2 CR1-571 控制器基本規格 此機械手臂共有三種控制方式,第一種是由連接於控制器的Teach Box直接 控制,第二種是將硬體描述語言寫在控制器中,直接執行其中的命令,第三種則 是在控制器中下達接受網路控制的指令,讓機械手臂接受網路上某台電腦的控 制;為了達到遠端操作的目標,我們使用第三種的控制模式。控制器CR1-571接 受兩種硬體驅動的語言,分別為MELFA-BASICIV,以及MOVEMASTER,這兩 種語言都必須直接寫在控制器中,前者主要適用於近端電腦的控制,可透過 RS-232來溝通,同時在控制器中提供了大量的函式庫,可在控制器中撰寫程式

(47)

完成較複雜的工作,但若是要透過網路即時控制RV-2A時,MOVEMASTER則提 供了較為便利的設計方式,讓使用者在近端電腦撰寫遠端控制程式時,可以直接 對 機 械 手 臂 末 端 的 夾 爪 位 置 下 達 命 令 , 因 此 在 實 驗 中 我 們 選 擇 了 MOVEMASTER作為手臂的硬體驅動語言。在MOVEMASTER中,我們使用了 MXT、GC、GO、以及ED四個指令,其中,MXT為連接遠端伺服器並接受其命 令的指令,而其後所輸入的兩個參數分別為預設的連線伺服器的網路位置,在控 制 器C R 1 - 5 7 1 中 可 預 存 三 組 連 線 的 網 路 I P 位 置 , 分 別 為 M X T C O M 1 、 MXTCOM2、以及MXTCOM3,以及命令的格式,RV-2A可以接受三種命令格式, 分別為XYZ coordinate data,Joint coordinate data,以及Motor pulse coordinate data,GC是夾爪關閉的指令,GO是夾爪張開的指令,ED則是代表程式的終止。

(b) Laproscopic Impulse Engine

在實現上述的遠端操控系統時,近端所使用到的設備包含一台個人電腦和力 回饋搖桿,個人電腦主要是呈現虛擬實境場景,並且配合遠端傳回的資料以計算 虛擬力回饋的方向和大小,以進行資料的接收和傳送命令給力回饋搖桿,我們採 用 Immersion公司的Laparoscopic impulse engine [26],如圖3-13所示,當作接收 位置命令和產生力回饋給使用者,由於是五軸的搖桿,我們操作握柄可以做X、 Y和Z方向的移動,在握柄上方有旋轉環,可以做旋轉的方向的移動,另外在搖 桿的頂端,其外觀看起來像把剪刀,可以控制開和關兩個自由度,表3.2為此搖 桿規格。

(48)

圖3-13 Laparoscopic impulse engine

表3-3 Laparoscopic impulse engine 規格表

Item Specification Motion and Tracking 5

Degree of Freedom

Force Feedback 3

Workspace Size 10 23 23 cm× × 3

Position Resolution 0.0009 in.(1100dpi) Max Force Output 2 lbs. (8.9N) Backdrive Friction ≤ 0.5 oz (0.14N)

Linear Axis 650 Hz Bandwidth

Rotary Axis 120Hz

(49)

(c) JR3 力感測器

為了獲得夾爪與外界物體碰撞時的力資訊,我們使用了JR3的力感測器,量 測得到的力資訊混合虛擬場景產生的虛擬力,即為搖桿提供給使用者的回饋力; JR3為六軸力感測器,除了測量X、Y、Z方向的力量大小外,還有對三個軸的旋 轉力量的偵測,我們在實驗中使用了X、Y、Z方向力量的量測,其外觀如下圖 3-14所示,表3-4為其基本規格。 圖3-14 力感測器 JR3 外觀 表3-4 力感測器 JR3 基本規格 Nominal Diameter: 75 mm Height: 31.8 mm Weight: 310 grs

Electrical Load Settings Sensor Load Ratings Calibration Load used Fx 11.0 kgs 11.3 kgs 11.3 kgs Fy 11.0 kgs 11.3 kgs 11.3 kgs Fz 22.0 kgs 22.7 kgs 22.7 kgs Mx 85.0 cm- kgs 86.4 cm- kgs 69.1 cm- kgs My 85.0 cm- kgs 86.4 cm- kgs 69.1 cm- kgs Mz 85.0 cm- kgs 86.4 cm- kgs 69.1 cm- kgs

(50)

第四章

實驗

本實驗目的為檢測操作者使用鎖定式導引進行操作時的效率與穩定性,我們 採用在遠端的桌面隨機的位置上放置一個方塊並要求操作者來夾取,當操作者輸 入夾取命令後,電腦便開始建立虛擬導引並且紀錄位置及力資訊,受測者為五名 年齡分佈在22~29 歲的男性學生,在實驗開始前都已經有多次使用本系統的經 驗,因此不考慮在實驗的過程中經過測試逐漸進步的可能性,我們在這裡先對操 作的成功與否下定義,當夾爪夾取到物體,並且可以維持一秒不讓物體落下,我 們設定這次夾取成功,反之為失敗,失敗的原因,經過測試後分類為二類:操作 者本身的失誤以及虛擬導引的不穩定,前者為在夾取過程中,碰撞太多次導致物 體與虛擬實境中的位置誤差太大,後者為由於虛擬導引的力輔助失當,造成使用 無法順利完成夾取。 本次實驗中的虛擬場景工作區域大小為500x225x340mm3,虛擬場景中力回 饋範圍的大小則參考物體的大小以及軟硬度來設定,由於我們將在實驗中的物體 體積範圍限制在 50x10x30mm3 之內,因此將鎖定式導引中的圓柱半徑設定為 50mm,力回饋搖桿的的工作區域為 230x125x100mm3,力回饋搖桿輸出範圍為 -8.9N~8.9N,輸出力大小 FGo 公式如下

F

o

=

K

×

(

V

pp

+

V

pj

×

h

)

×

g

(

t

)

G

G

G

=

K

×

(

V

pp

+

V

pj

×

h

)

G

G

o

V

K

×

G

=

(N) (4.1)

(51)

在此假設使用者已進入虛擬導引一段時間,故權重函數g(t)=1,由於圓柱半徑 設定為50mm,故VGo 最大值為50,K 值定為8.9 50=0.178(N/mm),使在力回饋 範圍的邊緣可以受到最大的力。圓錐型導引的力回饋範圍最窄處同樣為50mm, 最寬處則根據開始導引時的操作點位置決定,通常會比窄處大10~50mm,當使 用者在寬處時,由於回饋力與距離成線性關係,因此感受到的力量會比在窄處時 微弱,為了讓使用者更快速的到達物體的正上方,我們將K 值調大,經過實驗 後,K 值設為 0.2 為一個較理想的值。

4.1 實驗流程

整個遠端操作的流程如下,我們先依照欲夾取物體的大小、軟硬度來調整虛 擬導引中的導引係數以及回饋範圍,接著在桌面上設定 A、B 與 C 三點放置物 體,隨機挑選A,B,C 其中一點上的物體,並要求使用者進行夾取。遠端操控 系統將透過三種輔助方式,圓錐型,鎖定式以及無虛擬導引,來輔助使用者操作 機械手臂,當操作者夾取到目標物時便完成實驗。 操作者進行夾取的流程如下,操作者先透過搖桿移動夾爪及攝影機,在遠端 的桌面上尋找物體,當使用者下達開始夾取的指令後,電腦將認定出現在攝影機 畫面中央的物體為目標物,此時電腦會建構出對應的虛擬導引,接著操作者隨著 虛擬導引的指示操作夾爪接近目標物並進行夾取,圖4-1 為系統輔助使用者進行 夾取的流程圖,該流程分成兩個迴圈執行,力覺迴圈主要執行力輔助,而視覺迴 圈則負責繪製虛擬場景及攝影機畫面。

(52)
(53)

4.2 操作實景

本節將介紹遠端操控系統實際運作的情形,圖4-2 為操作者在近端進行操作 的實景,操作者透過螢幕回傳的畫面得知夾爪的狀態,並以力回饋搖桿下達命令。 圖4-2 操作者在近端進行遠端操控的情形 圖4-3 為機器夾爪與實驗平台,機器夾爪上裝置有力感測器以及攝影機,提供操 作者遠處機器夾爪的資訊,機器夾爪與遠端電腦之間透過網路傳遞訊息,我們經 由遠端電腦也可以觀察操作者下達的命令以及力感測器的資訊,當操作者進行不 當的操作時,可由遠端的觀察者停止實驗。 圖4-3 機器夾爪與操作平台

(54)

圖4-4-4-5 為使用者操作的情形,圖 4-4 為攝影機觀察到的畫面,圖 4-5 為繪製 的虛擬場景,深灰色的方塊代表夾爪,圖中夾爪為閉合狀態,褐色長方體以及紅 色方塊為平台以及目標物,虛擬導引的外觀類似一個彈簧,為數十個淺藍色的圓 圈所組成的一個通道,每個圓圈代表在該高度時,力回饋的範圍大小,由圖可以 看出,該通道為一個略略傾斜的圓柱體,表示使用的是鎖定式虛擬導引,準線為 夾 爪 在 桌 面 上 的 投 影 , 使 用 者 可 以 藉 準 線 來 估 測 夾 爪 與 目 標 物 的 距 離 。 圖4-4 使用者操作情形:攝影機畫面 圖4-5 使用者操作情形:虛擬場景

(55)

圖 4-6、4-7 和 4-8 為在操作過程中所擷取的機器人影像及相對應的虛擬場 景。圖 4-6(a)~(b)為實驗開始的情形,此時夾爪在預設的起始點,圖 4-7(a)及(b) 為開始夾取的情形,此時使用者已搜尋到目標物,開始夾取的動作,由圖4-7(b) 可以看到場景中已經建立虛擬導引,最後圖4-8(a)~(b)為夾取到物體的情形。 (a) (b) 圖4-6 實驗開始時之操作實景:(a)機器人實景和(b)虛擬場景 (a) (b) 圖4-7 進行夾取動作時之操作實景:(a)機器人實景和(b)虛擬場景

(56)

(a) (b) 圖4-8 夾取物體時之操作實景:(a)機器人實景和(b)虛擬場景

4.3 結果與討論

每位操作者使用三種輔助方式各進行三次的抓取,共有九組實驗數據,我們 以B 點的抓取軌跡圖為例,如圖 4-9 所示,目標物的位置為(-120,80,-300),藍色 線為圓錐型,紅色線為鎖定式,綠色線則為無導引的情形,由圖4-9 我們可以發 現有虛擬導引的確比較沒有導引的情況下要來的快速,鎖定式虛擬導引的軌跡曲 線與圓錐型的曲線平滑程度類似,但是可以更快到達目標點的位置,我們認為會 有這種效果的原因有二︰一個是當操作者瞄準目標物時,圓柱狀的導引將操作點 的移動範圍限制的更小,此點由在x 軸上的軌跡可以看出,當夾爪往下移動時, 鎖定式的軌跡較為平滑;另外當操作者在往下移動時,物體保持在攝影機的畫面 中,讓使用者更為放心的移動,這點由 z 軸上鎖定式比圓錐型更快到達底部 可以看出。

(57)

圖4-9 三種力導引下的抓取軌跡圖 表4-1 操作時間的平均值以及標準差(sec) 無導引 圓錐型 鎖定式 受測者A 9.35±0.35 6.49±1.6 (69.33%) 5.24±0.3 (56.03%) 受測者B 9.23±0.6 6.59±1.5 (71.38%) 5.46±0.3 (59.14%) 受測者C 15.28±2 16.33±2.2 (106.85%) 10.10±0.6 (66.12%) 受測者D 8.73±1.7 4.78±0.3 (54.77%) 5.02±0.8 (57.48%) 受測者E 7.98±0.2 5.39±0.9 (67.44%) 5.11±0.8 (63.99%) 表4-1 為操作時間的平均值以及標準差,由表 4-1 可以看出,以無導引時所

(58)

花費時間為基準(100%),圓錐型的導引花費的時間約為 73.4%,鎖定式導引花費 的時間為60%,證明鎖定式導引在效率上的表現較圓錐型的要好。 表4-2 三種輔助的操作成功率 操作成功率(%) 鎖定式導引 95 圓錐型導引 75 無導引 60 表4-2 為三種導引模式的成功率,可以發現到圓錐型導引的成功率比起鎖定 式的導引要來的低,我們在觀察操作失敗的軌跡圖後發現,由於在接近物體時圓 錐型導引的力回饋範圍過於狹小,當操作者施力撞上力牆時,很容易因為回饋力 的關係反向再撞上另一邊的牆,造成在來回的震盪使得實驗失敗,圖 4-10 為一 個操作失敗的軌跡圖,使用者在進行圓錐型力輔助實驗時,因為用力過猛造成震 盪的情形產生,由於圓錐型導引最寬處與最窄處半徑通常相差 10~50mm,因此 若 K 值過小時,使用者在寬處不容易感覺受到輔助,K 值太大時就容易產生震 盪,此種震盪的現象造成使用圓錐型導引時成功率的降低。 我們在最後再針對不同軟硬的物體作抓取的測試,我們將受外力後較易形變 的物體定義為軟物體,如紙盒、海綿一類,另外受外力後不易產生形變的物體定 義為硬物體,如塑膠盒、鐵盒一類,我們要求使用者對不同軟硬度的物體作抓取 的動作,圖 4-11 為使用鎖定式導引之結果,目標物座標為(100,100,-300)。所有 的物體的體積都在 50x10x30mm3左右,由圖可知大小接近的物體,在接近物體 所花費的時間差別不大,然而當夾爪與物體產生些微的碰撞時,軟物體僅產生形 變,而硬物體則會產生位移,因此硬物體比軟物體容易產生實際與虛擬物體位置

(59)

的誤差,另外當使用者在夾取物體,夾爪太往下時,軟物體可以由形變來緩衝, 而硬物體則會直接擠壓到操作平台,因此,在使用鐵盒等較硬的物體時,失敗率 較為其他物體來的高。

(60)

第五章

結論

在遠端操控系統中,由於遠端呈現以及遠端操控的問題,使得操作者無法快 速的完成操作,為了增加操作者對遠端環境的了解以及增進操作上的效率,我們 使用了虛擬導引來輔助操作者。在本論文中,我們利用攝影機與夾爪的組合建構 新的鎖定式虛擬導引,系統讓使用者在操作過程中,能一直觀察到物體,掌握到 物體的動態以及夾爪與物體的相對關係。 我們發現在進行搬運物體的操作時,雖然系統提供了2D 影像以及 3D 場景 的視覺回饋,但使用者對於物體與夾爪相對位置的認知仍然有限,需要多次的矯 正才能到達物品或者是目標點附近,以至於在夾取以及放置物品的階段花費大量 時間。因此,在夾取或放置物品時,虛擬導引的設計對使用者操作效率的影響相 當顯著,基於上述的理由我們設定遠端操控的工作為遠端夾取物體來判別虛擬導 引的優劣,實驗分別使用鎖定式虛擬導引以及圓錐型導引對使用者進行輔助,最 後經由實驗後的數據來討論兩種不同形式導引的差異性。 經過實地操作後證明在操作的過程中,鎖定形式的虛擬導引的確在效率有著 相當好的表現,當使用者在進行夾取的動作時,借助攝影機的輔助,使用者能夠 一直觀察到物體的動態,可以更精準的調整夾爪的位置,在移動上也更有把握, 操作的效率也就因此而提昇,另外,鎖定式虛擬導引也避免在力回饋範圍過小時 產生的震盪,改善了使用圓錐型導引的缺點,鎖定式虛擬導引確實在搬運、堆疊 物體的遠端操作上,有很好的效果,是相當有效的輔助方法。

(61)

5.1 未來工作

對於我們所設計出的鎖定形式導引,仍然有許多需要改進以及調整的空間, 首先的問題是力回饋範圍的大小以及導引參數的調整,較小的力回饋範圍固然可 以限制住使用者的移動進而讓使用者更精準的往目標物前進,但是過於狹窄的範 圍將造成震盪的情形發生,我們希望在未來回饋力的計算部份,加入速度方面的 控制,將可以減少震盪的產生,減少虛擬導引本身的誤差。 在本實驗中由於目標物的體積限定在一定的範圍內,針對相似大小的物體我 們設計了對應的力回饋範圍以及導引參數,將來若要對不同大小的物體進行夾 取,勢必將進行範圍以及參數的調整,我們期望屆時能找出描寫物體體積、力回 饋範圍與參數間的關係式,以達到對使用者最大的輔助效果。 其次是Bezier 演算法控制點的選定問題,Bezier 演算法固然可以由控制點得 到想要的近似曲線,但是我們發現隨控制點的移動,近似曲線與原來的路徑誤差 也會改變,此時我們就必須跟著調整控制點以達到最小的誤差,如何找出更適合 的控制點數量以及如何設定更佳的位置,也是日後必須解決的問題。 由於夾取的動作在進行搬運的過程中是最講求精確的部份,因此我們在這次 的實驗中僅對夾取的部份進行實驗,將來我們將對更複雜的動作以及物體進行實 驗,並探討鎖定式導引在其他的動作中對於操作效率的影響,未來也將對力感測 器作進一步的應用,在更複雜的動作中使用力感測器,提供使用者對遠端環境更 擬真的感受。

數據

圖 3-2 遠端操控系統架構圖
圖 3-4  力訊號處理流程圖  圖 3-4 說明了力訊號在系統中傳遞的流程,當力感測器(JR3 UFS-3012A25) 感測到外力時,會將該訊號傳送給遠端電腦,遠端電腦以低通濾波去除雜訊後, 再傳到近端,近端電腦會將力訊號與虛擬導引產生的虛擬力結合,成為使用者實 際感受的回饋力。在量取力訊號的時候,由於力感測器極容易受到高頻雜訊的干 擾,故需要對該訊號作低通濾波處理,JR3 的取樣頻率約在 1k Hz,而雜訊頻率 則約為 150Hz。經過設計後,我們設置了一個使用 Kaiser window 的 FIR
圖 3-5  使用 Kaiser window 的  FIR lowpass filter,上圖為 window 的 weighting 值,
圖 3-6  低通濾波前後比較圖︰(a)力訊號和(b)使用者輸入訊號,紅色線為濾波前,
+7

參考文獻

相關文件

Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,

Godsill, “Detection of abrupt spectral changes using support vector machines: an application to audio signal segmentation,” Proceedings of the IEEE International Conference

(英文) The Sixth International Conference on Intelligent Information Hiding and Multimedia Signal Processing (IIHMSP 2010). 發表 論文

D.Wilcox, “A hidden Markov model framework for video segmentation using audio and image features,” in Proceedings of the 1998 IEEE Internation Conference on Acoustics, Speech,

Jones, &#34;Rapid Object Detection Using a Boosted Cascade of Simple Features,&#34; IEEE Computer Society Conference on Computer Vision and Pattern Recognition,

Dragan , “Provably good global buffering using an available buffer block plan”, IEEE International Conference on Computer-Aided Design, pp.. Cong, “Interconnect performance

Kalker, “Speed-Change Resistant Audio Fingerprinting Using Auto-Correlation,” in IEEE International Conference on Acoustics, Speech, and Signal Processing, vol. Kalker,

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks”, the 16th IEEE International Conference on Computer Communications