史都華平台之仿生物演算法模糊強化學習控制與FPGA實現

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 99

國立宜蘭大學電機工程學系

碩士論文

Department of Electrical Engineering

National Ilan University

Master Thesis

史都華平台之仿生物演算法模糊強化學習控制與FPGA實現

Bio-Inspired Fuzzy Reinforcement Learning Control and Its FPGA


Realization for Stewart Platforms
研究生:陳裕翔

Graduate Student:Yu-Xiang Chen

指導教授:黃旭志 博士

Advisor : Hsu-Chih Huang Ph.D.

中華民國一百一十一年七月

July 2022
摘要

本論文提出了史都華平台(Stewart-Platform)之仿生物演算法模糊強化
學習控制與FPGA(Field Programmable Gate Array)實現,為其發展做出貢獻
。本文建構了一組由固定基座、移動平台以及六組線性伸縮桿所組成的實
驗性史都華平台,伸縮桿藉由萬向接頭連接移動平台及基座,並使用六顆
伺服馬達作為並聯式機械手臂的線性致動器,在此並聯式機械手臂系統中
六個線性致動器可以決定三個自由度的線性移動以及三個自由度的旋轉,
整個系統擁有六個自由度。開發了一種使用仿生社交蜘蛛優化演算法
(Social-Spider-Optimization-Algorithm,SSO)的仿生模糊Q學習(Q-learning)
控制方式,模糊理論(fuzzy theory)結合強化Q學習能夠提高系統的整體性能
,除此之外加入SSO演算法搜尋模糊Q學習的最佳獎勵值,並且運用在正
向運動學求解中牛頓法的初值設定上。經過模擬分析驗證所提出的智慧型
控制法的優勢,最後將提出的SSO模糊Q學習控制器使用FPGA開發板進行
軟體以及硬體的開發設計以及整合,並且進行點對點以及軌跡追蹤的實驗
,使用回授系統所收回的資料利用MATLAB進行分析,證明所提出方法的
有效性。

關鍵詞:史都華平台、FPGA、社交蜘蛛優化演算法、Q學習、模糊理論

I
ABSTRACT

This thesis contributes to the development of bio-inspired fuzzy


reinforcement learning control and its FPGA(Field Programmable Gate Array)
realization for Stewart platforms. An experimental Stewart platform that consists
of a fixed base, a movable platform and six linear extensible links is constructed.
The extensible links connect with the two platforms using universal joints. Six
DC servo motors are used as linear actuators of the parallel manipulator. In this
parallel robotic system, the three-DOF(Degree of Freedom) linear translations and
three-DOF rotations of Stewart moving platform are determined by the six linear
actuators. A bio-inspired fuzzy Q-learning control scheme using bionic
SSO(Social Spider Optimization Algorithm) paradigm is developed. The fuzzy
theory is combined with reinforcement Q-learning to improve the system
performance. Moreover, the SSO algorithm is employed to determine the optimal
rewards of fuzzy Q-learning control approach and improve the Newton-Raphson
initial guess of forward kinematics solver. Through simulations and comparison
analysis, the advantages of the proposed intelligent control method are validated.
All the proposed SSO-based fuzzy Q-learning control law, hardware circuits and
software are implemented in one FPGA development kit. Finally, some
experimental results of point-to-point and trajectory tracking are conducted to
demonstrate the effectiveness of the proposed methods.

Keywords: FPGA, Stewart platform, Q-learning, social spider optimization, fuzzy


theory.

II
致謝

隨著論文的完成也代表著研究所的生活即將結束,在這兩年的研究過
程中首先要感謝的是黃旭志教授,在剛進實驗室時給了我很多的方向讓我
能找到自己的研究目標,在研究過程及製作論文時能根據我的問題給我許
多建議,討論時也可以接受我的意見以及想法,讓我在研究及製作論文時
非常的順利且可以自由地發揮,也感謝擔任我口試委員的徐勝均教授以及
吳德豐教授在口試後給了我的論文非常多的建議,讓我的論文在呈現上更
加的完整。
接著感謝淳嘉學長以及永昱學長在我剛進實驗室甚麼都還不清楚時教
我很多東西幫助我建立了往後研究的基礎,景峻學長作為一同在實驗室做
研究的夥伴,雖然題目不同但是在每次的討論中也可以從他的研究經驗中
得到很多的幫助,也感謝翰隆學弟在硬體建構時給了相當多的協助,以及
同屆的研究生們在研究日子裡的關心以及陪伴。
最後感謝我的家人,因為有他們的支持我能夠安心且順利的完成碩士
的學業,由衷的感謝過程中所有幫助過我的人們,也祝福各位在未來一切
順利。

III
目錄
摘要 ........................................................................................................................ I
ABSTRACT ......................................................................................................... II
致謝 ..................................................................................................................... III
目錄 ..................................................................................................................... IV
圖目錄 ................................................................................................................. VI
表目錄 ................................................................................................................. IX
第一章 緒論 ......................................................................................................... 1
1.1 研究背景與目標 .................................................................................... 1
1.2 文獻回顧 ................................................................................................ 3
1.3 論文架構 ................................................................................................ 3
第二章 史都華平台硬體及系統架構 ................................................................. 4
2.1 前言 ........................................................................................................ 4
2.2 史都華平台(Stewart platform) .............................................................. 4
2.3 FPGA(Field Programmable Gate Array)開發板 ................................... 5
2.4 周邊硬體 ................................................................................................ 9
2.4.1 線性伸縮桿DIG-22及馬達IG22PGM ....................................... 9
2.4.2 MD04馬達驅動器 .................................................................... 11
2.4.3 磁簧開關 ................................................................................... 13
2.5 系統架構 .............................................................................................. 14
2.5.1 脈波寬度調變(Pulse-Width Modulation, PWM) ..................... 14
2.5.2 正交編碼脈衝(Quadrature Encoder Pulse, QEP) .................... 15
2.5.3 梯形速度規劃 ........................................................................... 17
第三章 Fuzzy Q Learning-PID 控制器 ............................................................ 19
3.1 前言 ...................................................................................................... 19
3.2 PID 控制系統 ..................................................................................... 19
3.3 Fuzzy PID 控制器 .............................................................................. 21
3.3.1 模糊理論(Fuzzy theory) ........................................................... 22

IV
3.3.2 Fuzzy PID 控制器.................................................................... 25
3.4 Fuzzy Q Learning-PID 控制器(FQL-PID Controller) ....................... 25
3.4.1 Q Learning ................................................................................ 26
3.4.2 Fuzzy Q Learning ...................................................................... 29
3.4.3 Fuzzy Q Learning-PID控制器 .................................................. 32
3.4.4 Fuzzy Q Learning-PID與Fuzzy PID的差異比較 .................... 32
第四章 應用SSO於Fuzzy Q Learning-PID控制器優化及史都華平台設計 .. 34
4.1 前言 ...................................................................................................... 34
4.2 社交蜘蛛優化演算法(Social Spider Optimization Algorithm, SSO) 34
4.2.1 參數設定及初始化 ................................................................... 36
4.2.2 社交移動行為 ........................................................................... 36
4.2.3 交配行為 ................................................................................... 41
4.3 應用 SSO 優化 Fuzzy Q Learning-PID 控制器 ................................. 44
4.4 SSO 應用於史都華平台設計 ............................................................. 45
4.4.1 史都華平台的正逆運動學 ....................................................... 45
4.4.2 SSO於史都華平台正向運動學之應用 ................................... 51
第五章 實驗結果與分析 ................................................................................... 52
5.1 最佳化演算法於正向運動學初值搜索比較分析 ............................. 52
5.2 SSO 於 Fuzzy Q Learning PID 控制器最佳化分析........................... 58
5.3 最佳化演算法於 FQL 控制器獎勵值搜索比較 ................................ 60
5.4 PID、Fuzzy-PID 及 SFQ-PID 控制器點對點追蹤誤差比較 ........... 64
5.5 PID、Fuzzy-PID 及 SFQ-PID 控制器軌跡追蹤誤差比較 ............... 70
5.6 史都華平台點對點移動實驗結果...................................................... 75
5.7 史都華平台軌跡追蹤實驗結果.......................................................... 80
第六章 結論與未來展望 ................................................................................... 84
6.1 結論 ...................................................................................................... 84
6.2 未來展望 .............................................................................................. 84
參考文獻 ............................................................................................................. 85

V
圖目錄
圖 1.1 達文西機械手臂[1] .............................................................................. 2
圖 1.2 蛇型救災機器人[2] .............................................................................. 2
圖 2.1 史都華平台 3D 圖 ................................................................................ 4
圖 2.2 DE1-SoC 開發板 .................................................................................. 5
圖 2.3 DE1-SoC 面板設計[19] ....................................................................... 6
圖 2.4 DE1-SoC 框架圖[20] ........................................................................... 6
圖 2.5 FPGA 開發及執行流程 ....................................................................... 8
圖 2.6 線性伸縮桿 DIG-22 ............................................................................. 9
圖 2.7 直流伺服馬達 IG-22PGM ................................................................... 9
圖 2.8 伸縮桿尺寸[22] .................................................................................. 10
圖 2.9 MD04 馬達驅動器實體圖 ................................................................. 11
圖 2.10 驅動器接線圖[23] .............................................................................. 12
圖 2.11 磁簧開關實體圖................................................................................. 13
圖 2.12 磁簧開關接線電路圖......................................................................... 13
圖 2.13 PWM 示意圖 ...................................................................................... 14
圖 2.14 編碼器正反轉 QEP 訊號圖 ............................................................... 15
圖 2.15 QEP 脈波訊號計數狀態機 ................................................................ 16
圖 2.16 數位濾波器 ......................................................................................... 16
圖 2.17 QEP 回授系統方塊圖 ........................................................................ 17
圖 2.18 梯形速度規劃圖................................................................................. 17
圖 3.1 PID 控制系統方塊圖 ......................................................................... 19
圖 3.2 模糊理論系統方塊圖......................................................................... 22
圖 3.3 常用隸屬函數..................................................................................... 23
圖 3.4 Fuzzy PID 控制系統方塊圖 ............................................................. 25
圖 3.5 Q Learning 流程圖 ............................................................................. 27
圖 3.6 最短路徑搜索..................................................................................... 28
圖 3.7 Fuzzy Q Learning 流程圖 .................................................................. 30

VI
圖 3.8 Fuzzy Q Learning-PID 系統方塊圖................................................... 32
圖 3.9 Fuzzy PID 系統細部展開方塊圖 ...................................................... 33
圖 3.10 Fuzzy Q Learning-PID 系統細部展開方塊圖................................... 33
圖 4.1 社交蜘蛛優化演算法流程圖............................................................. 35
圖 4.2 震動 Vibbi 範例圖 ................................................................................ 38
圖 4.3 震動 Vibci 範例圖 ................................................................................. 39
圖 4.4 震動 Vibfi 範例圖 ................................................................................. 40
圖 4.5 社交蜘蛛交配行為的過程................................................................. 42
圖 4.6 社交蜘蛛交配行為結果..................................................................... 43
圖 4.7 SSO 控制器優化的方塊圖 ................................................................ 45
圖 4.8 正逆運動學關係圖............................................................................. 45
圖 4.9 史都華平台 3D 結構圖 ...................................................................... 46
圖 4.10 平台上各點座標圖(a)移動平台(b)基座平台 ................................... 47
圖 5.1 最佳化演算法初值搜索收斂曲線 .................................................... 53
圖 5.2 位置 X 誤差收斂圖 ............................................................................ 54
圖 5.3 位置 Y 誤差收斂圖 ............................................................................ 54
圖 5.4 位置 Z 誤差收斂圖 ............................................................................ 55
圖 5.5 角度α誤差收斂圖............................................................................. 55
圖 5.6 角度β誤差收斂圖............................................................................. 56
圖 5.7 角度γ誤差收斂圖............................................................................. 56
圖 5.8 SSO 全項收斂誤差圖 ........................................................................ 57
圖 5.9 QLF 與 SSO FQL 追蹤比較(追蹤點:20000) ................................. 59
圖 5.10 QLF 與 SSO FQL 追蹤比較(追蹤點:40000) ................................. 59
圖 5.11 最佳化演算法點對點適應值收斂圖 ................................................ 61
圖 5.12 最佳化演算法軌跡追蹤適應值收斂圖 ............................................ 63
圖 5.13 SSO Fuzzy Q Learning PID 各軸追蹤............................................... 64
圖 5.14 PID 各軸追蹤 ..................................................................................... 65
圖 5.15 Fuzzy PID 各軸追蹤 .......................................................................... 65

