• 沒有找到結果。

基於虛擬導引之多軸機器人操控器

N/A
N/A
Protected

Academic year: 2021

Share "基於虛擬導引之多軸機器人操控器"

Copied!
74
0
0

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

全文

(1)

國 立 交 通 大 學

電機與控制工程學系

碩 士 論 文

基於虛擬導引之多軸機器人操控器

A Manipulation System Based on Virtual Fixtures

for Multi-Axis Manipulators

研 究 生: 詹明勳

指導教授: 楊谷洋教授

(2)

基於虛擬導引之多軸機器人操控器

A Manipulation System Based on Virtual Fixtures

for Multi-Axis Manipulators

研 究 生:詹明勳 Student: Ming-Shiun Jan

指導教授:楊谷洋 博士 Advisor: Dr. Kuu-Young Young

國立交通大學

電機與控制工程學系

碩士論文

A Thesis

Submitted to Department of Electrical and Control Engineering College of Electrical and Computer Science

National Chiao Tung University In Partial Fulfillment of the Requirements

of the Degree of Master

in

Electrical and Control Engineering June 2010

Hsinchu, Taiwan, Republic of China

(3)

基於虛擬導引之多軸機器人操控器

研究生: 詹明勳 指導教授: 楊谷洋教授

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

摘要

由於多軸機器人的發展,傳統的機器人操控器已無法應付日益複

雜的工作,理想的人機介面不只讓操作者更有效率地對機器人進行操

作,也幫助操作者快速了解操控器與被操控對象之間的關係。本論文

的目的在於設計出直覺式虛擬機器人操控器來控制多軸機器人。另外

,我們也發展出即時的方向性力導引機制,在三維空間中能即時依照

操作者需求提供適當的力輔助策略。軌跡記錄機制能有效重複使用先

前的軌跡。實驗結果顯示我們所開發的機器人操控器能有效的完成複

雜性任務,在加入力輔助後能更有效地提高任務執行效率以及穩定

性。

(4)

A Manipulation System Based on Virtual Fixtures for

Multi-Axis Manipulators

Student: Ming-Shiun Jan Advisor: Dr. Kuu-Young Young

Institute of Electrical and Control Engineering

National Chiao Tung University

Abstract

Due to fast development in multi-axis manipulators, traditional

manipulative devices are unable to cope with tasks with increasing

complexity. An ideal human robot interface (HRI) not only provides

better manipulation, but also helps the operator to comprehend the

relation between manipulative device and manipulator. The aim of this

thesis is to develop an intuitive virtual robot manipulative device. We

also develop a real-time force-assistant mechanism to provide suitable

force-assistant strategies according to operator‟s needs immediately in

three-dimensional space. The trajectory

recording mechanism can record

trajectory and reuse it. The experimental results show that the

manipulative device we develop can execute complex tasks effectively,

and the force-assistant mechanism enlarge system efficiency and

stability.

(5)

致謝

首先感謝我的指導教授---楊谷洋博士,在這兩年研究期間,由於他熱心的指 導,使得我的研究工作得以順利完成。同時感謝口詴委員們:莊仁輝教授、宋開 泰教授及柯春旭教授撥冗參與論文口詴,並給予許多寶貴的指導與建議,使我獲 益良多。另外,謝謝木政、修任、豪宇、一哲、昶煒、彥安、勝雄學長以及邱添 丁先生在研究上的討論與建議,還有其他在「人與機器實驗室」的夥伴們:方翔、 翔斌、鎧銜同學以及柏穎、權哲、育傑與學弟們,在這兩年的研究室生活中,由 於你們的陪伴讓我的生活多采多姿。最後要感謝的是我的家人,你們的關懷與支 持使得我能心無旁騖的完成學業。很高興自己在邁向人生另一個階段的關鍵時刻 ,有這麼多美好的回憶陪伴著我,我會將他好好珍藏起來,讓他成為我最美麗的 回憶,謝謝大家。

(6)

目錄

中文摘要 ... I 英文摘要 ... II 誌謝 ... III 目錄 ... IV 表目錄 ... VI 圖目錄 ... VII 1.導論 ... 1 2.直覺式虛擬機器人操控器... 7 2.1 操控系統控制模式... 8 2.2 虛擬導引機制 ... 10 2.2.1 即時方向性虛擬導引 ... 11 2.2.2 軌跡記錄機制 ... 16 2.2.3 彈簧耦合 ... 17 2.2.4 力輔助流程 ... 18 3.系統實現 ... 20 3.1 系統架構 ... 20 3.2 軟體實現 ... 22 3.2.1 機器手臂與虛擬場景建構 ... 24 3.2.2 機器手臂角度運算 ... 29 3.2.3 工作空間轉換 ... 33 3.3 硬體實現 ... 35 3.3.1 Phantom Omni 六軸力回饋搖桿 ... 35

(7)

3.3.2 Mitsubishi RV-2A 六軸機械手臂 ... 38 3.3.3 JR3 力感測器 ... 41 4.實驗 ... 42 4.1 實驗設計與流程 ... 42 4.2 實驗結果與討論 ... 51 5.結論 ... 58 5.1 未來工作 ... 58 參考文獻 ... 60

(8)

表目錄

表 2-1 力輔助策略及其應用範圍 ... 11 表 3-1 RV-2A D-H 參數 ... 25 表 3-2 Phantom Omni 六軸力回饋搖桿規格表 ... 37 表 3-3 Mitsubishi RV-2A 六軸機械手臂規格 ... 39 表 3-4 Mitsubishi RV-2A 六軸機械手臂控制器規格 ... 40 表 3-5 JR3 力感測器規格表 ... 41 表 4-1 受測者基本資料 ... 44

(9)

圖目錄

圖 1-1 人機合作之路徑規劃系統[20] ... 2 圖 1-2 基於手勢之遠端操控系統[22] ... 2 圖 1-3 直覺式操控器示意圖 ... 5 圖 1-4 即時力輔助系統示意圖 ... 6 圖 1-5 直覺式虛擬機器人操控器系統概念圖 ... 6 圖 2-1 虛擬機器人操控系統架構圖 ... 8 圖 2-2 虛擬游標與夾爪末端位置方向對應關係... 9 圖 2-3 虛擬導引型態示意圖:(a)圓柱體、(b)圓錐、和(c)球體 ... 10 圖 2-4 即時方向性力導引示意圖:(a)單一方向力導引、(b)轉動游標後的力導引 方向、(c)平面力導引、和(d)轉動游標後的平面力導引 ... 12 圖 2-5 即時方向性力導引應用領域:(a)單一方向導引和(b)平面導引 ... 13 圖 2-6 方向性力導引演算法示意圖:(a)搖桿偏移虛擬尺和(b)搖桿偏移虛擬尺並 改變方向 ... 14 圖 2-7 機器人軌跡取樣示意圖 ... 16 圖 2-8 游標與軌跡虛擬導引互動方式 ... 17 圖 2-9 游標偏離夾爪時所受到的力提示示意圖... 18 圖 2-10 系統與力輔助流程圖 ... 19 圖 3-1 系統架構圖 ... 21 圖 3-2 執行緒和時間關係圖:(a)單一執行緒和(b)多執行緒 ... 22 圖 3-3 執行緒關係圖 ... 23 圖 3-4 利用 D-H model 建立機器人結構 ... 25 圖 3-5 系統所提供之回饋資訊:(a)游標和夾爪重合、(b)游標和夾爪間的彈簧彈 簧、(c)不當操作的視覺提醒、 (d)機器人軌跡紀錄機制、 (e)即時單方向導引和

(10)

(f)即時平面導引 ... 27 圖 3-6 直覺式虛擬機器人操控器 master 端操作畫面 ... 28 圖 3-7 MITSUBISHI RV-2A 機器手臂 ... 29 圖 3-8 經由低通濾波器濾波之夾爪位置與時間關係圖 ... 32 圖 3-9 工作空間轉換示意圖 ... 34 圖 3-10 力回饋搖桿裝置示意圖 ... 36 圖 3-11 Phantom Omni 六軸力回饋搖桿 ... 36 圖 3-12 CR1-571 控制器外觀 ... 38 圖 3-13 Mitsubishi RV-2A 六軸機械手臂外觀 ... 38 圖 3-14 JR3 力感測器外觀 ... 41 圖 4-1 實驗用詴管 ... 43 圖 4.2 實驗用詴管和放置平台 ... 43 圖 4-3 實驗各階段示意圖 ... 45 圖 4-4 各階段所對應的力輔助示意圖 ... 46 圖 4-5 實驗流程圖 ... 47 圖 4-6 操控平台與操作實景:(a)機器人與操控平台和(b)操作者操控情形 ... 48 圖 4-7 抽取、放置詴管操作實景:(a)真實場景和(b)虛擬場景 ... 49 圖 4-8 平移詴管操作實景:(a)真實場景和(b)虛擬場景 ... 49 圖 4-9 瞄準目標操作實景:(a)真實場景和(b)虛擬場景 ... 50 圖 4-10 傾倒液體操作實景:(a)真實場景和(b)虛擬場景 ... 50 圖 4-11 四種力輔助策略下總路徑長分析 ... 51 圖 4-12 四種力輔助策略下游標和夾爪之間的誤差 ... 52 圖 4-13 四種力輔助策略所花費的時間 ... 53 圖 4-14 機器人軌跡圖:(a)無力輔助和(b)具彈簧耦合 ... 54 圖 4-15 機器人軌跡圖:(a) 具方向性力輔助和(b) 具彈簧耦合與方向性力輔助

