• 沒有找到結果。

基於逆向運動學之類神經網路學習技術於三軸機械手臂定位之研究

N/A
N/A
Protected

Academic year: 2021

Share "基於逆向運動學之類神經網路學習技術於三軸機械手臂定位之研究"

Copied!
68
0
0

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

全文

(1)

N a tio n a l U niversity of Kao hsi un g

國立高雄大學電機工程系

碩士論文

基於逆向運動學之類神經網路學習技術

於三軸機械手臂定位之研究

Neural Network Regression Based

on Inverse Kinematics for Localization

of Three-Axis Robotic Arm

研究生:吳孟瑋撰

指導教授:吳志宏

(2)
(3)

N a tio n al U niversity of Kao hsi un g

基於逆向運動學之類神經網路學習技術

於三軸機械手臂定位之研究

指導教授: 吳志宏博士 學生:吳孟瑋 國立高雄大學電機工程系

摘要

機械手臂是工業機器人應用的一個重要型態。如何在平面或三維空間中移動, 並準確地到達目標位置,是機械手臂的控制系統基本而重要的工作。目前較常用 的方式是以逆向運動學的方式,計算移動至目標點時各馬達的應輸出的理想角 度。但量測角度與馬達的輸出都存在著誤差,而導致逆輸出不理想,而影響定位 效果。本研究以逆向運動學為基礎,並加入誤差修正方法,應用類神經網路技術 整合於機械手臂的定位控制系統中,訓練機械手臂定位系統的迴歸模型。藉由類 神經網路處理複雜迴歸系統的能力,加上誤差被考慮在訓練模型中,本方法所計 算的輸出角度較傳統逆向運動學的結果精確。本研究所提出的方法在三軸機械手 臂平台實現加以驗證,藉由實驗中評估本定位方法的效果。研究結果顯示,利用 類神經網路技術能夠有效提升機械手臂定位的精準度。 關鍵字:機械手臂、逆向運動學、類神經網路。

(4)

N a tio n al U niversity of Kao hsi un g

Neural Network Regression Based

on Inverse Kinematics for Localization

of Three-Axis Robotic Arm

Advisor: Dr. WU, CHIH-HUNG Student: WU, MENG-WEI

Department of Electrical Engineering, National University of Kaohsiung

ABSTRACT

Robotic arms are important elements of the automotive industry. The precision of a control system that guides the robotic arm to move to a target location accurately is the key to success of industrial automation. Inverse kinematics refers to the use of the kinematics equations of a robotic arm is a typical method for deciding the parameters associated with the joints that activate the robotic arm to reach to a target location. However, errors from measure inaccuracy, burden, or friction may inevitably exist in the kinematics equations and diminish the precision of the control system. Based on the inverse kinematics, this study develops a practical method for error correction and employs the techniques of ar-tificial neural network (ANN) for training regression models of robotic arms for target localization. The output parameters associated with the joints that produce a precise tar-get location are trained by a supervised back-propagation ANN. Because errors are fixed before being trained by ANN and are considered in the learning algorithm, the control model can guide the robotic arm to reach target location accurately. The proposed method is implemented and validated on a three-axis robotic arm. The experimental results show that our proposed method outperforms typical methods using inverse kinematics.

(5)

N a tio n al U niversity of Kao hsi un g

致謝

首先,感謝指導教授吳志宏博士在研究所求學中的指導,不論是學術方 面、生活技能甚至到待人處事的道理,老師都會很有耐心的引導著我向更高的階 梯前進,讓我學到不僅是學術上的知識,也讓我學到了許多待人處事的道理。從 第一次參加志工活動、第一次帶活動、第一次出國、第一次發表國際期刊論文等, 種種的第一次都是我碩士生涯中所接觸到的各種學習歷程,不管這些學習過程中 是溫馨、苦澀、感動或是疲憊的,都深深影響著我的未來。感謝口試委員潘欣泰 老師、歐陽振森老師以及賴智錦老師所提供的寶貴建議,使得這篇論文得以更加 完善。 接著感謝與我共同患難的冠文同學,一起比賽、一起討論課業、一起分享生 活趣事、一起為論文奮戰到天亮、互相勉勵、幫忙,使得在我求學過程不孤單。 感謝 ICAL 實驗室的瓊輝學長、小駱學長、育賢學長、阿鐵學長、偉洲學長等諸 位良師益友陪伴著我,傳授給我許多寶貴的經驗與知識。實驗室生涯中添增許多 豐富的色彩,從什麼都不懂到什麼都要懂,在這過程中有著各種酸甜苦辣,但只 要撐過以後就是海闊天空,學習到了更多的東西。最後,感謝這一路來默默在背 後支持、關心與包容我的父母,在我求學的過程中不論是金錢上還是精神上都相 當支持我,也給我相當高的肯定,因為有你們的支持使我的研究所之路才能毫無 後顧之憂,並且順利的完成取得碩士學位。 吳孟瑋謹誌於國立高雄大學大學電機工程學系 中華民國一零五年九月

(6)

N a tio n al U niversity of Kao hsi un g

目錄

中文摘要 . . . i 英文摘要 . . . ii 致謝 . . . iii 目錄 . . . iv 圖目錄 . . . vi 表目錄 . . . viii 1 緒論 . . . 1 1.1 研究背景 . . . 1 1.2 研究動機與目的 . . . 3 1.2.1 研究動機 . . . 3 1.2.2 研究目的 . . . 6 1.3 研究流程與論文架構 . . . 6 2 文獻探討 . . . 8 2.1 機械手臂運動學 (Kinematics) . . . 8 2.1.1 順向運動學 . . . 8 2.1.2 逆向運動學 . . . 12 2.2 倒傳遞類神經網路 . . . 17 2.2.1 演算法過程 . . . 17 2.2.2 轉換函數 . . . 21 2.2.3 網路建構流程 . . . 22 3 問題定義與分析 . . . 24 3.1 末端執行器定位誤差 . . . 24 3.1.1 逆向運動學誤差問題 . . . 24 3.1.2 特徵值取得誤差 . . . 27 3.1.3 角度不精確問題 . . . 29 3.2 問題分析結果與討論 . . . 30 3.3 修正方法與類神經網路整合 . . . 31

(7)

N a tio n al U niversity of Kao hsi un g 3.3.1 定位修正方法 . . . 31 3.3.2 類神經網路架構與流程 . . . 34 4 實驗與結果分析 . . . 38 4.1 機械手臂機構設計 . . . 38 4.2 硬體架構 . . . 39 4.3 實驗環境 . . . 40 4.4 實驗流程 . . . 40 4.5 資料蒐集 . . . 41 4.6 實驗-A . . . 45 4.7 實驗-B . . . 47 4.8 實驗-C . . . 48 5 結論與未來展望 . . . 52 5.1 結論 . . . 52 5.2 未來展望 . . . 53 參考文獻 . . . 54

(8)

N a tio n al U niversity of Kao hsi un g

圖目錄

1.1 機械手臂種類 . . . 2 1.2 傳統機械手臂流程圖 . . . 3 1.3 教導型機械手臂流程圖 . . . 4 1.4 運動學機械手臂流程圖 . . . 5 1.5 研究進行流程圖 . . . 7 2.1 運動學 . . . 8 2.2 連桿參數的定義 . . . 9 2.3 手臂各軸座標系統 . . . 11 2.4 DH 各軸參數表 . . . 11 2.5 IK 推導步驟 . . . 13 2.6 機械手臂座標系統 . . . 13 2.7 機械手臂結構定義 . . . 14 2.8 推導流程圖 . . . 14 2.9 機械手臂 x− z 平面圖 (θ3) . . . 15 2.10 機械手臂 v− y 平面圖 (θ1) . . . 15 2.11 機械手臂 v− y 平面圖 (θ2) . . . 16 2.12 倒傳遞類神經網路 . . . 18 2.13 S 型轉換函數 . . . 22 2.14 倒傳遞網路建構流程 . . . 23 3.1 控制系統 . . . 24 3.2 影像遠近關係 . . . 28 3.3 影像測試圖 . . . 28 3.4 脈波寬度調變 . . . 29 3.5 量測方式 . . . 29 3.6 馬達回授訊號 . . . 30 3.7 控制系統修正流程圖 . . . 31

(9)