VII
圖 5.16 座標 X 追蹤誤差圖 ............................................................................ 66
圖 5.17 座標 Y 追蹤誤差圖 ............................................................................ 66
圖 5.18 座標 Z 追蹤誤差圖 ............................................................................ 67
圖 5.19 轉動α追蹤誤差圖............................................................................. 67
圖 5.20 轉動β追蹤誤差圖............................................................................. 68
圖 5.21 轉動γ追蹤誤差圖............................................................................. 68
圖 5.22 SSO Fuzzy Q Learning PID 控制量變化圖....................................... 69
圖 5.23 PID 控制量變化圖 ............................................................................. 69
圖 5.24 Fuzzy PID 控制量變化圖 .................................................................. 70
圖 5.25 軌跡追蹤移動路徑圖......................................................................... 71
圖 5.26 X 座標追蹤變化圖 ............................................................................. 72
圖 5.27 Y 座標追蹤變化圖 ............................................................................. 72
圖 5.28 Z 座標追蹤變化圖 ............................................................................. 73
圖 5.29 角度α追蹤變化圖............................................................................. 73
圖 5.30 角度β追蹤變化圖............................................................................. 74
圖 5.31 角度γ追蹤變化圖............................................................................. 74
圖 5.32 累積追蹤誤差圖................................................................................. 75
圖 5.33 史都華平台實體圖............................................................................. 75
圖 5.34 點對點移動路徑................................................................................. 76
圖 5.35 點對點座標追蹤誤差......................................................................... 77
圖 5.36 角度追蹤誤差..................................................................................... 77
圖 5.37 各軸位置追蹤..................................................................................... 78
圖 5.38 各軸梯形速度規劃............................................................................. 79
圖 5.39 軌跡追蹤移動路徑圖......................................................................... 81
圖 5.40 軌跡追蹤座標變化圖......................................................................... 81
圖 5.41 軌跡追蹤角度變化圖......................................................................... 82
圖 5.42 軌跡追蹤各點累積誤差圖................................................................. 82
圖 5.43 軌跡追蹤各軸長度變化圖................................................................. 83

VIII
表目錄
表2.1 DE1-SoC詳細規格表[21] .................................................................... 7
表2.2 編碼器各線功能................................................................................. 10
表2.3 IG-22PGM馬達規格 .......................................................................... 10
表2.4 控制端及馬達端接口功能表............................................................. 12
表2.5 MD04模擬模式0V-5V控制條件 ....................................................... 14
表3.1 k P 、 k I 、 k D 對系統之影響 ............................................................... 21
表3.2 7×7模糊規則表範例 .......................................................................... 23
表4.1 交配子代數值選擇範例..................................................................... 43
表4.2 移動平台各點座標............................................................................. 46
表4.3 基座平台各點座標............................................................................. 46
表5.1 最佳化初值帶入正向運動學執行後座標及誤差表 ........................ 57
表5.2 收斂平均誤差表................................................................................. 58

IX
第一章 緒論
1.1 研究背景與目標
隨著科技發展各種技術的進步,各式各樣的行業也都朝著科技化的方
向發展,當中運用最普及的非製造業莫屬,最常見到的就是使用機械手臂
取代產線上需要依靠人力的部分,達到節省人力及增加產能的目的,也可
以使用無人搬運車進行原料的運送或是把較危險的工序交由機械處理藉此
降低工安事故;除了製造業外跟我們安全與健康有關的醫療及救災部分也
漸漸的能夠依靠科技解決原本運用人力難以處理的問題,如圖1.1醫療上有
相當知名的達文西機械手臂,可以進行微創手術增加手術的精密度,縮小
手術造成的傷口,不易留下疤痕且加快病人術後恢復速度;救災機器人則
是可以進入環境未知或人員難以進入的場所,先進行環境探勘確認是否有
危險性或是協助搜索及確認受困者的狀態。
由上述例子可見手臂及機器人的應用領域相當廣泛,根據應用的領域
需求不同結構上也發展出了各式各樣的設計,除了工業上最常見的關節型
機械手臂,也有像史都華平台等並聯式的機械手臂,更特殊的可以看到圖
1.2特別研發為救災使用的蛇型機器人,這些硬體再加上智慧型控制,利用
AI、學習等機制讓機器更加的聰明,為我們帶來更加便利的生活也為各領
域帶來更好的發展。
本論文的最終目標為完成一台能夠使用智慧型控制的史都華平台,利
用模糊理論以及Q學習對PID參數進行調整和學習,讓傳統的PID控制器晉
升為智慧型控制器,使用仿生物演算法對手臂的運動學進行優化,在計算
移動位置時能更加準確,FPGA能夠軟體硬體共同設計的特性,讓目標在
實現上方便了許多,讓史都華平台最終能夠正常運作。

1
圖1.1 達文西機械手臂[1]

圖1.2 蛇型救災機器人[2]

2
1.2 文獻回顧
史都華平台最先是由D Stewart在1965年的論文中所提出的[3],也越來
越多論文對其控制方法和運動學進行研究及介紹,而史都華平台的逆運動
學擁有唯一解析解,可由轉換矩陣得到各制動器的終點座標,以此可計算
出各制動器所需移動的長度[4][5],正向運動學為數值解,所以在求解上僅
能使用數值分析的方式求解,而本論文所使用的方法為K. Harib and K.
Srinivasan論文中所提出利用牛頓法來進行正向運定學求解的方式[4]。本文
所使用的最佳化演算法為社交蜘蛛優化演算法於2013年被提出[6]~[8],藉
由模仿社交蜘蛛的移動習性以及交配方式來搜尋最佳解,在本文中會用來
解決正向運動學的問題以及最佳化控制器參數值。控制器的部分做為改良
基礎的模糊PID控制器[9]~[13],根據輸入並藉由規則表使運作時能夠調整
控制器參數,而本文所提出的模糊Q學習PID控制器[14]~[18]則是把學習的
概念帶入原本的模糊控制器中,透過學習讓控制器在對應輸入變化時的處
理更加理想。

1.3 論文架構
本論文總共分為六個章節:
第一章:介紹論文的研究背景及目標,以及文獻回顧。
第二章:將史都華平台硬體結構部分與周邊硬體進行介紹,對控制及回授
系統等進行簡單介紹。
第三章:介紹本論文所使用的智慧型控制器,包括PID、模糊理論、Q學習
的基本概念,也會說明模糊Q學習PID的設計方式。
第四章:介紹SSO的整體搜索流程,以及如何在運動學和優化控制器上做
應用。
第五章:實驗結果呈現會有模擬與實測兩種,模擬及實 測後數據會以
MATLAB呈現。
第六章:對於整篇論文的總結,以及對未來的可發展性進行說明。

3
第二章 史都華平台硬體及系統架構
2.1 前言
本論文中對於硬體控制上是各個系統所組成,最主要可分為控制系統
及回授系統,控制系統除了控制器以外還需要對馬達做輸出的脈寬調變系
統,也會加入梯形規畫進行速度控制,在控制時會需要知道我們受控體當
前的運作狀況,所以使用了正交編碼脈衝當作回授系統,在整個架構的實
現上是以Quartus II為開發平台,開發版則是使用DE1-SoC,利用Qsys對開
發版上需要使用的GPIO腳位和開關等進行輸出輸入以及記憶體的分配,並
以Verilog-HDL進行程式設計,用來實現各系統。

2.2 史都華平台(Stewart platform)


史都華平台屬於機械手臂的一種,平時常見的大多都屬於串聯式的機
械手臂,而史都華平台則是屬於並聯式的機械手臂,並聯式跟串聯式的相
比起來,並聯式因為機械設計的原因,所以活動範圍跟串聯式的相比起來
受到的限制較大,但是此結構的鋼性較高,較不會出現預料之外的運動。
硬體架構以本論文所使用的史都華平台為例,是由6個伸縮桿與基座和移
動兩個平台組合而成,圖2.1為史都華平台3D圖,因為使用了6支伸縮桿所
以硬體本身擁有6個自由度,包含X、Y、Z三軸的移動以及三軸的旋轉方
向Roll、Yaw、Pitch。

圖2.1 史都華平台3D圖

4
2.3 FPGA(Field Programmable Gate Array)開發板
FPGA屬於可編程ASIC中的一種,可使用Verilog或VHDL將其快速的
燒入到FPGA中執行測試,因為可以重複進行修改去調整程式中出現的問
題,所以在IC設計驗證時經常會被使用。本文所使用的FPGA開發板為圖
2.2所示由terasIC所生產的ALTERA DE1-SoC,此開發板使用了結合雙核心
Cortex-A9嵌入式核心以及可編程邏輯大大增加了設計靈活度。Altera的
SoC整合了基於ARM的硬體處理系統(HPS),由處理器、周邊設備和記憶
體接口所組成,並且可以使用高頻寬骨幹無縫連接FPGA,圖2.3可以看到
板子的面板設計,包含按鈕開關以及各接口位置,框架圖及詳細規格表可
參考圖2.4及表格2.1。

圖2.2 DE1-SoC開發板

5
圖2.3 DE1-SoC面板設計[19]

圖2.4 DE1-SoC框架圖[20]

6
表2.1 DE1-SoC詳細規格表[21]
DE1-SoC
功能 詳細項目
⚫ Cyclone V SoC5CSEMA5F31C6晶片
⚫ 雙核ARM® Cortex™-A9 (HPS)
⚫ 85K可編譯邏輯元件
FPGA
⚫ 4,450 Kbits的嵌入式記憶體
⚫ 6個分立的PLL
⚫ 2個記憶體硬體控制器
⚫ FPGA 端配置晶片 - EPCS128
配置
⚫ 內建USB Blaster II電路
⚫ FPGA端:64MB (32M x 16) SDRAM
記憶體 ⚫ HPS端:1GB (2 x 256M x 16) DDR3 SDRAM
⚫ HPS端:Micro SD卡插槽
⚫ 2個USB 2.0主機接口
⚫ UART對USB (USB Mini B連接器)
傳輸介面 ⚫ 10/100/1000乙太網路
⚫ PS/2滑鼠/鍵盤
⚫ 紅外線發射器/接收器
⚫ 2個 40 Pin的GPIO擴展槽
⚫ 1個 10 Pin的ADC 輸入插頭
連線器
⚫ 1個LTC連接器 (包含1個SPI主模式介面,1個I2C
匯流排,1個GPIO介面)
顯示 ⚫ 24 bits VGA DAC
⚫ 5個按鍵 (FPGA x4,HPS x1)
開關、按鈕
⚫ 10個開關 (FPGA x10)
和LED燈
⚫ 11個LED燈 (FPGA x10,HPS x1)
接續下表

7
接續上表2.1 DE1-SoC詳細規格表[21]
功能 詳細項目
開關、按鈕 ⚫ 2個HPS重置按鈕
和LED燈 ⚫ 6個七段顯示器
電源 ⚫ 12V DC輸入
圖2.5為使用DE1-SoC進行FPGA開發及執行的流程,目的是產生.sof檔
燒入至FPGA中,以及執行檔能夠匯入HPS中的Linux系統執行,首先建立
檔案後,Quartus II內的Qsys可以建立我們在開發過程中會使用到的輸出及
輸入,例如開關、LDE、GPIO腳位等等,也可以為建立的輸入及輸出分配
記憶體位置及建立模塊間的連接,設置完成後會生成.qip及.h檔。.qip檔可
以連接到FPGA開發板上的各元件,讓我們在使用Verilog-HDL進行設計時
使用的輸出及輸入能夠順利連接到所需的元件,進行編譯後產生.sof檔即
可燒入到FPGA中。.h檔會紀錄在Qsys所設置的包括名稱、記憶體位置等,
能夠讓C code對應到正確的輸入和輸出名稱以及記憶體位置,完成後會產
生執行檔可以匯入HPS中,因為FPGA是無法運行執行檔的,所以會利用
HPS上的SD卡接口,使用有Linux系統的SD卡來當作程式運行的工具。