(11)

圖 4-16 力回饋大小相對於時間關係圖:(a)彈簧耦合力和(b)方向性力輔助 ... 55

圖 4-17 四種力輔助策略下失敗次數統計 ... 56

圖 4-18 實驗七階段之困難度評分 ... 57

(12)

第一章

導論

人機介面在機器人控制領域扮演著非常重要的角色,良好的介面不但幫助操 作者得以直覺地控制機器人並完成指定的工作,在任務執行的效率上也會有極大 的改善。早期的機器人控制器為教導盒(teach pendant),但是教導盒的設計在使 用上非常不直覺,在操作機器人的過程中,常常因為操控器的移動方式和機器人 相差甚遠,或是操作者必頇了解操控器與機器人之間的座標關係,導致操作者往 往無法清楚得知操控器和機器人的對應關係。隨著科技的發展,機器人操控器也 有相當的改善,例如利用資料手套、2D 和 3D 搖桿等來操控自走車或機器手臂 [6][9][25][26][27],這些控制機制都有助於操作者之操作。 隨著多軸機器手臂漸漸應用於較複雜的任務,3D 力回饋搖桿成為這些應用 常考慮到的輸入裝置,例如處理放射性物品[4][5]、爆裂物[8]、外科手術等[6][17], 或是在外太空[2]、深海[3]等這類人類無法到達的環境下進行遠端操作,這些任 務因為環境未知或具危險性,需要人機合作,由人類下達控制指令,藉由人類高 階的判斷做出適當的決定,對於緊急狀況的應變能力也較佳,而機器人常藉由力 感應器[6]、影像辨識系統或是雷射測距儀[8]等裝置,對環境進行偵測,提供操

縱者決策的參考。在以往的研究中,He 和 Chen[20]使用 Phantom 力回饋搖桿控

制虛擬機器人執行路徑規畫,藉由易操控的人機介面,使用者可以輕易的操控機

器人,經由指定想要通過的點,系統便會根據這些資訊規畫出較佳的路徑,如圖

1-1 所示;Kim 等人在[22]中提出在手臂、手腕和手掌上分別裝設不同的感應器, 以偵測手臂的動作和方向,藉由感應器的資訊來操作挖土機,使用者可以很快的

(13)

熟悉該系統並直覺式的操作,同時也免去危險,如圖 1-2 所示。 圖 1-1 人機合作之路徑規劃系統[20] 圖 1-2 基於手勢之遠端操控系統[22] 因為遠端操作時影像傳輸會有延遲的現象,為了讓使用者在操作機器人執行 任務的過程中更加順暢,有學者提出利用虛擬實境(Virtual Reality)的技術加以輔 助[1][9][18][21][23],虛擬實境的優點在於藉由強大的電腦繪圖能力,可事先繪 製出已知的物件於場景中,提供即時的影像給使用者,免去網路傳輸資訊延遲, 並藉由視覺、聽覺、力覺等回饋讓操作者身歷其境,掌握遠端機器人的狀況;另 外,在虛擬場景中操作者的視角可以任意更換,不會有遠端攝影機被障礙物遮蔽

(14)

造成視覺上死角的問題,或是因為光線和天氣不佳造成影像品質不佳的情形。 在虛擬實境的應用中,也常搭配虛擬導引來輔助操作者,其可以是視覺 [12][14]、力覺[4][5][7][10][12][24]、聽覺、或是速度[8][11][13]方面的提示或輔 助。以虛擬力牆為例,可以是在視覺上顯示一面力牆,提醒操作者工作空間,也 可以藉由力回饋搖桿將一股反彈力回授給使用者,讓使用者感受到一道牆,避免 超出範圍,或是發出提示聲警告碰撞到牆壁;速度導引則是在機器人朝向虛擬力 牆的方向時實行減速機制,其他方向則維持一般速度。藉由這些輔助,使用者可 以慢慢被引導到正確的位置,或是直接經由力提示修正所下達的控制命令。虛擬 導引的形狀大多為基本的幾何圖形[12][14],例如直線、平面、圓錐、圓柱、球 體或立方體等,利用這些設計好的導引範圍,在不同的應用下使用不同的組合, 例如圓錐狀的導引適合輔助使用者前往特定位置,平面導引或是直線導引可以輔 助切割任務,連續的球狀可以形成導引路徑等。 虛擬導引的建立除了考慮導引的形狀以外,還必頇講究其力回饋的大小和範 圍,太大的力回饋不只造成系統不穩,也會造成操作者困擾,而太小的力回饋則 對於任務的執行沒有太大的幫助。之前的研究已將虛擬導引機制引入不同應用, 例如模擬外科手術、遠端操作、輔助教學[10][15][16][19]等,且皆有良好的效果。 Veras 等人在[8]中使用 Phantom 來操作遠端機器人,機器人的末端裝設攝影機和 雷射測距儀,操控者在回傳的影像中找到目標物之後按鈕下達命令,系統就會在 機器人末端和目標物之間產生一條直線導引路徑,機器人會被限制在此路徑內。 Prada 和 Payandeh [12]發展虛擬導引模擬手術切割任務,他們使用圓錐、圓柱和 球狀的導引類型,實驗證明虛擬導引可縮短任務的完成時間,同時路徑的偏移量 也降低。Song 和 Guo [6]設計了醫療應用的遠端操控機器手臂,機器人的末端配 有力感應器,可以將遠端的接觸力回饋給近端的使用者,在他們的實驗中提供視

(15)

外科手術切割的實驗中,證明了加入力回饋比起單純只有視覺回饋更能夠降低機 器人和物體的接觸力。Wentao 等人在[11]中利用力輔助和速度的輔助,讓手部有 殘缺的使用者也可以較輕鬆的操縱機器人執行任務。 基於上述的討論,我們可以得知操作者常常因為操控器的移動方式和機器人 相差甚遠,或是操作者必頇了解操控器與機器人之間的座標關係,導致操作者往 往無法清楚得知操控器和被操控對象之間的對應關係。另外,在之前的研究中, 除非是在機器人夾爪或是工作環境中加裝攝影機或雷射測距儀等裝置,多數虛擬 導引的位置以及輔助策略大多是固定的,導致系統無法適用於多變的環境。然而 機器人大多在危險的環境中執行任務,我們無法完全掌握即時的環境變化。基於 此,本論文的重點在於設計一直覺式機器人操控界面,如圖 1-3 所示的概念圖, 力搖桿的末端對應至機器人的夾爪,操作者可以感受如同親自抓著機器人末端做 操控。另外,搭配即時力輔助機制,動態給予虛擬導引,如圖 1-4 所示,操作者 藉由鍵盤選定適當的力輔助策略執行任務。整個系統的架構如圖 1-5 所示,操作 者於 master 端藉由力搖桿輸入運動指令,電腦主機將資料傳送至 slave 端控制器 進而驅動機器人,電腦主機同時繪製 slave 端機器人並且提供指令驅動力搖桿, 將視覺和力覺回饋給操作者。以下為我們所提出的直覺式虛擬機器人操控器特 點: 1. 直覺式操作: 設計出一直覺式的機器人操控器,搭配虛擬場景中的虛擬游標,可以清楚了 解機器人與操控器的關係,虛擬游標和虛擬機器手臂夾爪之間綁著一組彈簧 單元,讓操作者操控起來能感受到機器手臂和力搖桿之間的關係,彷彿是親 自抓著機器手臂夾爪在執行任務。

(16)

2. 多重回饋機制 在虛擬環境中利用視覺、聽覺和力覺回饋提供足夠的資訊供操作者自行決 策。 3. 即時性力輔助 提供即時性方向力導引,操作者可以依照任務的需求即時切換輔助功能。 4. 軌跡記錄機制 提供機器人路徑記錄系統,將機器人走過的路徑記錄下來,並且變成一條虛 擬導引路徑,以便在接下來實行重複性任務時可以再次利用此路徑,藉以增 加任務執行的效率。 圖 1-3 直覺式操控器示意圖

(17)

圖 1-4 即時力輔助系統示意圖 圖 1-5 直覺式虛擬機器人操控器系統概念圖 本論文在第二章提出直覺式虛擬機器人控制系統,並介紹即時性的方向力導 引以及軌跡記錄機制;第三章介紹系統實現,分為軟體和硬體兩部分,軟體主要 介紹虛擬環境與虛擬機器人的構成和工作空間的轉換,硬體部分則介紹使用的搖 桿和機器手臂,另外也會說明系統架構圖和流程;第四章介紹實驗,說明實驗方 式和流程,並討論實驗結果;第五章提出結論以及未來工作。

(18)

第二章

直覺式虛擬機器人操控器