N a tio n al U niversity of Kao hsi un g 3.8 影像資訊 . . . 32 3.9 目標位置取得 . . . 32 3.10 逆向運動計算 . . . 33 3.11 實際與目標位置 . . . 33 3.12 修正與目標位置 . . . 33 3.13 類神經網路系統流程圖 . . . 34 3.14 類神經網路架構 . . . 35 3.15 倒傳遞類神經網路計算 . . . 35 3.16 類神經網路訓練流程 . . . 37 4.1 機構設計 . . . 38 4.2 硬體架構 . . . 39 4.3 供電電路設計 . . . 39 4.4 實驗環境示意圖 . . . 40 4.5 攝影機架設圖 . . . 40 4.6 實驗影像 . . . 42 4.7 位置像素誤差圖 . . . 43 4.8 距離誤差長條圖 . . . 44 4.9 花費時間表 . . . 45 4.10 花費時間長條圖 . . . 45 4.11 方法誤差長條圖 . . . 51

(10)

N a tio n al U niversity of Kao hsi un g

表目錄

4.1 逆向運動學方法 (位置像素誤差) . . . 43 4.2 修正方法 (位置像素誤差) . . . 43 4.3 目標與實際位置距離誤差表 . . . 44 4.4 類神經網路架構實驗表 (θ1) . . . 46 4.5 類神經網路架構實驗表 (θ2) . . . 46 4.6 類神經網路架構實驗表 (θ3) . . . . 47 4.7 訓練資料實驗表 (θ1) . . . 47 4.8 訓練資料實驗表 (θ2) . . . 48 4.9 訓練資料實驗表 (θ3) . . . 48 4.10 訓練結果 . . . 48 4.11 類神經網路測試結果表 . . . 49 4.12 方法誤差比較表 . . . 50

(11)

N a tio n al U niversity of Kao hsi un g

第 1 章

緒論

1.1

研究背景

隨著科技的進步,相關機器人的研究日新月異,使得現今智慧型機器人的需 求大幅增加,並逐漸應用在於我們日常生活中。機械手臂 (Robotic Arm) 具有仿效 人類手臂的功能,是工業機器人應用的一個重要型態。這種機械手臂系統可使用 在平面或三維空間中進行工作或以線性方式移動。在 1980 年代機器手臂已成功的 應用於汽車製造業等產業,在機械人技術領域是應用範圍最廣泛的自動化機械設 備,汽車組裝、汽車烤漆、焊接等 [1] [2]。 機械手臂的構造主要由系統機械系統、感應器系統、決策系統、控制系統所 組成: • 機械 (Mechanical) 系統:包含基座、手肘、手腕、夾具或工具,機械手臂組 裝時所需之連桿、軸承、齒輪組等。 • 感應器 (Sensor) 系統:量測環境資訊 (如:距離、壓力、力矩等),提供系統 環境狀態,以防止機械手臂造成不可預期之危害。 • 決策 (Plan) 系統:透過各種環境感測器資訊,決策最終結果並輸出控制,使 機械手臂達成工作所需動作,包含抓取目標、移動規劃、防止碰撞等。 • 控制 (Control) 系統:執行各種工作所需之程序,透過相關軟體、硬體下達 控制指令,以電子訊號驅動機械手臂完成所需工作。 機械手臂為了因應各種不同類型的工作,其機構的設計方式也有所不同。基 本上機械手臂可看成是由一些連桿和關節組裝而成,連桿和關節連接方式會與座 標表示的型式有所差異。

(12)

N a tio n al U niversity of Kao hsi un g (a) 直角座標型 (b) 圓柱座標型 (c) 球座標型 (d) 關節座標型 圖 1.1: 機械手臂種類 • 直角座標型 (Cartesian):在直角坐標系統中,由於三個軸的結構都是滑動關 節所組成,又稱為 PPP 型,如圖1.1(a)。此類型機械手臂皆是平移移動,在 運動學計算為最簡單的方式,此結構之機械手臂設計較為穩定,結構剛性較 佳,適用於切割機、雕刻機 [3] [4]。 • 圓柱座標型 (Cylindrical):圓柱座標型是由一個旋轉關節及兩個滑動關節組 合而成,又稱為 RPP 型,如圖1.1(b)。當需要直線運動以放零件進孔洞中或 從車床或模型機械上移動零件時,圓柱座標型可以較容易完成這些工作 [5]。 • 球座標型 (Spherical):球座標型是由兩個旋轉關節與一個滑動關節所組成, 又稱為 RRP 型,如圖1.1(c)。此結構設計優點在於機械手臂旋轉中心可以涵 蓋大部分的工作空間,缺點是座標轉換複雜不易控制 [6]。 • 多關節座標型 (Joint, Articulated):關節座標型的結構設計是全部都是由旋轉 關節所組成,又稱為 RRR 型,如圖1.1(d)。此設計類似於人類手臂結構,許 多市面產品都是以此類型設計。優點在於所有關節都可旋轉,擁有最大的靈 活性,而缺點在於控制機制較為困難 [7] [8]。 無論是哪種機器手臂,最重要目的是要能夠準確的到達目標處才能夠順利的 完成工作,如果沒有好的定位系統再好的機構設計都是徒勞,因此機械手臂的定 位系統相當重要,不準確的定位系統將會影響整個工作的流暢性。機械手臂的定

(13)

N a tio n al U niversity of Kao hsi un g 圖 1.2: 傳統機械手臂流程圖 位也包含了路徑規劃 (Path Planning) [9] [10],將機械手臂移動到目標位置間的移 動路線。 工業機械手臂的定位方式,常需要不斷重複執行動作,以符合生產線的工 作。這種固定式的控制方法雖然能夠穩定的完成任務,但任務目標更換後卻無法 立即使用,必需花費大量時間由人工來進行調整及規畫路徑。通常一般使用者無 法方便地設定,必需由專業人士進行操作設定,缺乏適應性與智慧性。而在各種 控制方法中都會因為馬達與感測器精準度,使得在機械手臂定位上產生誤差,本 研究重心在於提高自主性、準確率及具有自主路徑規劃能力之機械手臂設計。

1.2

研究動機與目的

1.2.1

研究動機

傳統機械手臂控制的設計方法中,以固定式的路徑規劃方式來達成,必需以 人工的方式操作機械手臂,設定手臂一系列的動作集至記憶體中,啟動手臂時依 照所設定的順序執行,使機械手臂能按照設定到達特定的目標位置,此方法流程 如圖1.2。 承上控制方法,進階方法是以教導機械手臂的方式,此方法需具備有環境感 測器,如:力矩感測器、編碼器 (Encoder) 等 [11] [12] [13],先以人工方式移動手 臂到達想設定的位置,在移動的同時環境感測器所偵測的量也會同時改變,感測

(14)

N a tio n al U niversity of Kao hsi un g 圖 1.3: 教導型機械手臂流程圖 器提供目前手臂狀態並儲存至記憶中。啟動機械手臂時只需取出記憶中的環境感 測器資訊,持續移動並比對儲存的資訊即可使機械手臂按照原來設定的軌跡移 動,此方法流程如圖1.3所示。以上兩種做法相當類似,運作方式都是需先進行前 置設定流程,將所需資訊儲存至記憶中,後者優於前者的是設定較為簡單,而最 大缺點是更換目標後無法立即適應新工作,缺乏適應性,且這種控制方式只能不 斷重覆同一件事,缺乏自主性。 除了以上的定位方法,也可利用運動學 (Kinematics) 的方式來設計 [14] [15], 需先定義三維空間座標系統,藉由手臂結構座標與目標座標來進行推導,即可計 算出關節與目標之間的對應值,方法流程如圖1.4。此運動學方法優點在於只需要 得知目標位置即可進行計算,但缺點是在運動學推導過程,會因機械手臂的關節 數量增加使複雜度提高。這種定位方式有兩種取得目標位置方式,以工業手臂為 例是由人工設定每個點的位置,若具有自主控制的手臂是由感測器資訊去得位 置。機械手臂定位上,所使用的任何量測設備與感測器皆存在量測誤差,環境也 存在各種擾動與不確定性,因此不精確的量測及控制,使得最後的定位效果跟預 期差距甚大。 總結以上的控制方法,在機械手臂定位所要解決的問題如下: • 提高機械手臂的自主控制能力:增加環境感測器提供系統環境資訊,並以自

(15)