建立檔案

Qsys
• I/O設置
.h檔 .qip檔
• 線路連接
• 檔案生成

C code Quartus II
• 設置記憶體位置 • 分配輸入輸出
• 程式撰寫 • 程式撰寫
• 編譯 • 編譯
• 產生執行檔 • 產生.sof檔

DE1-SoC
匯入 HPS FPGA 燒入

圖2.5 FPGA開發及執行流程

8
2.4 周邊硬體
2.4.1 線性伸縮桿DIG-22及馬達IG22PGM
本論文中史都華平台所使用的伸縮桿為由昶鴻電動系統公司所製作的
電動伸縮桿系統DIG-22,伸縮桿內部所使用馬達是由祥儀企業所生產的
IG-22PGM屬於直流伺服馬達,選用直流伺服馬達的原因為控制電壓大小
就可以控制馬達的轉速且扭力大,並且可以安裝旋轉編碼器,能夠取得馬
達在運轉時的位置,在史都華平台的運作以及控制上非常適合,所使用的
旋轉編碼器同樣為祥儀企業所生產的雙向霍爾作用編碼器,採用六線控制
當中兩條為馬達電源其餘為霍爾元件電源及AB相訊號線,圖2.6、2.7為伸
縮桿以及馬達實體圖,伸縮桿尺寸可參考圖2.8,馬達規格以及編碼器各線
功能可見表2.2、2.3。

圖2.6 線性伸縮桿DIG-22

圖2.7 直流伺服馬達IG-22PGM

9
圖2.8 伸縮桿尺寸[22]

表2.2 編碼器各線功能
雙向霍爾作用編碼器
黑線 Motor-
紅線 Motor+
棕線 霍爾元件Vcc
綠線 霍爾元件GND
藍線 霍爾元件A相訊號
紫線 霍爾元件B相訊號

表2.3 IG-22PGM馬達規格
馬達型號 IG-22PGM
額定電壓 12V
減速比 1/53
額定扭力 970(g-cm)
額定轉速 90(rpm)

10
2.4.2 MD04馬達驅動器
本論文所使用的馬達驅動器為Devantech生產的MD04[23],圖2.9為驅
動器實體圖,控制端及馬達端接口功能可見表2.4,馬達驅動器的功用為接
收訊號後,藉由驅動器內的單晶片H橋去控制馬達速度及轉向,控制器上
的Type-B接口可連接電腦,並使用MD04專用程式變更控制模式。

MD04六種控制模式:
(1). I2C模式
(2). 模擬模式0V-2.5V-5V
(3). 模擬模式0V-5V
(4). 遙控模式
(5). PWM
(6). 串行模式

圖2.9 MD04馬達驅動器實體圖

11
表2.4 控制端及馬達端接口功能表
名稱 功能
控 P1 SCL/TX/Pin1

訊 P2 SDA/RX/Pin2

端 G 接地

M 馬達接口

達 M 馬達接口

號 +V 電源(8V-24V)

G 接地

本論文中使用模擬模式0V-5V,選擇此模式的原因為其控制方法,在
此模式中使用驅動器的輸入SCL及SDA做控制,SCL腳位可以控制馬達正
反轉,收到訊號1時為正轉0時為反轉,SDA則用來控制馬達轉速,0V時為
停止5V時為全速運轉,此控制法對於本論文所使用的開發板較為合適,圖
2.10為驅動器使用時接線圖。

圖2.10 驅動器接線圖[23]

12
2.4.3 磁簧開關
在控制時需要有絕對位置作為Home點,以此Home點為原點才能知道
手臂移動的相對位置,Home點的設置需要靠感應元件去偵測,常見的感
應元件為極限開關,史都華平台結構不適合使用極限開關,所以利用伸縮
桿內部移動時會有磁鐵跟隨伸縮桿移動,使用磁簧開關作為感應元件,圖
2.11為磁簧開關實體圖,磁簧開關的工作原理為利用開關內兩片可磁化的
簧片,簧片擺放方式為兩者間隔微小空隙上下重疊,當遇到磁鐵將簧片磁
化時就能夠相吸導通,使用時會搭配限流電阻進行使用,電路圖如圖2.12

圖2.11 磁簧開關實體圖

Vcc

SW GPIO

圖2.12 磁簧開關接線電路圖

13
2.5 系統架構
2.5.1 脈波寬度調變(Pulse-Width Modulation, PWM)
直流伺服馬達的轉速可由輸入電壓大小所控制,本文使用脈波寬度調
變[24]技術來進行速度控制,PWM技術是對類比訊號的電位進行數位編碼
的技術,利用計數器調整方波的佔空比(Duty Cycle),以此來調整輸出電壓
,PWM的範例如圖2.13所示。PWM的設計則會根據馬達驅動器的控制方
式所需條件不同而有所變化,本文所使用控制器的控制條件如表格2.5。

Duty Cycle
5V

25% 1.25V

5V

50% 2.5V

5V
3.75V
75%
圖2.13 PWM示意圖

表2.5 MD04模擬模式0V-5V控制條件
腳位名稱
SDA(電壓V) SCL(訊號)
馬達動作
正轉 0V~5V 1
停止 0V 1/0
反轉 0V~5V 0

14
2.5.2 正交編碼脈衝(Quadrature Encoder Pulse, QEP)
為了使控制系統形成閉迴路控制系統,因此需加入回授系統台接收馬
達的回授訊號,本文使用霍爾感應編碼器作為回授系統的感測器,以其產
生的QEP作為回授訊號,即可得知當前馬達轉軸位置。QEP的原理,可以
從圖2.14看到由編碼器產生A/B兩相的訊號,根據兩相的相位超前或是落
後可以判斷當前馬達為正轉還是反轉,再利用狀態機以及計數器計算脈波
數即可得知馬達位置。

A Phase
0 1 1 0 01 1 0 0 1 10 0 1 10 正

B Phase
00 1 1 0 01 1 0 0 1 1 0 01 1

A Phase
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 反

B Phase
0 1 1 0 0 1 1 0 01 1 0 0 1 1 0

圖2.14 編碼器正反轉QEP訊號圖
由圖2.14可以得知正轉時A相訊號會超前B相訊號90度,反轉時A相訊
號則是落後B相訊號90度,將A/B相的訊號合併後可以看到正轉時訊號變化
為 10 → 11 → 01 → 00 ,反轉則是 01 → 11 → 10 → 00 ,根據上面條件圖2.15設
計了一組狀態機用來計算脈波數,狀態機參數ab/c當中a為A相訊號、b為B
相訊號、c為計數器輸入。由於雜訊對於狀態機及計數器的影響相當大,
所以圖2.16使用由D型正反器設計的數位濾波器[25],當連續收到3次相同
訊號才會輸出訊號,最終回授系統如圖2.17方塊圖。

15
01/0

01

11/-1 01/-1 01/0


00/1 10/0
01/1

00
00/0 10/1

11/0 00/-1
00/0
11 10
11/0 10/0
11/1

10/-1

圖2.15 QEP脈波訊號計數狀態機

INPUT
D Q D Q D Q

CLK
CLK CLK CLK

OUTPUT

圖2.16 數位濾波器

16
A
A
CLK
數位濾波器 a a


態 c c 計數器
B 機
B
CLK
數位濾波器 b b

CLK
CLK

圖2.17 QEP回授系統方塊圖

2.5.3 梯形速度規劃
在史都華平台運作時根據需要到達的終點六組伸縮桿所需移動長度也
會有所不同,因此為了讓平台六軸能夠同步動作,利用梯形速度規劃達到
多軸同動同停的效果。梯形速度規劃顧名思義從開始動作到結束的速度曲
線是呈現梯形的形狀如圖2.18,動作過程將會分成加速、定速、減速三個
階段,為了同動同停的效果每次執行動作時各軸移動總時間T皆需要相同
,在此條件下如果要讓各軸在同時間內移動不同距離,可藉由調整加速度
a 和減速度 -a 或者各速度段的時間𝑡𝑎 、𝑡𝑚 、𝑡𝑑 實現多軸同動同停。

圖2.18 梯形速度規劃圖