本章我們首先介紹所提出的直覺式虛擬機器人操控器,其系統架構如圖 2-1 所示,其中包含了 master 端所使用的六軸力回饋搖桿輸入裝置、視覺回饋裝置、 虛擬場景系統以及 slave 端機器人和其控制器。圖 2-1 中力搖桿負責偵測操作者 的控制指令,搖桿末端方向與位置經由座標轉換對應至虛擬場景中的虛擬游標, 虛擬游標將和虛擬機器人作互動;另外搖桿也提供不同的力回饋,不只增加操作 的擬真度,同時也提供有用的資訊讓操作者了解機器人的狀態,虛擬導引的力資 訊也呈現在搖桿上以便修正操作者的控制指令。虛擬機器人系統中機器人與網路 通訊的部分主要就是計算機器手臂的各軸應該旋轉的角度,並且傳輸至 slave 端 的控制器,其中操作者在操控時因為手部的顫抖或是 inverse kinematics 計算後角 度快速變化會造成機器人的震動,故在傳輸角度資訊至 slave 端之前我們透過低 通濾波器先過濾掉高頻的部分,再將資料傳送出。Slave 端機器人同樣會回傳當 前的狀態,回傳後系統會更新虛擬場景,並且透過視覺回饋裝置回授給操作者; 而聽覺回饋的部分我們採用電腦蜂鳴器的警示聲,如果操作者有不當的操作將會 產生聽覺回饋。力回饋策略方面主要有兩種,第一種為即時的方向力輔助,操作 者根據任務的不同利用鍵盤選擇力輔助型態,再藉由搖桿末端方向選擇輔助力的 方向;第二種是記錄夾爪經過的路徑,此路徑將會形成一條管狀的虛擬導引,操 作者可以有效重複利用。 接下來我們將詳細介紹直覺式虛擬機器人操控器的操控方式,以及系統所提 供力輔助的策略。在 2.1 節我們將說明機器手臂的控制策略;在 2.2 節我們將說

(19)

明我們所設計的即時性方向導引系統、機器人軌跡記錄機制以及力資訊運算方 式。 圖 2-1 虛擬機器人操控系統架構圖

2.1 操控系統控制模式

本節我們將介紹直覺式虛擬機器人操控系統的控制方式,在此操控模式中, 力回饋搖桿末端的位置和方向經過座標轉換後對應至虛擬場景中的虛擬游標,操 作者可以經由這項視覺回饋得知搖桿對應在虛擬場景中的位置,進而依照自己的 意思來操控虛擬機器人,指定機器人移動至游標所在位置,如圖 2-2 所示,虛擬 游標和夾爪末端皆有其位置和方向,只要虛擬游標位置和方向在機器人的工作範 圍內,或是游標位置不會造成機器人碰撞到已知障礙物,則虛擬機器人的末端會 一直跟隨著虛擬游標位置和方向變動,搖桿末端、虛擬游標末端、以及夾爪的對

(20)

應關係如圖 2-2 所示,圖中灰色的圓點表示游標和夾爪的末端,箭頭為其方向, 重合時夾爪位置和方向皆會和游標一致,也就是機器人末端的齊次變換矩陣T𝐫 會等同於虛擬游標的齊次變換矩陣 Th。然而,因為機器手臂受限於硬體規格, 各軸馬達皆有其最高轉速限制,無法完全即時跟隨虛擬游標移動;我們設定機器 手臂以接近其最高速度來跟隨虛擬游標,由於我們知道執行緒更新頻率和各軸的 最高轉速,故我們可以得知每軸在一個時間點的轉動量Δi (i = 1, 2,..., 6),為了使 機器手臂順暢的移動並跟隨虛擬游標,我們採取方法如下: (2.1) (2.2) (2.3) 其中di為虛擬游標之齊次變換矩陣經由 inverse kinematics 計算得到的角度,ri 為機器手臂第 i 軸當前角度,THi為每一軸在每一個時間點所轉動的最大門檻值。 式子(2.2)說明如果 Δi小於一門檻值,代表機器人第 i 軸角度和需要轉動的角度差 異不大,機器人第 i 軸即更新至di;式子(2.3)說明如果 Δi大於門檻值,代表代 表機器人第 i 軸角度和需要轉動的角度差異較大,這時機器人無法隨即更新至di, 所以我們採用累加的方式,一個周期加上一門檻值大小的角度,讓機器人慢慢跟 隨至虛擬游標的位置與方向。 圖 2-2 虛擬游標與夾爪末端位置方向對應關係 i di ri i THi ri di i ri ri THi i

, then

if

else

 

  

(21)

2.2 虛擬導引機制

在第一章,我們簡要說明了虛擬導引的用途與其成效,在這裡我們詳細地說 明其形狀種類和本論文所採用的方法。在圖 2-4 中,我們可以看到虛擬導引的基 本形狀,如圓柱、圓錐、球體和平面等,至於力提示的方向也如圖中所示,是基 於不同任務而有不同的設計,操作者的游標在虛擬導引範圍內可以持續感受到吸 力或拉力等力導引,也可能只有在接觸虛擬導引的邊界時才會感受到如同力牆的 碰撞提示。 (a) 圓柱體 (b) 圓錐 (c) 球體 圖 2-3 虛擬導引型態示意圖:(a)圓柱體、(b)圓錐、和(c)球體 本系統所採用的虛擬導引形狀為圓柱型、球型和平面三種。我們使用圓柱型 的虛擬導引做為避免碰撞的保護機制,在機器人的周圍設定一個圓柱體的範圍, 一旦夾爪要進入此圓柱體,則機器人停止運作,避免夾爪碰撞到機器人本身,並 在畫面上產生此圓柱體的視覺回饋;球型的虛擬導引則使用在產生連續的導引路 徑,我們將多個小球體密集排列,因為球體彼此間相距小,彷彿形成一條路徑, 虛擬游標會被限制在這條路徑上自由移動,作為導引機制;同樣球體狀虛擬導引 可以構成直線或是平面狀虛擬導引,我們將在下節詳細介紹。

(22)

2.2.1 即時方向性虛擬導引

在開始介紹我們所設計的即時方向性虛擬導引之前,我們先考慮在執行一些 任務中,需要配合何種力輔助策略,以增進任務執行效率,其對應表格如下所示。 表 2-1 力輔助策略及其應用範圍 力輔助形式 應用範圍 點 鎖螺絲、焊接、傾倒物品 線 切割、鑽孔、鎖定欲拿取之物品、避障、搬運 面 地面探勘、切割、避障、搬運 表 2-1 左邊欄位為力輔助的型式,總共分為點、線、面三種,點代表將夾爪限制 在空間中的任一位置,此時夾爪只能在一個點上進行旋轉的動作,適合執行需要 旋轉的任務,如鎖螺絲等裝配任務;線代表夾爪被限制在一條直線上移動,有助 於執行切割或鑽孔等任務;面代表夾爪只能在空間中任一平面移動,可運用在平 面探勘、搬運等任務。上述的三種組合中有一個共同的特點,都是避免機器人偏 移至不必要的方向,藉以改善任務執行的效率。 在本系統中,我們將點、直線與平面輔助導引改良成動態即時的方式呈現, 也就是依照操作者的需求,在特定的環境中開啟特定方向的直線或平面輔助,如 圖 2-4 所示,在圖 2-4(a),當系統只開放游標在一個方向上的移動,這時游標就 只能在這條路徑上來回移動,如同有一把尺在空間中輔助,進而讓操作者在切割 或是在狹小空間移動時有更穩定的效果;但是這條直線路徑的位置和方向並非固 定的狀態,只要操作者更動游標的方向,則此方向輔助就會隨著游標方向即時更

(23)

作者自行選定好方向後即會有適當的輔助產生,游標在 3D 的虛擬場景中任何方 向皆可產生力輔助,方向完全依照操作者的需求建構,如此增加了虛擬導引的彈 性,進而提升任務的效率;當操作者選擇兩個方向上的輔助,也就是開啟兩個方 向的方向性力輔助,如圖 2-4(c)所示,這時因為可以在兩個方向上隨意移動,等 同於讓虛擬游標限制在一個平面上自由移動;同樣的這個平面也會隨著虛擬游標 的方向而跟著旋轉,如圖 2-4(d)所示;由圖 2-4(c)-(d)所示,藉由選擇特定平面的 輔助,操作者得以在特定的高度執行任務,避免掉因為手部抖動或是操作時間較 長而造成手痠的情形。 (a) 單一方向力導引 (b) 轉動游標後的力導引方向 (c) 平面力導引 (d) 轉動游標後的平面力導引 圖 2-4 即時方向性力導引示意圖:(a)單一方向力導引、(b)轉動游標後的力導引 方向、(c)平面力導引、和(d)轉動游標後的平面力導引

(24)