N a tio n al U niversity of Kao hsi un g 圖 1.4: 運動學機械手臂流程圖 主方式取得目標位置,達到自主型機械手臂。 • 降低運動學計算複雜度:利用機械學習技術,訓練出運動學計算模型,取代 原運動學推導計算。 • 提高機械手臂定位精準度:環境感測器存在量測誤差,因此計算結果也有誤 差,需透過後端的誤差修正來達到精準定位。 為了要解決這些問題,常使用 PID 或模糊控制方法來解決,但這些方法都需 要進行參數的設定,需耗費大量時間且效果有限。近年來機械學習方法在各種應 用中都有很突出的效果,能夠減少這些人工參數設定及測試的時間,並且具有廣 泛的適應性和自我完善能力。因此在研究中選擇一種高效率的機器學習方法甚為 重要,而類神經網路為模擬簡化的生物神經網路,是一種類似大腦可自我推理思 考,因此也具有學習的能力,仿效人類的神經系統和處理資訊運作方式,建立一 種人工智慧 (Artificial Intelligence) 方法。因有具有強大的能力,使得類神經網路 廣泛應用到各領域上 [16] [17] [18] [19]。透過輸入的資料產生學習能力,因此許多 電腦不如意解決的問題,運用類神經網路便可輕易完成,根據 Haykin, Simon [20] 的定義,類神經網路由一群基本處理單元所組成的平行分散處理器,具有儲存經 驗與知識。 機械手臂定位方法中,定位過程由多個複雜數學運算過程所達成,因此能夠

(16)

N a tio n al U niversity of Kao hsi un g 找到一組符合定位問題之回歸模型。而類神經網路具監督式學習方式,可由輸入 資料、輸出結果,網路從中學習輸入資料與輸出資料的內在對應規則,因此可用 於訓練機械手臂定位,訓練定位問題的類神經回歸模型,可將機械手臂定位方法 降低系統複雜度定且提升效率。

1.2.2

研究目的

本論文將使用攝影機做為系統感測器,應用類神經網路技術整合於機械手臂 中,並以三軸機械手臂平台實現。將設計一以逆向運動學為基礎定位方法,並且 修正定馬達不精確誤差及影像投影誤差問題,蒐集修正後準確之輸出、輸入資料, 作為類神經網路訓練範本,藉由訓練取得此系統之回歸模型,將定位中複雜計算 流程,以回歸模型取代之。 本研究分為以下四個階段: • 第一階段:注重於逆向運動學的推倒結果與實際機器手臂的表現,主要為了 確認逆向運動學基本效果及準確率,進行無修正及修正方法測試定位效果。 • 第二階段:在類神經網路訓練時需要正確的訓練資料,因此如何取可信的輸 入及輸出相當重要,資料不正確將會使訓練出的結果不正確。 • 第三階段:類神經網路技術中含有許多參數需要設定,在此間段進行參數設 定測試,進行多種參數進行測試,選出最佳的參數及模型。 • 第四階段:將訓練好的類神經網路架構及參數模型,實際應用於機械手臂進 行測試。

1.3

研究流程與論文架構

本論文研究流程主要分為研究動機、相關文獻蒐集與探討、程式撰寫、場地 架設、實驗結果分析與結論等部分。說明如下,研究進行流程如圖1.5。

(17)

N a tio n al U niversity of Kao hsi un g 圖 1.5: 研究進行流程圖 • 研究動機與目的:包含相關的研究背景、問題範圍,參考機械手臂控制、定 位方法、移動路徑相關文獻。 • 相關文獻蒐集與探討:蒐集與本研究相關之技術文獻,包含影像辨識、運動 學、類神經網路、修正控制等。 • 程式撰寫:撰寫影像辨識目標、逆向運動學、輸出控制程式。 • 實驗結果分析與結論:各種不同定位方法效果及類神經網路定位方法,類神 經參數設定數據,比較實驗並分析效果。 本論文之架構分為五章節,第一章『緒論』,說明本研究背景、研究動機與目 的。第二章『文獻探討』,簡述方法背景知識,包含運動學及類神經網路。第三章 『問題定義與分析』,分析機械手臂定位誤差。第四章『實驗與結果分析』,實驗 架構設計,進行驗證方法正確性與準確率,並針對實驗結果分析及說明。第五章 『結論與未來展望』,總結本研究結果,並相對提出未來研究及更深入的方向與構 想。

(18)

N a tio n al U niversity of Kao hsi un g

第 2 章

文獻探討

本 章 簡 述 研 究 應 用 相 關 技 術,運 動 學 (kinematics)、 類 神 經 網 路 (neural network) 相關技術參考文獻探討。

2.1

機械手臂運動學 (Kinematics)

運動學主要是討論機械手臂末端點,在空間中迪卡兒座標系統位置 ( x, y, z) 與機械手臂各軸關節,移動角度 ( θ1, θ2, θ3) 之間的轉換關係 [21] [22]。其中順向 運動學 (forward kinematics) 主要是藉由各軸關節已知的移動角度 ( θ1, θ2, θ3) 來計 算手臂末端點在卡迪生座標系統中所在之位置,而逆向運動學 (inverse kinematics) 則是由已知手臂末端點在卡迪生座標系統中的位置逆推出各軸關節要移動多少角 度才會到達此位置。如圖2.1說明由機械手臂末端點映射至各軸移動角度為逆向運 動學,反之由各軸移動角度映射至機械手臂末端點為順向運動學。 圖 2.1: 運動學

2.1.1

順向運動學

順向運動學為給予機械手臂各關節角度值,求其末端執行器 (end effector) 位 置,機械手臂機構的自由度個數,關係著機構的運動情形。機械手臂的運動學推

(19)

N a tio n al U niversity of Kao hsi un g 倒方式,包括以 D-H Method(Denavit-Hartenberg Method) [23] [24] [25] 來設計機械 手臂座標系統,訂定出適當的連桿參數,依照不同機械手臂之設計方式,以現有 的機械手臂自由度與構造限制,推導順向運動學,首先定義出機械手臂座標系統 原點,利用三維三角幾何空間法進行逆向運動學計算,最後求出目標點與機械手 臂之間相對關係,得出機械手臂與馬達旋轉角度對應值。 根據 Denavit-Hartenberg 法則的定義,得到以下四個連桿參數: • 連桿長度(link length):a • 連桿扭轉(link twist):α • 連桿分出(link offset):d • 關節角度(joint angle):θ 各連桿的定義及示意圖,如圖2.2: 圖 2.2: 連桿參數的定義 • di:沿著 Zi 計算從 Xi−1到 Xi 的距離 • θi:沿著 Zi 計算從 Xi−1到 Xi 的角度

(20)

N a tio n al U niversity of Kao hsi un g • ai:沿著 Xi計算從 Zi−1到 Zi的距離 • αi:沿著 Xi計算從 Zi−1到 Zi的角度 由圖中可以知道由第 (i− 1) 個座標系統經過連續的位移與旋轉來轉至第 i 個 座標系統,如下所述:第 (i− 1) 個座標系統沿著 Zi−1軸位移距離 di,使得 Oi−1 與 Hi−1重合在一起。其轉換矩陣如式 (2.1): T (z, d) =           1 0 0 0 0 1 0 0 0 0 1 di 0 0 0 1           (2.1) 第 (i− 1) 個座標系統沿著 Zi−1軸旋轉角度 θi,使得 Xi−1軸與 Xi 軸同在一直 線上。其轉換矩陣如式 (2.2): T (z, θ) =           cθi −sθi 0 0 sθi cθi 0 0 0 0 1 0 0 0 0 1           (2.2) 第 (i− 1) 個座標系統沿著 Xi 軸位移距離 ai,使得 Oi−1 與 Oi 重合在一起。 其轉換矩陣如式 (2.3): T (x, a) =           1 0 0 ai 0 1 0 0 0 0 1 0 0 0 0 1           (2.3) 第 (i− 1) 個座標系統沿著 Xi 軸旋轉角度 ai,最後使得兩個座標系統重合在

(21)

N a tio n al U niversity of Kao hsi un g 一起。轉換矩陣如式 (2.4): T (x, a) =           1 0 0 0 0 cαi −sαi 0 0 sαi cαi 0 0 0 0 1           (2.4) 因此,轉換矩陣i−1A i 最後的結果可由上面四個轉換矩陣如式 (2.5): i−1A i = T (z, d)T (z, θ)T (x, a)T (x, α) (2.5) 將上面四式代入後,如式 (2.6): i−1 Ai =           cθi −cαisθi sαisθi aicθi sθi cαicθi −sαicθi aisθi 0 sαi cαi di 0 0 0 1           (2.6) 即為 Denavit-Hartenberg(D-H)轉換矩陣。 依照前面所敘述之方法找出各座標系統間之參數 di、θi、ai、αi,根據上述之 步驟。以關節座標型機械手臂為範例,機械手臂之各個座標系統標示如圖2.3所 示,利用 DH 轉換矩陣之步驟來求得其相關之參數 di、θi、ai、αi,座標系統間之 轉換關係,如表2.4。 圖 2.3: 手臂各軸座標系統 圖 2.4: DH 各軸參數表 joint di θi ai αi 1 d1 θ1 0 90 2 0 θ2 a2 0 3 0 θ3 a3 0

(22)

