東海大學 工業工程與經營資訊學系 碩士論文 - Tunghai...

108
工業工程與經營資訊學系 碩士論文 在工業 4.0 架構下發展機器手臂自我編程的 方法與實踐 :林紹璿 指導教授 :黃欽印 博士 陳武林 博士 中 華 民 國 一 ○ 五 年 七 月

Transcript of 東海大學 工業工程與經營資訊學系 碩士論文 - Tunghai...

  • 東 海 大 學

    工業工程與經營資訊學系

    碩士論文

    在工業 4.0 架構下發展機器手臂自我編程的

    方法與實踐

    研 究 生 :林紹璿

    指導教授 :黃欽印 博士

    陳武林 博士

    中 華 民 國 一 ○ 五 年 七 月

  • Autoprogramming for Industrial Robots in Industry 4.0

    By

    Shao-Hsuan Lin

    Advisors: Prof. Chin-Yin Huang

    Prof. Wu-Lin Chen

    A Thesis

    Submitted to the Institute of Industrial Engineering and Enterprise

    Information at Tunghai University

    in Partial Fulfillment of the Requirements

    for the Degree of Master of Science

    in

    Industrial Engineering and Enterprise Information

    July 2016

    Taichung , Taiwan

  • I

    在工業 4.0 架構下發展機器手臂自我編程的方法與實踐

    學生:林紹璿 指導教授: 黃欽印 教授

    陳武林 教授

    東海大學工業工程與經營資訊學系

    摘 要

    隨著科技的進步,當今的感測器、致動器、PLC 控制器的精密度以及精確程度已有

    卓越的演進,以及工業 4.0 的衝擊、大數據及物聯網的出現,促使自動化生產製造模式

    推向「智能化」,而原本的自動化科技強國的自動化元件國際大廠將因為市場的需求擴

    大而更進一步宰制自動化技術的發展。然而現今機器人工作單元的標準作業動作仍需依

    靠「人為撰寫」,無法適應重新編程的任務。因此,往後機器人的程式撰寫若能跳脫傳

    統程式撰寫的概念,讓機器人工作單元在任務類型的轉換上能因應微小的變化並完成任

    務,將會成為工業機器人製造廠的一大突破。

    本研究目的為應用本體論的概念發展能透過自我調整使其完成自動編程的方法。本

    研究將發展四個層次來界定內容:實體工作需求層(the data layer)、本體層(the ontology

    layer)、法則推論層(the reasoning layer),與機器手臂程式層(the deployment layer)。在實

    體工作需求層的環境與物件資料會透過機器視覺搭配 Labview 來取得實際環境與物件

    資料。在建構一個本體知識庫是依據目前使用者欲應用一個特定領域範圍或者多個領域

    範圍,使建構本體論並沒有所謂固定範本的問題,因此本研究的領域範圍將會從四層發

    展架構當中區分為三個系統層面依序為:Vision System、Knowledge Driven System、Robot

    System,其中 Vision System 以及 Robot System 為我們所要明確定義的兩個領域範圍,

    其中的詳細意義規範、屬性以及條件限制透過 RDF 以及 OWL 描述將其建置為我們的

    知識本體論,而 Knowledge Driven System 將根據 Vision System 以及 Robot System 的知

    識本體架構發展五個概念模型依序為:物件概念模型、感知概念模型、位置概念模型、

    機器手臂概念模型、機器手臂之程式編碼概念模型,透過此五個概念模型的元素建立兩

    個領域範圍之間的相互關係,以便達到兩個領域知識分享共用的目的。根據 SWRL 與

    Pellet 對實體工作的定義,法則推論層進一步在相關的動作與情境上定義動作的推論,

    再透過 Jess 推論取得機器手臂程式層所需要的關鍵資料。最後接收法則推論層的結果,

    並將程式應用於機器手臂程式層的機器手臂上,規畫以本國上銀科技關節型機器手臂的

    語言格式為初步輸出格式。

    關鍵字詞:工業 4.0、機器手臂、自動編程、本體論、機器視覺、SWRL rule、Jess engine

  • II

    Autoprogramming for Industrial Robot in Industry 4.0

    Student:Shao-Hsuan Lin Advisors:Prof. Chin-Yin Huang

    Prof. Wu-Lin Chen

    Department of Industrial Engineering and Enterprise Information

    Tunghai University

    ABSTRACT

    With the advancement of technology. Nowadays, precision and accuracy of the

    sensors, actuators, and PLC controller have been remarkable improved. Furthermore,

    the impact of industrial 4.0, the emergence of big data and Internet of Thing are

    prompting automated manufacturing mode to the intelligent mode. Moreover, the

    international huge companies with the automation components in the

    technology-advanced country dominate the development of automation technologies

    because the market demand has been expanded. However, the standard operation of

    robot work cell which are unable to adapt to task of reprogramming still rely on

    programming manually instead of auto-programming. If the robot program written

    shift from the traditional program to the auto-programming that robot work cell able

    to response to small changes and get instruction done on the task type conversion.

    Therefore, the auto-programming of the robot will become a big breakthrough in the

    industrial robot manufacturer.

    The purpose of this study is to exploit the concept of ontology development

    which can be automatically adjusted in order to complete the task through

    auto-programming. This study will be developed to define the content of four levels

    including: the data layer, the ontology layer, the reasoning layer, and the deployment

    layer. In the data layer, this research utilizes robot vision, Labview, to obtain the real

    environment and object characteristic values for environment data and object data.

    The construction of the ontology knowledge is based on the current user who wants to

    use a particular domain area or multiple domains areas. As the result, there is no fixed

    template problem when construct an ontological concept. Based on the four-layer

    development, this study will divide the system into three levels: The Vision System,

    the Knowledge Driven System, and the Robot System. The Vision System and the

    Robot System are the two domain areas which are utilized to define the detailed

    meaning of specification, properties, and the constraints describe by RDF and OWL

    to build the ontology. According the ontology by the Vision System and the Robot

    System, the Knowledge Driven System develops five concept models: the object

    concept model, the perception concept model, the position concept model, the type

    concept model, and the program concept model. These five concept models are used

  • III

    to build the relationship between the Vision System and the Robot System for

    achieving the purpose of knowledge sharing of two areas. According to the definition

    of actual work from SWRL and Pellet, the reasoning layer further defined the

    reasoning of the motion under the given environment and obtain the key data which is

    required by deployment layer through Jess engine. Finally, the result from the

    reasoning layer develops the program of the machine arm in the deployment layer.

    This research plan to use the HIWIN SCARA for preliminary output format of robot

    language.

    Keywords: Industrail 4.0, Machine Arm, Ontology, Robot Vision, Swrl Rule, Jess

    Engine

  • IV

    致謝詞

    研究所的兩年,真的過得很快,在此感謝黃欽印老師與陳武林老師的耐心和

    不懈的指導,老師教導我們的不只是研究上專業知識及技能,更多的是對處理事

    情的態度、對目前現況的應對、對人生哲學的想法,讓我更清楚地知道自己想要

    的是甚麼、要做甚麼、如何去做,讓我學習到在大學部不一樣的觀點、專業知識、

    技能以及處理事情與問題的思考邏輯,我想兩年多的時間,不算太長也不能說太

    短,這段期間讓我成長許多,在此感謝兩位老師的用心指導。

    謝謝黃欽印老師在成為系主任後仍在忙碌中撥空與我們開會指導我們的論

    文,謝謝陳武林老師每個禮拜辛苦的來東海跟我們開會,細心地指出論文中的問

    題與錯誤,謝謝你們的指導與堅持,讓我能順利地完成這分論文,還要謝謝系上

    的老師,在課堂上的指導。也要謝謝 AUTO 研究室以及整個碩二的夥伴們,柏

    威、晉章、佑仁、思智、安杰、紹鈞、以澤、昊騰、育正、雯晴、鳳芷、信東、

    冠福、鈺傑、嘉圻、宏勳、哲楷、唯銘、啟鑫、書翰、予容、仲鈞、承哲跟我一

    起走過這兩年多的增肥計畫之研究所夏令營,相互支持幫助,互相鼓勵,在課業

    上的問題也能一起討論解決,同時謝謝研究室學弟妹顏晁、兆廷、瀞芳、林楠給

    予我的協助與打氣,真心感謝你們。特別要感謝我的家人,謝謝你們對我的百分

    之百支持,謝謝你們在這些年來給與我支持鼓勵與悉心關懷,讓我這一段求學生

    涯無後顧之憂,才得以順利完成學業,謝謝你們。

    最後,本論文特別感謝指導教授黃欽印申請科技部專題研究計畫書,工業機

    器人自動編程,申請編號 105WFD0150185 (黃欽印,2016)。論文中多處引用,

    僅此致謝。

    林紹璿 謹誌於

    東海大學工業工程與經營資訊學系研究所

    中華民國一○伍年七月

  • V

    目錄

    摘 要 ............................................................................................................................................... I

    ABSTRACT ........................................................................................................................................... II

    致謝詞 .................................................................................................................................................. IV

    目錄 ....................................................................................................................................................... V

    表目錄 ................................................................................................................................................ VII

    圖目錄 ............................................................................................................................................... VIII

    第一章 緒論........................................................................................................................................... 1

    1.1 研究背景與動機 .......................................................................................................................... 1

    1.2 研究問題與目的 .......................................................................................................................... 1

    1.3 研究架構與步驟 .......................................................................................................................... 2

    第二章 文獻探討................................................................................................................................... 1

    2.1 工業 4.0 的衝擊與智能製造 ...................................................................................................... 1

    2.2 機器手臂自動化的迫切性 .......................................................................................................... 2

    2.3 工業機器人的基本元素 .............................................................................................................. 2

    2.4 機器人與自動化的本體理論 ...................................................................................................... 3

    2.5 Knowledge Driven 機器人學 ...................................................................................................... 7

    2.6 本體論........................................................................................................................................ 10

    2.7 本體的發展工具 ........................................................................................................................ 11

    2.8 語義網........................................................................................................................................ 12

    2.9 專家系統.................................................................................................................................... 15

    第三章 模型設計與建構 ..................................................................................................................... 16

    3.1 研究方法-四層發展架構 .......................................................................................................... 16

    3.2 建置本體論................................................................................................................................ 17

    3.3 定義本體論之領域範圍 ............................................................................................................ 18

    第四章 實作與分析 ............................................................................................................................. 43

    4.1 開發環境與工具 ........................................................................................................................ 43

    4.2 基本假設、情境說明 ................................................................................................................ 43

  • VI

    4.3 系統架構分析與實作 ................................................................................................................ 45

    4.4 Data Layer ................................................................................................................................... 46

    4.5 Ontology Layer ........................................................................................................................... 51

    4.6 Reasoning Layer ......................................................................................................................... 58

    4.7 Deployment Layer ...................................................................................................................... 76

    第五章 結論與未來方向 ..................................................................................................................... 80

    參考文獻 .............................................................................................................................................. 82

    附錄 ...................................................................................................................................................... 85

  • VII

    表目錄

    表 3.1 光源測量結果.............................................................................................................. 20

    表 3.2 夾爪設計與選擇因素.................................................................................................. 26

    表 3.3 屬性列表與類別描述................................................................................................... 34

    表 4.1 開發環境...................................................................................................................... 43

    表 4.2 開發工具....................................................................................................................... 43

    表 4.3 甜橙數據....................................................................................................................... 47

    表 4.4 蘋果數據...................................................................................................................... 48

    表 4.5 檸檬數據...................................................................................................................... 49

    表 4.6 第一部分規則設計...................................................................................................... 59

    表 4.7 第二部分規則設計....................................................................................................... 63

    表 4.8 第三部分規則設計...................................................................................................... 66

    表 4.9 第三部分規則設計....................................................................................................... 67

    表 4.10 第四部分規則設計..................................................................................................... 71

    表 4.11 示意圖解釋及架構對應 ............................................................................................ 79

  • VIII

    圖目錄

    圖 2.1 Suggested Upper Merged Ontology (SUMO) ............................................................... 4

    圖 2.2 機器人與 SUMO 的關係 ............................................................................................. 4

    (Prestes et al., 2013) ................................................................................................................... 4

    圖 2.3 Core Ontology for Robotics and Automation ................................................................ 5

    圖 2.4 簡化之 Core Ontology for Robotics and Automation ................................................... 6

    圖 2.5 機器人自動化系統之座標、數量、時間,與物件的關係........................................ 6

    圖 2.6 Knowledge Driven 機器人學程序圖 ........................................................................... 7

    圖 2.7 以 XML 表示機器手臂的參數、前置狀態,與結果 ................................................ 9

    圖 2.8 推論後的機器程式...................................................................................................... 10

    圖 2.9 OWL 以及 RDF 相互關係 .......................................................................................... 13

    圖 3.1 本研究工業機器人自動編程的四個層次.................................................................. 17

    圖 3.2 本研究工業機器人自動編程的三個系統層面.......................................................... 18

    圖 3.3 橢圓面積示意圖.......................................................................................................... 20

    圖 3.4 本研究 Labview 人機介面........................................................................................... 21

    圖 3.5 本研究 Labview 系統介面........................................................................................... 22

    圖 3.6 Labview 系統介面-攝像機控制模組 .......................................................................... 23

    圖 3.7 Labview 系統介面-分割字串模組 .............................................................................. 23

    圖 3.8 Labview 系統介面-特徵值轉換模組 .......................................................................... 24

    圖 3.9 Labview 系統介面-座標值轉換模組 .......................................................................... 24

    圖 3.10 Labview 系統介面-SQL 語法執行模組 .................................................................... 25

    圖 3.11 PickandPlace 本體架構 .............................................................................................. 29

    圖 3.12 物件概念模型的架構與分析設計............................................................................ 30

    圖 4.1 情境假設圖.................................................................................................................. 44

    圖 4.2 系統流程圖.................................................................................................................. 45

    圖 4.3 甜橙辨識圖.................................................................................................................. 47

    圖 4.4 蘋果物件辨識圖.......................................................................................................... 48

    圖 4.5 檸檬物件辨識圖.......................................................................................................... 49

    圖 4.6 phpMyAdmin 操作頁面 ............................................................................................... 50

  • IX

    圖 4.7 類別與子類別的關係.................................................................................................. 51

    圖 4.8 Protégé Jambalaya 類別階層 ....................................................................................... 52

    圖 4.9 DataMasterTab 操作畫面 ............................................................................................. 52

    圖 4.10 Protégé 連結 MYSQL 產生的實例 ........................................................................... 53

    圖 4.11 說明實例與屬性間的關聯性 ..................................................................................... 54

    圖 4.12 說明實例與物件及屬性間的關聯性......................................................................... 55

    圖 4.13 說明實例與類別及屬性間的關聯性......................................................................... 56

    圖 4.14 說明實例與類別及屬性間的關聯性......................................................................... 57

    圖 4.15 說明實例與類別及屬性間的關聯性......................................................................... 57

    圖 4.16 SWRLTab 與 Jess API 的操作畫面 ........................................................................... 58

    圖 4.17 說明推論後實例與類別及屬性間的關聯性............................................................. 61

    圖 4.18 說明推論後實例與類別及屬性間的關聯性............................................................. 62

    圖 4.19 水果特徵以及分類之推論後結果-以「fruit_Instance_1」為例 ............................ 64

    圖 4.20 說明推論後實例與類別及屬性的關聯性................................................................. 65

    圖 4.21 依盒子限制推論後結果-從 object 類別分類至 ChoseFruit 類別 ............................ 69

    圖 4.22 依盒子限制推論後結果-以「fruit_Instance_1」為例 ............................................. 69

    圖 4.23 說明推論後實例與類別及屬性間的關聯性............................................................. 70

    圖 4.24 盒子基本資料與座標點位-以「Small_Box」為例 ................................................ 74

    圖 4.25 說明推論後實例與類別及屬性間的關聯性............................................................. 75

    圖 4.26 說明推論後實例與類別及屬性間的關聯性............................................................. 76

    圖 4.27 SQWRL 操作畫面...................................................................................................... 77

    圖 4.28 以 CSV 檔呈現之機器手臂編碼內容 ...................................................................... 78

    圖 4.29 以 TEXT 檔呈現之機器手臂編碼內容 .................................................................... 78

  • 1

    第一章 緒論

    1.1 研究背景與動機

    工業機器人是一連串致動器的組合體,作業需求透過程式交給控制器

    轉譯為各致動器的控制指令,各致動器的動作協調最終達成作業需求。這

    樣的作業情境自機器人被發展出來後不曾改變。然而當今所有感測器、致

    動器、控制器均已大幅進步,唯獨人類根據作業需求撰寫「程式」給工業

    機器人這部分不曾進步過。也因此機器人程式的自動編程能力將會是一個

    工業機器人向上發展的重點。在工業 4.0 的衝擊下,自動化與物聯網將會

    進一步促成生產製造的智能化。在工業 4.0 的推波助瀾下,原本的自動化

    科技強國(如日、美、德 )的自動化元件國際大廠將因為市場的需求擴大而

    更進一步宰制自動化技術的發展,特別是物聯網的技術門檻並不高。

    台灣在自動化領域仍有不少進步空間,在控制器、驅動器、感測器、

    致動器(特別是伺服馬達),與工業機器人等方面相較於日美德等國算是後進

    國。然而就機器人程式的自動編程部份,或者有機會透過本研究的發展能

    有機會提供一個利基的成果在競爭激烈的工業機器人市場中讓台灣的工業

    機器人製造廠創造出一個突破的空間。

    本研究的基本概念在於機器人的例行作業多有共通之處,因此可以萃

    取出作業的本體架構與相關外衍應用的法則,以為後續新的作業的依據。

    再根據推論引擎根據每個新個案以本體與相關外衍應用的法則,以為後續

    新的作業的依據。再根據推論引擎根據每個新個案以本體與法則推論出機

    器手臂的程式,形成自動編程的能力。

    1.2 研究問題與目的

    現今許多的機器人工作單元都無法適應沒有重新編程的任務,即使是

    一個微小的變化。整個生產線的彈性可以說是在任務類型轉換時是否能因

    應這個變化進行重新編程並迅速地完成任務。因此,未來的機器人程式撰

    寫概念,必須跳脫傳統程式撰寫的方式。

    1. 本研究希望能夠發展其機器手臂能夠因應物件的屬性以及工作環境的

    參數變化來自我調整其動作作業之方法。

  • 2

    2. 本研究將以 CORA 為基本架構來發展機器手臂的自動編程本體。

    3. 本研究將使用機器視覺搭配 Labview 以及本研究發展之知識本體架構

    和法則的設計,推論出機器手臂所需的關鍵資料,規劃以上銀科技關節

    型機器手臂語言格式為初步輸出格式。

    本方法在實際執行層面將如以下例子。假設要對水果進行裝箱,應用

    視覺影像擷取水果的特徵值。運用水果特徵值將水果作分類為適當大小與

    其他。並使用箱子與適當大小之水果的特徵值進行推論,得出機器手臂之

    動作作業程式,以應用於水果裝箱。

    1.3 研究架構與步驟

    本研究共有五章節,第一章節為緒論,主要在說明本研究的研究背景

    動機、研究目的方法及研究架構。第二章的文獻探討,首先針對了目前最

    重要的議題工業 4.0 以及智能製造進行探討,接續闡述目前機器手臂自動

    化的重要性以及機器手臂的關鍵要素,並透過本體論的基本概念發展其機

    器手臂相關的意義規範、推論與動作規劃的架構,去探討過去文獻中機器

    手臂相關的定義等。第三章為模型建構與實驗設計,此部分主要在介紹本

    研究所使用的各類工具以及定義本體論明確的領域範圍。第四章為系統架

    構之分析與實作,描述 Labview 系統的建置、應用 Protégé結合 SWRL RULE

    與 Jess 規則引擎推論之結果與系統的落實。第五章為結論與未來的研究方

    向。

  • 1

    第二章 文獻探討

    本研究目的為發展機器手臂的自動編程本體,能夠因應物件的屬性以

    及工作環境的參數變化,推論出機器手臂所需的關鍵資料。首先針對工業

    4.0 的出現以及智能製造的趨勢進行探討,其次是以機器手臂的重要性、基

    本元素以及為何需要與本體論結合,再者闡述本體論之定義、相關的規範

    以及方法的使用。

    2.1 工業 4.0 的衝擊與智能製造

    Roland Berger Strategy Consultants 在 2014 年的報告指出自 1991 到

    2011 短短的 20 年內新興國家在全球的總製造產值從佔比 21%提升到 40%;

    已開發國家的製造產值相對自 79%縮小為 60%(Berger, 2014)。該報告直接

    點出過去 20 年間歐洲已經失去製造基礎。然而透過工業 4.0 對製造產業

    的洗牌,或者歐洲整體製造附加價值能從 15%提升為 20%,使歐洲的產品

    具有競爭力。

    在另一方面由德國產業界依循梅克爾總理的能源轉型政策引爆了工業

    4.0 的發展。工業 4.0 將焦點放在供給理想地等於需求的議題上,並透過

    數位製造在非不得已絕不輕易將產品實質化,使產品保留於無成本的數位

    狀態。當需求發生時產品數據透過網路傳輸給最接近消費者的以數位製造

    與機器人為主的生產基地,大幅降低實體庫存、實體搬運,與人員移動所

    衍生的不必要的能資源浪費。就概念上而言,當製造數位化後,數位設計

    即等於製造。而終極目標在於達成需求與供給一致的理想,使零庫存與零

    浪費真實發生。當然不可避免地需要透過大數據將市場客戶的需求進行有

    效預估,對於設備的使用狀況也需要以物聯網進時即時的回報俾利進行行

    銷與售後維護服務的建議。

    財團法人資訊工業策進會產業情報研究所(MIC)在 2015 年四月的有關

    『工業 4.0 智慧工廠未來發展趨勢與商機』報告提到智慧工廠關鍵領域之

    重要性分析包含五大項(魏傳虔, 2015):

    (1) 虛擬工廠設計與自動化系統整合

    (2) 巨量資料與雲端運算

    (3) 物聯網

  • 2

    (4) 機器人/機器手臂

    (5) 智能設備與系統

    其中第(1)、(3)與(5)三項都關係到虛擬的預先規劃與智能判斷與決策,

    並主動與其他設備交換資訊,不需人力介入即可依據實際狀況進行運轉調

    配,提升材料、能源、人力等資源之利用效率。然而多處的研究重點都著

    重在機器視覺與人工智慧的結合等大的製造系統層面的規劃,對於直接從

    事產品製造的機器人/機器手臂的智能化鮮少從基本的程式撰寫的角度出

    發。無疑地,缺乏自動編程能力的機器手臂將需要過多人力的介入(作業

    員與程式工程師),而使工業 4.0 的落實性遭到嚴重的質疑。

    2.2 機器手臂自動化的迫切性

    2015 年 Robotics and Computer-Integrated Manufacturing 期刊刊登了以

    Knowledge Driven Robotics and Manufacturing 為 題 的 Special Issue

    (Schlenoff, Balakirsky, & Prestes, 2015)。Special Issue 的 Guest Editors

    Schlenoff 等人在前言提到,當今的工業機器人儘管精密度與準確度都有長

    足的進步,然而機器手臂的程式撰寫仍然倚賴人透過教導盒(Teach Pendent)

    來達成。人手的介入無疑將工業機器人的精密與準確降階到人員操作一般

    的粗略。此外,停機來撰寫與測試機器手臂的程式又是一個不符合當今製

    造需求的問題。今日在人員減少與自動化程度提升的生產系統所面對的是

    市場需求快速的變動。如何減少停機導入新的工業機器人程式的時間是另

    一個當代機器人與自動化系統的挑戰。

    2.3 工業機器人的基本元素

    工業機器人的關節主要是以線性(linear)、轉軸(revolve),與旋轉(rotation)

    等三個方式為之。然而就機器手臂的結構目前主要是以關節型(articulate)、

    直角坐標型(Cartesian)、SCARA 等三類的機器手臂為工業界最常使用。過

    往的極座標型(polar)與圓柱型(cylindrical) 都因為工作空間與控制精度等不

    若上述三種而遭淘汰。新一代的 Delta/Spider 機器手臂由於在移動速度上

    較三種常見的手臂為快,同時工作空間與自由度亦展現其特有於該三種常

    見手臂結構,因此目前也見諸市場之中。

  • 3

    由於當今的伺服馬達與控制器的精進,傳統的油壓與氣壓為動力來源

    的工機器手臂幾乎都被以電力為主的伺服馬達所取代。這樣的取代,機器

    手基本上就變成一系列的 device 的組合(Fiorini et al., 2015)。如此一來,機

    器手臂的程式語法將 Tool Center Point 的座標轉換給眾多伺服馬達的對應

    旋轉角度,並讓每一個伺服馬達予以執行。儘管當今在機器手臂程式與伺

    服馬達的轉換已經非常成熟,然而機器手臂的程式編寫需要完全人力的介

    入,不可避免地成為機器手臂智能化的最大障礙。

    2.4 機器人與自動化的本體理論

    在研究機器人與自動化系統智能化之先得先有一個設計概念來陳述該

    系統。基於該設計概念,相關的意義規範與推論才能就此展開。其中本體

    論(Ontology)主要是用以定義在某特定的應用領域內,什麼種類的事情可以

    存在,以及它們之間的交互關係(Interrelationship) (Sowa, 1995)。具體而言,

    知識本體是對於某一特定領域中,許多知識術語(Knowledge Term)所組

    成的集合,包含語彙(Vocabulary),語意上的相互連結( Semantic

    Interconnection)以及在推論(Inference)和邏輯(Logic)上的簡單規則

    (Hendler, 2001)。用來描述與定義各種知識的語言,以便達到知識分享共用

    的目的。使用本體論,與機器人與自動化系統智能化相關的動作推論與規

    劃也才能被依序發展出來。Suggested Upper Merged Ontology (SUMO) (Niles

    & Pease, 2001) 是被認為非常適合的一個高階本體論架構於機器人與自動

    化;其架構如圖 2.1。Prestes 等學者延續 SUMO 的架構(Prestes et al., 2013)

    發展出機器人與 SUMO 的概念關係如圖 2.2。並以圖 2.2 與 SUMO 發展出

    Core Ontology for Robotics and Automation (CORA, 圖 2.3)。只有當概念性

    的模式能被描述出來並以該模式為基礎發展相關的關聯與推論結構,機器

    人自動化系統才能進一步智能化。

  • 4

    圖 2.1 Suggested Upper Merged Ontology (SUMO)

    (Niles & Pease, 2001)

    圖 2.2 機器人與 SUMO 的關係

    (Prestes et al., 2013)

  • 5

    圖 2.3 Core Ontology for Robotics and Automation

    (Prestes et al., 2013)

    Fioroni 等學者根據圖 2.3 整理出如圖 2.4 的 CORA 簡約概念本體論

    (Fiorini et al., 2015)。並以圖 2.4 更具體描述機器人系統的執行中最重要的

    座標、數量、時間,與物件的關係於圖 2.5。

  • 6

    圖 2.4 簡化之 Core Ontology for Robotics and Automation

    (Fiorini et al., 2015)

    圖 2.5 機器人自動化系統之座標、數量、時間,與物件的關係

    (Fiorini et al., 2015)

  • 7

    2.5 Knowledge Driven 機器人學

    承前言,本體論的要點之一在於提供機器人規劃與推論能力。

    Balakirsky 等學者進一步將機器手的動作以二個軸線來分解:sense→model

    →act 與 domain specific information→ontology→planning language→robot

    language (Balakirsky et al., 2013) (見圖 2.6)。其中在 planning language 中他

    們採用 Planning Domain Definition Language (PDDL) 作為推論的語言。儘

    管文中 PDDL 為類似 knowledge-based system 的語法,然而其與 ontology

    以及 robot language 的介面與整合仍是問題。

    圖 2.6 Knowledge Driven 機器人學程序圖

    (Balakirsky et al., 2013)

    為解決上述問題 Balakirsky 繼續以 XML 發展 PDDL 的表示法,用以

    描述機器手臂的參數(parameters)、前置狀態 (precondition),與結果(effect)

    (Balakirsky, 2015) (見圖 2.7)。接著透過 Region Connection Calculus (RCC)

    (Schlenoff et al., 2015)作為時空推論的依據來展出如圖 2.8 的 National

  • 8

    Institute of Standards and Technology (NIST) 所發展的以 Canonical Robotic

    Command Language (CRCL) 所表示的機器手臂程式 (NIST, 2015)。

    Balakirsky 的研究屬於少數能真正自動推論編寫出機器手臂程式的研究。

    然而其研究的元件間看似整合其實執行上仍有許多障礙,例如 Planning 的

    XML 作為 PDDL 的表示法在推論上有困難,Execution 以 MySQL 與 C++

    作為資料庫與介面很容易落入個案而無法成為泛一般可行的架構與系統。

    儘管如 Navarro-Gonzalez 等學者也發展類人動作的機器手臂動作

    (Navarro-Gonzalez,Lopez-Juarez, Rios-Cabrera, & Ordaz-Hernández, 2015),然

    而其基礎都在於影像辨識,屬於個案製作,對於泛一般型手臂的程式自動

    編寫並無幫助。

  • 9

    圖 2.7 以 XML 表示機器手臂的參數、前置狀態,與結果

    (Balakirsky, 2015)

  • 10

    圖 2.8 推論後的機器程式

    (Balakirsky, 2015)

    2.6 本體論

    本體論(Ontology)的概念是從哲學衍生而出,從哲學的觀點認為本體論

    是關於真實世界的基本特性哲學理論,再將其導入至電腦科學領域當中。

    Gruber定義 ontology為「概念的詳細外顯描述」[Gruber 1993; Gruber 1995],

    藉由對概念的共同描述,讓不同領域的專家有相同概念上的意義描述,也

    讓機器了解我們所要傳達的涵義。

    本體論(Ontology)主要用來定義某一特定的應用領域內,何種種類的事

    情可以存在,以及它們之間的相互關係(Interrelationship) (Sowa, 1995)。具

    體而言,知識本體是對於某一特定領域中,許多知識術語(Knowledge Term)

    所組成的集合,包含語彙(Vocabulary),語意上的相互連結(Semantic

    Interconnection)以及在推論(Inference)和邏輯(Logic)上的簡單規則

    (Hendler, 2001)。

    Gruber (1993) 本體為建置特定領域的概念,統一詮釋對事物的認知,

    具有以下四點特性:

    1. 概念化(Conceptualization)

    本體將真實世界予以概念化,以提供結構性知識的描述,讓該領

    域的相關成員能相互溝通。

    2. 正規化(Formal)

  • 11

    本體是一群正規化表示的概念集合,以清楚的語意定義及數學符

    號所形成的語言進行描述,可為人類所閱讀。

    3. 明確(Explicit)

    所使用的概念及使用這些概念的限制都有明確的定義,可供機器

    解讀(Interpret)。

    4. 可分享(Share)

    知識本體表達的是共同認可的知識,反映的是領域中公認的概念

    集,可作為溝通的媒介。

    透過以上四點特性來清楚地描述與嚴格地定義各種知識的語意,讓不

    同領域的專家能清楚的瞭解其中的涵義,以便達到知識分享共用的目的。

    2.7 本體的發展工具

    在創建本體的過程中,會因為身在不同的專家領域而影響實例的概念、

    性質等等使得發展出的本體各不同。因此,在創建本體庫的同時我們需要

    考量以及判斷本體庫應屬於哪一方面的專家領域。常用的本體庫有下列:

    Protégé

    Webonto

    OntoEdit

    WebODE

    OILED

    Ontosaurus

    Ontolingua

    Shen 等學者針對上述的本體庫進行功能分析如表 2.1(Shen, Zhang,

    Song, & Tang, 2013)。其中 Protégé 本體發展工具是由 Stanford University 所

    開發(Stanford_Center_for_Biomedical_Informatics _Research, 2015),它可以

    使 用 Resource Description Framework (RDF) 、 Resource Description

    Framework Schema (RDFS)、Web Ontology Language(OWL)的編輯以及修改

    本體的部分;並納入 OKBC 模組(Open Knowledge Base Connectivity),提

    供框架式與圖形化的知識表達方式與一個開發推論引擎的環境,讓使用者

  • 12

    建構以本體論為基礎的知識領域,還能從外部匯入掛載的程式(Plug-in),為

    本體的發展提供了可靠與有效率的環境。Protégé 本身具有下列特點:

    1. 圖形化介面:Protégé 採用圖形化介面,易學習,並提供使用手冊與教

    學。

    2. 提供 API 方便程式撰寫員可依照需求撰寫程式碼,達到讀取、刪除或

    新增。

    3. 支援多種儲存格式及資料型態。

    4. 提供開放原碼,支援 Plug-in 開發。

    5. 免費開放源軟體。

    Balakirsky 的研究算是多年來有關機器人程式自動編寫的突破

    (Balakirsky, 2015)。然而其使用 XML 與 PDDL 做為 ontology 架構與推論

    機制。就系統整合與延展的角度來看,該方式對於機器手的自動程式編寫

    系統的發展仍有侷限於個案的疑慮。也因此,Protégé 整合 Pellet 與 Jess 會

    是一個較佳的發展機器手臂自動編程的環境。

    表 2.1 常用本體庫的功能比較(Shen et al., 2013)

    2.8 語義網

    2.8.1 網路本體語言(Web Ontology Language, OWL)

    OWL 為W3C 所提出的本體論描述語言 (W3C_OWL_Working_Group,

    2012),由 DARPA Agent Markup Language (DAML)+OIL web 本體語言結合

    DAML+OIL 的設計與應用之後的修訂版 (劉艾華, 王茂年 , & 林英潔,

  • 13

    2009),因此 OWL 在語意的表達力比 XML、RDF 或 RDFS 更好。OWL 以

    XML 為基礎,仍應用 RDF 的語法,而 RDFS 所缺乏的類別描述關係則由

    OWL 彌補。

    OWL 依據不同層次的的表達能力分為三種子語言: OWL-full、

    OWL-DL,與 OWL-Lite (Lacy, 2005)。

    OWL-Full:包含所有 OWL 語言所提供的限制以及和使用 RDF 的

    語法,提供完整的表達能力,但並不保證其計算的可完成性。

    OWL-DL:能夠提供計算機可處理計算的能力,並且支援邏輯推理

    處理的能力。

    OWL-Lite:具有最基本的表達能力,用於提供簡單區分類別和限

    制的使用者。

    抉擇 OWL-Lite 和 OWL-DL 的差別主要在於對限制式需求的程度,若

    對類別屬性的限制需求非常高則選擇 OWL-DL;反之則是 OWL-Lite。抉擇

    OWL-DL 或是 OWL-Full 取決於對 RDF 的需求程度,若需要使用大量的

    RDF 模型來表示其定義類別和附於屬性上的話,則使用 OWL-Full;反之使

    用 OWL-DL。使用 OWL-Full 時需注意不是所有的推論都能執行,因為不

    是單純的敘述邏輯而混合了 RDF 會使推論的結果不被保證。

    圖 2.9 OWL 以及 RDF 相互關係

    (Lacy, 2005)

    其中 OWL-DL (Description Language) 提供計算機可處理計算的能力,

    因其支援邏輯推理處理的能力所以是一個較佳的選擇。其中描述邏輯

    Description Language (DL)是正規知識表示語言的一個家族,並且擁有比一

    階邏輯更高效率的決策問題能力。描述邏輯採用的形式推理是人工智能的

  • 14

    應用程序域的概念(稱為術語知識)。它的重要性在於為本體和語意網

    (Semantic Web)提供邏輯形式主義。

    因此,OWL-DL 發展出語意規則描述語言 Semantic Web Rule Language

    (SWRL) (Maedche & Staab, 2001),而 SWRL 為透過 RuleML 法則形成的概

    念並結合 OWL 本體論形成規則描述語言(Horrocks et al., 2004)。然而在

    SWRL 靜態規範的背後需要有一個推論引擎來支持 ontology 層級相關的

    法則推論。Pellet 是眾多推論引擎中支援 OWL-DL,並為一 open source 且

    以 Java 為建構語言,支援許多的介面格式(Sirin, Parsia, Grau, Kalyanpur, &

    Katz, 2007)。然而 Pellet 的推論內容僅限於本體本身,當需要推論本體以

    外時就須透過 rule 層級的推論引擎。

    2.8.2 SWRL

    SWRL 為專門為了語意網所發展出來的規則語言(Madeche, 2001),以

    RuleML 作為法則形成的概念並結合 OWL 本體論所形成的規則描述語言

    (Ian,2004)。OWL 主要表達本體上層之概念架構,而對於本體下層的實例間

    關係與屬性則可應用 SWRL,透過連結 SWRL 可將整個本體之上下層緊密

    串連(Chi & Chen 2009)。

    在 SWRL 中以 head 表示推論結果,body 表示推論前提,並透過與 OWL

    的組合可使撰寫法則時,直接使用本體論中所描述的關係和字詞,這些類

    別之間的關係本來可能還需要額外的法則描述,但 SWRL 中可以直接使用

    本體論的描述,所以 SWRL 可視為法則和本體論的結合(Ian, 2004) 。

    表 2.2 SWRL 與其他規則語言之比較(關銘,2004)

  • 15

    2.9 專家系統

    2.9.1 何謂專家系統

    專家系統為各個領域的專家將其專業領域知識和經驗在電腦上建構出

    一套系統,使此系統具有推論各個領域問題的推論能力,目的在模擬人腦

    功能、使電腦擁有專家的知識,以類似專家解決問題的方式代替或協助專

    家,對某特定領域之問題給予建議或解答並解釋推論的結果。專家系統亦

    稱為智慧型知識庫系統,可提供協助解決問題(Intelligent Knowledge-Based

    Systems, IKBS) [ Nault & Storey 1998;Speel et al. 2001]。

    典型專家系統包含六個要素:knowledge base(知識庫)、inference engine

    (推論引擎)、working memory(作業記憶體)、explanation facility(說明功

    能)、knowledge acquisition facility(知識獲取功能)、user interface(使用者

    介面) [Giarratano & Riley 1998]。

    2.9.2 Jess

    Jess(Java Expert System Shell)是由美國 Sandia 國家實驗室以 Java 為

    基礎、CLIPS 為原理而擴展的版本 (Jovanović, Gašević, & Devedžić, 2004),

    並添加在 Java 的程式中。Jess 法則引擎使用著名的 Rete 演算法,而此演

    算法善於處理多對多的配對問題。Jess 擁有向前推論與向後推論的功能。

    除 CLIPS 的功能擴充外,Jess 並直接繼承 Java 語言物件導向的特性,使

    Jess 成為功能更完整的專家系統語言(Hill, 2003)。

  • 16

    第三章 模型設計與建構

    此章節將會描述模型設計之概念與模型建構之步驟,並定義本體論之

    領域範圍、相關的意義規範、屬性與限制條件,再根據其定義建置其本體

    論與 Labview 之系統架構。

    3.1 研究方法-四層發展架構

    基於研究背景,本研究將以 CORA 為基本架構來發展機器手臂的自動

    編程本體。又以 Protégé的標準化 SWRL 整合 Pellete 與 Jess 推論引擎來落

    實系統的發展。就發展而言,本研究將以四個層次來界定內容(圖 9):實體

    工作需求層、本體層、法則推論層,與機器手臂程式層。以下分別描述研

    究的發展進程規劃:

    3.1.1 實體工作需求層

    實體工作需求層的環境與物件資料可能會透過機器視覺或者感測器取

    得,因此具體的座標與尺寸將會隱含於本體物件之中而不外顯,以方便後

    續相關動作推論與程式產生之進行。

    3.1.2 本體層

    明確定義 Ontology 之領域範圍,以 W3C 組織所制定的 RDF 和 OWL

    定義機器手臂相關的意義規範、屬性和限制條件,以及感測物件相關的意

    義規範、屬性和限制條件,再以 Protégé 的 SWRL 與 Pellet 描述實體工作

    需求層的各樣動作需求。

    3.1.3 法則推論層

    根據 SWRL 與 Pellet 對實體工作的定義,法則推論層進一步在相關

    的動作與情境上定義動作的推論。這個部分的難度頗高,主要是必須從實

    體的工作經驗中萃取法則。相關的法則再透過 Jess 推論取得機器手臂程式

    層所需要的關鍵資料。同時,法則推論層亦需要發展 Application Program

    Interface (API) 以便將機器手臂程式以對的格式輸出。

  • 17

    3.1.4 機器手臂程式層

    接收法則推論層的結果,並將程式應用於實體工作需求層的機器手臂

    上。研究將根據 National Institute of Standard and Technology (NIST)的

    Canonical Robot Control Language (NIST, 2015) 做為輸出格式,並且能與特

    定工業機器人的程式語言格式相容而直接執行。目前規畫以本國上銀科技

    關節型機器手臂的語言格式為初步輸出格式。

    圖 3.1 本研究工業機器人自動編程的四個層次

    3.2 建置本體論

    建構一個本體知識庫是依據目前使用者欲應用一個特定領域範圍或者

    多個領域範圍,使建構本體論並沒有所謂固定範本的問題,因此也成為導

    入 Ontology技術最大的挑戰之一。在 Van der Vet and Mars (1998)的研究中

    即提及:建置一個本體知識庫,沒有對與錯的問題及唯一性的特性存在,

    盡管本體知識庫是專家對於領域範圍的共同認知,因此「特定」也可以進

    一步詮釋為某類問題下的知識,而在邏輯上並無法假設 Ontology 是唯一

    的。

    為使整個研究的成果有說服力,本研究應用視覺影像去擷取其四種不

    同水果之特徵值,匯入本體論(Ontology)知識庫當中,透過語意規則描述語

  • 18

    言(Semantic Web Rule Language)建立法則,接著應用 Pellet 推論機以及 Jess

    推論引擎執行推論,將水果進行分類和得出機器手臂將其水果進行裝箱所

    需的動作作業。

    3.3 定義本體論之領域範圍

    本研究的領域範圍將會從四層發展架構當中區分為三個系統層面,如

    圖 3.2所示。三個系統層面依序為:Vision System、Knowledge Driven System、

    Robot System,其中 Vision System 以及 Robot System 為我們所要明確定義

    的兩個領域範圍,其中的詳細意義規範、屬性以及條件限制透過 RDF 以及

    OWL 描述將其建置為我們的本體論。

    圖 3.2 本研究工業機器人自動編程的三個系統層面

    3.3.1 Vision Syetem:

    隨著科技的日新月異,近年來影像處理的功能日漸增強,因此視覺影

    像方面的應用都以日趨廣泛。在一個機器視覺系統搭配機器手臂的作業環

    境當中,由於目標物件、機器手臂以及機器視覺三者的位置是不同的,因

    此必須將三者的座標系進行相對的轉換,讓機器手臂得之目標物件相對於

    機器手臂的絕對位置。再者,機械手臂的組成是由高自由度的多軸手臂、

    腕部以及末端效應器的功能進行整合以達到不同動作作業,在機器手臂的

    構造當中擁有數個關節點在空間中進行線性運動,由於要控制數個線性動

  • 19

    座的關係,使得在操作程序上還是存在著其複雜性的問題,因此須明確的

    定義出目標物件的座標,藉此推斷目標物件與機械手臂的相對距離,換算

    出相對的座標。

    在座標的轉換系統可分成三類:

    1. 相對座標系統:

    此系統為多個座標系統共用單一機械手臂時,欲求得一定點在各

    個座標系統上的位置時所使用的方法,本研究即是以此方法做運算。

    2. 旋轉座標系統:

    透過將每一個桿件視為一座標系,並針對各個座標軸做轉換,以

    得知一定點對某一座標軸旋轉角度時,其該點之座標變動為何。

    3. 齊次座標系統:

    與旋轉座標系統相似,將座標軸以向量矩陣表示,但額外增加一

    長度值,用表示沿著某座標軸方向的位移距離。

    目前在農產品的量測、計數以及選別分級等方面的應用以逐漸增多。

    一般在傳統農產品的選別分級的處理中,多數以大小、重量、外觀形狀等

    作為評判的標準,並且多以機械式的方法來處理,在處理上的速度以及精

    準度會因為機械結構本身而有所限制,無法達到較高的精準度以及環境變

    化的彈性處理。

    透過利用機器視覺較快速以及精準運算的特性,來辨識水果的大小、

    外觀形狀、顏色等,再與現今高精確度以及高自由度的機器手臂搭配,使

    水果從進料、選別、出料以及包裝等過程達到彈性自動化的生產。針對特

    徵值的選別,並應用基本的影像處理技巧,尋找最佳的處理條件,透過視

    覺影像取得四個特徵值,分別為:

    1. 長度

    2. 寬度

  • 20

    3. 平均灰度值

    以水果之投影面積的平均灰階值作為判斷大小等級的指標。

    表 3.1 光源測量結果

    4. 面積

    橢圓面積公式:S=πab

    橢圓面積定理:橢圓的面積等于圓周率(π)乘該橢圓長半軸長(a)

    與短半軸長(b)的乘積。

    圖 3.3 橢圓面積示意圖

    3.3.2 Labview 系統建置

    LabVIEW(Laboratory Virtual Instrumentation Engineering

    Workbench,實驗室虛擬儀器工程平台)由美國國家儀器公司所開發的圖形

    化程式編譯平台,LabVIEW 最早於 1986 年在蘋果電腦上發跡。早期最主

    要設計 LabVIEW 的用途是為了儀器自動控制,隨著科技的進步逐漸轉變成

    為一種成熟的高階程式語言。而圖形化程式與傳統程式語言之差異性在於

    程式流程採用資料流的概念並打破了傳統思維框架,便能讓程式設計者在

    系統流程圖構思完畢的同時也完成了程式的撰寫。此外 LabVIEW 提供許多

    的函式庫可供使用,包含:訊號擷取、訊號分析、機器視覺、數值運算、

    邏輯運算、資料儲存...等。由於 LabVIEW 簡單易懂的圖形化程式編譯平台

    https://zh.wikipedia.org/wiki/%E7%BE%8E%E5%9B%BD%E5%9B%BD%E5%AE%B6%E4%BB%AA%E5%99%A8%E5%85%AC%E5%8F%B8https://zh.wikipedia.org/w/index.php?title=%E9%82%8F%E8%BC%AF%E9%81%8B%E7%AE%97&action=edit&redlink=1

  • 21

    以及多元的函式庫功能,讓 LabVIEW 廣泛的被應用於工業自動化之領域上。

    圖 3.4 為本研究中所建置得 LabVIEW 人機介面。圖 3.5 為本研究中的

    LabVIEW 系統架構,包含 Vision Assistant 的模組化功能,有影響處理、邊

    界偵測、物件座標定位…等等,以及使用內部提供的數值運算和資料儲存

    的功能。應用上述 LabVIEW 的函式庫功能來處理機器視覺所感測的物件屬

    性以及特徵值,再將整理完的資料以 SQL 語法的形式將資訊形成字串來執

    行便能匯入 phpMyAdmin。

    圖 3.4 本研究 Labview 人機介面

  • 22

    圖 3.5 本研究 Labview 系統介面

    圖 3.6 為主要操縱機器視覺以及攝像機的部分,圖片中有攝像機圖式

    的方塊格子主要是用來控制攝像機,左一,新增檔案圖示的主要功能為打

    開和查詢以及讀取攝像機相關配置文件的功能;左二,板手圖示的主要功

    能為開始配置並抓取圖像,如無配置的目標將會以圖中的 cam0 作為默認配

    置;左三,播放圖示的主要功能為獲取最當前或者最新的偵數作為圖像輸

    出,如果圖像類型不匹配攝像機的錄像格式,將會改變圖像類型到一個合

    適的格式;左四,刪除文件圖示的主要功能為停止目前的獲取物,釋放出

    先前所獲取的資源圖像,並將攝像機關閉;最下面有一個 Error 圖示的主要

    功能為提示是否發生了錯誤,如果出現錯誤則描述錯誤的內容並顯在於一

    個對話框中。圖中 Vision Assistant 的主要功能為影像處理、邊界偵測、物

    件座標定位、長度量測以及灰階值量測,在 Match 的部分主要為物件座標

    的相關資料;Result 的部分為灰階值量測的相關資料;第一個 Distance 為

    長度量測的資料;第二個 Distance 為寬度量測的資料。

  • 23

    圖 3.6 Labview 系統介面-攝像機控制模組

    圖 3.7 說明將所有整理完後的資料連結到圖中 Concatenate String

    Function 長形方格中的小格子內來形成以 SQL 語法能執行的字串,完成的

    字串如:INSERT INTO fruit value(”X 的座標”, ”Y 的座標”, ”Z 的座標”, ”

    長度”, ”寬度”, ”灰階值”)。

    圖 3.7 Labview 系統介面-分割字串模組

  • 24

    圖 3.8 為連結 Vision Assistant 中灰階值量測、長度量測、寬度量測,在

    灰階值部分由於資料是以矩陣的方式呈現,因此我們需要過左下角的圖示

    來顯示出我們所需的灰階值在矩陣中的行列位置,並在左中的 Index Array

    所連結的藍色小格子中輸入即可抓取我們所需的灰階值。由於灰階值、長

    度值以及寬度值皆是以浮點值的形式呈現,因此透過中間 Number To

    Decimal String Function 功能將其轉換成字串的形式,再連結到圖 3.7 中的

    Concatenate String Function 長形方格中。

    圖 3.8 Labview 系統介面-特徵值轉換模組

    圖 3.9 為連結 Vision Assistant 中物件座標的量測,先從長方形格

    Unbundle 中的矩陣將 X、Y 座標值取出,透過仿射轉換的方法將鏡頭座標

    轉換成機械手臂座標即中間灰色方格內的轉換公式,由於座標值仍屬浮點

    值,因此仍需透過 Number To Fractional String Function 轉換成字串的形式,

    再連結到圖 3.7 中的 Concatenate String Function 長形方格中。

    圖 3.9 Labview 系統介面-座標值轉換模組

    圖 3.10 為執行 SQL 的一系列功能,從左到右分別為創建連結、打開連

    結、SQL 執行、關閉連結。SQL Results 則為欲將資料從 MYSQL 匯入時可

    顯示的介面呈現。SQL Excute 左邊的紅線則連結圖 3.7 之 Concatenate String

    Function 長形方格。

  • 25

    圖 3.10 Labview 系統介面-SQL 語法執行模組

    3.3.3 Robot System:

    在機器手臂相關的意義規範上我們需訂定明確的定義,機器手臂的考

    量有以下幾點:

    1. 機器手臂結構之類型、軸數:

    工業機器手臂有各種不同的尺寸、型態及物體結構。而最主要的商用

    機器手臂有下列四種:極座標結構、圓柱座標結構、直角座標結構、

    關節型結構;其中對於極座標、圓柱座標和關節式結構機器手臂,其

    三個自由度運動分別為垂直運動、徑向運動、旋轉運動,在腕部的結

    構又再區分為滾軸、仰軸、扭軸,三個自由度。以上各種物理性質將

    會直接影響到其手臂之運動空間即工作空間。

    2. 機器手臂驅動系統:

    驅動系統大致區分為液壓驅動、電力驅動、氣壓驅動,驅動系統的決

    定影響了手臂的移動速度、負載能力、動力程度以及精準度。

    3. 機器手臂控制系統:

    控制系統可分類為極限順序控制、點至點控制、連續路徑控制、智慧

    型,四類中極限順序控制屬於最低階控制;智慧型屬於最先進。

    4. 機器手臂末端效應器:

    末端效應器可分兩大類:夾爪(Grippers)和工具(tools)。夾爪通常視為

    機械握持裝置,其最常見的機械握持工件就是使用二指或多指夾爪,

    另外還有吸杯式、電磁式、鉤爪…等,而工具即點焊工具、弧銲槍、

    噴漆噴嘴…等。其夾爪設計與選擇因素:

  • 26

    表 3.2 夾爪設計與選擇因素

    因素 考量

    被處理工件

    重量和尺寸、外型、處理過程

    中外型改變、工件尺寸寬容

    度、表面狀況,脆弱表面保護

    致動方法

    機械握持、真空吸盤、電磁、

    其他方法

    動力和訊號傳送 氣力、電子、液壓、機械

    夾持力(機械夾爪)

    物件重量、握持方法(物理擠

    壓或摩擦力) 、物件與爪指間

    磨擦係數運動循環中速度與

    加速度

    定位問題

    指爪長度、機器人先天精準度

    與重覆性、工件尺寸寬容度

    服務狀況

    夾爪使用期限間致動器數

    目、破損元件更換、保養和服

    操作環境

    熱和溫度、濕度、水氣、粉塵、

    化學物質

  • 27

    因素 考量

    溫度保護

    熱護罩、長型指節、強迫冷

    卻、使用抗熱材料

    製造材質

    強度、剛性、耐久性、疲勞強

    度、價格和易於製造、指爪表

    面耐磨性、與操作環境相容

    其他考量

    可更換指爪、標準設計、與機

    器人安裝連結界面、產品設計

    改變風險和夾爪設計效應、設

    計與製造時間、備用零件、保

    養和服務、生產期間夾爪試驗

    本研究將根據 Fiorini et al 等學者在 2015 年所建構的 CORA 簡約概念

    本體論的機器人自動化系統概念中,包括:座標、數量…等,與物件的關

    係,作為基礎屬性、條件限制設計的核心,發展與相關意義規範的關聯與

    推論結構。

    3.3.4 Knowledge Driven System

    本階段將根據 Vision System以及 Robot System兩個架構對應其建置本

    體論的元素。

    概念(class/set/concept):

    代表本體論中對類別實體的集合或概念。

    屬性(property/slot/role/relation):

    代表本體論中實體與實體或概念與概念之間的關係以及實體或概念所

    具有的數值。

    實例(Individual/object/instance):

  • 28

    代表本體論中的個別例子。

    在建置本體論的階層設計中我們可以應用已下三個方法來設計類別之

    間的階層關係,說明如下:

    1. top-down:由上而下,將領域範圍分成數個大類別,再從數個大類別裡

    依據不同的特性或屬性以及環境因素等,進行子類別的生成。

    2. button-up: 透過將實例按照相似的特性或屬性以及環境因素等,將其

    區分成同一類別或領域範圍,再將許多子類別集合成數個大類別級。

    3. combination:運用以上兩種方式來定義類別與類別之間的階層關係,讓

    整個本體論的階層設計更加完整。

    3.3.4.1 建置階層

    在本研究當中,選擇採用第三種 combination 的設計方式來建置本體論

    的階層。將 PickandPlace 作為最上層的大類別並將此大類別區分五個大類

    別依序為 Object、Perception、Position、Robot、Type,接著 Box、Fruit 類

    別作為底層的子類別去區分成 Box 的大小以及 Fruit 的種類選別,並將此兩

    子類別歸類在 Detect 子類別,Detect 子類別又歸類在 Perception 類別裡;

    ChoseFruit 子類別歸類在 Object 類別裡;Point 以及 Region 子類別歸類在

    Position 類別裡;Program 以及 HomePoint 子類別歸類在 Robot 類別裡;

    RobotStructure、RobotDriven 以及 RobotGripper 子類別則歸類在 Type 類別

    裡。

    Object 類別描述感測的物件實例,其外觀、尺寸、顏色、特殊限制等

    特徵,再透過人員的需求撰寫規則將其分類至 ChoseFruit 子類別。Perception

    類別描述某特定領域的知識或某物件的相關規範,如定義水果品種以及盒

    子種類或者其他領域的知識,主要為透過此概念作為依據來推論感測物件

    為何。Position 類別描述物件點位以及範圍限制等相關的規範定義,如物件

    的座標值、盒子的範圍限制及單位等。Robot 類別描述機器手臂程式編碼的

    形式、內容呈現、特殊限制等相關規範的定義,如不同公司廠牌的機器手

    臂會有不同程式編碼。Type 類別描述機器手臂結構之類型、驅動系統、控

    制系統、末端效應器等相關規範的定義。Fruit 類別的相關屬性資料皆是由

    外部 MYSQL 端取得,其餘類別將會假設為已知相關屬性資料來進行建

    置。

  • 29

    PickandPlace

    Object

    Perception

    Position

    Robot

    Detect

    Point

    Program

    Box

    Fruit

    Region

    ChoseFruit

    Big_Box

    Mid_Box

    Small_Box

    Type

    Apple

    Lemon

    RobotStructure

    RobotDriven

    RobotGripper

    Orange

    圖 3.11 PickandPlace 本體架構

    3.3.4.2 概念模型建構

    1. 物件概念模型

    說明 Box、Fruit、Point 以及 Region 四個子類別與 Object 類別的關

    係。此概念模型為描述感測的物件實例如何與特定領域的知識或物件

    的相關規範建立物件屬性關係以及資料屬性關係,Object 類別透過

    hasBoxType 與 hasFruitType 的物件屬性關係來連結 Box 類別與 Fruit 類

    別,運用規則的設計將 Region 類別與 Point 類別的資料數據 input 至

    Object 類別。描述其物件實例為何種水果以及水果的座標值與對應何種

    盒子、盒子的座標值以及盒子的限制範圍。

  • 30

    Object

    Box Fruit

    hasFruitType

    Region input

    hasBoxType

    Xsd:intQuantity

    Xsd:intNeedArea

    Xsd:intLongConstraint

    Xsd:intWideConstraint

    Point input

    圖 3.12 物件概念模型的架構與分析設計

    2. 感知概念模型

    Detect 為 Perception 的子類別又 Box、Fruit 分別為 Detect 的子類別,

    子類別會繼承父類別的所有屬性關係。此概念模型主要為描述某特定領

    域的知識或某物件的相關規範,如圖所示為描述 Box 類別與 Fruit 類別的

    相關定義。Box類別透過hasBoxSize的物件屬性關係來連結三個子類別。

    Fruit 類別透過 hasColor 與 hasFruitSize 的物件屬性關係來連結 Color 類別

    與 FruitSize 類別。來描述 Box、Fruit 類別將會設有座標值、大小、顏色

    的描述以及相關定義。

    Perception

    Detect

    Box Fruit

    Is-a

    Is-a Is-a

    ObjecthasBoxType hasFruitType

    Color FruitSize

    hasColor hasFruitSize

    Xsd:string

    Red

    Xsd:int

    GrayAmount

    Xsd:int

    AreaProjectAmount

    Xsd:int Xde:string

    Wide

    Long

    Area

    Mid

    Big

    Small

    Xsd:string

    MidBig

    Small

    Green

    Yellow Olivine

    Xsd:int

    Y_Coordinate

    X_Coordinate

    Z_Coordinate

    Xsd:int

    Y_Coordinate

    X_Coordinate

    Z_Coordinate

    Wide

    Long

    Area

    Big_Box Mid_BoxSmall_Box

    hasBoxSize

    Xsd:int Xde:string

    Wide Long

    Area

    MidBig

    Small

    Xsd:int Xde:string

    Wide LongArea Mid

    Big

    Small

    圖 3.13 感知概念模型的架構與分析設計

  • 31

    3. 位置概念模型

    主要為描述物件類別如何與位置類別建立物件屬性關係與資

    料屬性關係,Box 以及 Fruit 將會透過規則推論把有關水果以及盒

    子的數值 input 至 Point 類別與 Region 類別中,在 Region 類別中設

    有 Box 的座標值以及 Box 的邊緣座標值來限制其範圍,Point 類別

    則設有水果的座標值以及推論得之水果在盒子中的座標值,再將兩

    個子類別的數值 input 至 Object 類別中。

    Position

    RegionPoint

    Fruit

    Xsd:int

    Box_XCoordinate

    Box_YCoordinate

    Box_ZCoordinate

    Object

    input

    Is-a

    Xsd:int FruitInBox_YCoordianate

    FruitInBox_ZCoordianate

    FruitInBox_XCoordianate

    input

    Box

    inputinput

    hasBoxTypehasFruitType

    Fruit_YCoordianate

    Fruit_ZCoordianate

    Fruit_XCoordianate

    圖 3.14 位置概念模型的架構與分析

  • 32

    4. 機器手臂之程式編碼概念模型

    Program 為 Robot 的子類別,此概念模型為描述機器手臂程式

    編碼型式、內容呈現,透過規則的設計將 Fruit 類別與 Point 類別的

    資料數據 input 至 Program 類別,如水果的點位以及推論得之水果

    在盒子中的座標值加入其中。

    Program

    Xsd:string

    Variable

    Xsd:string

    Math

    Xsd:int

    Numerical

    Xsd:string

    program

    Xsd:int

    X

    Xsd:int

    Y

    Xsd:int

    Z

    Xsd:int

    Case

    Xsd:string

    GM

    Robot

    Is-a

    FruitPoint input input

    圖 3.15 機器手臂之程式編碼概念模型的架構與分析

  • 33

    5. 機器手臂概念模型

    Type 的子類別分別為 RobotGripper 、 RobotDriven 以及

    RobotStructure,在先前已有描述其領域範圍,比如:RobotDriven

    子類別中的液壓驅動系統、電力驅動系統以及氣壓驅動系統;

    RobotStructure 子類別中的機器手臂結構之類型、自由度運動以及

    腕部結構的屬性特質。

    Type

    RobotStructure

    RobotDriven

    RobotGripper

    Xsd:stringPolar coordinates

    Xsd:stringArticulated coordinates

    Xsd:stringCartesian coordinates

    Xsd:stringCylindrical Coordinates

    Xsd:string

    Penumatic driven

    Xsd:string

    Hydraulic driven

    Xsd:string

    Electric driven

    Xsd:string Actuation method

    Xsd:string Object problem

    Xsd:string Locate problem

    Xsd:booleanVertical Motion

    Xsd:booleanRadial motion

    Xsd:boolean

    Xsd:boolean

    Xsd:boolean

    Xsd:boolean

    Rotary motion

    Roll

    Pitch

    yaw

    圖 3.16 機器手臂概念模型的架構與分析

  • 34

    3.3.5 建置屬性

    表 3.3 屬性列表與類別描述

    屬性名稱 屬性 Domain Object

    Range

    Data

    Range 說明

    BoxType Object

    Property Object Box N/A

    FruitType Object

    Property Object Fruit N/A

    Area_Project_Area Data

    Property Fruit N/A int

    Box_Size Data

    Property Box N/A string

    Big

    Mid

    Small

    Box_XCoordinate Data

    Property Box N/A int

    Box_YCoordinate Data

    Property Box N/A int

    Box_ZCoordinate Data

    Property Box N/A int

    BoxArea Data

    Property Box N/A int

    BoxLong Data

    Property Box N/A int

    BoxWide Data

    Property Box N/A int

    Fruit_Size Data

    Property Box N/A string

    Big

    Mid

    Small

    Fruit_XCoordinate Data

    Property Fruit N/A int

    Fruit_YCoordinate Data

    Property Fruit N/A int

    Fruit_ZCoordinate Data

    Property Fruit N/A int

    FruitArea Data

    Property Fruit N/A int

  • 35

    屬性名稱 屬性 Domain Object

    Range

    Data

    Range 說明

    FruitLong Data

    Property Fruit N/A int

    FruitWide Data

    Property Fruit N/A int

    Gray_Amout Data

    Property Fruit N/A int

    COLOR Data

    Property Fruit N/A string

    Red

    Green

    Olivine

    Yellow

    FruitInSmallBox_

    XCoordinate

    Data

    Property

    Small_Box

    Region N/A int

    FruitInSmallBox_

    YCoordinate

    Data

    Property

    Small_Box

    Region N/A int

    FruitInSmallBox_

    ZCoordinate

    Data

    Property

    Small_Box

    Region N/A int

    FruitInMidBox_

    XCoordinate

    Data

    Property

    Mid_Box

    Region N/A int

    FruitInMidBox_

    YCoordinate

    Data

    Property

    Mid_Box

    Region N/A int

    FruitInMidBox_

    ZCoordinate

    Data

    Property

    Mid_Box

    Region N/A int

    FruitInBigBox_

    XCoordinate

    Data

    Property

    Big_Box

    Region N/A int

    FruitInBigBox_

    YCoordinate

    Data

    Property

    Big_Box

    Region N/A int

    FruitInBigBox_

    ZCoordinate

    Data

    Property

    Big_Box

    Region N/A int

    InitialPoint_

    XCoordinate

    Data

    Property

    Home

    Point N/A int

    InitialPoint_

    YCoordinate

    Data

    Property

    Home

    Point N/A int

    InitialPoint_

    ZCoordinate

    Data

    Property

    Home

    Point N/A int

    Long_Constraint Data

    Property Object N/A int

  • 36

    屬性名稱 屬性 Domain Object

    Range

    Data

    Range 說明

    Wide

    Constraint

    Data

    Property Object N/A int

    NeedArea Data

    Property Object N/A int

    GM Data

    Property Program N/A int

    Case Data

    Property Program N/A int

    Math Data

    Property Program N/A string

    +

    -

    *

    /

    =

    ==

    TO

    Numerical Data

    Property Program N/A int

    program Data

    Property Program N/A string

    FOR

    SELECT

    END_FOR

    END_SELEC

    T

    R_MLC_I

    R_MLC_O

    W_MLC_O

    Variable Data

    Property Program N/A string

    #1

    #2

    #3

    #4

    DrivenSystem Data

    Property RobotDriven N/A string

    Electric_drive

    n

    Hydraulic_dri

    ven

    Penumatic_dri

    ven

    Robot_structure Data RobotStructure N/A string Polar_coordin

  • 37

    屬性名稱 屬性 Domain Object

    Range

    Data

    Range 說明

    Property ates

    Articluted_

    coordinates

    Cartisian_

    coordinates

    Cylindrical_

    coordinates

    Object problem Data

    Property RobotGripper N/A string

    Actuation method Data

    Property RobotGripper N/A string

    Locate problem Data

    Property RobotGripper N/A string

    ObjectLogn

    Constraint_Max

    Data

    Property RobotGripper N/A float

    ObjectLogn

    Constraint_Min

    Data

    Property RobotGripper N/A float

    ObjectWeight

    Constraint

    Data

    Property RobotGripper N/A float

    Temperature_Max Data

    Property RobotGripper N/A float

    Temperature_Max Data

    Property RobotGripper N/A float

    Characteristic Data

    Property RobotGripper N/A string

    Low_Interfere

    nce

    _Appearance

    High_Precisio

    n

    Corrosion

    _Resistant

    Hard

    Soft

  • 38

    3.3.5.1 規則設計

    SWRL RULE

    SWRL 主要分為四個部分組成,分別是 Imp、Atom、Variable 和

    Building,在 Imp 中包含 head 和 body:

    head:記錄這條法則域推論的結果

    body:達到該推論的條件

    而 head 和 body 所使用的 instance 則是由 Atom 或 Variable 這兩

    類別提供,在 Atom 中包含許多的限制式,可區分為四種:

    1. Class(x):C 是 OWL 描述

    2. P(x,y):P 是 OWL 的屬性而 x、y 可以是變數、OWL individuals

    或是 OWL data value

    3. Same(x,y):x 和 y 相等

    4. DifferentFrom(x,y):x 和 y 不同

    而 Building 中包含以下諸多的限制式可供使用:

    比較功能相關 Built-Ins 應用:

    1. swrlb:equal:滿足第一個參數和第二個參數相同。

    2. swrlb:notEqual:滿足第一個參數和第二個參數不相同。

    3. swrlb:lessThan:滿足第一個參數和第二個參數相同,並且第

    一個參數小於第二個參數。

    4. swrlb:lessThanOrEqual:滿足第一個參數和第二個參數相同,

    並且第一個參數小於等於第二個參數。

    5. swrlb:greaterThan:滿足第一個參數和第二個參數相同,並且

    第一個參數大於第二個參數。

  • 39

    6. swrlb:greaterThanOrEqual:滿足第一個參數和第二個參數相

    同,並且第一個參數大於等於第二個參數。

    數學計算相關的 Built-Ins:

    7. swrlb:add:允許多個參數,將第二個參數至第 N 個參數進行

    加總,將總和設置到第一個參數中。

    8. swrlb:subtract:限制三個參數,將第二個參數減去第三個參

    數,將結果設置到第一個參數。

    9. swrlb: multiply:允許多個參數,將第二個參數至第 N 個參

    數進行相乘,將乘積設置到第一個參數。

    10. swrlb:divide:限制三個參數,將第二個參數除去第三個參數,

    結果設置到第一個參數。

    11. swrlb:integerDivide:限制三個參數,將第二個參數除去第三

    個參數,結果設置到第一個參數,並且商只取整數。

    12. swrlb:mod:限制三個參數,第二個參數除以第三個參數後,

    將餘數放到第一個參數,並且取餘數。

    13. swrlb:pow:限制三個參數,進行乘方的動作,第二個參數設

    為底數,第三個參數設為指數,將運算結果設置到第一個參

    數。

    14. swrlb:unaryPlus:限制兩個參數,第一個參數是新的變數,

    將第二個參數設置到第一個參數,正負符號不變。

    15. swrlb:unaryMinus:限制兩個參數,第一個參數是新的變數,

    將第二個參數設置到第一個參數,正負符號相反。

    16. swrlb:abs:限制兩個參數,將第二個參數的絕對值設置到第

    一個參數。

    17. swrlb:ceiling:限制兩個參數,第二個參數無條件進位,將結

    果設置到第一個參數。

    18. swrlb:floor:限制兩個參數,第二個參數無條件捨去,將結果

    設置到第一個參數。

  • 40

    19. swrlb:round:限制兩個參數,第二個參數做四捨五入,將結

    果設置到第一個參數。

    20. swrlb:roundHalfToEven:限制三個參數,第三個參數的數字

    為第二個參數要設置幾位的小數位數並作四捨五入,將結果

    設置到第一個參數。第三個參數也可空白,則無條件捨去。

    21. swrlb:sin:限制兩個參數,第二個參數是弧度,將弧度的 sin

    趨近值算出來後,將結果設置到第一個參數。

    22. swrlb:cos:限制兩個參數,第二個參數是弧度,將弧度的 cos

    趨近值算出來後,將結果設置到第一個參數。

    23. swrlb:tan:限制兩個參數,第二個參數是弧度,將弧度的 tan

    趨近值算出來後,將結果設置到第一個參數。

    布林值功能相關的 Built-Ins 應用:

    24. swrlb:booleanNot:滿足第一個參數是真,而第二個參數為假,

    則滿足整個敘述。反之亦然。

    字串功能相關的 Built-Ins 應用:

    25. swrlb:stringEqualIgnoreCase:限制兩個參數,如果滿足第一

    個字串參數和第二字串參數在不分大小寫的情況下是否相

    同的條件。

    26. swrlb:stringConcat:允許多個參數,如果滿足第一個字串參

    數是後面所有字串參數的串聯的條件。

    27. swrlb:substring:限制四個參數,第一個字串參數是否包含第

    二個字串參數,而第三個參數是設定 offset,第四個參數是

    設定比較的字串長度,如果第四個參數空白,比較 offset 後

    所有的字元。

    28. swrlb:stringLength:限制兩個參數,第一個參數為字串長度,

    如果滿足第二個參數的字串長度和第一個參數相同的條

    件。

    29. swrlb:normalizeSpace:限制兩個參數,將第二個字串參數前

    後多餘的空白刪除,將結果設置到第一個參數。

  • 41

    30. swrlb:upperCase:限制兩個參數,將第二個字串參數全轉換

    成大寫,將結果設置到第一個參數。

    31. swrlb:lowerCase:限制兩個參數,將第二個字串參數全轉換

    成小寫,將結果設置到第一個參數。

    32. swrlb:translate:限制四個參數,將字元做轉換,第二個參數

    的字串,如果有第三個參數的字元,將會與第四個參數的字

    元進行轉換。

    33. swrlb:contains:限制兩個參數,第一個參數的字串是否包含

    第二個參數的子字串,注意大小寫必須相同。

    34. swrlb:containsIgnoreCase:限制兩個參數,第一個參數的字串

    是否包含第二個參數的子字串,不須注意大小寫。

    35. swrlb:startsWith:限制兩個參數,第二個字串參數使否包含

    在第一個字串參數的開頭中。

    36. swrlb:endsWith:限制兩個參數,第二個字串參數使否包含在

    第一個字串參數的尾端中。

    37. swrlb:substringBefore:限制三個參數,在第二個字串參數中,

    找到包含第三個參數的子字串,有分大小寫,取子字串之前

    的所有字元,傳到第一個參數,其他全部刪掉。如果不包含

    第三個參數,則會全部刪掉,傳給第一個參數空白。

    38. swrlb:substringAfter:限制三個參數,在第二個字串參數中,

    找到包含第三個參數的子字串,有分大小寫,取子字串之後

    的所有字元,傳到第一個參數,其他全部刪掉。如果不包含

    第三個參數,則會全部刪掉,傳給第一個參數空白。

    39. swrlb:matches:限制兩個參數,第一個參數字串是否有符合

    第二個參數的正則表示式,有的話則滿足敘述。這無法在 prot

    égé 中的 rule edit 直接編輯,他會用 matchesLax 代替,但是

    沒有這個 built-in,推論器不支援。

    40. swrlb:replace:限制四個參數,第三和第四個參數分別是正則

    表示式與替換字串。如果第二個參數的字串中有符合第三參

  • 42

    數的正則表示式,則用第四參數替換,並接結果傳到第一個

    參數。

    41. swrlb:tokenize:限制三個參數,利用第三個參數將第二個參

    數分開,接著個別設置到第一個參數。

    時間、日期、持續時間的處理功能 Built-Ins 應用:

    42. yearMonthDuration(?Y, 2, 2, 2, 2),?Y 表示 P1Y1M1DT1H,

    最小單位能夠表示到小時。

    43. swrlb:dayTimeDuration:限制五個參數。

    44. dayTimeDuration(?Y, 4, 4,6, 40),?Y 表 P1DT1H5M30S, 最

    大單位能夠表示到天。

    45. swrlb:dateTime:限制八個參數, Individual 需要有 dateTime

    的資料,再把它分解成各個單位時間分到其他參數。

    46. swrlb:date:限制五個參數,Individual 需要有 dateTime 的資

    料,再把它分解成各個單位時間分到其他參數,而輸出的時

    間單位變少。

    47. swrlb:time:限制五個參數,Individual 需要有 dateTime 的資

    料,再把它分解成各個單位時間分到其他參數,而輸出的時

    間單位變少。

    URI 功能相關 Built-Ins 應用:

    49. swrlb:resolveURI:限制三個參數,第一個參數為整個 URI,

    第二個參數為參照的 URI,第三個參數為 URI。

    50. swrlb:anyURI : 限 制 六 個 參 數 ,

    anyURI(?fullURI, ?scheme, ?host, ?port, ?path, ?query, ?fragme

    nt),滿足第一個 URI 參數為後面所有參數的結合。

  • 43

    第四章 實作與分析

    4.1 開發環境與工具

    下表為本研究的電腦環境和 CPU 規格,記憶體規格及作業系統

    的種類,也許可作為其他研究實驗的參考依據。

    表 4.1 開發環境

    電腦環境 說明

    作業系統-Windows 版本 Windows 7 家用進階版

    CPU 規格 T6570 2.10GHz

    記憶體規則 6.00GB

    系統類型 64 位元

    表 4.2 開發工具

    軟硬體工具 說明

    Protégé3.4.8 建置本體論工具

    MySQL5.3 管理資料庫工具

    phpMyAdmin 4.3.11.1 MySQL 資料庫的網頁管理工具

    Appserv 2.5.10 架 站 Apache 伺 服 器 和 PHP 、

    MySQL,phpMyAdmin

    Jess 7.1p2 使用著名的 Rete 演算法處理多對多

    的配對問題

    Labview 整合機器視覺與 MySQL 之工具

    上銀 HIWIN-SCARA RS406 系列 作為實驗之機器手臂

    CYCLOPS SU250FC-128 攝影機 作為實驗之機器視覺

    4.2 基本假設、情境說明

    基本假設

    1. 本研究將會以工業機器人十大常見工作之一的 pick and place 於

    農產包裝範例為發展的場景。

    2. 本研究當中之機器手臂之夾爪種類為三指夾爪。

  • 44

    3. 本研究將以蘋果、檸檬以及甜橙作為實驗品種,當中取其灰階值

    數值、長度、寬度和面積作為本研究所需的特徵值。其灰階值數

    值為 160 以下屬於綠色、160 至 197 之間屬於紅色、大於 197 屬

    於黃色;面積數值為 49 以下屬於小型、49 至 100 之間屬於中型、

    大於 100 屬於大型。

    4. 本研究裝箱的盒子將會先行定義,將裝箱的盒子區分為大、中、

    小,三種不同尺寸並明確訂定長度、寬度以及不同尺寸所能裝箱

    的顆數。其大型箱子所能裝箱的顆數為 9 顆、中型箱子所能裝箱

    的顆數為 6 顆、小型箱子所能裝箱的顆數為 4 顆。

    5. 本研究將會採用單顆水果運輸的模式來進行。

    情境說明

    圖 4.1 為情境假設圖,水果將會以單顆水果的形式輸送過來,當

    感測器偵測到水果時輸送帶便會停止轉動同時機器視覺便開始動作,

    透過 Labview 與機器視覺的搭配來抓取所需的特徵值,應用抓取到的

    特徵值對物件進行推論並將結果轉換成機器手臂能讀取的格式進行

    作業,完成作業動作並等待下一顆水果。

    圖 4.1 情境假設圖

  • 45

    4.3 系統架構分析與實作

    本節將說明四層發展系統實驗架構,如圖 4.2 所示,在實際作業

    需求層面中物件的感測以及資料收集部分為「視覺系統」,而「知識

    驅動系統」將包含兩個層面別為本體建置和資料儲存以及推論的部分,

    最後將資料進行轉換以及實作部分為「機器人系統」,圖