Manocha 等人在[5]中利用平面狀的虛擬導引輔助切割的任務,在他們設計 的實驗中展示有輔助的情形下可以減少任務執行的時間,同時也降低操作者手部 抖動的情形,另外他們也提到直線和平面的虛擬導引分別適合運用在鑽孔、切割 等任務。我們也預期在一些需要穩定手部動作的任務中,可以將這項技術導入運 用,如圖 2-5 所示,在 peg-in-hole 的任務中,一旦操作者鎖定要放置的位置和方 向後,有方向性的力輔助即可讓夾爪在下降的過程中,不會偏離原先預定的路徑; 同樣地,當機器人夾爪需要經過狹窄處或閃避障礙物時,這種方向性的導引或平 面導引可以避免夾爪往左右兩旁晃動以及碰撞到兩側障礙物。 (a) 單一方向導引 (b) 平面導引 圖 2-5 即時方向性力導引應用領域:(a)單一方向導引和(b)平面導引 在介紹完我們所提出的即時方向性力輔助特色與其應用領域後,接下來我們說明 其實現方式,在這裡我們假設即時虛擬導引機制只開啟虛擬游標的 a 方向,如圖 2-6 所示,此處我們將單一方向的力導引稱作虛擬尺,因為它像是一把在三維空 間中的尺輔助操作者。 在操作者開啟 a 方向的虛擬尺後,游標的 a 方向出現如圖 2-6(a)中連續的圓 點,分別間隔極小的距離δ,這時如果搖桿接下來的位置已經偏離 a 方向,系統

(25)

接著系統提供一個力回饋 Fruler修正搖桿位置;而圖 2-6 (b)呈現另一個情況,搖 桿偏移 a 方向後同時也改變了方向,所以這時虛擬尺的 a 方向也跟著轉向,接著 系統就和前面所採用的方式相同,找出距離游標最近的點,並提供力提示修正搖 桿位置。如此一來,虛擬游標就彷彿被限制在三維空間中的一條直線上,Fruler 計算方式如下: Fr u l e rk(P r u l e rP ) (2.4) c u r s o r 其中 Fruler為力提示,k 為彈簧彈力係數,Pruler為更新過後的虛擬尺位置,Pcursor

為目前搖桿的位置。

(a) 搖桿偏移虛擬尺 (b) 搖桿偏移虛擬尺並改變方向 圖 2-6 方向性力導引演算法示意圖:(a)搖桿偏移虛擬尺和(b)搖桿偏移虛

擬尺並改變方向

(26)

演算法: 動態虛擬尺更新機制 目的: 找尋虛擬尺當中距離搖桿當前位置最近的點 輸入參數: 游標位置與方向 1. 將虛擬尺往 a 方向移動一小單位,成為新的虛擬尺位置 2. If 搖桿位置距離新的虛擬尺位置比舊的虛擬尺位置近 2.1. 更新虛擬尺為新的位置 2.2. 回到步驟 1. 3. Else 虛擬尺維持舊的位置 4. End if 5. 將虛擬尺往負的 a 方向移動一小單位,成為新的虛擬尺位置 6. If 搖桿位置距離新的虛擬尺位置比舊的虛擬尺位置近 6.1 更新虛擬尺為新的位置 6.2 回到步驟 5. 7. Else 虛擬尺維持舊的位置 8. End if 9. 更新力回饋機制 由上述的演算法中得知,系統在開啟虛擬導引的方向上進行偵測的動作,直 到找到此方向上距離搖桿最近的點為止。根據不同的需求,我們可以設定只往單 一方向搜尋,則操作者只能將搖桿往單一方向移動,例如拿取物品時,操作者只 能垂直向上提起,而不能垂直向下移動;而開啟兩組互相垂直的方向導引即可產 生出平面導引的效果,此平面導引同樣可在三維空間中即時更新其位置和方向。 若三個方向的搜尋機制皆未開啟,也就是關閉所有方向的力導引,虛擬尺即固定

(27)

2.2.2 軌跡記錄機制

由於在操作機器人的過程中可能會遇到重複性的任務,也就是來回行走同一 條路徑,軌跡記錄機制主要的目的是記錄機器手臂末端經過的路徑,進而將此路 徑變成一條虛擬導引,如此一來操作者輕易地在這條路徑上來回移動,省去切換 即時虛擬導引的動作,如圖 2-7 上方所示,夾爪移動的路徑由系統在一定的距離 下進行取樣的動作,將這些取樣點座標儲存起來,並轉換成一條類似管狀的虛擬 導引,如圖 2-7 下方所示,之後機器人即會被限制在這條路徑上行走。圖 2-7 中 表示機器手臂末端移動一定的距離 d 即取樣一次,產生一個取樣點。而圖 2-7 下 方為虛擬導引,藉由前面所取樣的點所構成,每個取樣點成為一個球型的虛擬導 引,因為多個球型虛擬導引近距離排列,產生如管狀的虛擬導引路徑,其中 r 為 導引路徑的半徑,調整此參數即可變化此路徑的寬度。因為是採用球狀虛擬導引, 游標在一定的球的內部可以自由移動不受力影響,一旦碰到虛擬導引邊緣,則同 樣採用彈簧力提示。 圖 2-7 機器人軌跡取樣示意圖 在取樣完路徑後並形成一條虛擬導引路徑後,接下來我們說明其如何導引操

(28)

作者,如圖 2-8 所示,當虛擬導引啟動後,虛擬游標和這條導引路徑之間的距離 只要小於一個值 dth,操作者就會感受到一股朝向導引路徑中心的吸引力,此回 饋力大小為一個定值,用意是將搖桿修正至導引路徑上。若虛擬游標距離導引路 徑中心點小於 din,則系統將認定游標已經進入虛擬導引範圍,此時虛擬游標將 會被一股彈簧力吸引至距離游標最近的取樣點,游標即可在此一路徑上來回自由 移動。 圖 2-8 游標與軌跡虛擬導引互動方式 這條虛擬導引路徑給予操作者的力資訊運算方式如下式所示: VFkv( i cursor) F x x (2.5) (2.5)式中 xi為導引路徑中第 i 個取樣點,系統在此一路徑上搜尋到距離游標 最近的點後即產生力回饋給操作者,機器人夾爪將會被限制在這條路徑上, 在執行重複性任務中能有效利用。

2.2.3 彈簧耦合力

在操作機器人的過程中,操作者除了會受到虛擬導引的力回饋影響外,還會 感受到另外一種提示力,即游標和夾爪之間的彈簧耦合力,此設計能讓操作者清

(29)

者會感受到一道朝向夾爪方向的提示力,藉此引導操作者回正確的方向,如圖 2-9 所示,當游標距離夾爪太遠時,搖桿會修正操作者的操作方式。此力回饋在 操作者進行操控時形同增加搖桿的重量,使得搖桿不會輕易晃動,減少誤操作, 而力回饋的運算方式同樣用彈簧單元實現,如下式所示: Fg r i p p e rk (x g g r i p p e rx ) (2.6) c u r s o r 其中 Fgripper為一股向著夾爪的力,kg為彈力係數,xgripper為夾爪在空間中的位置, xcursor為搖桿在虛擬空間中的位置。 圖 2-9 游標偏離夾爪時所受到的力提示示意圖

2.2.4 力輔助流程

介紹完直覺式機器人操控方式以及力輔助策略後,我們說明兩者在系統中的 流程,如圖 2-10 所示,當操作者開始使用虛擬游標控制虛擬機器手臂時,力搖 桿接收操作者的控制指令,經過座標轉換至虛擬場景後分成兩部分,一部分是利 用 Inverse Kinematics 計算機器人姿態,若發現有不當的操作,則同時提供視覺 和聽覺回饋給操作者,並且機器手臂停止移動,若無不當操作,則系統將資訊送 往機器手臂的控制器,最後 slave 端機器人的姿態再回傳給 master 端更新虛擬場

(30)

景;另一部分為力資訊的運算,此部分不斷地依照當前虛擬導引機制以及游標和

機器人之間的關係進行力回饋的計算,並回授給操作者,修正其操控方式。

(31)

第三章

系統實現

本章介紹我們所設計結合視覺、聽覺和力覺回饋的直覺式虛擬機器人操控系 統整體架構,基於在第二章提出的操控方式和力輔助策略,搭配合適的軟硬體來 實現整體系統。在 3.1 節,我們先簡介整個系統的運作流程;3.2 節介紹軟體實 現,包含所使用的軟體和虛擬場景的建構;3.3 節為硬體實現,包含我們採用的 輸入、輸出裝置和機器手臂。

3.1 系統架構

整個虛擬機器人操控系統如圖 3-1 所示,包含一部個人電腦、一組六軸力回 饋搖桿、六軸機器手臂和力感應器等。Master 端的個人電腦主要負責接收使用者 操作搖桿的輸入訊號、繪製虛擬場景、建構虛擬機器人、產生即時虛擬導引、與 slave 端控制器做資料傳輸等。在 Master 端設有兩部顯示器,其中一台顯示器提 供虛擬機器人控制器的人機介面,另一台顯示器則提供攝影機所拍攝的機器人工 作平台側面,改善操作者對工作平台資訊的掌握。Slave 端的機器手臂末端裝有 力感應器,master 端可以即時得知目前夾爪和環境碰撞的情形。而虛擬機器人系 統能夠避免碰撞到已知的物體,如地面、機器人本身等。未來只要在機器手臂上 裝設更多的感測器,例如雷射測距儀、攝影機等,即可讓機器手臂擁有簡易的智 慧,可以判斷工作環境的即時變化並回報給操作者,避免操作者不當的命令,或 是將這些資料蒐集作為操作者決策的依據,增進人機互動。