N a tio n al U niversity of Kao hsi un g 將表2.4之參數代到 (2.6) 式可得: 0A 1 =           1 0 1 0 sθ1 0 −cθ1 0 0 1 0 d1 0 0 0 1           (2.7) 1 A2 =           2 −sθ2 0 a22 2 2 0 a22 0 1 0 0 0 0 0 1           (2.8) 2A 3 =           cθ3 −sθ3 0 a3cθ3 3 3 0 a33 0 0 1 0 0 0 0 1           (2.9) 最後相乘可得: 0A 3 =           1c(θ2+ θ3) −cθ1s(θ2+ θ3) 1 1[a3c(θ2 + θ3) + a22] sθ1c(θ2+ θ3) −sθ1s(θ2+ θ3) −cθ1 sθ1[a3c(θ2+ θ3) + a2cθ2] s(θ2+ θ3) c(θ2 + θ3) 0 a3s(θ2+ θ3) + a22+ d1] 0 0 0 1           (2.10)

2.1.2

逆向運動學

逆向運動學是決定要達成所需要的姿勢所要設置的關節可活動對象的參數的 過程,以關節連接的物體由一組通過關節連接的連桿組成。逆運動學問題的難 度更高的解是給定物體的姿勢時,給定末端執行器的位置時得以找到關節的角 度 [26] [27] [28]。以關節座標型設計三軸機械手臂為例,由運動學中逆向運動學 推導三個自由度角度,透過以下三個步驟來求解逆向運動學問題,如圖2.5。

(23)

N a tio n al U niversity of Kao hsi un g 圖 2.5: IK 推導步驟 • 定義三維座標:對於環境空間與機械手臂空間,需先定義出機械手臂三維座 標系統,本論文機械手臂定義如圖2.6,其中 E(x, y, z) 為機械手臂末端點位 置,O(0, 0, 0) 為三維座標系統原點位置。 圖 2.6: 機械手臂座標系統 • 定義手臂結構:機械手臂設計方式很多,需定義出可動關節方向與連桿連 接距離,如圖2.7,三維空間座標中除了 x, y, z 軸外而外定義了 v 軸,v 為 機械手臂直線 Z 輔助軸,θ1、θ2、θ3 為關節角度,d1、d2 為實際連桿長度, E(x, y, z)為末端點位置,Q 為第二關節位置,O(0, 0, 0) 為座標原點,逆向 運動學中將三維空間拆分為二維空間做計算,l1、l2 為實際手臂長度投影到 二維空間 x− y 平面距離,F (x, y, 0) 為末端點位置投影到二維空間 x − y 平 面位置,M 為末端點位置投影到二維空間 x− y 平面位置,W 為 OQ 延伸 之輔助線,S 為 OM 延伸之輔助線,當 θ2 = 0時,S 與 M O 成同一直線, 機械手臂 M O 為 QO 投影到二維空間 x− y 平面直線,θ1為 x 軸與 M O 形 成之夾角,θ2為 QW 與 QE 形成之夾角,θ3為 QO 與 M O 形成之夾角,接 下來由下個步驟說明。

(24)

N a tio n al U niversity of Kao hsi un g 圖 2.7: 機械手臂結構定義 • 推導關節角度:推導角度過程中將三維空間分割成 y − v 平面、x − z 平面, 因為推導過程中 θ1、θ2 需要透過 θ3來求解,所以需先求出 θ3,再求出 θ1與 θ2,推導流程如圖2.8所示。 圖 2.8: 推導流程圖 機械手臂三維空間投影在 x− z 平面中,x − z 平面圖繪製如圖2.9所示,已 知 E(x, y, z) 而投影在 x− z 平面點為 I(x, 0, z),因機械手臂設計關係關節 θ1 與 θ2 的值不影響 θ3,因此計算 θ3的推導較簡單,利用反三角函數即可求出 θ3如式 (2.11)。 θ3 = tan−1 z x (2.11) 機械手臂三維空間投影在 v − y 平面中,v − y 平面圖繪製如圖2.10所示, 為了要求出 θ1 需先求出 γ 及 β。已知 E(x, y, z) 座標投影在 v− y 平面為

(25)

N a tio n al U niversity of Kao hsi un g 圖 2.9: 機械手臂 x− z 平面圖 (θ3) E(x, y, z),L 長度為式 (2.12),要求出 γ 可由已知的 E(x, y, z) 求出 IO 如式 (2.13),再由反三角函數求出式 (2.14),β 由勾股定理求出,如式 (2.15),θ1 等於 γ 加上 β 如式 (2.16)。 圖 2.10: 機械手臂 v− y 平面圖 (θ1) L =x2+ y2+ z2 (2.12) IO =√x2+ z2 (2.13) γ = tan−1 y IO = tan−1√ y x2+ z2 (2.14)

(26)

N a tio n al U niversity of Kao hsi un g β = cos−1 (d1) 2+ L2− (d2)2 2× d1× L = cos−1 (d1) 2+ (x2+ y2 + z2)2− (d2)2 2× d1×x2+ y2+ z2 (2.15) θ1 = γ + β = tan−1√ y x2+ z2 + cos −1 (d1)2+ ( √ x2 + y2+ z2)2− (d2)2 2× d1×x2+ y2 + z2 (2.16) θ2同樣由 v− y 平面求出,如圖2.11,為了要求出 θ2,需要藉由 OQ 延伸之 輔助線 W ,α 為 θ2 補角,因此求出 α 即可求出 θ2,已知三邊長 d1、d2、L, 由勾股定理求出 α 如式 (2.17),再由 α 補角求出 θ2 如式 (2.18)。 圖 2.11: 機械手臂 v− y 平面圖 (θ2) α = cos−1(d1) 2+ (d 2)2− L2 2× d1× d2 = cos−1(d1) 2+ (d 2)2− (x2+ y2+ z2)2 2× d1× d2 (2.17) θ2 = 180− α = 180− cos−1(d1) 2+ (d 2)2− (x2+ y2+ z2)2 2× d1× d2 (2.18)

(27)

N a tio n al U niversity of Kao hsi un g

2.2

倒傳遞類神經網路

倒傳遞類神經網路 (Back Propagation Network,BPN) 分為三層結構之神經 網路 [29] [30] [31],分別為輸入層 (Input Layer)、隱藏層 (Hidden Layer)、輸出層 (Output Layer),其中輸入層用以表現輸入變數 X,內部單元數 i 依問題型式而定, 隱藏層 net 用以表現輸入處理單元間之交互影響,其單元數目需以試驗方式來決 定最佳數目,輸出層 Y 用以表現輸出變數,其單元數目亦依問題的型式而定。倒 傳遞網路屬於多層前向網路架構 (multi- layer feed-forward network),其基本原理採 用最陡坡降法 (gradient steepest descent method) 作為訓練網路的方法,方法是將誤 差函數最小化,採用非線性的轉換函數以處理輸入輸出間之非線性映射關係。 倒傳遞類神經網路屬於監督式學習網路,其學習過程是藉由訊息正向傳播 (forward-pass) 與誤差修正負向傳播 (backward-pass) 兩階段所組成。前者在運作時 其權重是固定的,而後者運作時其權重先是不變,待其取到誤差參數值 d 後,再 配合所選取的學習法則以調整權重。正向傳播過程中輸入訊息後從輸入層經由隱 藏層權重運算,透過轉換函數處理後,傳向輸出層運算輸出,每一層神經元的狀 態僅影響下一層神經元的狀態。若於輸出層無法得到期望的推論值,則轉入誤差 修正負向傳播,將推論值和目標值間的誤差,沿原來的連接通路返回,並利用最 陡坡降法以修正各層神經元的權重值與閥值,期能使誤差函數值達到容忍誤差範 圍而停止。

2.2.1

演算法過程

倒傳遞的學習演算法,可分為正向傳播與誤差修正負向傳播兩過程分別說明, 以圖2.12倒傳遞演算法之正向傳播與負向傳播圖為例,說明倒傳遞演算法如何應 用一個訓練範例的一輸入向量 Xi 與一目標輸出向量 To,修正網路權重 Wh ij,進 而達到學習的目的。以下說明其數學公式推倒過程:

(28)

N a tio n al U niversity of Kao hsi un g 圖 2.12: 倒傳遞類神經網路 • 正向傳播過程:在本過程中,首先計算由輸入層 Xi 至隱藏層處理單元 j 的 淨輸入值,如式 (2.19)。 nethij =∑ i WijhXi− θhj (2.19) 其中 Wh ij 為輸入層與隱藏層間的連接加權值,而 θjh 為隱藏層處理單元 j 的 閥值。隱藏層處理單元 j 之集成函數 neth ij 經由作用函數以輸出至下一層處 理單元 k,其作用後輸出值命其為 Yhj k ,如式 (2.20)。 Ykhj = f (nethj) = f (i WijhXi− θhj) (2.20) 式 (2.19) 與式 (2.20) 之運算表示輸入值經由權重值與閥值運算,其運算值進 入處理單元後再經轉換函數轉換得一輸出值,此值在輸出後則成為下一層之 輸入值,而網路到目前為止完成一基本的演算。此演算可套用到每一處理單 元跟處理單元之間,當輸入值在處理單元間如此反覆的運算及轉換後,將在