17
參數定義:
加速段時間:𝑡𝑎 定速段時間:𝑡𝑚
減速段時間:𝑡𝑑 移動總時間:T
最高速度:𝑣𝑚 加速度:α
減速度:−β 移動總長度:L
梯形規劃數學表示式:
𝑎∙𝑡 0 ≤ 𝑡 < 𝑡𝑎
𝑣(𝑡) = { 𝑣𝑚 𝑡𝑎 ≤ 𝑡 < 𝑡 − 𝑡𝑑 (2.1)
𝑎 ∙ (𝑇 − 𝑡) 𝑡 − 𝑡𝑑 ≤ 𝑡 < 𝑇

根據圖(2.18)及梯形面積公式:
(tm + T )  vm
L= (2.2)
2
由公式(2.2)可推導出移動時最高速度𝑣𝑚 :
2L
vm = (2.3)
(tm + T )
依照速度公式可得到加速度α及減速度β:
v
= m (2.4)
ta
v
= m (2.5)
td
由公式(2.2)-(2.5)就可以在固定總時間T的條件下,計算移動過程加速
度、最大速度及各加速段時間。

18
第三章 Fuzzy Q Learning-PID 控制器
3.1 前言
控制器為感應器接收訊號後輸出控制訊號到驅動器對受控體進行控制
,而現今最普遍被使用的控制器為PID控制器,是藉由 k P 、 k I 、 k D 三組參
數去控制PID控制器的輸出值,輸出值就能夠去控制我們的受控體,讓受
控體穩定的運作,但是單純的PID控制器沒辦法去應對多種情況,所以本
論文中提出Fuzzy Q Learning-PID 控制器,使用Fuzzy讓控制器能夠去應對
輸入非線性以及時變的狀況,而Q Learning則是利用學習模糊參數,讓控
制 器 的 輸 出 能 夠 達 到 最 理 想 的 狀 況 , 結 合 這 兩 種 方 法 設 計 出 Fuzzy Q
Learning-PID 控制器讓控制器可以隨著輸入的狀態調整PID參數,讓控制
器在各狀態下都能保有最佳PID值。

3.2 PID 控制系統


PID控制器[26]全名為比例-積分-微分控制器,作為普遍被使用的控制
器 系 統 方 塊 圖 如 圖 3.1 , 是 由 比 例 控 制 項 P(Proportional) 、 積 分 控 制 項
I(Integral)、微分控制項D(Derivative)三個部分組成,而三個控制項分別可
以藉由調整 k P 、 k I 、 k D 三組增益參數去影響輸出。

圖3.1 PID控制系統方塊圖

19
比例增益( k P ):
k P 在PID控制中主要是跟當前誤差相乘稱為比例控制項P公式(3.1),而
k P 值的大小會影響我們系統的響應速度, k P 增大能夠加快我們系統的響應
速度也能夠減少穩態誤差,不過 k P 若過大的會則會產生超調,並且系統會
不穩定產生震盪,過小的話則會讓系統響應速度過低系統不敏感導致無法
修正誤差。
P = kP  e(t ) (3.1)
積分增益( k I ):
k I 在PID控制中主要是跟過去的累計誤差相乘稱為積分控制項I公式
(3.2),積分增益 k I 可以用來消除只使用比例控制時所產生的穩態誤差,且
k I 上升可以加快系統追蹤到目標值的速度,不過因為是與累計誤差相乘若
k I 過大也會產生超調和積分飽和的情況。
t
I = k I   e( )d (3.2)
0

微分增益( k D ):
k D 在PID控制中主要是跟將來誤差(誤差微分)相乘稱為微分控制項D公
式(3.3),微分控制能過提前預測誤差的變化趨勢,能在偏差擴大之前進行
修正,所以適當調整微分增益 k D 可以加快系統響應速度、減少穩定時間、
消除震盪。
de(t )
D = kD  (3.3)
dt

P、I、D三個控制項相加後即為控制器的輸出 u ( t ) ,所以PID控制器可
以由公式(3.4)表示,公式(3.5) e ( t ) 作為PID控制器的輸入,由圖(3.1)可以看
到就是系統輸入值與系統輸出間的誤差,由輸入值 input 減去整個系統的輸
出 output 。

20
t
de(t )
u ( t ) = k P  e(t )+k I   e( )d +k D  (3.4)
0
dt
e ( t ) =input -output (3.5)
在進行人工調整 k P 、 k I 、 k D 三組增益參數時因為各個參數對系統造
成的影響不同,根據前面介紹後可以把各參數的影響簡單的整理成表3.1,
在手動調整時可以作為參考。

表3.1 k P 、 k I 、 k D 對系統之影響
影響
上升時間 超調 穩定時間 穩態誤差 穩定性
增益
k P 上升 減少 增加 稍微增加 減少 變差
k I 上升 稍微減少 增加 增加 大幅減少 變差
k D 上升 稍微減少 減少 減少 影響不大 變好

由上述的介紹可見 k P 、 k I 、 k D 三組參數對控制器的影響是相當的大
,不過在控制器運作時是無法即時變動的,當每次的輸入變化較大時會讓
整個控制器無法去應對變化,在使用上就會造成很大的問題,所以此論文
接下來會介紹如何在傳統PID控制器上加入Fuzzy以及Q Learning,讓PID控
制器能夠依據輸入的狀況去改變 k P 、 k I 、 k D 的數值。

3.3 Fuzzy PID 控制器


在控制上控制器的輸入並非都是只是線性且不變的,所以我們會需要
能夠動態去調整PID控制器的參數,所以將Fuzzy和PID做結合,讓PID參數
能夠隨著輸入去做調整,下面將會介紹Fuzzy以及PID控制器兩者要如何做
結合。

21
3.3.1 模糊理論(Fuzzy theory)
模糊理論為模糊集合、模糊邏輯、模糊控制等等的總稱,而模糊理論
的基礎概念是以模仿現實中人類對事物的描述,有時會產生不確定的想法
,舉一個例子來說,夏天時在家中覺得有點熱或者看到人覺得這個人有點
高,這之中的‘有點’可能會因為在環境中的人不同而有所差異,把這個
概念帶入邏輯及數學中就是所謂的模糊理論,圖3.2是模糊理論的系統方塊
圖,可以看到整個系統分成四個部分,分別是模糊化、模糊資料庫、模糊
推理、解模糊,接下來本文會一一介紹。

圖3.2 模糊理論系統方塊圖
模糊化:
模糊化是模糊理論中非常重要的一環,可以將輸入的明確值透過隸屬
函數轉換成模糊值。控制系統的輸入通常都是明確值,經過模糊化可以轉
換成模糊理論可使用的模糊值,模糊化轉換過程是透過隸屬函數進行運算
,經過隸屬函數轉換成0到1之間的數值,轉換後的值可稱作隸屬度,常用
的隸屬函數如圖3.3。

(a)

22
(b) (c)

圖3.3 常用隸屬函數(a)三角隸屬函數(b)高斯隸屬函數(c)梯形隸屬函數

模糊規則表:
模糊規則表的設計通常是根據經驗法則來設計,規則表的大小則是根
據模糊化時輸入的模糊集合數量決定,表3.2是以本文所使用的大小 7  7 作
為範例, u (t ) 為輸出變數, x (t ) 、 x (t ) 為輸入變數, xi 、 xi , i = 1,2, ,7 為

輸入的模糊集合, n , n = 1,2, ,49 為輸出參數。

表3.2 7×7模糊規則表範例
x (t )
u (t )
x1 x2 x3 x4 x5 x6 x7
x1 1 8 15 22 29 36 43
x2 2 9 16 23 30 37 44
x3 3 10 17 24 31 38 45
x (t ) x4 4 11 18 25 32 39 46
x5 5 12 19 26 33 40 47
x6 6 13 20 27 34 41 48
x7 7 14 21 28 35 42 49

23
模糊推論:
模糊推論作為模糊理論的核心,是根據模糊規則表以IF跟THEN所組
成的推論語句,依照輸入的模糊子集來決定我們模糊推論後的輸出結果,
推論語句的範例如公式(3.6)所示。

IF x(t ) is x1 and x (t ) is x1 THEN u (t ) is 1


IF x(t ) is x1 and x (t ) is x2 THEN u (t ) is 2

(3.6)
IF x(t ) is x7 and x(t ) is x6 THEN u (t ) is 48
IF x(t ) is x7 and x(t ) is x7 THEN u (t ) is 49

解模糊:
解模糊是將經過模糊推論後的輸出,藉由解模糊把模糊輸出結果轉成
精確輸出結果,解模糊的方法有很多種例如重心法、加權平均法、最大隸
屬度等,本文中是使用重心法進行解模糊,因為使用重心法來解模糊雖然
計算會稍微複雜,可是最後的結果相較其他的方法來說他是最平衡的,公
式(3.7)為重心法的計算公式, y 為精確的輸出值、 Rk , k = 1,2, , n 為兩輸入
模糊集合隸屬度 fi 、 f j 相乘後的結果,計算方式如公式(3.8)、 n 為模糊規
則數量、 i 跟 j 則是輸入模糊子集的數量。
R1  1 + R2  2 + + Rn −1  n −1 + Rn  n
y= (3.7)
R1 + R2 + Rn −1 + Rn
R1 = f1  f1
R2 = f1  f 2

(3.8)
Rn −1 = f i  f j −1
Rn = f i  f j

24
3.3.2 Fuzzy PID 控制器
現在可以依照上面對於Fuzzy的介紹開始將Fuzzy與PID去做結合,
Fuzzy PID 控制系統方塊圖如圖3.4,Fuzzy會需要有兩個輸入這邊分別是
使用誤差 e(t ) 跟誤差變化量 de(t ) / dt ,而Fuzzy的輸出則是PID 控制器的三
個控制參數 k P 、 k I 、 k D ,將誤差跟誤差變化量作為輸入去進行模糊推論
後計算PID的控制參數,這樣PID參數可以隨著輸入的狀況去即時調整,就
能夠應對輸入時變和非線性的情況,讓整個系統可以應付更多的變化。

圖3.4 Fuzzy PID 控制系統方塊圖

3.4 Fuzzy Q Learning-PID 控制器(FQL-PID Controller)


經由前面對於Fuzzy的介紹,可以看出模糊規則表是Fuzzy中最重要也
是最難去設計的部分,並且因為跟PID進行結合所以在Fuzzy PID中 k P 、 k I
、 k D 三個參數各自都需要一個模糊規則表,最快的方式只能參考其他人設
計過受控體模型類似的系統然後從中調整,而Q Learning則可以把模糊規
則表的部份取代掉,利用學習讓每次輸入都可以執行最適合的動作,也能
將整個系統的輸出再優化。

25
3.4.1 Q Learning
Q Learning為一種強化學習方法,會讓系統去執行所設定的動作,並
把學習的過程整個記錄下來,統計學習過程中執行動作後的獎勵後用Q函
數計算出Q值,並將數值紀錄在Q表中,下次學習時再藉由Q表決定系統動
作,動作步驟如下,流程圖如圖3.5。

Step(1). 根據學習對象的狀態設定動作及獎勵值
Step(2). 選擇動作
Step(3). 統計動作後獎勵值並用Q函數計算Q值
Step(4). 更新Q表
Step(5). 根據代數判斷是否結束,否的話回到Step (2)再次執行

26
開始

設定動作
及獎勵

選擇動作

更新Q表 計算Q值

NO
達到學習代數

YES

更新Q表

結束

圖3.5 Q Learning流程圖

27
動作及獎勵:
在Q Learning執行最初需要設置的參數中其中兩個就是動作以及獎勵
,也可以說是Q Learning中的核心部分,學習過程中會根據設定的動作去
做行動,獎勵值則是在行動過後用來判斷此次動作後是否能達成我們要的
結果和過程是不是最佳的,圖3.6(a)以最短路徑搜尋當作動作及獎勵的設定
範例,圖3.6(a)的目的是要找出從 start 到 end 的最短距離,此範例的動作就
是在環境中的移動,所以動作就可以設置成上移一格、下移一格、左移一
格、右移一格四個動作選擇,獎勵的部分最重要的是到達終點,因此到達
終點可以設定較多獎勵,再來因為是要搜索最短路徑,向上跟向右的獎勵
值就會高於向下跟向左,所以獎勵值就可以設定成到達終點+200、向上及
向右移動+10、向左及向下移動-50、碰到障礙物-100,之後在進行獎勵值
計算時就會根據這些設置來計算,以上就是動作跟獎勵值設置的範例,可
以了解Q Learning在動作及獎勵設置上一些基本的概念。

圖3.6 最短路徑搜索(a)搜索狀態環境(b)動作獎勵範例

28
動作選擇及Q值計算:
在設定完動作及獎勵後Q Learning會根據選擇動作計算各動作執行後
的獎勵值並計算Q值更新到Q表上,動作選擇會根據所設定的搜索率隨機
選擇動作或以當前紀錄的Q表進行選擇,Q值可以使用Q函數去計算得出,
Q函數如公式(3.9)所示。
Q( xi , ai ) = Q( xi , ai ) +  ( R +   max Q( xi +1 , a) − Q( xi , ai )) (3.9)
a
Q( xi , ai ) 為更新後的Q值, Q( xi , ai ) 則是更新前的Q值, max Q( xi +1 , a) 表示
a

對未來Q值的最大期望值,當中 x 表示狀態, a 表示動作, R 為原狀態動


作後到下個狀態的獎勵值 R = R( xi , ai , xi +1 ) ,以圖3.6(b)為範例,星型為到達
位置,可以得知動作是向上移動,所以此次Q值運算的 R = 10 。
γ稱為折扣因子,是介於0到1之間的常數,從公式(3.9)上可以看到γ
是跟未來的Q值相乘,所以γ決定了未來獎勵對於現在的影響,若γ為0代
表完全不考慮未來的獎勵只注重當前獎勵,若γ越接近1則表示越注重長
期的獎勵,η是學習率,是在學習中的重要參數,學習率的設置會影響到
學習的結果是否能收斂以及收斂速度。

3.4.2 Fuzzy Q Learning


根據最開始的介紹中提到,使用Q Learning是為了取代Fuzzy中的規則
表讓Fuzzy在使用上更加方便,也可以優化輸出結果,Fuzzy Q Learning並
不是一個即時的演算法,需要離線對受控體模型進行學習產生Q表,以此
取代規則表後才能放入控制器中使用,圖3.7為將Fuzzy加入Q Learning中的
流程圖。

29
開始

設定動作
及獎勵

模糊化

模糊推理

更新輸入
動作選擇

更新Q表 解模糊化

計算Q值

No 達到學習代數

Yes

更新Q表

結束

圖3.7 Fuzzy Q Learning流程圖

30
從流程圖可得知Fuzzy Q Learning跟Fuzzy一樣輸入都需要經過模糊化
後才能開始動作,因為規則表被替換成Q表,所以模糊推論中的推論語句
就跟原本的有所不同,在Fuzzy Q Learning中的推論語句如公式(3.10)。

IF x(t ) is xi and x(t ) is xj THEN u (t ) is a1 with q


OR u (t ) is a2 with q
(3.10)
OR u (t ) is an with q

當中 x (t ) 、 x (t ) 為輸入變數, xi 、 x j 為模糊集合, i 、 j 根據模糊集


合的數量決定, u (t ) 為輸出變數, an 為動作, n 表示設定的動作數量, q
為Q表,從推論語句跟Fuzzy的對比,可以看到Fuzzy的一組輸入僅會對應
一個輸出如公式(3.6),而Fuzzy Q Learning同樣是對應一個輸出,但是一組
輸入可以從多組動作中選擇增加了許多靈活性。經由模糊推論選出動作後
可以經由解模糊得到Fuzzy輸出,接著根據所得到的輸出跟執行動作的獎
勵值計算Q值,Fuzzy Q Learning所使用的Q函數跟原本Q函數不同,需要將
Fuzzy的規則考慮進去,Fuzzy Q Learning的Q函數如公式(3.11)
w ( x)
Q( xi , ai ) = Q( xi , ai ) +  ( R +   max Q( xi +1 , a) − Q( xi , ai ))  N i (3.11)
a
i=1 i
w ( x )
Fuzzy Q Learning的Q函數大致上與原本的Q函數相同,可與公式(3.9)
wi ( x)
對照,差別在於最後所乘上的 表示各規則歸屬度的權重占比,
i=1 wi ( x)
N

wi ( x) 為歸屬度大小。

31
3.4.3 Fuzzy Q Learning-PID控制器
經 過 Fuzzy Q Learning 學 習 後 可 以 得 到 學 習 後 的 Q 表 , 而 Fuzzy Q
Learning-PID就是利用Q表進行模糊推理後選擇動作如公式(3.10),再經過
解模糊就可以得到PID的三個主要參數 k P 、 k I 、 k D ,Fuzzy Q Learning-PID
的系統方塊圖如圖3.8所示。

圖3.8 Fuzzy Q Learning-PID系統方塊圖

3.4.4 Fuzzy Q Learning-PID與Fuzzy PID的差異比較


比較Fuzzy PID與Fuzzy Q Learning-PID的系統方塊圖(圖3.4及圖3.8),
看似只有Q表及模糊規則表的部分有所不同而已,所以圖3.9及圖3.10把
Fuzzy跟Fuzzy Q Learning的部分作細部的展開,這樣更能理解兩者系統架
構的差別,展開後可以看到當使用Fuzzy PID在進行模糊推論時,因為PID
有 k P 、 k I 、 k D 三組參數,所以每組參數都要一個自己的規則表,各自解
模糊後進行輸出,而使用Fuzzy Q Learning-PID則只需要使用Q表進行模糊
推論後跟選擇的動作解模糊後就可以直接將三組參數輸出。

32
圖3.9 Fuzzy PID系統細部展開方塊圖

圖3.10 Fuzzy Q Learning-PID系統細部展開方塊圖

Fuzzy Q Learning-PID除了簡化了整個系統的設計及執行過程,前面所
介紹能夠讓Fuzzy在進行模糊推論時更加靈活,並且因為Q Learning獎勵值
的特性可以選擇想要優化的部分進行學習,穩態誤差、超調、穩定時間等
都可以比原本Fuzzy PID更加優秀。

33
第四章 應用SSO於Fuzzy Q Learning-PID控制器優
化及史都華平台設計
4.1 前言
仿生物演算法[27]~[29]作為最佳化演算法,主要是以觀察並模仿自然
界中各種生物的行為模式,結合數學及計算機程式後得以解決優化問題,
常見例子有基因演算法、蟻群演算法、蜂群演算法等,本文所使用的仿生
物演算法為社交蜘蛛優化演算法(Social Spider Optimization Algorithm, SSO)
。本章會先介紹SSO的行為原理以及執行流程,接著說明如何將仿生物演
算法應用於控制器設計以及手臂運動學上。

4.2 社 交 蜘 蛛 優 化 演 算 法 (Social Spider Optimization


Algorithm, SSO)
SSO做為仿生物演算法,他將蜘蛛所特有的行為模式以數學式表示並
以程式語言實現最終得以用來解決最佳化問題。自然界中蜘蛛可分為兩種
,社交蜘蛛跟孤立蜘蛛,SSO以社交蜘蛛的社交移動以及交配行為做為參
考。社交蜘蛛群可分為蜘蛛跟蜘蛛網兩個部分,蜘蛛成員間會以震動作為
溝通手段,震動的強度則取決於蜘蛛重量以及距離,蜘蛛個體又可分為雄
性蜘蛛跟雌性蜘蛛,在族群的人口中雌性蜘蛛的比例會占大多數,雄性蜘
蛛最多只會占總人口數的30%,在蜘蛛社會中根據性別不同會有各自的行
為模式,行為可分為社交互動及交配。雌性蜘蛛會著重於社交行為,吸引
或排斥周圍的蜘蛛不論性別,雄性蜘蛛則會著重於交配。SSO整體流程如
圖4.1所示,隨機分配完各蜘蛛個體的權重後,雄性蜘蛛與雌性蜘蛛會先進
行社交移動,移動會便會進行交配產生子代,最後判斷是否達到迭代次數
,如尚未達成迭代次數則計算新權重後進行下一輪移動與交配。

34
開始

參數設定及
初始化

雌性蜘蛛社
交行為

雄性蜘蛛社
交行為

否 權重值計算

交配行為

滿足停止條件

停止

圖4.1 社交蜘蛛優化演算法流程圖

35
4.2.1 參數設定及初始化
人口比例分配:
社交蜘蛛群分為雄性蜘蛛及雌性蜘蛛,其群體特徵為雌性蜘蛛人口比
例遠高於雄性蜘蛛,雌性蜘蛛約占總人口65%-90%,而公式(4.1)(4.2)可根
據上述條件計算雄性及雌性蜘蛛數量,當中 N 為總人口數,而0.9與0.25分
別為雌性與雄性蜘蛛的最高人口占比, rand 為[0~1]間的隨機數,計算後
可得到需求範圍內雌性人口比例,乘上總人口後取整數就能夠得到雌性蜘
蛛人口數 N f ,總人口扣除 N f 後剩餘的就為雄性蜘蛛人口數 N m 。
N f = floor[(0.9 − rand  0.25)  N ] (4.1)
Nm = N − N f (4.2)
人口初始化:
人口初始化能夠重置各人口的個體值,個體值作用為搜索時將個體值
帶入適應函數計算各個個體的適應值,公式(4.3)(4.4)分別能夠隨機分配雌
high low
性及雄性個體值,當中 p j 為搜索範圍上限 p j 為下限, n 值根據優化變
0
數的數量而決定,計算結果 fi , j 及 mk0, j 分別為雌性及雄性個體的初始個體值

fi ,0j = p low
j + rand  ( p high
j − p low
j )

i = 1, 2,..., N f ; j = 1, 2,..., n (4.3)

mk0, j = plow
j + rand  ( p j
high
− plow
j )
(4.4)
k = 1, 2,..., Nm ; j = 1, 2,..., n

4.2.2 社交移動行為
適應值及權重分配:
在蜘蛛群體中蜘蛛的大小代表蜘蛛對環境適應性的高低,所以在數學
表示上以 J ( si ) 表示個體蜘蛛在目標函數中的適應值,當中 J 代表的是目標
函數, si 則代表蜘蛛群 s 中的個體 i 。在計算過個體的適應值後可以透過

36
公式(4.5)計算出個體蜘蛛於群體中的權重值,公式(4.6)表示群體中最大適
應值與最小適應值。
J ( si ) − wors
wi = (4.5)
bes − wors
bes = max ( J (s )) k , wors = min ( J (s )) k (4.6)
k{1,2,...., N } k{1,2,...., N }

蜘蛛網上社交震動建模:
自然界中生物在溝通上都會有屬於該物種的特殊方式,例如跳舞、費
洛蒙等等,而社交蜘蛛會以蜘蛛網作為媒介利用震動的方式在個體間傳遞
信息,所產生的震動強度則會根據發出震動的蜘蛛重量以及與接收蜘蛛間
的距離而有所變化,將此行為進行數學建模後如公式(4.7)所示,表示蜘蛛
i 感應蜘蛛 j 的震動, d 表示兩蜘蛛間的距離 d = Si − S j 。
− di2, j
Vibi , j = w j  e (4.7)
公式(4.7)可感應蜘蛛網上所有的震動,但是在SSO中蜘蛛僅會感應三
種特殊震動。

第一種特殊震動 Vibbi 如公式(4.8),產生此震動的蜘蛛條件為蜘蛛網上


權重值最高的蜘蛛如圖4.2的範例圖所示。

− di2,b
Vibbi = wb  e (4.8)

37
圖4.2 震動 Vibbi 範例圖

第二種特殊震動 Vibci 如公式(4.9),產生此震動的蜘蛛條件為蜘蛛網上


離感應的蜘蛛 si 最接近的蜘蛛,並且權重值大於感應蜘蛛,如圖4.3的範例
圖所示。

− di2,c
Vibci = wc  e
(4.9)

38
圖4.3 震動 Vibci 範例圖

第三種特殊震動 Vibfi 如公式(4.10),產生此震動的蜘蛛條件為蜘蛛網上


離感應的蜘蛛 si 最接近的蜘蛛,並且需要為雌性蜘蛛,如圖4.4的範例圖所
示。
− di2, f
Vibfi = wc  e (4.9)

39
圖4.4 震動 Vibfi 範例圖

雌性蜘蛛社交移動行為:
雌性蜘蛛不論性別都會對他人產生吸引或排斥,為了模擬雌性蜘蛛的
社交移動行為,定義了一個方程式如公式(4.10),此方程式在每次迭代時
k
都要會考慮雌性蜘蛛原本位置 fi ,當中 i 為個體 k 則為迭代數,而雌性蜘
蛛在進行位置移動時可能會被震動吸引或者排斥,於是根據 PF 決定被吸
引或排斥的機率,而移動距離及方向則會被蜘蛛網上權重值最大的蜘蛛 Sb
所產生的振動 Vibbi ,以及離自身最接近且權重大於自身的蜘蛛 S c 所產生的
震動 Vibci 所影響,最後再加上隨機移動 rand ,公式(4.10)中 rand 、  、 
、  皆為 0 1 間的隨機數。

40
k +1  fik + Vibci ( sc − fik )+  Vibbi ( sb − fik )+ ( rand − 12 ) PF的機率
fi = k 1 (4.10)
fi − Vibci ( sc − fik ) −  Vibbi ( sb − fik ) + ( rand − )
 2
1-PF的機率

雄性蜘蛛社交移動行為:
社交蜘蛛群中雄性蜘蛛會根據對環境的適應程度分為優勢雄蜘蛛及兩
類,優勢雄蜘蛛在社交行為上會被蜘蛛網上最接近的雌性蜘蛛吸引,弱勢
雄蜘蛛則會聚集在優勢雄蜘蛛周圍以利用優勢雄蜘蛛所浪費的資源。
為了以數學式模仿行為模式,公式(4.11)將雄性蜘蛛權重的中位數
wN f + m 作為標準,權重高於中位數歸類為優勢雄蜘蛛,低於中位數則為弱
勢雄蜘蛛,優勢雄蜘蛛在移動時會受到距離最近的雌性蜘蛛所產生的震動
Vibfi 所影響,再加上隨機移動 rand ,弱勢雄蜘蛛的移動則是會被優勢雄蜘
 h=m1 mhk wN f +h
N

蛛所影響,所以將雄性蜘蛛的加權平均數
 h=m1 wN f +h 作為移動的目標,公
N

式(4.11)中 rand 、  、  皆為 0 1 間的隨機數。


k +1
 mik + Vibfi ( s f − mik ) + ( rand − 1 ) if wN f +i  wN f +m
mi =  2

 mik +   h=1Nm h N f +h − mik 


 Nm k
m w 
if wN f +i  wN f +m (4.11)
   wN f + h 
 h =1 

4.2.3 交配行為
在自然界中交配的行為可以產生新的子代,也有機會生出較強大的個
體,社交蜘蛛的交配行為會由優勢雄蜘蛛與周圍的雌性蜘蛛進行。模仿此
行為首先須定義一個半徑 r 作為交配範圍,公式(4.12)可計算出交配範圍,
而公式中 n 根據優化變數的數量決定, p high
j 和 plow
j 則是搜索範圍的上限及

下限,交配範圍決定後雄性蜘蛛就會和範圍內的雌性蜘蛛進行交配產生子
代,子代的數值會受到範圍內所有成員影響,如果範圍內無雌性蜘蛛則交
配取消。

41
n

( p
j =1
high
j − plow
j )

r= (4.12)
2n
圖4.5模擬社交蜘蛛交配行為的過程,可以看到以優勢雄性蜘蛛 m1 為
圓心跟在半徑r範圍內的雌性蜘蛛 f 2 、 f 3 、 f 4 進行交配,產生新的子代 Snew
。子代的值會根據所有進行交配的個體值,使用俄羅斯輪盤以機率的方式
決定子代的值,在輪盤上的機率可以使用公式(4.13)根據個體的權重值計
算,範例如表格4.1所示。
wi
PSi = (4.13)
 wj
jT k

圖4.5 社交蜘蛛交配行為的過程

42
表4.1 交配子代數值選擇範例
蜘蛛個體 個體值 權重值 PSi 權重值機率輪盤
S1 f1 (0.8,4) 0.64 -
S2 f2 (3.8,3.9) 0.42 0.16 0.54 0.42
20% 16%
S3 f3 (2.8,3.5) 1 0.37
S4 f4 (4.2,2.2) 0.72 0.27
S5 m1 (3.6,3) 0.54 0.20 0.72 1
27%
S6 m2 (0.5,1.5) 0.25 - 37%

S7 m3 (3,1) 0.36 -
Snew (2.8,2.2) 1 -
在產生出子代並且選擇完子代數值後,為了維持族群人口數以及性別
比例,因此在產生出子代後權重值最低的個體將會被新個體取代,並且新
個體的性別將會與被取代的個體相同,所以圖4.5社交蜘蛛經過交配後最終
結果如圖4.6所示。

圖4.6 社交蜘蛛交配行為結果

43
4.3 應用SSO優化Fuzzy Q Learning-PID控制器
在第三章介紹的控制器中所有控制器參數的設計對控制器的影響是非
常大的,而本文所使用的Fuzzy Q Learning-PID在學習前所需的動作參數也
是,而人為設計也很難非常精確的定義所設置參數值就是控制器所需的最
佳值,因此本文使用了SSO來進行輔助優化設計,最佳化的步驟如下。

Step1
確認優化參數數量、人口數、男女比例與最大迭代數並設置搜索範
圍,在Fuzzy Q Learning-PID的優化上是對學習時所需要的獎勵值進行最
佳化,根據所設定的獎勵條件可得到優化參數數量,其餘人口數、男女
比例、最大迭代數會依照需求有所變化。

Step2
設置完基礎參數後首次迭代個體值隨機決定後,計算適應值與權重
值,進行移動及交配後再次計算適應值與權重值,根據權重值選擇當次
最佳個體值。

Step3
確認是否達成迭代數,是的話當前的最佳個體值就為控制器的最佳
參數,否的話則從Step2再次執行。

根據上方步驟後就能夠最佳化Fuzzy Q Learning-PID的獎勵值,在最佳
化過程中最重要的是適應函數,有適應函數才能夠計算適應值來挑選最佳
解,因此如果要應用在其他函數時只要將適應函數進行更換就能夠簡單的
執行最佳化,圖4.7為SSO優化的方塊圖。

44
圖4.7 SSO控制器優化的方塊圖

4.4 SSO應用於史都華平台設計
4.4.1 史都華平台的正逆運動學
在史都華平台控制上運動學是不可或缺的,正向運動學可以由各軸的
長度計算出史都華平台移動的終點位置座標及各軸偏轉角度,逆向運動學
則可以使用位置座標及偏轉角度計算出史都華平台由原點移動至目標位置
各軸需要移動多少長度,正逆運動學間的關係如圖4.8所示。

中點位置及偏轉
正向運動學
角度

推桿長度 逆向運動學

圖4.8 正逆運動學關係圖

45
平台結構與座標設置:
在進行正逆運動學前需要先對平台的結構進行座標的設置,設定伸縮
桿於兩平台上連接點的座標位置,平台3D結構圖如圖4.9,當中 Li 表示連
桿的初始長度, Pi 、 bi 則分別代表移動平台與基座平台座標,表4.2、4.3紀
錄了本文所使用移動平台及基座平台座標點,座標點位置可對照圖4.10的
平台座標圖。

圖4.9 史都華平台3D結構圖

表4.2 移動平台各點座標
座標 Point1 Point2 Point3 Point4 Point5 Point6
X(mm) 165 130 -130 -165 -30 30
Y(mm) 60 115 115 60 -175 -175
Z(mm) 0 0 0 0 0 0

表4.3 基座平台各點座標
座標 Point1 Point2 Point3 Point4 Point5 Point6
X(mm) 165 30 -30 -165 -130 130
Y(mm) -60 175 175 -60 -115 -115
Z(mm) 0 0 0 0 0 0

46
(a) 移動平台座標圖

(b) 移動平台座標圖

圖4.10 平台上各點座標圖(a)移動平台(b)基座平台

47
逆向運動學:
逆向運動學是藉由平台終點座標及偏轉角度可計算出伸縮桿長度,讓
控制時能夠知道移動到目標點各伸縮桿所需要的伸縮長度。史都華平台的
逆向運動學屬於解析解,數學方程式可以由圖4.9結構圖推導出來,公式
(4.14)使用了轉換矩陣 T 將移動平台的座標點 Pi 轉換為移動後的座標,經由
兩點間的距離公式計算出與基座平台座標 bi 間的距離,最終所計算出的結
果 Li 便是移動至目標點後各伸縮桿長度。
Li = bi − Pi  T
(4.9)
i =1 6
公式(4.9)中所使用的轉換矩陣 T 是由旋轉矩陣 R 及位移矩陣 M 所組成
。平台動作時因為角度偏轉所造成平台座標的變化,旋轉矩陣可以將旋轉
前的座標轉換為旋轉後的座標位置,而在直角坐標上 X 軸、 Y 軸、 Z 軸的
旋轉擁有各自的旋轉矩陣,旋轉矩陣可以代表各軸的偏轉。

公式(4.10)為 X 軸旋轉矩陣 Rx (x ) ,當中  x 為 X 軸的旋轉角度。


1 0 0 0
0 cos  0 − sin  x
Rx ( x ) =  x
(4.10)
0 sin  x 0 cos  x
 
0 0 1 0
公式(4.11)為 Y 軸旋轉矩陣 Ry ( y ) ,當中  y 為 Y 軸的旋轉角度。
 cos  y 0 0 sin  y
 0 0 
Ry ( y ) = 
1 0
 − sin  y 0 0 cos  y (4.11)
 
 0 1 0 0
公式(4.12)為 Z 軸旋轉矩陣 Rz (z ) ,當中  z 為 Z 軸的旋轉角度。
cos  z − sin  z 0 0
 sin  cos  z 0 0 
Rz ( z ) =  z

 0 0 1 0 (4.12)
 
 0 0 0 1

48
最終旋轉矩陣 R 如公式(4.13)可以由三軸旋轉矩陣 Rx (x ) 、 Ry ( y ) 、
Rz ( z ) 相乘後得知,為了簡化矩陣將矩陣內元素以 si 表示,各元素的值可
對照公式(4.14)。
 s11 s12 s13 0 
s s23 0 
R = Rx ( x )  Ry ( y )  Rz ( z ) =  21
s22
 s31 s32 s33 0  (4.13)
 
0 0 0 1
s11 = cos ( x ) cos ( y )
s12 = -sin ( x ) cos ( y )
s13 = sin ( y )
s21 = cos ( x ) sin ( y ) sin ( z ) + sin ( x ) cos ( z )
s22 = -sin ( x ) sin ( y ) sin ( z ) + cos ( x ) cos ( z )
s23 = - cos ( y ) sin ( z ) (4.14)

s31 = - cos ( x ) sin ( y ) cos ( z ) + sin ( x ) sin ( z )


s32 = sin ( x ) sin ( y ) cos ( z ) + cos ( x ) sin ( z )
s33 = cos ( y ) cos ( z )

而轉換矩陣除了角度姿態的變化還需要考慮座標的移動,所以公式
(4.15)使用齊次座標將座標三軸的移動以矩陣 M 表示,當中 [ X Y Z ] 為
平台移動後的終點座標。
1 0 0 X
0 1 0 Y 
M=
0 0 1 Z (4.15)
 
0 0 0 1
得到旋轉矩陣 R 及位移矩陣 M 兩者,相乘後可以得知轉換矩陣 T 如公
式(4.16)所示。

49
 s11 s12 s13 X
s s22 s23 Y 
T = M  R =  21 (4.16)
 s31 s32 s33 Z
 
0 0 0 1
有了轉換矩陣後就能夠輕鬆計算出每次移動後各伸縮桿的長度,公式
(4.9)中參數 Pi 、 bi 可參考公式(4.17)。
T
Pi =  Pxi Pyi Pzi 1
T (4.17)
bi = bxi byi bzi 1
公式(4.18)則可以計算出移動到目標點各伸縮桿所需伸長量 qi ,當中 L
為伸縮桿的初始長度。
qi = Li − L (4.18)
正向運動學:
正向運動學可以在知道各伸縮桿長度的情況下推算出當前史都華平台
的終點位置,跟逆向運動學為解析解不同正向運動學屬於數值解,因此必
須使用數值分析的方式求解,本文是選擇牛頓法來進行求解,在建立正向
運動學的系統方程式後使用牛頓法進行收斂得到最終結果,流程如下。

STEP (1):設置系統方程式
設 f i ( x) = 0
fi ( x) = qi − qti
(4.19)
(i=1 6)
x =X Z   
T
Y (4.20)
f ( x) =  f1 ( x) f 6 ( x) 
T
f 2 ( x) f 3 ( x) f 4 ( x) f 5 ( x) (4.21)
STEP (2):帶入牛頓法
x j +1 = x j − Df −1  f ( x j ) (4.22)
STEP (3):判斷誤差條件
e= f1 ( x)2 + f 2 ( x)2 + f3 ( x)2 + f 4 ( x)2 + f 5 ( x) 2 + f 6 ( x) 2
(4.23)
e 

50
達到誤差條件後就會結束迭代得到位置及偏轉角度 x ,未達條件則回
到STEP (2)繼續迭代。而公式(4.19)中 qti 為常數,表示各伸縮桿伸長量,公
式(4.22)為牛頓法的公式當中 Df −1 為Jacobian矩陣,對 f ( x) 進行偏微分可參
照公式(4.24),而STEP (3)的誤差判斷條件用來判斷誤差e是否在理想誤差
α範圍內。
 f1 ( x) f1 ( x) f1 ( x) f1 ( x) f1 ( x) f1 ( x) 
 X Y Z    
 
 f 2 ( x) f 2 ( x) f 2 ( x) f 2 ( x) f 2 ( x) f 2 ( x) 
 X Y Z    
 
 f3 ( x) f 3 ( x) f 3 ( x) f 3 ( x) f 3 ( x) f 3 ( x) 
 X Y Z    
Df = 
−1

 f 4 ( x) f 4 ( x) f 4 ( x) f 4 ( x) f 4 ( x) f 4 ( x) 
 X (4.24)
Y Z    
 
 f5 ( x) f5 ( x) f 5 ( x) f 5 ( x) f 5 ( x) f 5 ( x) 
 X Y Z    
 
 f 6 ( x) f 6 ( x) f 6 ( x) f 6 ( x) f 6 ( x) f 6 ( x) 
 X Y Z    

通常經過1~2次的迭代後牛頓法就能夠將各軸長度轉換為平台的終點
座標。

4.4.2 SSO於史都華平台正向運動學之應用
正向運動學所使用的牛頓法其缺點為最開始初值設定時如果與收斂目
標點相差過多會導致有發散或收斂誤差過大的情況,所以為了改善這個問
題本文提出一種將SSO應用於正向運動學的方式。此種方式會在正向運動
學執行前先使用SSO決定最佳初值後再執行,確保牛頓法在執行時能夠擁
有最佳初值。

51
第五章 實驗結果與分析
本章會利用MATLAB來分析本論文中所使用的演算法SSO與FPA和GA
三個演算法其收斂誤差以及收斂速度進行比較,以證明SSO在最佳值的搜
索上是優秀的,接著會比較三種控制器在點對點移動以及軌跡追蹤時的運
行狀況做比較,會依據移動的過程以及追蹤時的累積誤差作為標準,以證
明所提出控制器的有效性,最終會將控制器帶入史都華平台硬體上進行實
驗,將會進行點對點移動以及軌跡追蹤兩組實驗。模擬及實驗項目如下:
1. 最佳化演算法於正向運動學初值搜索比較
2. SSO於Fuzzy Q Learning PID控制器最佳化分析
3. 最佳化演算法於FQL-PID控制器獎勵值搜索比較
4. PID、Fuzzy-PID及SFQ-PID控制器點對點追蹤誤差比較
5. PID、Fuzzy-PID及SFQ-PID控制器軌跡追蹤誤差比較
6. 史都華平台點對點移動實驗結果
7. 史都華平台軌跡追蹤實驗結果

5.1 最佳化演算法於正向運動學初值搜索比較分析
本節利用最佳化演算法搜索正向運動學內牛頓法所需要的初值後,比
較使用最佳化初值後正向運動學的精確度,本文選擇基因演算法(GA)和花
朵授粉演算法(FPA)與本文所使用的社交蜘蛛優化演算法(SSO)對三者的收
斂情況進行比較。
演算法參數設置
SSO:
雌性最高人口比例: 0.9 雌性最低人口比例: 0.85
FPA:
全域授粉與局部受粉切換機率: 0.9
GA:
染色體長度: 10 交配機率: 0.9 突變機率: 0.1

52
通用參數設置:
人口(population size): 100 迭代數: 1000 執行次數: 100
原點: [0cm , 0cm , 38cm , 0deg. , 0deg. , 0deg.]
目標點: [10cm , 10cm , 44cm , 10deg. , 10deg. , 10deg.]
搜索範圍上限:[10cm , 10cm , 100cm , 20deg. , 20deg. , 20deg.]
搜索範圍下限:[-10cm , -10cm , 0cm , -20deg. , -20deg. , -20deg.]
根據4.4.1小節正向運動學系統方程式公式(4.19-4.21)設置適應值。

fits = f12 + f 2 2 + f 32 + f 4 2 + f 5 2 + f 6 2 (5.1)

圖5.1可以看到三種最佳化演算法於牛頓法初值搜索時的適應值收斂曲
線,由圖上可以看到SSO在收斂時不管是收斂速度及適應值都優於其餘演
算法,GA的收斂曲線可以發現雖然收斂速度較快,但是無法準確的收斂
至目標點,FPA則是收斂速度較慢,所以此圖可以證明SSO在牛頓法初值
搜索上是優於其餘兩者的。

圖5.1 最佳化演算法初值搜索收斂曲線

53
圖5.2至5.7將初值六個變數X、Y、Z、α、β、γ的收斂情況各自呈
現,圖5.8可以看到SSO在各個變數的收斂都表現得非常穩定,也能夠證明
SSO在六個變數的收斂誤差都確實收斂至趨近於0。

圖5.2 位置X誤差收斂圖

圖5.3 位置Y誤差收斂圖

54
圖5.4 位置Z誤差收斂圖

圖5.5 角度α誤差收斂圖

55
圖5.6 角度β誤差收斂圖

9
圖5.7 角度γ誤差收斂圖

56
圖5.8 SSO全項收斂誤差圖

表5.1 最佳化初值帶入正向運動學執行後座標及誤差表
項目名稱 X(cm) Y(cm) Z(cm) α(deg.) β(deg.) γ(deg.)
目標座標 10.00 10.00 44.00 10.00 10.00 10.00
SSO 9.9993 9.9995 44.0002 10.0012 10.0001 10.0001
誤差(e) 0.0007 0.0005 0.0002 0.0012 0.0001 0.0001
FPA 10.0023 10.0005 44.0023 9.9918 10.0233 9.9931
誤差(e) 0.0023 0.0005 0.0023 0.0082 0.0233 0.0069
GA 10.1941 10.1532 44.0494 7.8937 9.5353 12.3258
誤差(e) 0.1941 0.1532 0.0494 2.1063 0.4647 2.3258

eav = ex 2 + ey 2 + ez 2 + e 2 + e 2 + e 2 (5.2)

57
表5.2 收斂平均誤差表
項目名稱 SSO FPA GA
eav 0.0015 0.0289 3.182
表5.1將各演算法所得出的初值帶入運動學中計算座標及座標誤差,並
以平均誤差 eav 做為判斷標準,當中 ex 、 e y 、 ez 、 e 、 e 、 e 分別是三
軸座標誤差及轉動誤差,從表5.2就能看到SSO的誤差是遠低於其他兩者的
,再根據圖5.1至5.7收斂圖就可證實SSO在正向運動學的初值搜索是優於其
餘兩者的。

5.2 SSO於Fuzzy Q Learning PID控制器最佳化分析


在章節4.3中有提到SSO能夠協助Fuzzy Q Learning PID(FQL-PID)控制
器設計。本節的實驗將會比較藉由SSO協助設計獎勵值的FQL與原本人工
設計的FQL在進行目標追蹤時兩者的差異,在獎勵函數的設計上本文設置
了三個條件分,(1)當本次追蹤點大於前次追蹤點時獎勵值為 + Rw1 ,(2)當
本次追蹤點小於等於前次追蹤點時獎勵值為 -Rw2 ,(3)當追蹤過程有追蹤
點大於目標點時獎勵值為 -Rw3 ,根據上述條件就可決定SSO的最佳化參數

SSO參數:
最佳化變數: Rw=  Rw1 Rw2 Rw3 
搜索範圍上限: Rwmax = 100 100 100
搜索範圍下限: Rwmin = 1 1 1
人口數:20 雌性最高人口比例:0.9
迭代數:50 雌性最低人口比例:0.8
Fuzzy Q Learning參數:
學習代數: 60000
初始獎勵值: Rw= 10 10 30
搜索最佳獎勵值: Rwbest = 1 1 4

58
圖5.9 FQL與SSO FQL追蹤比較(追蹤點:20000)

圖5.10 FQL與SSO FQL追蹤比較(追蹤點:40000)

59
由圖5.9和圖5.10中可以觀察到在追蹤的過程中如果沒有發生過衝的情
況SSO FQL在追蹤速度上是優於原本的FQL,而如果追蹤過程發生過衝
SSO FQL在處理上也比FQL優秀,因此可以證明在FQL中加入最佳化演算
法輔助控制器設計確實是可以優化控制器。

5.3 最佳化演算法於FQL控制器獎勵值搜索比較
本節中將會比較最佳化演算法搜索FQL學習中的參數獎勵值後,進行
學習並執行點對點移動以及軌跡追蹤,比較GA、FPA以及SSO在搜索後的
適應值收斂情況。下面為點對點移動獎勵值搜索的參數設置以及三個演算
法的收斂結果比較:
演算法參數設置:
SSO:
雌性最高人口比例:0.9 雌性最低人口比例:0.85
FPA:
全域授粉與局部受粉切換機率:0.9
GA:
染色體長度:10 交配機率:0.9 突變機率:0.1

通用參數設置:
人口:20 迭代數:50
原點: [0cm , 0cm , 38cm , 0deg. , 0deg. , 0deg.]
目標點:[10cm , 10cm , 44cm , 10deg. , 10deg. , 10deg.]
搜索範圍上限: Rwmax = 100 100 100
搜索範圍下限: Rwmin = 1 1 1
執行次數:20

60
公式(5.3)使用移動時各軸長度誤差 eli 平方再加上搜索獎勵值 Rwi 的平
方作為適應值函數。

fit1 = el1 2 + el2 2 + el3 2 + el4 2 + el5 2 + el6 2 + Rw12 + Rw22 + Rw32 (5.3)

圖5.11 最佳化演算法點對點適應值收斂圖

從圖5.11中可以看到SSO在搜索點對點移動最佳獎勵值時的適應值收
斂是優於GA以及FPA的,也可以觀察到收斂的特性與運動學初值搜索時相
似,GA雖然收斂較快可是難以收斂至最佳,而FPA則收斂較慢且迭代數不
足所以無法收斂至最佳。

61
接著進行的則是軌跡追蹤獎勵值搜索的參數設置以及三個演算法的收
斂結果比較:
演算法參數設置:
SSO:
雌性最高人口比例:0.9 雌性最低人口比例:0.85
FPA:
全域授粉與局部受粉切換機率:0.9
GA:
染色體長度:10 交配機率:0.9 突變機率:0.1

通用參數設置:
人口:20 迭代數:50
初始點:[X , Y , Z , α , β , γ]= [0cm , 2cm , 43cm , 0deg. , 0deg. , 0deg.]
搜索範圍上限: Rwmax = 100 100 100
搜索範圍下限: Rwmin = 1 1 1
執行次數:20

軌跡方程式:
X =2sin(0.2 t ) cm
Y=2 cos(0.2 t ) cm
Z=43+2sin(0.2 t ) cm
 =5sin(0.2 t ) deg.
 =3sin(0.2 t ) deg.
 =4sin(0.2 t ) deg.

62
公式(5.4)使用追蹤時各座標以及角度誤差 ex 、 e y 、 ez 、 e 、 e 、 e
平方再加上搜索獎勵值 Rwi 的平方作為適應值函數。

fit2 = ex 2 + ey 2 + ez 2 + e 2 + e 2 + e 2 + Rw12 + Rw22 + Rw32 (5.4)

圖5.12 最佳化演算法軌跡追蹤適應值收斂圖

從圖5.12中可以看到SSO在搜索軌跡追蹤最佳獎勵值時的適應值收斂
依然是優於GA以及FPA的,也可以觀察到收斂的狀況與運動學初值搜索及
點對點移動時的特性也是相同,以此證明SSO在FQL的獎勵值搜索中確實
擁有較好的搜索效果。

63
5.4 PID、Fuzzy-PID及SFQ-PID控制器點對點追蹤誤差比

在本節的實驗中會對PID、Fuzzy PID及SSO Fuzzy Q Learning PID(SFQ-
PID)三種控制器進行點對點追蹤時的穩定性以及誤差進行比較。 PID及
Fuzzy PID參數皆使用手動調整設置。

原點:[0cm , 0cm , 38cm , 0deg , 0deg , 0deg]


目標點:[5cm , 5cm , 42cm , 5deg , 5deg , 5deg]
各軸追蹤點(pulse):
L1:13835 L2:11373 L3:12039 L4:17119 L5:10231 L6:1298

圖5.13至5.15將三種控制器的六軸追蹤過程各自呈現,可以看到傳統
PID在追蹤時會產生過衝的情況,Fuzzy PID跟SFQ的追蹤過程則都是呈現
滑順且平穩的狀態,但SFQ在達到穩態的速度比Fuzzy PID更加快速。

圖5.13 SSO Fuzzy Q Learning PID各軸追蹤

64
圖5.14 PID各軸追蹤

圖5.15 Fuzzy PID各軸追蹤

65
圖5.16至5.21為座標及旋轉的誤差圖,將三種控制器的追蹤結果經由
正向運動學轉換成座標位置及轉動角度後計算與目標點間的誤差,經由追
蹤誤差的比較就可以看出SFQ是能夠消除過衝並且較快達到穩態並且過程
中也沒有震盪的情形曲線相當平滑,以上就能夠看出SFQ在目標點追蹤上
是相當優秀的。

圖5.16 座標X追蹤誤差圖

圖5.17 座標Y追蹤誤差圖

66
圖5.18 座標Z追蹤誤差圖

圖5.19 旋轉角度α追蹤誤差圖

67
圖5.20 旋轉角度β追蹤誤差圖

圖5.21 旋轉角度γ追蹤誤差圖

最後圖5.22至5.24分別是各控制器對於馬達的控制量,控制量關係到
馬達的負擔,而由圖中可以看到SFQ的曲線是非常平滑穩定的,因此相較
於其餘兩者在馬達的控制上SFQ控制器對於馬達的負擔是相對上較小的。

68
圖5.22 SSO Fuzzy Q Learning PID控制量變化圖

圖5.23 PID控制量變化圖

69
圖5.24 Fuzzy PID控制量變化圖

5.5 PID、Fuzzy-PID及SFQ-PID控制器軌跡追蹤誤差比較
經過上一小節實驗比較出SQL-PID在點對點的移動上表現出的效果是
優於其餘兩者的,在本節中則會接著比較PID、Fuzzy-PID及SFQ-PID三者
在軌跡追蹤上的效果,將會呈現各座標及角度追蹤過程中追蹤的變化,最
後以追蹤各點的累積誤差公式(5.5) 將追蹤時各座標以及角度誤差 ex 、 e y
、 ez 、 e 、 e 、 e 做為比較標準以證明SFQ-PID在軌跡追蹤上也是優於
其餘兩者的。
軌跡方程式:
X =2sin(0.2 t ) cm
Y=2 cos(0.2 t ) cm
Z=42+2sin(0.2 t ) cm
 =5sin(0.2 t ) deg.
 =3sin(0.2 t ) deg.
 =4sin(0.2 t ) deg.

70
初始點:[X , Y , Z , α , β , γ]=[0cm , 2cm , 42cm , 0deg. , 0deg. , 0deg.]

累積誤差:
(
ERROR1 = 10 ex + ey + ez + e + e + e ) (5.5)

由圖5.25可以看到三種控制器在追蹤時的追蹤軌跡,圖5.26至5.31展示
了追蹤時座標以及角度的變化情形,最後從圖5.32中可以看到在軌跡追蹤
的累積誤差,而SFQ-PID在各點的追蹤誤差都是穩定低於其他兩個控制器
的,以此證明SFQ-PID在軌跡追蹤上的效果也是比其餘兩者優秀的。

圖5.25 軌跡追蹤移動路徑圖

71
圖5.26 X座標追蹤變化圖

圖5.27 Y座標追蹤變化圖

72
圖5.28 Z座標追蹤變化圖

圖5.29 旋轉角度α追蹤變化圖

73
圖5.30 旋轉角度β追蹤變化圖

圖5.31 旋轉角度γ追蹤變化圖

74
圖5.32 累積追蹤誤差圖

5.6 史都華平台點對點移動實驗結果
本節實驗將會把SFQ-PID控制器實際藉由FPGA控制圖5.33的史都華平
台 進 行 點 對 點 移 動 實 跑 測 試 , 並 利 用 回 授 系 統 收 取 QEP 資 料 後 使 用
MATLAB進行數據分析。

圖5.33 史都華平台實體圖

75
目標點設置:
原點: [X , Y , Z , α , β , γ]=[0cm , 0cm , 38cm , 0deg. , 0deg. , 0deg.]
目標點:[X , Y , Z , α , β , γ]=[-3cm , -3cm , 43cm , 0deg. , 0deg. , 0deg.]
各軸移動數據:
第一軸 長度:4.217 cm 脈波數:10720
第二軸 長度:4.7367 cm 脈波數:12790
第三軸 長度:6.0656 cm 脈波數:15619
第四軸 長度:4.217 cm 脈波數:10809
第五軸 長度:4.7367 cm 脈波數:11719
第六軸 長度:6.0656 cm 脈波數:15729

最終實驗結果圖5.34可以看到點對點移動路徑,圖5.35及圖5.36則分別
可以看出點對點移動時的位置及角度的誤差變化,圖5.37為了驗證控制器
效果,因此將各軸追蹤狀況各自呈現,圖5.38則是可以看到各軸的速度變
化,能夠觀察到移動時梯形規劃的執行情況。

圖5.34 點對點移動路徑

76
圖5.35 點對點座標追蹤誤差

圖5.36 角度追蹤誤差

77
圖5.37 各軸位置追蹤

78
圖5.38 各軸梯形速度規劃

79
5.7 史都華平台軌跡追蹤實驗結果
最後一節實驗會展示史都華平台軌跡追蹤實驗的結果,所採用的追蹤
軌跡如下方軌跡方程式所示。

軌跡方程式:
X =5sin(0.2 t ) cm
Y=5cos(0.2 t ) cm
Z=43+3sin(0.2 t ) cm
 =5sin(0.2 t ) deg.
 =3sin(0.2 t ) deg.
 =4sin(0.2 t ) deg.

初始點:[X , Y , Z , α , β , γ ]=[0cm , 5cm , 43cm , 0deg. , 0deg. , 0deg.]

累積誤差:
ERROR2 = ex 2 + ey 2 + ez 2 + e 2 + e 2 + e 2 (5.6)

圖5.39可以看到軌跡追蹤的追蹤路徑,圖5.40和圖5.41則可以看到座標
以及角度的追蹤狀況,而圖5.42將追蹤時各座標以及角度誤差 ex 、 e y 、 ez
、 e 、 e 、 e ,使用公式5.6的累積誤差公式ERROR2計算後作圖呈現,
最後圖5.43將追蹤時各軸的長度變化分別呈現出來。

80
圖5.39 軌跡追蹤移動路徑圖

圖5.40 軌跡追蹤座標變化圖

81
圖5.41 軌跡追蹤角度變化圖

圖5.42 軌跡追蹤各點累積誤差圖

82
圖5.43 軌跡追蹤各軸長度變化圖

83
第六章 結論與未來展望
6.1 結論
本論文提出了模糊Q學習PID控制器並應用於史都華平台的控制上,硬
體的層面上,本論文建構了一台六自由度的並聯式機械手臂,並幫手臂裝
上磁簧開關讓其能夠定位初始點,控制方面則利用SSO輔助模糊Q學習PID
控制器的設計,藉由SSO搜索模糊Q學習的最佳獎勵值使控制器在執行時
可以擁有最佳參數,並加入梯形速度規劃讓手臂能以最小的負擔準確移動
至目標點,最終進行模擬及實驗,與其他演算法相互比較證實SSO在適應
值收斂上確實是更加優秀的,也分析了模糊Q學習PID控制器與另外兩個控
制器在控制上的差異,模擬結果證明模糊Q學習PID控制器在控制的穩定性
跟速度確實優於其他控制器。

6.2 未來展望
本論文在研究過程中因為是第一次建構的硬體所以問題上會較多,最
希望之後能夠解決的方面是在硬體的影響下導致馬達的控制區間過小的問
題,嘗試減輕重量後也沒有改善許多,因此希望未來能有其他辦法可以解
決這個問題。而控制器方面本論文所採用的強化學習法Q學習雖然表現的
可圈可點,但是Q學習在學習時的代數及時間花費也是較多的,期望未來
可以試試更換其他學習法看看是否能夠縮短時間並保持或是超越目前的成
果。實驗上則是認為可以加裝其餘感測器讓控制時不只能夠使用QEP訊號
當作回授訊號,有其他感測器的數據加入參考我認為在控制上應該能夠更
加精確。

84
參考文獻
[1] INTUITIVE( 年 份 不 詳 , May.15,2022) 。 達 文 西 機 械 手 臂 。 檢 自
https://www.intuitive.com/en-us/products-and-services/da-vinci/systems##
[2] 新 浪 財 經 (2019 , July. 12, 2022) 。 蛇 行 機 器 人 。 檢 自
https://finance.sina.com.cn/roll/2019-03-29/doc-ihsxncvh6595535.shtml
[3] D. Stewart, “A platform with six degrees of freedom, ” Proceedings of the
Institution of Mechanical Engineers, vol. 180, no. 1, pp. 371-386, 1965.
[4] K. Harib and K. Srinivasan, “Kinematic and dynamic analysis of Stewart
platform-based machine tool structures,” Robotica, vol. 21, pp. 541-554,
2003.
[5] H. Alwan and R. Sarhan, “Kinematics simulation of gough-stewart parallel
manipulator by using simulink package in matlab software,” Journal of
University of Babylon for Engineering Sciences, vol. 27, pp.10-20, 2019.
[6] A. Y. Husodo, G. Jati, A. Octavian and W. Jatmiko, “Enhanced social spider
optimization algorithm for increasing performance of multiple pursuer drones
in neutralizing attacks from multiple evader drones,” IEEE Access, vol. 8, pp.
22145-22161, 2020.
[7] A. Luque-Chang, E. Cuevas, F. Fausto, D. Zaldívar, M. Pérez, “Social spider
optimization algorithm: Modifications, applications, and perspectives,”
Mathematical Problems in Engineering, vol. 2018, 2018.
[8] S. M. Almufti, “The novel social spider optimization algorithm: Overview,
modifications, and applications,” Icontech, vol. 5, 2021.
[9] K. H. Ang, G. Chong and Y. Li, “PID control system analysis, design, and
technology,” IEEE Transactions on Control Systems Technology, vol. 13, no.
4, pp. 559-576, July 2005.
[10] H. Wu, W. Su and Z. Liu, “PID controllers: Design and tuning methods,”
2014 9th IEEE Conference on Industrial Electronics and Applications, pp.
808-813, 2014.

85
[11] K. S. Tang, K. F. Man, G. Chen and S. Kwong, “An optimal fuzzy PID
controller,” IEEE Transactions on Industrial Electronics, vol. 48, no. 4, pp.
757-765, Aug. 2001.
[12] B. G. Hu, G. K. I. Mann and R. G. Gosine, “A systematic study of fuzzy PID
controllers-function-based evaluation approach”, IEEE Transactions on
Fuzzy Systems, vol. 9, no. 5, pp. 699-712, Oct. 2001.
[13] Y. Zhao and Y. Pan, “The design and simulation of fuzzy PID controller,”
2010 International Forum on Information Technology and Applications, pp.
95-98, 2010.
[14] P. Kofinas and A. I. Dounis, “Online tuning of a PID controller with a fuzzy
reinforcement learning MAS for flow rate control of a desalination unit,”
Electronics, vol. 8, no. 2, 2019.
[15] B. Jang, M. Kim, G. Harerimana and J. W. Kim, “Q-learning algorithms: A
comprehensive classification and applications,” IEEE Access, vol. 7, pp.
133653-133667, 2019.
[16] W. Qiang and Z. Zhongli, “Reinforcement learning model, algorithms and
its application,” 2011 International Conference on Mechatronic Science,
Electric Engineering and Computer (MEC), pp. 1143-1146 , 2011.
[17] P. Y. Glorennec and L. Jouffe, “Fuzzy Q-learning,” Proceedings of 6th
International Fuzzy Systems Conference, vol. 2, pp. 659-662, 1997.
[18] P. Y. Glorennec, “Fuzzy Q-learning and dynamical fuzzy Q-learning,”
Proceedings of 1994 IEEE 3rd International Fuzzy Systems Conference, vol.
1, pp. 474-479, 1994.
[19] Terasic 公 司 (2015 , July. 12, 2022) 。 DE1-SoC 開 發 版 。 檢 自
https://reurl.cc/anoGM4
[20] Terasic 公 司 (2015 , July. 12, 2022) 。 DE1-SoC 面 板 設 計 。 檢 自
https://reurl.cc/KbV48y

86
[21] Terasic 公 司 (2015 , July. 12, 2022) 。 DE1-SoC 框 架 圖 。 檢 自
http://www.terasic.com.tw
[22] 昶鴻電動系統公司(年份不詳,July. 12,2022)。伸縮桿尺寸。檢自
https://machine-construction-333.business.site/
[23] Devantech ( 年 份 不 詳 , July. 12,2022) 。 MD04 馬 達 驅 動 器 。 檢 自
https://www.robot-electronics.co.uk/files/md04tech.pdf
[24] 維 基 百 科 ( 年 份 不 詳 , July. 12,2022) 。 脈 波 寬 度 調 變 。 檢 自
https://reurl.cc/AOydaE
[25] 作 者 不 詳 (2006 , July. 12,2022) 。 數 位 濾 波 器 。 檢 自
https://www.cnblogs.com/oomusou/archive/2011/01/29/digital_filter.html
[26] A. Visioli, Practical PID Control, America: Springer-Verlag London Ltd,
2006
[27] M. Srinivas and L. M. Patnaik, “Genetic algorithms: A survey,” Computer,
vol. 27, no. 6, pp. 17-26, June 1994.
[28] S. Lalljith, I. Fleming, U. Pillay, K. Naicker, Z. J. Naidoo and A. K. Saha,
“Applications of flower pollination algorithm in electrical power systems: A
review,” IEEE Access, vol. 10, pp. 8924-8947, 2022.
[29] E. Cuevas, M. Cienfuegos, D. Zaldívar and M. Pérez-Cisneros, “A swarm
optimization algorithm inspired in the behavior of the social-spider,” Expert
Systems with Applications, vol. 40, no. 16, 2013.

87

You might also like