(32)
(33)

3.2 軟體實現

本論文所使用的作業系統環境為 Microsoft Windows XP,編譯軟體採用

Microsoft Visual C++ 6.0。Master 端軟體部分主要是為了更新虛擬場景的資訊, 例如操作者與虛擬機器人的互動和網路傳輸,其主要分為三個部分,視覺系統、 虛擬機器人建構與運算、與力回饋資訊計算。 因為虛擬場景的繪製、網路封包的傳送和接收、力回饋等資訊必頇即時處理, 並且三者的更新頻率需求各有不同,因此在近端電腦我們採用多執行緒的方式實 現,將三者分別在三個不同頻率的執行緒下獨立運算。圖 3-2(a)為一般程式設計 執行時的執行順序和時間的關係,系統必頇完成一個函數工作後,才能開始執行 下一個工作;圖 3-2(b)為多執行緒執行時程式執行的順序和時間之間的關係。多 重執行緒將程式切成多個小塊,CPU 每次只執行其中一個小塊,雖然 CPU 在一 個時間內只能處理其中一個執行緒的資料,但是 CPU 在不同執行緒中快速切換 執行任務,就可以達成近似平行處理的效果,而當 CPU 擁有多個核心時,就可 以實現真正的平行運算。 (a)單一執行緒 (b)多執行緒 圖 3-2 執行緒和時間關係圖:(a)單一執行緒和(b)多執行緒

(34)

在本論文中我們採用 A、B、C 三個執行緒來完成各自負責的任務,首先第 一個 A 執行緒負責擷取和更新搖桿的位置與方向,並且執行座標轉換與機器人 工作空間的縮放,將搖桿的位置方向對應至虛擬場景中的座標系,以便做控制。 A 執行緒同時也負責產生即時虛擬導引以及記錄軌跡等,而其中導引需要提供力 回饋輔助,所以此執行緒的頻率必頇維持在 1kHz 左右,如果低於 1kHz 則使用 者會感受到力回饋不平順,或是震動的情形;執行緒 B 主要負責視覺系統的部 分,包含顯示虛擬游標位置、機器人姿態、虛擬導引和數據資料等,所以其更新 頻率只需要 60Hz 即可產生流暢的影像;最後執行緒 C 負責機器人角度的計算和 網路傳輸部分,在更新機器手臂的角度之前系統會先執行安全措施的檢測,例如 機器手臂的角度是否在工作範圍內、是否會和地面或是自己本身碰撞,在確定安 全無虞後才會更新機器手臂的角度並傳輸至 slave 端執行控制,否則將維持當前 姿態不動。而從 slave 端接收的機器手臂角度後,系統將更新當前機器手臂姿態, 並提供給執行緒 B 作繪製,此執行緒的更新頻率大約為 141Hz,圖 3-3 為執行緒 A、B、C 之間的相互關係示意圖。

(35)

3.2.1 機器手臂與虛擬場景建構

在虛擬場景中建構出一個虛擬機器人的目的是讓操作者可以利用在 3D 虛擬 場景中的游標和機器人進行互動,並且了解 slave 端機器人和搖桿之間的關聯。 為了建構出和 slave 端機器人相仿的虛擬版本以及虛擬場景,我們需要使用到電 腦繪圖引擎。一般常用的繪圖引擎有 DirectX 和 OpenGL 兩種,而我們選擇使用 OpenGL,理由是 OpenGL 的功能齊全,並且架構明瞭易使用,而且不限定開發 平台,可以在不同作業系統上執行。根據 Delingette[17]的研究中指出,人類的 視覺感受中,為了要讓人感覺畫面流暢,每秒至少需繪製 20 至 30 張畫面,也 就是說虛擬場景的更新頻率至少需要 20~30Hz 左右,才能夠保持畫面的流暢, 而本系統所撰寫的虛擬場景經由程式計算,畫面更新頻率約為 60Hz。 藉由 OpenGL 的功能,例如光源位置方向、陰影變化、半透明混色處理和自 由改變視角,我們可以建構出一個和 slave 端機器人相仿的虛擬版本機器人模型, 其中機器人是固定在平面上,總共有六個軸,表 3-1 為 RV-2A 的 D-H 參數,且 我們知道 D-H 變換矩陣為 1 ( ) (3.1) 0 0 0 0 1 i i i i i i i i i i i i i i i i i i i i c s c s s a c s c c c s a s s c d                               A 利用 forward kinematics 0 0 1 2 3 4 5 6  1 2 3 4 5 6 (3.2) A A A A A A A 我們可以得到每個軸座標系之間的轉換關係,以及機器人末端的位置方向,藉此 我們可以將機器人的骨架建構並繪製出來,如圖 3-4 所示。接著只需在程式中設 定好機器人各軸的初始角度、轉動範圍和轉速限制,虛擬機器人即可模擬出真實

(36)

機器人的姿態,最後繪製機器人外觀,並加入光源設定和物體表面的反射性質, 即可繪製出擬真的虛擬機器手臂;另外虛擬導引和一些視覺提示回饋等資訊也因 為有了半透明效果而不會影響到使用者的視線,並且能有效的提供視覺提示;自 由改變視角的功能可以讓視覺回饋不像攝影機一樣會有死角的問題,在程式中我 們可以設定使用者在虛擬場景中攝影機所在的位置,並且設定此攝影機所拍攝場 景中的一個位置。 表 3-1 RV-2A D-H 參數 Link ai αi di θi 1 a1 = 100mm -π/2 d1 = 350mm θ1 2 a2 = 250mm 0 θ2 3 a3 = 130mm -π/2 θ3 4 0 π/2 d4 = 250mm θ4 5 0 -π/2 θ5 6 0 0 d6 = 85mm + end-effector θ6

(37)

建構完虛擬機器手臂後,即可使用搖桿在場景中的游標對其進行操控。此時 使用者可以採用 inverse kinematics 來控制機器手臂,系統一旦確定是在容許範圍 內,機器手臂的末端位置與方向將會跟隨著場景中的游標變化,直到兩者的位置 和方向重疊,如圖 3-5(a)所示,這種直覺的操控方式讓操作者清楚的了解到操控 器與被操控對象的關係;而在彈簧耦合的部分,機器手臂的末端和搖桿的游標之 間我們使用一組彈簧單元,目的是讓操作者得知是否操控得當,並且增加搖桿的 重量,畫面上也有一條虛線作為視覺回饋讓操作者清楚判斷其距離,如圖 3-5(b) 所示;圖 3-5(c)是說明機器人安全措施的部分,如果任何一軸超出限制範圍,則 該部分會被標示成紅色,從圖中可以知道機器手臂的第二軸和第三軸超出限制範 圍;當機器手臂末端即將超過半透明圓柱狀提示時,機器手臂會停留在前一個時 刻的姿態,防止夾爪和手臂其他部位相碰撞。而力輔助策略的部分,圖 3-5(d)說 明軌跡記錄機制,圖中的軌跡提示操作者該處可以提供導引的功能。圖 3-5(e)-(f) 分別展示即時方向虛擬導引的部分,圖 3-5(e)開啟單一方向的力導引,圖中顯示 虛擬游標出現一條直線段作為視覺提示,圖 3-5(f)則是開啟兩個方向,圖中可以 看出游標上有兩個方向的直線段作為視覺提示。 (a)游標和夾爪重合 (b) 游標和夾爪間的彈簧 圖 3-5 系統所提供之回饋資訊:(a)游標和夾爪重合、(b)游標和夾爪間的彈簧彈 簧、(c)不當操作的視覺提醒、 (d)機器人軌跡紀錄機制、 (e)即時單方向導引和 (f)即時平面導引

(38)

(c) 不當操作的視覺提醒 (d) 紀錄機器人軌跡

(e) 即時單方向導引和 (f) 即時平面導引

圖 3-5 系統所提供之回饋資訊:(a)游標和夾爪重合(續)、(b)游標和夾爪間的彈簧 彈簧(續)、(c)不當操作的視覺提醒、 (d)機器人軌跡紀錄機制、 (e)即時單方向導 引和(f)即時平面導引

(39)

整個 master 端虛擬機器人操控系統的操作介面如圖 3-6 所示,此場景可以提 供在 master 端執行模擬操控或是連接至 slave 端真實遙控。在視窗的下半部提供 執行緒的更新資料、機器手臂角度和其他功能的開啟與關閉狀態,清楚告知使用 者系統狀態和操作方式。使用者透過滑鼠與鍵盤即可使用這些功能和改變場景視 角。 圖 3-6 直覺式虛擬機器人操控器 master 端操作畫面

(40)

3.2.2 機器手臂角度運算

為了使機器人末端持續跟隨虛擬游標,我們必頇適當的計算出機器人六軸應 該轉動的角度,所以我們必頇持續擷取搖桿在虛擬空間中的位置與方向,再利用 這些資訊提供 inverse kinematics 計算角度。 圖 3-7 MITSUBISHI RV-2A 機器手臂 由圖 3-7 我們得知機器人末端位置為 p,機器人腕部位置為 6 (3.3) x y z pw w pw d pw            p p a 機器人腕部位置相對於第二軸座標系為