(29)

N a tio n al U niversity of Kao hsi un g 網路的最後的輸出單元產生一推論輸出值,命其為 Yoj k(f inal),其運算式如式 (2.21)

Yk(f inal)oj = f (netok(f inal)) = f (j

Wij(f inal)o Ykhj − θok(f inal)) (2.21)

由於倒傳遞網路屬監督式學習網路,其學習之目的在降低網路輸出單元中推 論輸出值與目標輸出值之差距,所以一般以能量函數 E(energy function) 表 示其學習的品質,能量函數通常亦稱誤差函數,其數學式表示如式 (2.22) E = 1 2 ∑ k (Tkoj − Ykoj)2 (2.22) 其中 Toj k 為輸出層第 K 處理單元的目標輸出層,Y oj k 則為同單元的推論輸出 層。式 (2.22) 中係數值 1 2 的使用目的,在於對 E 微分後能夠得到較簡潔的 式子。由以上式 (2.20)(2.21)(2.22) 三式的結合,可得 (2.23)。 E = 1 2 ∑ k [Tk− f(f(j Wjkof (j WijhXi− θjh)− θok))]2 (2.23) • 誤差修正負向傳播過程:本過程乃以最陡坡降法來使能量函數 E 最小化, 亦即每當輸入一個訓練範例,網路即小幅調整網路權重 WO jk,調整幅度和能 量函數對權重的敏感度成正比,換言之,能量函數對權重的偏微分值大小成 正比,由式 (2.21) 即式 (2.22) 可知 E 為 Yk的函數,且 Yk為 Wjko 的函數,此 時使用最陡坡降法及微積分中之連鎖法則 (chain-rule),將式 (2.23) 對 Wo jk分,可得隱藏層與輸出層間連接加權的修正量 ∆Wo jk,如式 (2.24): ∆Wjko =−η ∂E ∂Wo jk =−η ∂E ∂Ykoj ∂Ykoj ∂Wo jk =−η(Tkoj − Ykoj)• f′(netoj)Ykhj =−ηδkoYkhj (2.24)

(30)

N a tio n al U niversity of Kao hsi un g 其中,η 表示學習速率 (learning rate),並由式 (2.25) 定義出輸出層的誤差項 如下: δko = f′(netok)(Tkoj − Ykoj) (2.25) 同理,由式 (2.20) 與式 (2.21) 可知 Ykoj 為 Ykhj 的函數,且 Ykhj 為 Wh ij 的函 數,可推得輸入層與隱藏層間的連接權值的修正量,如下式 (2.26) ∆Wijh =−η ∂E ∂Ykhj =−η ∂E ∂Ykoj ∂Ykoj ∂Ykhj ∂Ykhj ∂Wh ij =−ηk(Tko− Ykoj)f′(netok)Wjkof′(nethj)Xi =−ηkoWjkof′(nethj)Xi) =−ηδhjXi (2.26) 定義隱藏層的誤差項為 δjh = f′(nethj)∑k(Wjkko) (2.27) 比較式 (2.24) 與式 (2.26),可將連接權值修正量改成如下式 (2.28)

∆W = ηδoutputnetinput (2.28)

經由單層隱藏層倒傳遞網路的探討,推廣至多層隱藏層。首先假設有一 N 層 的網路,依上述之推算可得以下的通則: • 輸出層與最後一層隱藏層(即第 N 層與 N − 1 層)間的連接權值之修正量: ∆WijN = ηδNj netNi −1 (2.29) δjN = f′(netNj )(TjN − YjN) (2.30) ∆θNj =−ηδjN (2.31)

(31)

N a tio n al U niversity of Kao hsi un g • 各隱藏層間的連接權值修正量 (1 < n < N): ∆Wijn = ηδjnnetni−1 (2.32) δjn= f′(netnj)∑k(Wjkn+1− δkn+1) (2.33) ∆θjn=−ηδjn (2.34) • 輸入層和第一隱藏層間的權重值修正量,與式 (2.31) 類似,僅需將 N 用 1 取代,且將 netN−1 i 用 Xi 取代之: ∆Wij1 = ηδj1Xi (2.35) θj1 = f′(net1j)(Tj1− Yjo) (2.36)

2.2.2

轉換函數

轉換函數係將集成函數產生的輸出值轉換成隱藏層或輸出層處理單元的輸入, 常用的轉換函數包括硬限函數、線性函數及非線性函數等,硬限函數主要為階梯 函數類型,線性函數則包含門限線性函數及無門限線性函數等,而非線性函數 則有雙彎曲函數 (Sigmoid Function) 與雙曲線正切函數 (Hyperbolictangent Function) 等。應用轉換函數之目的在於避免函數微分後,產生奇異點 (singular point),而使 得微分函數無意義,使用轉換函數可將輸入值及輸出值保持在一定的範圍內,避 免權重的發散。 倒 傳 遞 網 路 的 轉 換 函 數 以 非 線 性 函 數 為 主,一 般 常 用 S 型 函 數 (sgmoid function) 如式 (2.37),主要原因在於非線性函數能提供較佳的對應關係,其中又以 雙彎曲函數之應用最為廣泛,其函數輸出值介於 0 到 1 之間,如圖2.13所示。若 問題之決策為間斷整數值,則須建立一套與類神經網路輸出結果 [0,1] 之間數量的 對照表,作為輸出實際決策變數值轉換之依據。 f (x) = 1 (1 + e−x) (2.37)

(32)

N a tio n al U niversity of Kao hsi un g (a) 雙彎曲函數 (b) 雙曲線正曲函數 圖 2.13: S 型轉換函數

2.2.3

網路建構流程

在倒傳遞演算法中,其演算過程包含訓練過程及回想過程,如圖2.14所示。 將流程分述如下: • 訓練過程: Step-1: 設定網路參數,包含隱藏層數目、各層單元數目、學習速率及最小容 忍誤差。 Step-2: 以亂數產生初始權重值及閥值。 Step-3: 計算隱藏層與輸出層之輸出(此為訊息正向傳播階段)。 Step-4: 計算誤差值。 Step-5: 計算權重值修正量(誤差負向傳播階段)。 Step-6: 調整各層權重值及閥值。 Step-7: 跳回步驟 3,重複計算誤差至最小容忍誤差範圍內,或達到預設訓練 次數時,網路即停止計算。

(33)

N a tio n al U niversity of Kao hsi un g • 回想過程: Step-1: 設定網路參數,並讀入收斂後之權重值及各處理單元閥值。 Step-2: 輸入驗證範例的輸入值。 Step-3: 計算網路輸出的推論值。 圖 2.14: 倒傳遞網路建構流程

(34)

N a tio n al U niversity of Kao hsi un g

第 3 章

問題定義與分析

3.1

末端執行器定位誤差

在智慧型機械手臂技術上,以往是利用環境感測器來取得我們所要的目標位 置,但任何量測設備與感測器皆存在著量測誤差,環境因素也存在各種擾動與不 確定性。因此取得了目標點位置求出正確的解,但也可能無法準確的到達目標點, 另外機械手臂的硬體規格也會受到一定的限制,如馬達的可動角度及精確度或連 桿長度等。如圖3.1為影像式機械手臂控制系統,以下將進行驗證及分析這個控系 統導致誤差的因素。 圖 3.1: 控制系統

3.1.1

逆向運動學誤差問題

機械手臂定位常使用逆向運動學來達成,逆向運動學在理想狀態上確實能夠 到達理想的位置,但在實際環境中存在著各種環境誤差,凡是由人類所製造出的 量測工具都存在著誤差,因此誤差的累積會使定位不準確。 將逆向運動學公式中帶入誤差項,誤差項如下: • d1=d0 1+d′1 (d′1 誤差項) • d2=d0 2+d′2 (d′2 誤差項) • x=x0+x′(x 誤差項) • y=y0+y′(y′誤差項)

(35)

