二、 相關研究
本章節描述與本研究相關的參考文獻,其中所提到的一些方法也會實際的在實驗平 台上做測試與討論。
2.1 機械手臂的參數估測法
一個n個自由度的機械手臂的動力學方程式可以使用Lagrangian Equation[11]
去描述如下
) B( &q G(q) q
) q C(q, q M(q)
τ= &&+ & &+ + (1)
其中q 是n維的向量,表示各軸的角度。 是n維的向量,表示各軸的致動器的力 矩。M(q) 是 的轉動慣量矩陣。C(q, 、G(q) 和 都是n維的向量,分別 代表向心力與科氏力的作用、重力的影響和摩擦力。這些矩陣和向量中包含了機械 手臂的參數,如:質量、質量的中心位置和轉動慣量。這些參數並不是都是已知的。
參數的估測方法能夠估測出未知的參數,得到一個完整的動力學方程式。
τ q q &&) n
n× B( &q)
本節將講述機械手臂的參數估測方法,精確參數將使得在控制上得到更佳的效 能。
2.1.1 線性最小平方參數估測法(Linear Least Square Parameter Estimation)
在做參數估測時,通常會把(1)式改寫成線性參數化形式[6][7][8]
q , q
Y(q,& &&)Θ=τ (2)
) q , q
Y(q,& && 是n× 回歸矩陣,此矩陣和各軸的角度、速度和加速度相關。 p 是機械p 手臂獨立參數的個數。Θ是p 維的向量,包含了未知的參數。
從(2)式,一個簡單的最小平方估測[1][2][3][4]可得到 Χ
FT
−1
F F
Θˆ =( T ) (3)
其中 ,下標m表示其為量測值,
&&
&
M
&&
&
N N Θˆ
2.1.2 適應性參數估測法
1 直接的梯度估測器(Direct gradient estimator)[5][6][7]
這是一個產生Θ最簡單的方法,它是追蹤誤差驅動的梯度適應方法 (tracking-error-driven gradient adaptation method)
ˆ
2 混合的梯度估測器(Composite gradient estimator) [6][7]
混合參數適應法則是由在各軸運動的追蹤誤差和在各軸力矩的預測誤
&&
&
誤
)
&
& ),q&(t q), &&(t))
數個著作(如:[10][11])對機械手臂採用計算力矩的控制器。這個方法牽涉非 線性項的計算和消除,化簡系統成為一個線性的系統,以下簡述之。
圖 1 計算力矩的控制方塊圖 將(1)式帶入(12)式可得
K q K
q + ~+ q~=0
~&&d v& p (13)
適當的選擇Kv和Kp這兩個增益值,調整控制的效能。
2.2.2 適應性控制法
適應性控制器在參數的不確定之下,能夠達到整體誤差收斂。它能夠依據給 定的適應性參數估測法則,得到參數,對無法準確知道動力學模型的參數是一個 可行的辦法。適應性控制器設計的問題在於:給定要求的路徑,量測各軸的角度 和速度,並且有一些或全部未知的參數,推導出對致動器力矩的一個控制法則和 對未知參數的一個估測法則,使得各軸的角度能接近地追蹤到要求的路徑。
在[5]中使用各軸追蹤運動的追縱誤差去驅動參數的適應,而且證明了適應的 前饋控制加比例微分控制器的整體追蹤收斂性,它不需要加速度的量测,並且利 用電腦模擬與實際實驗驗證其可行性。
在[12]裡提出一個以計算力矩為基礎的適應性控制器,但是它需要加速度的 量测,而且要計算估測慣量矩陣的反矩陣,如此可能會限制實際的應用性。像[13]
中使用在各軸濾波後力矩的預測誤差去產生參數的估測以及一個修正的計算力 矩的控制器並且避免掉矩陣的逆轉換。
[6][7]同時使用各軸追蹤運動的追縱誤差和各軸濾波後力矩的預測誤差去驅動參 數的適應,之後建立以模型為基礎的控制器並證明其比傳統的比例微分控制器有 較好的效能。
三、 機械手臂硬體之建構
本章將介紹實驗平台的架構與設計的考量,將每一部分作分析介紹。
3.1 機械手臂設計概要
本研究建構的實驗平台為一平面機械手臂,經由旋轉關節來連結兩節,這兩節 被兩個裝在“肩膀"和“手肘"的直流馬達驅動,兩個旋轉關節上裝有編碼器量測 轉動角度,其示意圖如圖 2所示。 和 是兩節的長度,l1 l2 m1和m2是質量, 和 是
,角
c1
l
是從平行的
c2
l
質量的中心位置, 和I1 I2是質量的中心對旋轉軸的轉動慣量 度q1 x
軸來量測,角度 是從第一節朝向第二節的延伸來量測 且都是以逆時針方向為
正。
q2 ,而
圖 兩軸機器人實驗平台
這個機械手臂是由密度為 公噸 ,第一節和第二節的長度
和 都是 公尺,第一節手臂的質量包括了手臂本體、驅動第二軸的馬達和量
測第二軸角度的編碼器,全部加起來,一共是 公斤,第二節手臂的重量則為
2
2.7 /立方米的鋁合金所構成 0.26
3.885 l1 l2
0.867 公斤。其參考規格如表 1所示。
表 1 機械手臂的規格
種類 表示符號 數量 單位
第一節的長度 l1 0.26 m
第二節的長度 l2 0.26 m
第一節的質量 m1 3.885 kg
第二節的質量 m2 0.867 kg
第一節質量的中心位置 l c1 未知 m
第二節質量的中心位置 l c2 未知 m
第一節質量的中心對旋轉軸的轉動慣量 I1 未知 kg-m2 第二節質量的中心對旋轉軸的轉動慣量 I2 未知 kg-m2
重力加速度 g 9.81 m/s2
本實驗平台的控制系統則是使用數位晶片實現。該晶片除了做為控制器,計算 兩軸馬達所需的力矩之外,未來還必須執行所有的錯誤診斷法則,計算量相當龐 大,因此將採用高效能的數位訊號處理晶片做為系統核心,並配合適當的周邊模 組,例如解碼器和馬達驅動器等等。整體系統方塊圖表示於圖 3。
圖 3 實驗平台整體系統方塊圖
3.2 馬達
sin(
)
sin(
)
本研究的馬達驅動器分別是跟美商TECEL和台商飆機器人專賣店所購買,第一 軸驅動器型號為D200,第二軸型號為U6206,這兩款驅動器是都由一對高和低電位 的訊號來控制馬達的轉向,並由一脈波寬度調變的訊號來控制轉速。因為馬達在啟 動時需要一個大電流的原因,所以選擇這兩款驅動器主要是依據電流的規格來決定 的,因此選擇第一軸的驅動器最大電流為 45 安培,第二軸為 30 安培,。這兩個驅 動器的外觀如圖 4所示。表 3是決定機械手臂正反轉的真值表。
圖 4 馬達驅動器外觀,左側為第一軸的驅動器
表 3 馬達正反轉真值表 IN1 IN2
Robot INA INB
0 0 Stop 0 1 反轉 1 0 正轉 1 1 Stop
3.3.1 馬達驅動器動作原理
脈波寬度調變驅動直流馬達的方法乃是藉由變化脈波責任週期達到直流馬 達之速度控制。
本研究所使用的驅動器都是H電橋,主要提供了馬達雙極性電源輸入,使馬 達可以順時針與逆時針旋轉。其主要是以四個電晶體組合而成,如圖 5所示,當 Q1 與Q3 導通而Q2 與Q4 截止時,電流由一方向流動;反之Q2 與Q4 導通而Q1 與Q3 截止時,電流則有相反方向流動,如此促成了馬達正反轉所需的兩種極性。
圖 5 H 電橋結構
3.4 編碼器
本研究使用旋轉式的增量型編碼器來量测角度,它能產生A、B兩個相位差 1/4 週期的脈波,通過比較A相在前還是B相在前,以判別編碼器的正轉與反轉,並因 其產生的脈波數來判斷轉動的角度。編碼器的外觀如圖 6所示,規格如表 4所示。
表 4 編碼器的規格 輸出波形 方波 解析度1 2000 輸出相 AB 相 電路特性 電壓型 圖 6 旋轉編碼器
使用這個款式的編碼器是為了要和下一節介紹的數位訊號處理器相互配合,這 款數位訊號處理器內建一個QEP(Quadrature-Encoder Pulse)電路,它能偵測出編碼器 的旋轉方向,並且計時器會因兩個輸入訊號的上升或下降的邊緣增加或減少計數。
1此處指的解析度是指編碼器每轉一圈產生的脈波數目。
3.5 數位訊號處理器與開發工具
數位訊號處理器是當作控制器使用,負責計算輸入到馬達驅動器的脈波責任週 期來控制速度及送出一組高或低電位的訊號到驅動器以控制馬達正反轉,並且其內 建的 QEP(Quadrature-Encoder Pulse)電路偵測編碼器的訊號得到角度的量测,這個 角度做為控制器的回授訊號進而完成角度的追蹤控制。
本研究使用的數位訊號處理器是由美商Spectrum Digital所生產的eZdspTM F2812 [14],其上裝有德州儀器生產的TMS320F2812[15]數位訊號處理晶片,此晶片 每秒能夠運行 150 百萬條指令。為簡化程式發展和縮短除錯的時間,提供了C20 的工具軟體Code Composer driver
002 [16],可以在其上做組合語言和C語言3的編輯和除 錯,並將寫好的程式載入數位訊號處理晶片中作測試。
四、 機械手臂模型建立與參數估測
本章節把馬達的模型也加入考慮,推出機械手臂的動力學模型。利用線性最小平方 參數估測法得到模型的參數。
4.1 機械手臂的動力學模型
考慮如圖 2所示的兩軸平面機械手臂,應用Lagrangian Equation[11],得到同(1) 式的機械手臂的動力學方程式
&
&
&
&
4
&
&
&
4
&
&
&
&
4 sign(
) sign(
) cos(
) cos(
) cos(
) (
0 )
sin(
) )(
sin(
) sin(
) cos(
) cos(
) cos(
2
{&&
&&
&&
q
的關係可以如(16)式所示[11],馬達的示意圖則顯示於圖 7。
&
&
&& (16)
其中
rad q
N-m N-m
f
rad V-s K
R
N-m/A K
kg-m J diag
diag 1
diag diag
diag
2
因此,將(15)式帶入(17)式可得到在兩個軸裝上直流馬達的完整機械手臂動力
RG(q) q
) q RC(q, q
Φ(q,& && (20)
Θ是未知的參數,如下所示。 Φ & &&
(22)式
t
,但加速度在這裡是量測不到的,所以使用如[7][8][9]中所提到的,利用濾波器消 除加速度的訊號。
&
+
&
&
&
&
+
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&&
−
將(27)式代回(25)式,得到(28)式,式中已消除了加速度項。
))
&
&
&
&
⋅
&
&
&
&
&
&
&
&
&
−
將(28)式代入線性最小平方參數估測法中就可得到最佳近似解 。
依據上述方式,給定方波輸入,量測機械手臂的轉動角度,求出 。輸入的方
波如圖 8所示,其週期呈現亂數的分佈,使得這個輸入訊號包含多種的頻率,能夠 為滿秩(full
rank),故反矩陣 − 存在。 ,也可避
免馬達輸入電壓落在死區(dead- zone),發生無法轉動的現象。有關死區的說明將在 下一個章節討論。
5;
(29) 的輸入電壓代入(20)式,使用MATLAB[18]中的函式「ODE45」
解出機械手臂的轉動角度。從圖 9中可以觀察到模擬和量測值並沒有完全吻合,但 差異性不會很大,可以使用控制的方法作補償。
Θˆ
Θˆ
提供充分的資訊。使得在使用這個參數估測法時,矩陣Φf(q(t),q(t)) 另外使用方波的輸入 ))) 1
( ), ( ( )) ( ), ( (
(ΦTf q t q t Φf q t q t
9623]
將
69445;3.43 075146;0.1
00.8494;0.
63.79541;3
39;4.82895 748;2.2352
7257;2.949 2.0439;0.6
0.4487741;
ˆ =[ Θ
(29)式和已知
0 2 4 6 8 10 12 14 16 18 20
-10 -5 0 5 10
input voltage of joint 1
volt
sec
age
4
0 2 4 6 8 10 12 14 16 18 20
-4 -2 0 2
input voltage of joint2
sec
voltage
圖 8 上圖為第一軸的輸入電壓,下圖為第二軸的輸入電壓
0 2 4 6 8 10 12 14 16 18 20 -3
-2.5 -2 -1.5 -1 -0.5 0
angle of q 1
sec
rad
Simulation Measurement
0 2 4 6 8 10 12 14 16 18 20
-2 -1 0 1 2
angle of q2
sec
rad
Simulation Measurement
圖 9 上圖為第一軸的轉動角度,下圖為第二軸的轉動角度
五、 控制器的設計
本節將設計三種控制器,計算力矩的控制器、具有背隙(Backlash)和低速補償 的適應性控制器以及不需要速度估測的控制器。第一種是一個已經被廣泛運用的控 制器[10][11],可以作為相互比較的基準。第二種設計能夠補償在本研究中特別明顯
本節將設計三種控制器,計算力矩的控制器、具有背隙(Backlash)和低速補償 的適應性控制器以及不需要速度估測的控制器。第一種是一個已經被廣泛運用的控 制器[10][11],可以作為相互比較的基準。第二種設計能夠補償在本研究中特別明顯