第五章 軟硬體設計與實驗結果
5.3 二輪式自動平衡平台搭載『 X-Puppet 』
5.3.2 自動平衡演算法之模擬分析
本小節將針對4.2 小節所推導出來的平衡演算法做一些數據模擬與參數設 計,並針對可能出現在實際情況的硬體受限問題提出解決的辦法,由式(4-10)以 及式(4-12) 、(4-13) 可得控制指令( Control Command )以及系統方程式如下
( ) ( )
⎟⎟⎠
⎜⎜ ⎞
⎝
⎛ + − − − −
= p d
u d d
u T
u d u
k k k m
k m k
k m
u k1 θ θ&& 1 a b θ θ& θ& θ θ θ
1 1
(
e+k e+k e)
=0mθ && d& p , e=θ−θd 為誤差角度( Error signal )
而設計kd和kp可以改變誤差角度的收斂速度,在此先固定kp值,然後改變kd值,
並設計角度值θ ( Desired angle )為一脈衝訊號( Impulse ),去看系統的脈衝反應d ( Impulse Response )得圖 5-23,很容易可以發現,當kd值越小,訊號上升的時間 愈短,相對地過度訊號( Overshoot )也會隨著增加,但如果過度地調大kd值確會 造成控制指令( Control Command )放大,過大的值在精度有限的微控器裡會超過 上限而被截掉,這樣會造成系統不穩定。
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0 5 10 15 20 25 30
time (s)
Theta (度)
sida & desired sida Kd=3
Kd=6 Kd=9
Kd=12 Kd=15
Kd=18
sida D
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0
0.2 0.4
time (s)
(rad)
desired angle
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0 20 40
time (s)
(rad/s)
desired angle velocity
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-5000 0 5000
time (s) (rad/s2 )
desired angle acceleration
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-5000 0 5000
time (s)
force (N)
control command u
圖 5–24 由上至下依序為設計角度值θ ( Desired angle )、 d 設計角速度值θ&d ( Desired angle velocity )、
設計角加速度值θ&&d ( Desired angle acceleration ) 以及控制指令( Control Command )
另外如果要得到好的行為模式,除了要好的設計角度值θ ( Desired angle ),d 還要搭配好的設計角速度值θ&d ( Desired angle velocity )、設計角加速度值θ&&d
( Desired angle acceleration ),但相對地會造成高頻、高增益的控制指令( Control Command ) 如圖 5-24 所示,高頻的訊號會受限實際伺服馬達的反應時間
( Response time )而無法即時產生出所需的轉矩,為了解決這些問題,勢必要犧牲 一些效能來換取執行的可能性,我們可以先讓設計角速度值θ&d和設計角加速度值 θ&&d為零,讓控制指令無需去符合高頻的行為,然後設計角度值θ 盡量避免跳躍d ( Step )的情形發生,使其變化幅度不要太快,讓平衡演算法有一小段時間緩衝可 以跟上,如圖5-25、5-26 模擬所示,確實達到延後系統反應的時間來降低控制指 令的值,以及避免高頻的訊號產生。
而在4.2 小節最後也提到,可以利用設計θ 值來讓機器人往前移動,這也可d
利用模擬結果來說明,如果要設計讓機器人往前移動,直接給予角度值( 如圖 5-25、5-26 所示 )可能會讓機器人難以適應突如其來的動量而不平衡,所以必須 設計θ 值一開始為反方向較小值( 如圖 5-27、5-28 所示 ),讓控制指令不至於突d 然上昇,另外反方向的指令可以讓機器人先製造出一個傾角,接著控制固定住機 器人往前移動的傾角,讓平衡演算法為了不讓機器人傾倒一直往前轉動達到移動 的效果。
最後要討論不管在平衡或是移動的狀態,如果突然遇到一不可抗外力,或是 來自機器人上身部分動作所產生的內部轉矩,整個平衡演算法必須可以將整個系 統拉回到平衡的狀態( 如圖 5-29 所示 ),但卻發現這樣會有一高增益的控制指 令,如果遇到這種狀況,可以配合偵測到的訊號,微調θ 值來讓平衡演算法不要d 產生高增益的控制指令,如圖5-30 所示。
由模擬情形得到結論,要在有限的硬體能力下同時具有很好的行為效能是不 太可能,這之間是一個此消彼長的交換關係( Trade off ),所以依據本作品所需之 硬體規格與實際實驗結果,必須選擇一合適的參數值來實現整體的系統。
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0
0.1 0.2 0.3 0.4
time (s)
angle (rad)
sida & desired sida
desired angle angle
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-60 -40 -20 0 20
time (s)
force (N)
control command u
圖 5–25 上圖為配合實際硬體限制所設計之θ 值與系統反應,d kp=36 kd=9 下圖為對應之控制指令
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0 0.1 0.2 0.3 0.4
time (s)
angle (rad)
sida & desired sida
angle
desired angle
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-40 -20 0 20
time (s)
force (N)
control command u
圖 5–26 上圖為配合實際硬體限制所設計之θ 值與系統反應,d kp=36 kd=6 下圖為對應之控制指令
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -0.5
0 0.5 1
time (s)
angle (rad)
sida & desired sida
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-200 -100 0 100
time (s)
force (N)
control command u
圖 5–27 設計θ 值讓機器人往前移動,d kp=36 kd=9
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-0.5 0 0.5 1
time (s)
angle (rad)
sida & desired sida
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-150 -100 -50 0 50
time (s)
force (N)
control command u
圖 5–28 設計θ 值讓機器人往前移動,k =36 k =6
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -1
-0.5 0 0.5 1
time (s)
angle (rad)
sida & desired sida
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-500 0 500 1000
time (s)
force (N)
control command u
圖 5–29 平衡演算法在遭受突然外力的反應
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-1 -0.5 0 0.5 1
time (s)
angle (rad)
sida & desired sida
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-500 0 500 1000
time (s)
force (N)
control command u
圖 5–30 平衡演算法在遭受突然外力並對θ 值做補償的反應d
5.3.3 行為模式之分析
二輪式移動平台除了在靜止情況下要能保持平衡穩定的狀態,也要可以應付 外力影響,機器人本身所造成的力矩影響,以下分成幾個狀況討論:
¾ 站立穩態平衡
在站立平衡的情況下,此一底座要能保持平衡,針對外界突然而來的干 擾要能做出即時平衡反應,以及能扺抗外界持續受力的干擾。
¾ 轉身平衡
在4.6 小節所提出的旋轉概念,讓機器人在轉身的同時也要能繼續計算 平衡演算法保持平衡的狀態。
¾ 系統穩態之重心補償
在4.5 小節所提到,此二輪式移動平台要能偵測到上半身機器人的姿態 並且計算出角度補償使系統保持平衡。
¾ 移動能力
在4.2 小節所提到,經由設計θ ,可以讓系統具有移動能力並且同時保d
持平衡狀態。
¾ 在機器人有行為模式下保持平衡穩定狀態
利用平衡演算法以及機器人模型推導,此平台要能估測出機器人的行為 模式並計算出所產生的力量及力矩,同時利用底座的移動來抵消影響。
¾ 結合數位手套控制機器人的情況下同時保持平衡穩定狀態
最終,要能利用數位手套直接控制機器人做任意的操偶動作,而底座依 舊要能保持平衡穩定不傾倒的狀態。
5.3.4 即時實驗之連續圖
本一小節以實驗結果來驗證此系統在5.3.3 小節中的行為模式皆為可行,以下 為實驗結果連續圖,包括靜止平衡、慢速轉身、快速轉身、穩態系統重心補償、
移動、機器人動作同時保持平衡、數位手套控制機器人同時保持平衡、數位手套 控制機器人同時移動並保持平衡,而以下所有連續圖順序皆為由左到右,由上到 下。
圖 5–31 靜止平衡與受外力干擾連續圖
圖 5–32 慢速轉身連續圖
圖 5–33 快速轉身連續圖
圖 5–35 向前移動連續圖
圖 5–36 在機器人動作同時保持平衡連續圖
圖 5–37 用數位手套控制機器人同時保持平衡與移動連續圖
圖 5–38 用數位手套控制機器人同時保持平衡連續圖