N a tio n al U niversity of Kao hsi un g • z=z0+z′ (z′ 誤差項) 逆向運動學計算公式,誤差項帶入 θ3 中,如下: θ3 = tan−1 z0+ z′ x0+ x′ (3.1) 逆向運動學計算公式,誤差項帶入 θ1 中,如下: θ1 = γ + β = tan−1 (y0+ y )(x0+ x′)2+ (z0+ z)2+ cos−1 (d 0 1+ d′1)2+ ( √ (x0+ x′)2+ (y0+ y′)2+ (z0+ z′)2)2− (d02+ d′2)2 2× (d0 2+ d′1)×(x0+ x′)2 + (y0+ y′)2+ (z0+ z′)2 (3.2) 逆向運動學計算公式,誤差項帶入 θ2 中,如下: θ2 = 180− α = 180− cos−1(d 0 1 + d′1)2+ (d02+ d′2)2− ((x0+ x′)2+ (y0+ y′)2+ (z0+ z′)2)2 2× (d0 1+ d′1)× (d02+ d′2) (3.3) 由上可發現到誤差項帶入後,會因誤差的累積影響到逆向運動學的定位精準 度,以下,將舉例含誤差項的計算結果: 誤差小: 參數設定如下,(單位:公分)。 • d0 1 = 15,d′1 = -0.3 • d0 2 = 12,d′2 = 0.2 • x0 = 15,x′ = 0.2 • y0= 12,y′ = -0.3 • z0 = 10,z′ = 0.2 計算 θ3 若不考慮誤差項的結果為式 (3.4),若考慮誤差參數可得式 (3.5): θ3 = tan−1 10 15 ≈ 33.69 (3.4)

(36)

N a tio n al U niversity of Kao hsi un g θ3 = tan−1 10.2 15.2 ≈ 33.86 (3.5) 計算 θ1 若不考慮誤差項的結果為式 (3.6),若考慮誤差參數可得式 (3.7): θ1 = tan−1 12 152+ 102 + cos −1 152+ ( 152+ 122+ 102)2− 122 2× 15 ×√152+ 122+ 102 ≈ 33.65 + 32.16 ≈ 65.81 (3.6) θ1 = tan−1 12.3 15.22+ 10.22 + cos −1 14.72+ ( 15.22+ 11.72+ 10.22)2− 12.22 2× 14.7 ×√15.22 + 11.72+ 10.22 ≈ 32.59 + 32.41 ≈ 65 (3.7) 計算 θ2 若不考慮誤差項的結果為式 (3.8),若考慮誤差參數可得式 (3.9): θ2 = 180− cos−1 152+ 122− (152+ 122+ 102)2 2× 15 × 12 ≈ 180 − 106.12 ≈ 73.88 (3.8) θ2 = 180− cos−1 14.72+ 12.22− (√15.22+ 11.72+ 10.22)2 2× 14.7 × 12.2 ≈ 180 − 107.37 ≈ 72.63 (3.9) 誤差大: 參數設定如下,(單位:公分)。 • d0 1 = 18,d′1 = 1 • d0 2 = 10,d′2 = 2 • x0 = 12,x′ = 2 • y0= 17,y′ = -3 • z0 = 12,z′ = -2 計算 θ3 若不考慮誤差項的結果為式 (3.10),若考慮誤差參數可得式 (3.11): θ3 = tan−1 12 12 ≈ 45 (3.10)

(37)

N a tio n al U niversity of Kao hsi un g θ3 = tan−1 10 14 ≈ 35.54 (3.11) 計算 θ1 若不考慮誤差項的結果為式 (3.12),若考慮誤差參數可得式 (3.13): θ1 = tan−1 17 122+ 122 + cos −1 182+ ( 122+ 172+ 122)2− 102 2× 18 ×√122+ 172+ 122 ≈ 45.05 + 22.14 ≈ 67.19 (3.12) θ1 = tan−1 14 142+ 102 + cos −1 192+ ( 142+ 142+ 102)2− 122 2× 19 ×√142+ 142+ 102 ≈ 39.14 + 32.74 ≈ 71.88 (3.13) 計算 θ2 若不考慮誤差項的結果為式 (3.14),若考慮誤差參數可得式 (3.15): θ2 = 180− cos−1 18 2+ 102− (122+ 172+ 122)2 2× 18 × 10 ≈ 180 − 115.15 ≈ 64.85 (3.14) θ2 = 180− cos−1 192+ 142− (142+ 142+ 102)2 2× 19 × 12 ≈ 180 − 88.37 ≈ 91.63 (3.15) 逆向運動學基本上可以成功到達我們所想要的位置附近,但前提是必需提供 給運動學相當準確的目標位置,因此要如何取得正確的目標位置相當重要。

3.1.2

特徵值取得誤差

特徵值取得方式是使用攝影機擷取影像,並在影像處理中獲得的目標中心點 位置定義為特徵值,而這個特徵值為影像中的像素位置,需再經過轉換轉換成距 離,以供逆向運動學計算用之 (x,y,z) 座標位置,但在特徵值轉換上會因為目標遠 近如圖3.2、攝影機位置及角度產生扭曲,使轉換出來的座標位置不準確,實際三 維空間與影像二維空間距離誤差,使得推導出來的角度位置偏移。 為了證明影像有著三維空間與二維空間差異,進行實際目標距離與影像中位 置關係測試,將目標擺放於攝影機前方 (遠、中、近距離),如圖3.3,觀察影像中

(38)

N a tio n al U niversity of Kao hsi un g 圖 3.2: 影像遠近關係 的變化得到了以下結論,在相機鏡頭與地面保持垂直時,且目標物高度不變的情 況下: • 目標高度小於相機,當目標離相機越近,在影像中垂直位置越往下。 • 目標高度大於相機,當目標離相機越近,在影像的垂直位置越往上。 (a) 目標小於攝影機 (b) 目標大於攝影機 圖 3.3: 影像測試圖

(39)

N a tio n al U niversity of Kao hsi un g

3.1.3

角度不精確問題

市面上所販售之伺服馬達,大多是利用脈波寬度調變來控制角度,是將類比 信號轉換為脈波的一種技術,一般轉換後脈波的週期固定,但脈波的占空比會依 類比信號的大小而改變,如圖3.4所示。因此伺服馬達可以控制馬達角度,但在一 圖 3.4: 脈波寬度調變 般的控制方法下還是無法精準地到達所需之角度,因此即使計算出的角度正確也 無法到達所需之角度,為此將伺服馬達進行手動焊接回授訊號線,將訊號進行 A/ D 轉換 (類比訊號轉數位訊號),此回授訊號有助於確認馬達實際角度,為此進行 角度及回授訊號量測。量測方式以人工將馬達拉動至該角度,再進行回授訊號量 測,如圖3.5。 圖 3.5: 量測方式 蒐集資料為 0o 〜 100o 每間隔 10o 接收一次,每個角度接收 100 次量測結果 如圖3.6(a),由表中可以看出訊號具有不穩定的擾動,馬達控制最理想的狀態是隨

(40)

N a tio n al U niversity of Kao hsi un g 著角度上升工作週期也上升,呈現一個線性直線可容易控制,但事實卻非如此如 圖3.6(b),計算出每 10o 之間隔,可以發現角度間的間隔不一,因此不易控制馬達 角度,並計算這 100 次回授誤差如圖3.6(c), (a) 馬達回授訊號圖表 (b) 馬達回授訊號間隔 (c) 馬達回授訊號誤差 圖 3.6: 馬達回授訊號

3.2

問題分析結果與討論

綜合以上問題定義,對於機械手臂定位可以得到以下結論: • 機械手臂定位的問題上,透過逆向運動學計算求出,但計算的複雜度會因所 使用的機械手臂關節數多寡提升,複雜度提升也代表著計算時間長,關節數

(41)

N a tio n al U niversity of Kao hsi un g 越多月無法達到即時定位的功能,因此要如何降低計算複雜度相當重要。 • 逆向運動學想到達到精準定位,必需先取得精準的目標位置,但在智慧型機 械手臂上,會因為感測器的不準確取到有誤差的特徵值,造成逆向運動學的 計算結果不準確,因此如何取得準確的特徵值相當重要。 • 使用的馬達精密度,會使機械手臂在移動過程中是否能夠到達目標位置,即 使運動學計算結果正確,但因硬體設備的影響使定位目標偏移,也是造成誤 差的重要原因。

3.3

修正方法與類神經網路整合

3.3.1

定位修正方法

以上說明了各種誤差因素,使機械手臂定位過程中累積了許多誤差,因此需 要經過後端的誤差修正,使機械手臂回到正確位置。各種誤差中,影響最大的是 從影像目標位置與特徵值之間的轉換,本論文中不處理影像問題,使得特徵轉換 時有著較大的誤差問題,因此修正重點在於修正特徵值,給予正確的特徵值使逆 向運動學推倒更加準確,修正控制流程如圖3.7。在修正迴路中,持續由影像方式 計算目標位置與實際位置誤差,計算 X、Y 、Z 軸誤差進行調整,需進行三次的 誤差修正,可能會因此會耗費較多時間。 圖 3.7: 控制系統修正流程圖