(41)

1 1 1 1 1 1 0 1 1 1 1 1 a ( ) (3.4) 1 1 1 x x y x y z y z x y z pw c pw s pw p w pw pw d p w pw s pw c pw p w                                          A 因此我們可以得知 1 1 x 1 y z 0 (3.5) s pw c pw p w     故第一軸的解可以寫成 1 1 tan 2( , ) (3.6) or tan 2( , ) y x y x A pw pw A pw pw       (3.7)      上面兩組解中我們選擇第一組解,另外由圖 3-7 我們可以得知 1 1 Atan2(p w p wy, x) (3.8)  1 2 1 2 ( x) ( y) (3.9) rp wp w 2 2 3 4 ( ) ( ) (3.10) lad 1 4 3 tan (d ) (3.11) a  若r l a2,則 2 3 (3.12) (3.13)           若r l a2,則 2 2 2 2 2 (a ) 2 cos( ) (3.14) lr   ra  2 2 2 1 2 2 ( ) cos ( ) (3.15) 2 r a l ra    2 2 2 1 ( 2) cos ( ) (3.16) 2 r l a lr    則可以得到兩組2、3解 2 3 (3.17) (3.18)               

(42)

2 3 (3.19) (3.20)                 而我們選定第一組解作為機器人的第二、三軸角度 在此我們將姿態的變換矩陣表示成 [ ] (3.21) x x x y y y z z z n o a n o a n o a            R n o a 由前面計算出前三軸的角度,我們可以計算第三軸相對於世界座標的方向為 0 0 1 2 3  1( )1 2(2) 3( ) (3.22)3 R R R R 接著我們可得到虛擬游標相對於當前第三軸座標系的方向為 3 3 3 3 0 3 4 5 3 3 3 6 3 4 5 6 3 3 3 4 5 6 4 6 4 5 6 4 6 4 5 4 5 6 4 6 4 5 6 4 6 4 5 5 6 5 6 5 ( ) (3.23) x x x T y y y z z z n o a n o a n o a c c c s s c c c s c c s s c s c c s c s c c s s s c s c c                               R R R R R R 由 (3.23) 式,且5(0, ) ,則我們可以得到機器人四、五、六軸的解如下 3 3 4 3 2 3 2 3 5 3 3 6 Atan2(- , - ) (3.24) Atan2( ( ) ( ) , ) (3.25) Atan2(- , ) y x x y z z z a a a a a o n        (3.26)      若5 ( , 0),則我們可以得到另一組解 3 3 4 3 2 3 2 3 5 3 3 6 Atan2( , ) (3.27) Atan2(- ( ) ( ) , ) (3.28) Atan2( , - ) y x x y z z z a a a a a o n        (3.29)      在解出每一軸的角度後,系統皆會採取各軸容許範圍的偵測,如下 min min min max max 1 max if < (3.30) if < < (3.31) if > i i i i i i i i i i             (3.32)     

(43)

其中 i = 1, 2,…, 6,代表六個軸,系統確保計算出的角度維持在機器人所限制的 範圍內。 一旦計算出的六軸角度皆在限制範圍內,並且不會有碰撞到已知物體的情形 後,這六軸角度資訊即被輸入至低通濾波器。因為在操作的過程中可能會有操作 者手部抖動的情形,或者是在計算 inverse kinematics 的過程中角度快速的來回變 動造成機器人會有震動的情形發生,故我們使用截止頻率為 1Hz 的低通濾波器 來過濾高頻部分,圖 3-8 為機器人夾爪在 x 軸上相對於時間的波形圖,從中可以 觀察出通過濾波器以後可以去除不必要的震盪情形。 圖 3-8 經由低通濾波器濾波之夾爪位置與時間關係圖

(44)

3.2.3 工作空間轉換

即使本論文所使用的力搖桿與機器手臂結構相仿,但是兩者工作空間和各軸 的範圍限制卻不盡相同,為了達到讓使用者彷彿抓著機器手臂操作的效果,必頇 將力搖桿的工作範圍適當地轉換對應至機器手臂的工作空間,如圖 3-9 所示。我 們可以發現力回饋搖桿內建的座標系是以面對操作者的方向為 Z 方向、上方為 Y 方向;而虛擬場景中我們將面對操作者的方向設定為 X 方向、上方為 Z 方向, 和 slave 端機器手臂的座標系一致。將 master 端搖桿的位置方向進行座標轉換後 即對應至虛擬場景,即 slave 端機器人的座標系,利於操作者直覺地操作以及虛 擬場景中各種資訊的運算。 因為機器手臂要執行的任務非常多種,例如外科手術、環境探勘、裝配、切 割和本論文中要執行的模擬調配化學液體等,每項任務對於工作空間的要求不盡 相同。例如在需要高精確度的任務中,對應至 slave 端的工作空間就必頇縮小, 也就是操縱者移動搖桿一大段距離時,機器手臂只偏移一小段距離,反之則將工 作空間放大;而工作空間不只是單純的縮放而已,因為操控器本身和被操控對象 的座標系往往不相同,故還需要將座標軸旋轉;最後是 master 端原點對應到 slave 端的工作空間原點的位移,同樣因為任務的不同,需要更改此 slave 端工作空間 的原點,以便近端的操控者可以用較自然或舒適的方式來控制。

(45)

圖 3-9 工作空間轉換示意圖 此工作空間的轉換主要分成三個部分,旋轉、位移和縮放,首先將 master 端座標旋轉,此處先不更改力搖桿原點的位置。透過一個齊次變換矩陣 Ams = Rm s oms 0 1 (3.33) 我們可以將搖桿的位置與方向轉換至 slave 端的座標系,其中 Rms = 0 0 1 1 0 0 0 1 0 (3.34) oms = 0 0 0 T (3.35) 力回饋搖桿末端相對於搖桿本身座標系的齊次變換矩陣可以表示為 Thm= nhm 0 ohm 0 ahm 0 phm 1 (3.36) 力回饋搖桿相對於機器手臂座標系的齊次變換矩陣可以表示為 Ths= nh s 0 ohs 0 ahs 0 phs 1 =Am s Thm (3.37) 將此齊次變換矩陣的位置部份乘上一個常數,即可縮放工作空間的長、寬、高,

(46)

如下: Th's = nh s 0 ohs 0 ahs 0 𝐤Tp h s 1 (3.38) 再利用一齊次變換矩陣將此工作空間位移至適合任務進行的位置 Ass'= I oss' 0 1 (3.39) 最後即可得到搖桿末端在 slave 端座標系最後的齊次變換矩陣 Th's'=Ass'Th's (3.40)

3.3 硬體實現

在實現此機器人操控器時,我們所使用到的設備為 master 端一台個人電腦、 一組六軸力回饋搖桿、slave 端的機器人控制器、機器人本體以及力感應器。我

們利用個人電腦來實現虛擬場景系統,電腦規格為 Intel Core2 Duo E8400 CPU

3.00GHz,選用此雙核心處理器能夠有效率地處理多執行緒的運算,另外搭配 3.25GB 的記憶體,顯示卡為 NVIDIA GeForce 9800GT。接下來我們分別詳細介 紹直覺式虛擬機器人操控系統所採用的硬體,以及各個硬體的特性與規格。

3.3.1 Phantom Omni 六軸力回饋搖桿

在 Master 端的力回饋搖桿,其系統主要結構如圖 3-10 所示,藉由搖桿中的 感測元件可以得知搖桿當前的位置,經由座標轉換和縮放即可對應至虛擬場景, 另外動力原件可以將電腦運算後的提供力回饋資訊回饋給使用者。我們採用美國

(47)

我們欲操作的機器手臂相仿,同樣為六個自由度,因此在操作機器手臂時使用者

能夠輕易掌握操控器與被操控對象的關係。搖桿的握柄上配置兩個按鈕,程式設

計者可自行設定其功能,例如夾爪開合或力輔助策略切換等。此搖桿的力回饋為

X、Y、Z 三方向,搖桿解析度為 0.055mm,精確度足以應付本論文中所執行的 任務。另外我們也採用 SensAble 公司所提供的 Haptic Library API(HLAPI)[28]做

為 Phantom Omni 力回饋搖桿的驅動函式庫,此函式庫能和 OpenGL 整合,程式

設計者可以輕易的將視覺和觸覺回饋做配合。

圖 3-10 力回饋搖桿裝置示意圖

(48)

表 3-2 Phantom Omni 六軸力回饋搖桿規格表

Forcefeedback workspace 160 W x 120 H x 70 D mm.

Weight (device only) 15 oz.

Range of motion Hand movement pivoting at wrist

Nominal position resolution 0.055 mm.

Maximum exertable force at position 3.3 N

Continuous exertable force 0.88 N

Stiffness X axis 1.26 N / mm.

Y axis 2.31 N / mm.

Z axis 1.02 N / mm.

Inertia (apparent mass at tip) 45 g

Force feedback x, y, z

Interface IEEE-1394 FireWire port: 6-pin to 6-pin

(49)

3.3.2 Mitsubishi RV-2A 六軸機械手臂

