• 沒有找到結果。

自動平衡演算法之模擬分析

第五章 軟硬體設計與實驗結果

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

)

=0

mθ && d& pe=θ−θd 為誤差角度( Error signal )

而設計kdkp可以改變誤差角度的收斂速度,在此先固定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 用數位手套控制機器人同時保持平衡連續圖

第六章 結論

相關文件