(42)

N a tio n al U niversity of Kao hsi un g 詳細控制系統修正流程下: • 影像資訊:取得府視影像與側視影像資訊,如圖3.8。 (a) 目標位置 (側視影像) (b) 目標位置 (俯視影像) 圖 3.8: 影像資訊 • 目標中心點位置:將影像進行處理,取得影像中目標位置,如圖3.9中藍色 點像素位置。 (a) 目標位置 (側視影像) (b) 目標位置 (俯視影像) 圖 3.9: 目標位置取得 • 特徵值轉換:將影像中目標位置,轉換成實際距離,將最大值。由側視影像 轉換 x、y,由俯視影像轉換 Z。 • 逆向運動學推倒:將特徵值 (x, y, z) 輸入逆向運動學推導出 (θ1, θ2, θ3),如 圖3.10中為逆項運動學角度計算。

(43)

N a tio n al U niversity of Kao hsi un g (a) 逆向運動計算 (側視影像) (b) 逆向運動計算 (俯視影像) 圖 3.10: 逆向運動計算 • 偵測目標誤差:手臂移動後再次取得影像資訊,將計算目標位置與實際位置 誤差,如圖3.11中綠點為目標位置,而藍點為手臂移動後實際位置。 (a) 實際與目標位置 (側視影像) (b) 實際與目標位置 (俯視影像) 圖 3.11: 實際與目標位置 • 修正特徵值:進行調整 (x, y, z) 特徵值,調整順序為 x、y 最後 z。 (a) 修正與目標位置 (側視影像) (b) 修正與目標位置 (俯視影像) 圖 3.12: 修正與目標位置

(44)

N a tio n al U niversity of Kao hsi un g

3.3.2

類神經網路架構與流程

為了要提升定位系統的效率,將修正控制方法與類神經網路結合,因類神經 往地的特性,只需要給予正確輸入及輸出資料,即可透過訓練得到一組符合系統 的模型,可簡化此修正系統的複雜度,進而提升機械手臂定位的效率。類神經網 路系統流程如圖3.13,將修正系統中的特徵值轉換、逆向運動學計算及修正誤差, 由類神經網路所取代,論文中將以此控制系統修正方法來蒐集資料,以提供類神 經網路所需的訓練資料。 圖 3.13: 類神經網路系統流程圖 論文中將使用類神經網路技術,因此先訂定出類神經網路架構,網路架構設 計如圖3.14。在網路的輸入層中使用四個節點,其節點分別為俯視影像目標位置 X軸 xo,俯視影像目標位置 Y 軸 yo,側視影像目標位置 X 軸 xs,側視影像目標 位置 Y 軸 ys。隱藏層使用一層 n 個節點 (節點數由實驗決定),輸出層使用一個節 點。網路架構中將每個關節角度 θ1、θ2與 θ3,各別由一組類神經網路所構成,因 此在類神經網路訓練階段中,需要訓練出各別三組模型,對應出三個不同輸出。

(45)

N a tio n al U niversity of Kao hsi un g 圖 3.14: 類神經網路架構 以下 舉 例類 神 經網 路推 倒過 程,如圖3.15,輸入層四個節點 (ys、ys、xoyo),一層隱藏層,隱藏層三個節點 (node1、node2、node3),權重值 weight 圖中

以 w 簡寫表示,gain1 為 node1 的閥值,gain2 為 node2 的閥值,gain3 為 node3 的閥值。輸出層一個節點 (theta),gainO 為輸出 theta 的閥值,T arget 為訓練資 料的正確輸出。errorA 為輸出誤差值,error1 為 node1 誤差值,error2 為 node2 誤差值,error3 為 node3 誤差值。

(46)

N a tio n al U niversity of Kao hsi un g 順向傳遞公式推倒,計算每個節點如式 (3.16)(3.17)(3.18)(3.19): node1 = 1

1 + exp−(xs×weight1+ys×weight4+xo×weight7+yo×weight10+gain1) (3.16)

node2 = 1

1 + exp−(xs×weight2+ys×weight5+xo×weight8+yo×weight11+gain2) (3.17)

node3 = 1

1 + exp−(xs×weight3+ys×weight6+xo×weight9+yo×weight12+gain3) (3.18)

output = 1

1 + exp−(node1×weight21+node2×weight22+node3×weight23+gainO) (3.19) 逆向傳遞公式推倒,先計算網路輸出與目標誤差,如式 (3.20)(3.21)(3.22) (3.23):

errorA = output× (1 + output) × (T arget − output) (3.20)

error1 = node1× (1 + node1) × weight21 × errorA (3.21)

error2 = node2× (1 + node2) × weight22 × errorA (3.22)

error3 = node3× (1 + node3) × weight23 × errorA (3.23)

由誤差值去修正每個節點閥值,η 為學習速率,如式 (3.24)(3.25)(3.26)(3.27):

gainO = gainO + η× errorA (3.24)

gain1 = gain1 + η× error1 (3.25)

gain2 = gain2 + η× error2 (3.26)

gain3 = gain3 + η× error3 (3.27)

由誤差值去修正每條權重值,如下:

weight21 = weight21 + η× errorA × node1 (3.28)

weight22 = weight22 + η× errorA × node1 (3.29)

(47)

N a tio n al U niversity of Kao hsi un g

weight1 = weight1 + η× error1 × xs (3.31)

weight2 = weight2 + η× error2 × xs (3.32)

weight3 = weight3 + η× error3 × xs (3.33)

weight4 = weight4 + η× error1 × ys (3.34)

weight5 = weight5 + η× error2 × ys (3.35)

weight6 = weight6 + η× error3 × ys (3.36)

weight7 = weight7 + η× error1 × xo (3.37)

weight8 = weight8 + η× error2 × xo (3.38)

weight9 = weight9 + η× error3 × xo (3.39)

weight10 = weight10 + η× error1 × yo (3.40)

weight11 = weight11 + η× error2 × yo (3.41)

weight12 = weight12 + η× error3 × yo (3.42)

在類神經網路訓練時,需要先設定資料來源、類神經網路架構、學習速率、 作用函數及誤差函數,論文中將固定 sgmoid 為作用函數、MSE 為誤差函數,隨 機產生初始權重及閥值,其它參數由實驗中決定,實驗將以此類神經網路訓練流 程進行,如圖3.16。

(48)

N a tio n al U niversity of Kao hsi un g

第 4 章

實驗與結果分析

4.1

機械手臂機構設計

機械手臂架構使用四顆伺服馬達,三顆 GWS(S03N2)、一顆 GWS(S03N3) 標 準型伺服馬達。機械手臂設計如圖4.1(a),在機械手臂連接部分,都是以 3D 印表 機列印而成 (PLA 材質),包括連桿如圖4.1(b)、基座如圖4.1(c) 與夾具如圖4.1(d), 利用 3D 印表機有利於在機械手臂研究上。 (a) 機械手臂設計圖 (b) 連桿設計 (c) 旋轉盤設計 (d) 夾具設計 圖 4.1: 機構設計

(49)

N a tio n al U niversity of Kao hsi un g

4.2

硬體架構

實驗中使用為一台筆記型電腦,CPU 型號為 Intel Core i7-4710HQ 2.5GHz,記 憶體大小為 8GB,作業系統為 Windows 10,使用 Code Block 程式開發軟體以 C 語言進行程式撰寫。伺服馬達控制使用 Arduino Mega 2560 微控制器,用來控制伺 服馬達 PWM 訊號。影像擷取設備使用 Logitech C920 及 Logitech C910,用來擷取 機械手臂影像。硬體架構如圖4.2所示。 圖 4.2: 硬體架構 伺服馬達數量到達一定數量時,當伺服馬達同時工作或舉起重物時,伺服馬 達會需要取得更大的電流來支撐,若外部供電不穩的話可能會造成伺服馬達出力 不足、斷電或是馬達損壞的可能。因此在電源分配上進行調配,使供電能夠非常 穩定,電源分配設計如圖4.3。 圖 4.3: 供電電路設計

(50)

N a tio n al U niversity of Kao hsi un g

4.3

實驗環境

採用的機械手臂為自行設計隻機械手臂,具有三個活動自由度,並使用兩個 攝影機擷取影像資訊,架設在機械手臂上方及側面,目標位置為機械手臂前方藍 色保麗龍球,本實驗採用 70 cm x 60 cm 的白色桌面,四周使用高 70 cm 的隔板隔 開並貼上白紙使環境單純化,如圖4.4。在攝影機擷取影像部分,側視影像使用 640 x 480 像素,攝影機距離機械手臂底部位置 60cm,俯視影像使用 850 x 480 像 素。攝影機距離機械手臂中心位置 60cm,如圖4.5。 圖 4.4: 實驗環境示意圖 圖 4.5: 攝影機架設圖