本實驗室所使用的機械手臂為日本 MITSUBISHI 公司製造的 RV-2A 六軸機 械手臂,所使用的控制器為該公司的 CR1-571,圖 3-12 為控制器 CR1-571 外觀, 圖 3-13 為機械手臂 RV-2A 外觀,而表 3-1 及表 3-2 則分別為機械手臂 RV-2A 以 及控制器 CR1-571 的基本規格。我們採用 VC++語言,由近端電腦下達控制命令 後,手臂六個角度的資料封包傳送到 CR1-571 中,CR1-571 再對 RV-2A 下控制, 同時 CR1-571 回傳機械手臂的當前角度資料封包至近端電腦,CR1-571 控制器指 令週期約為七毫秒。 圖 3-12 CR1-571 控制器外觀 圖 3-13 Mitsubishi RV-2A 六軸機械手臂外觀

(50)
(51)
(52)

3.3.3 JR3 力感測器:

為了獲得機器手臂夾爪與環境中物體碰撞時的力資訊,我們使用 JR3 力感測 器。此一感測器可以測量 X、Y、Z 三個方向的力量大小以及對三個軸的旋轉力, 而我們在任務的執行中使用了 X、Y、Z 三方向的力資訊量測,其外觀如圖 3-14 所示;表 3-5 為其基本規格。 圖 3-14 JR3 力感測器外觀 表 3-5 JR3 力感測器規格表

(53)

第四章

實驗

本實驗的目的在於模擬並檢測操作者使用直覺式虛擬機器人操控系統於危 險環境下操控機器人拿取裝有化學液體的詴管,並且執行移動和傾倒等動作上的 效率和穩定性,將分別比較不同力回饋組合,藉此驗證力輔助策略可以增進操作 者執行任務時的效率;在 4.1 節我們介紹實驗的設計與流程,4.2 節為操作實景, 而在 4.3 節中我們將討論實驗結果和問卷統計的分析。

4.1 實驗設計與流程

我們實驗所進行的任務是模擬在化學實驗室的環境中,移動危險化學液體, 任務中受測者需要謹慎地將平台中一端的詴管平穩取出,並且穩定地接近平台另 一端,再將液體倒入另一支空詴管中,最後再沿著原本的路徑平穩的將詴管放置 回原來平台孔徑中,實驗過程中我們檢測使用不同虛擬導引所帶來的輔助效果。 在實驗進行之前受測者皆已熟悉系統的操作方式,並且實驗進行的順序為隨機, 也就是力輔助組合的順序皆不相同,因此不考慮在實驗的過程中操作者漸漸熟悉 系統的可能性。圖 4-1 為實驗用的詴管,其長度為 120mm、口徑約 15.7mm。圖 4-2 為放置詴管的鋁製平台,上方有多個圓孔,每個圓孔的直徑和詴管相仿,詴 管放入後幾乎能和孔徑密合,故必頇垂直並且對準洞口才能順利將詴管取出或置 入,具有相當的困難度。圖片中兩根詴管的中心距離為 200mm,詴管露在外部 的長度約 45mm,鋁製平台的長 230mm、寬 130mm、高 90mm。另外機器手臂 的工作空間我們設定為 Phantom 力回饋搖桿工作空間的兩倍大,且因為實驗平台

(54)

設定在機器手臂的前方接近桌面處,所以搖桿的原點並不是直接對應至機器手臂 的原點,而是對應至手臂原點往 X 方向位移 300mm、Z 方向位移 120mm 的位置, 此設定有助於實驗的進行。在力回饋方面,夾爪與搖桿末端的彈簧耦合力中,彈 力係數 k 設定為 0.08 (N/mm),此值適宜模擬機器人的重量,並且達到提示的功 能;而方向性力導引的 k 為 0.8 (N/mm),足以穩定手部控制,避免偏移至不必要 的方向,彈力系數的決定方式為經過多次實驗後得到的經驗數值。 圖 4-1 實驗用詴管 圖 4-2 實驗用詴管和放置平台 實驗中判定成功與失敗的準則為液體溢出來的量,原本詴管中的液體量為 11c.c.,溢出超過 1c.c.即算任務失敗,該次實驗則重新執行。實驗組合總共有四

(55)

1. 無力輔助; 2. 僅提供彈簧耦合,也就是在夾爪和搖桿末端之間設定彈簧單元; 3. 僅提供方向性的輔助; 4. 同時提供彈簧耦合和方向性力輔助。 受測者於每一種組合任務中各執行兩次,問卷中有各種實驗組合的相關問題 必頇填寫,受測者每做完一種組合即填寫相關的問卷內容;在做完所有組合後, 再填寫問卷綜合評價的相關內容。在實驗正式開始前,受測者已被告知實驗所有 階段的意義以及視覺回饋、聽覺回饋和力輔助效果等。實驗的受測者共有 8 位, 6 位男生、2 位女生,年齡約 23、24 歲,慣用手皆為右手,而使用力搖桿的經驗 各有不同,如表 4-1 所示。 表 4-1 受測者基本資料表 受測者 年齡 性別 慣用手 視力 使用力搖桿經驗 A 24 男 右 矯正後正常 經常 B 24 男 右 矯正後正常 經常 C 24 男 右 矯正後正常 較少 D 23 男 右 矯正後正常 較少 E 23 男 右 矯正後正常 較少 F 23 男 右 矯正後正常 較少 G 23 女 右 矯正後正常 無 H 23 女 右 矯正後正常 較少 我們將實驗分成七個階段來進行不同的輔助以及分析,如圖 4-3 所示,第一 個階段是將右側的詴管平穩地向上抽出,在這個階段方向性的力輔助為機器手臂

(56)

的 Z 方向,即垂直向上的路徑,受測者唯一能行徑的方向即垂直向上;在詴管 完全取出後進入第二階段,第二階段受測者必頇水平的將詴管往左邊移動,這時 系統所提供的輔助即產生一個水平的力牆,幫助受測者穩定手部不上下偏移;到 了鋁製的平台中間即進入第三階段,第三階段因為必頇瞄準另一支詴管,所以這 個階段不提供力回饋,以便給受測者較多空間做微調的動作;一旦確定瞄準另一 支詴管口就進入第四階段,此時系統提供的輔助是將所有方向鎖住,受測者在這 時只能旋轉夾爪而無法平移,此策略有助於受測者做傾倒液體的動作;傾倒完液 體以後進入第五階段,第五階段為第三階段的相反方向,不過增加了力牆輔助, 這道力牆為機器人座標 Y、Z 平面,目的是避免受測者偏移 X 方向;第六階段和 第二階段相同,提供一道水平力牆;第七階段將倒完的詴管放回原來的孔洞中, 其與第一階段的差別僅在於此時的方向輔助為動態,也就是夾爪的 n 方向會動態 產生導引路徑,如此可以讓受測者瞄準詴管孔並做微調的動作,若仿照第一階段 採取垂直固定的力輔助,反倒無法供受測者微調,導致在放置詴管時造成更多不 便。圖 4-4 為七個階段所提供的力輔助策略示意圖。 圖 4-3 實驗各階段示意圖

(57)

圖 4-4 各階段所對應的力輔助示意圖 在實驗的過程中,受測者按照實驗的七個階段自行按壓鍵盤上的空白鍵切換 至下一階段,按壓第一次時夾爪夾取詴管並進入第一階段;隨後在不同的階段中 系統即產生相對應的力輔助策略,每個階段的力輔助我們在系統中已事先設定好, 受測者不用親自決定該選取哪一方向作為輔助;按壓第八次鍵盤,也就是結束第 七階段時夾爪即放開並結束實驗。其中為了每次實驗的公平性,若該次實驗是在 不提供力輔助的情況下,則受測者也同樣必頇按壓鍵盤上的另一個按鍵(„x‟鍵) 切換實驗的七個階段。在系統中,方向性的輔助可以隨操作者的需求進行切換, 而實驗中我們為了評估力輔助在各階段的效果,所以預先設定好力輔助模式,方 便受測者進行切換,圖 4-5 顯示整個實驗的流程圖。

(58)
(59)

在實驗的過程中,受測者坐在機器手臂正前方進行操控,有兩個螢幕提供不 同的資訊,左側螢幕提供虛擬場景、力輔助模式和機器手臂相關資訊,受測者透 過此畫面可以得知力搖桿在虛擬場景的位置,以判定搖桿和手臂的關係,並且得 知是否操作得當;另一個螢幕則提供攝影機所拍攝的影像,這台攝影機設置在機 器手臂工作平台的側邊,朝向機器手臂的 Y 方向拍攝,目的是為了改善受測者 在放置詴管或是傾倒液體時的位置判定。由圖 4-6(a)-(b)所示,受測者利用兩個 螢幕的資訊加上自已的判斷來完成任務,受測者只需要控制力搖桿,加上左手按 壓鍵盤切換不同的階段,即可下達命令控制機器手臂,同時力輔助策略也會自行 切換至相對應的實驗階段(stage)。 (a) 機器人與操控平台 (b) 操作者操控情形 圖 4-6 操控平台與操作實景:(a)機器人與操控平台和(b)操作者操控情形 圖 4-7 為實驗每個階段中真實環境與虛擬場景機器手臂的對照圖,圖 4-7(a)-(b)為抽取或放置詴管的操作實景,機器手臂末端呈現水平的姿態以便對詴 管進行操作,圖 4-8(a)-(b)為水平移動詴管的動作,手臂末端同樣以水平的姿態 將詴管沿著鋁製平台上方穩定移動,圖 4-9(a)-(b)為機器人準備靠近另一端的空 詴管,並且進行瞄準的動作,手臂末端在此時開始緩慢旋轉同時水平移動,圖