4.4

實驗流程

實驗中重點在於評估方法的準確性,在比較準確性及效果方面,都是以影像 中的像素誤差為衡量標準,因此像素位置差異越大代表定位越不準確,實驗進行 方式將由以下流程說明: • 設定目標位置:手動移動機械手臂到達期望位置後,啟動攝影機擷取機械手 臂側視影像及俯視影像。 • 影像處理:取得所需影像,進行目標辨識,取得側視影像中目標中心位置及 俯視影像中目標中心位置,提供給下一層方法的輸入資訊。

(51)

N a tio n al U niversity of Kao hsi un g • 方法計算:將目標中心位置輸入至逆向運動學方法、修正控制方法與類神經 網路方法做計算,輸出為各關節旋轉角度。 • 伺服馬達控制:將關節旋轉角度轉換成伺服馬達控制訊號,發送至控制端輸 出控制。 • 定位結果:方法的定位輸出結果,機械手臂移動到該位置,再使用攝影機擷 取實際位置影像。 • 計算誤差:計算方法的實際位置與目標位置像素誤差,此誤差可以評斷出定 位準確性。

4.5

資料蒐集

類神經網路訓練時所需要正確的輸入、輸出資料,才能夠訓練出好的類神經 網路模型,此實驗重點在於驗證定位方法的可靠性,比較逆向運動學方法與修正 方法,在機械手臂定位上的效果,為此進行精準度的測試實驗。 實驗中都以影像資訊為優劣評斷依據,而實驗的影像有目標影像 (側視及 俯視)、逆向運動學定位影像 (側視及俯視)、修正方法定位影像 (側視及俯視) 如 圖4.6,影像中綠色點位置為目標位置,目標位置由影像處理取得,而藍色點位置 為方法的定位位置。從圖中可以簡單地看出兩種方法的效果,修正方法的定位位 置有較接近期望的目標位置,而逆向運動學方法定位位置距離目標位置較遠,其 原因為實際空間誤差、硬體誤差及感測器誤差所導致,使得計算出的結果與實際 位置誤差甚大。 此實驗中取得機械手臂移動後的影像位置,計算出實際手臂移動後定位位置 與目標位置像素誤差,誤差計算方式如式 (4.1):

(52)

N a tio n al U niversity of Kao hsi un g (a) 目標影像 (側視影像) (b) 目標影像 (俯視影像) (c) 逆向運動學定位影像 (側視影像) (d) 逆向運動學定位影像 (俯視影像) (e) 修正方法定位影像 (側視影像) (f) 修正方法定位影像 (俯視影像) 圖 4.6: 實驗影像

其中 Error 為影像誤差 (像素),T arget 為目標像素位置,M ethod 為方法定位後 實際像素位置。實驗中隨機取出 10 次定位資料做分析,逆向運動學方法定位誤差 如表4.1、圖4.7(a),誤差修正方法定位誤差如表4.2、圖4.7(b),從表中可看修正方 法有較低的誤差,而逆向運動學方法誤差較大,因此需經過後端的修正方法來達 成精準定位。 接續以上實驗,計算目標位置與實際位置的影像距離,影像距離計

(53)

N a tio n al U niversity of Kao hsi un g 表 4.1: 逆向運動學方法 (位置像素誤差) 側視影像 俯視影像 Data Xs Ys Xo Yo 1 1 -23 1 -12 2 -22 -47 -7 4 3 -30 -63 -4 7 4 0 -64 -12 -23 5 3 -26 -22 -9 6 20 -17 -3 -34 7 30 -2 -21 -38 8 20 -13 -58 -34 9 -8 -39 -22 -17 10 -25 -31 3 9 MSE 7.95 16.25 7.65 9.35 表 4.2: 修正方法 (位置像素誤差) 側視影像 俯視影像 Data Xs Ys Xo Yo 1 -1 1 1 1 2 -3 7 -1 6 3 4 -13 3 -8 4 -5 2 4 6 5 -8 2 5 8 6 3 -10 -12 -7 7 0 -5 3 -4 8 3 -5 -3 -6 9 -8 -1 -11 10 10 -5 -5 3 3 MSE 2 2.55 2.3 2.95 (a) 逆向運動學方法誤差圖 (b) 修正方法誤差圖 圖 4.7: 位置像素誤差圖 算方式如式 (4.2):

Distance =(T arget(x)− Method(x)2+ (T arget(y)− Method(y)2) (4.2)

其中 Distance 為影像距離 (像素),T arget(x) 為影像中目標像素位置 X 座標,

M ethod(x)為影像中目標像素位置 Y 座標,T arget(y) 為影像中方法像素位置 X

(54)

N a tio n al U niversity of Kao hsi un g 表 4.3: 目標與實際位置距離誤差表 IK 修正方法 Distance 側視影像 俯視影像 側視影像 俯視影像 1 23.02 12.04 1.42 1.41 2 51.89 8.06 7.61 6.08 3 69.77 8.06 13.61 8.54 4 64.00 25.94 5.38 7.21 5 26.17 23.76 8.24 9.43 6 26.24 34.13 10.44 13.89 7 30.06 43.41 5.00 5.00 8 23.85 67.23 5.83 6.71 9 39.81 27.80 8.06 14.86 10 39.82 9.48 7.07 4.24 MSE 19.73 12.99 3.63 3.86 析,目標與實際位置距離誤差如表4.3與圖4.8,由表或圖中可以明顯發現到逆向運 動學的距離誤差非常大,而修正方法有很有效的修正效果,在這些實驗中,都可 以明顯的看出修正方法的正確性。 圖 4.8: 距離誤差長條圖 機械手臂的定位雖然重要,而定位的執行效率也是很重要的一環,執行效率 越好代表著在同一個時間能夠越快完成工作。在此實驗中延續以上實驗資料進行

(55)

N a tio n al U niversity of Kao hsi un g 執行效率分析,每一次的時間中,包含著機械手臂的目標辨識、方法計算及移動 過程,一整個流程下所耗費的時間,如表4.9與圖4.10,Average 為 10 次實驗的平 均時間。從表與圖中可看出修正方法需耗費較多時間來進行修正,每次的機械手 臂的定位需多花費 2 至 4 倍的時間來完成。 圖 4.9: 花費時間表 time(s) IK 修正方法 1 2.50 4.64 2 2.50 6.87 3 2.36 8.99 4 2.29 6.76 5 2.71 9.10 6 5.42 7.52 7 2.42 6.59 8 2.68 13.3 9 2.23 6.55 10 2.25 8.98 Average 2.74 7.93 圖 4.10: 花費時間長條圖 修正方法雖有突出的準確率,但需耗費大量時間,因此論文中將利用類神經 網路來訓練機械手臂的定位,期望能夠保持著準確的定位,並能夠提升機械手臂 執行效率。將利用此可靠的修正方法來蒐集類神經網路所需的訓練資料,得以訓 練出較佳的類神經網路模型。

4.6

實驗-A

實驗中將針對類神經網路進行測試,其目的在於找到一個較佳的類神經網路 結構,在訓練時能夠減少訓練時間及修正時的誤差震盪。在此實驗中,先進行隱 藏層數及節點數的實驗,訓練時學習速率固定為 0.01,迭代數固定為 100000,訓 練資料為 2540 筆,初始權重及閥值是由隨機產生,調整不同的隱藏層節點數,每

數據

圖 3.15: 倒傳遞類神經網路計算
圖 3.16: 類神經網路訓練流程

參考文獻

相關文件

CAST: Using neural networks to improve trading systems based on technical analysis by means of the RSI financial indicator. Performance of technical analysis in growth and small

CAST: Using neural networks to improve trading systems based on technical analysis by means of the RSI financial indicator. Performance of technical analysis in growth and small

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

Mehrotra, “Content-based image retrieval with relevance feedback in MARS,” In Proceedings of IEEE International Conference on Image Processing ’97. Chakrabarti, “Query

This study aimed to establish the strength models of High-Performance Concrete (HPC) using Nonlinear Regression Analysis (NLRA), Back-Propagation Networks (BPN) and

Lessons-learned file (LLF) is commonly adopted to retain previous knowledge and experiences for future use in many construction organizations.. Current practice in capturing LLF

Finally, discriminate analysis and back-propagation neural network (BPN) are applied to compare business financial crisis detecting prediction models and the accuracies.. In

The purpose of this paper is to achieve the recognition of guide routes by the neural network, which integrates the approaches of color space conversion, image binary,