(60)

4-10(a)-(b)為執行傾倒詴管液體的動作,這個階段受測者只能執行旋轉的動作, 不可往任何方向平移,且必頇控制詴管中液體的流速,避免詴管中的液體灑出。

(a) 真實場景 (b) 虛擬場景 圖 4-7 抽取、放置詴管操作實景:(a)真實場景和(b)虛擬場景

(61)

(a) 真實場景 (b) 虛擬場景 圖 4-9 瞄準目標操作實景:(a)真實場景和(b)虛擬場景

(a) 真實場景 (b) 虛擬場景 圖 4-10 傾倒液體操作實景:(a)真實場景和(b)虛擬場景

(62)

4.2 實驗結果與討論

每位受測者執行兩次四種實驗組合,總共有八筆數據。在接下來的實驗結果 圖中,由左到右順序第一筆資料為無提供力輔助的情形,第二種為搭配彈簧耦合, 也就是在夾爪和虛擬游標之間設定一彈簧單元,第三種為即時方向性力輔助,在 適當的位置提供點、線、面形式的力導引,第四種為彈簧耦合加上方向性力輔助。 我們將針對任務中機器人行走路徑總長、執行時間、游標和夾爪的誤差以及機器 人軌跡等資訊進行分析,圖 4-11 為四種力輔助模式下機器人行走路徑總長的分 析圖,圖中圓圈代表該組合的平均值,中間紅色橫線為中位數,我們可以發現無 力輔助的資料分布較鬆散,並且平均路徑也最長;加入彈簧耦合後機器人的行走 路徑會縮短;在方向性力輔助的組合中,資料分布較集中、穩定;而兩種力輔助 組合同時存在時,平均路徑會更小;由此我們推測力輔助能有效穩定受測者的手, 避免機器人往不必要的方向移動。 圖 4-11 四種力輔助策略下總路徑長分析

(63)

在游標和夾爪之間誤差的部分,由圖 4-12 所示,我們可以發現四種組合的 平均差異不大,均不到 1mm,並且前三種力輔助策略中,資料分部的情形也大 致相同,無明顯差異。在彈簧耦合加上方向性力輔助的情形下,平均誤差增加少 許,資料分部也較鬆散,推測是在某些階段因為兩種力回饋互相影響的結果,在 稍後我們會詳細說明原因。 圖 4-12 四種力輔助策略下游標和夾爪之間的誤差 圖 4-13 為四種組合的完成時間比較圖,從這張圖我們可以發現前三種力輔 助策略的平均時間差異不大;第二種彈簧耦合的組合中,雖然所提供的力輔助有 助於受測者操作的穩定性,但是因為有阻力的關係,完成時間略為提高,資料分 部也較不集中,此種輔助對於每位受測者的效果不同;而有方向性力輔助的兩種 組合中,可以發現完成時間有改善,尤其在彈簧耦合加上方向性力輔助組合中, 完成時間有較明顯的下降,原因在於瞄準空詴管的階段,有彈簧耦合可以增加穩 定性,瞄準詴管孔時不易晃動。最後要將詴管擺放回原處時,也因為彈簧耦合以 及方向性力輔助,詴管在詴管架裡較不易晃動,且放置詴管時能垂直向下,避免 碰撞詴管架。

(64)

圖 4-13 四種力輔助策略所花費的時間 接下來我們探討四種組合中機器人在三維空間中行走的軌跡圖,在圖 4-14 和圖 4-15 中,軌跡包含整個實驗過程七個階段,藍色的三角形代表每個階段機 器人行走的方向,紅色線條為虛擬游標的軌跡,黑色線條為機器人夾爪的軌跡。 由圖 4-14(a),我們可以看出在無力輔助的狀態下機器人行走的路徑較為凌亂, 例如在右半部拿取或放置詴管時容易與詴管平台碰撞,左半部在瞄準與傾倒液體 的階段有更明顯的晃動,整個實驗過程缺乏穩定性。圖 4-14(b)為加入彈簧耦合 力後的機器人路徑圖,可以看出因為增加了搖桿的重量,故行走的路徑比無力輔 助的路徑平穩一些,在拿取和放置詴管的部分,我們可以看出軌跡依舊有些微的 晃動,而在瞄準空詴管的過程中比起無力輔助的組合有較平順的路徑,然而在傾 倒液體的階段依舊有些微的晃動。

(65)

(a) 無力輔助 (b) 具彈簧耦合 圖 4-14 機器人軌跡圖:(a)無力輔助和(b)具彈簧耦合 圖 4-15(a)、(b)分別為方向性力輔助以及彈簧耦合加上方向性力輔助的機器 人軌跡圖,由兩張圖中可以看出在抽取與放置詴管時路徑相當平順,幾乎呈現垂 直狀態,大幅降低詴管與詴管架的碰撞情形;水平移動過程的晃動也因為有力牆 的輔助,減少上下晃動的情形;在傾倒液體時因為系統提供力輔助將夾爪位置鎖 定,此階段的路徑維持在一個點上,大幅增加傾倒液體時的穩定性。圖 4-15(b) 顯示,在瞄準空詴管的過程因為多了彈簧耦合的輔助,所以軌跡較圖 4-15(a)中 的來得平順。 (a) 具方向性力輔助 (b) 具彈簧耦合與方向性力輔助 圖 4-15 機器人軌跡圖:(a) 具方向性力輔助和(b) 具彈簧耦合與方向性力輔助

(66)

接下來我們藉由圖 4-16 說明為何在同時提供兩種力回饋時搖桿與夾爪之間 的誤差會有些許的增加,圖 4-16(a)為彈簧耦合力在七個階段的變化,圖 4-16(b) 為方向性力輔助在七個階段的增減情形,其中上下兩張圖皆用六條垂直線將整個 實驗流程分成七個階段,我們可以發現在第五階段時彈簧耦合力突然增加,這是 因為在這個階段受測者已經將液體傾倒完畢,故受測者會將搖桿進行快速的旋轉 動作,也就是將詴管從傾斜狀態旋轉至詴管口向上的姿態,這時 slave 端機器人 無法迅速跟隨著搖桿做快速旋轉,為了跟隨搖桿的方向做旋轉,機器人前三軸同 時會調整,造成機器人末端位置更動,但是在這個階段,方向性力輔助將搖桿限 制在 Y、Z 平面,所以機器人末端移動時造成夾爪和搖桿距離變大,也就是兩者 誤差變大,而彈簧耦合力也因此增加,這也是在第四種組合誤差會變大的原因。 (a) 彈簧耦合力 (b) 方向性力輔助 圖 4-16 力回饋大小相對於時間關係圖:(a)彈簧耦合力和(b)方向性力輔助

數據

圖 1-4  即時力輔助系統示意圖  圖 1-5  直覺式虛擬機器人操控器系統概念圖  本論文在第二章提出直覺式虛擬機器人控制系統,並介紹即時性的方向力導 引以及軌跡記錄機制;第三章介紹系統實現,分為軟體和硬體兩部分,軟體主要 介紹虛擬環境與虛擬機器人的構成和工作空間的轉換,硬體部分則介紹使用的搖 桿和機器手臂,另外也會說明系統架構圖和流程;第四章介紹實驗,說明實驗方 式和流程,並討論實驗結果;第五章提出結論以及未來工作。
圖 2-10  系統與力輔助流程圖
圖 3-1  系統架構圖
圖 3-5  系統所提供之回饋資訊:(a)游標和夾爪重合(續)、(b)游標和夾爪間的彈簧 彈簧(續)、(c)不當操作的視覺提醒、  (d)機器人軌跡紀錄機制、  (e)即時單方向導 引和(f)即時平面導引
+7

參考文獻

相關文件

C., “Robust and Efficient Algorithm for Optical Flow Computation,” Proceeding of IEEE International Conference on Computer Vision, pp. “Determining Optical Flow.” Artificial

[16] Goto, M., “A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines in CD Recordings,” Proceedings of the 2000 IEEE International Conference

如圖 4-22 IBM Via Voice 語音辨識軟體與 Visual Basic 機器人程式只是一個互 助的關係,Visual Basic 無法控制 Via Voice,Via Voice

Harma, “Automatic identification of bird species based on sinusoidal modeling of syllables,” in Proceedings of IEEE International Conference on Acoustics, Speech,

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

Plumbley, “Beat Tracking with a Two State Model,” IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP 2005), vol. Honing, “Computational

Gu, “Corner Block List: An Effective and Efficient Topological Representation of Nonslicing Floorplan,” IEEE/ACM International Conference on Computer-Aided Design, pp.8–12,