Ball and Beam 実験装置の制御
2010SE075 岩間真希 2010SE125 水谷信彦
指導教員：大石泰章

1

はじめに
本研究では，ビームと呼ばれる直線状の軌道の所望の位置にボールを移動させる Ball and Beam という実験装置を作成し，マイクロコントローラが配置されている基板

Arduino を使った制御を行う．またこれを通して，現実の制御系設計における困難な点を抽出し，制御理論の有用性を検証する．実験装置は，文献 [1] に従い付属キット [2] を用いて作成した．
図 2 実験装置の概略

まず文献 [1] に従って，最適サーボ系を設計し実験を行ったが，結果が思わしくなかった．赤外線センサの観測
雑音が，原因の一つと考えられた．雑音の影響を抑制するため，赤外線センサの出力に対するローパスフィルタの再る．ビーム上のボールの位置に応じて適切にモータを動か

設計を行った．再設計では，赤外線センサ出力の信号につせば，ボールをビーム上の所望の位置に移動させられるはいてパワースペクトル密度を求め，カットオフ周波数を再ずであり，これが制御の目的である．

設定した．また，シミュレーションと実験結果が一致しな

本研究では Arduino を使用し，Ball and Beam 実験装

いことも原因の一つと考えられた．そこで，運動方程式の置の状態の観測とモータの制御を行っている．観測する対同定実験を行った．さらに，モデル誤差の影響を抑制する

象は出力軸の角度 ϕ(t) とボールの位置 xb (t) である．ボーため，ロバスト制御を試みた．

ルの位置は赤外線センサの位置を基準としてビームに沿っ

2

制御対象

て測定する．出力軸の角度は可変抵抗器，ボールの位置は赤外線センサからそれぞれ電圧の形で得るため，これらを

図 1 は，付属キット [2] を用いて作成した実験装置の写変換して実際の出力軸の角度及びボールの位置を復元しな

真である．図 1 の中央左よりにあるものがボール，そのければならない．そのため同定実験を行い，得られた近似下にある直線状のものがビームである．図 2 は Ball and式を用いて推測している．

Beam 実験装置の概略図である．

付属キット [2] では，モータにマブチモーター社の RF-

020TH，赤外線センサにシャープ製の GP2Y0A21 を使用している．製品の機能制限として，モータへの印加電圧の上限は 4.5V，赤外線センサの測定距離範囲は 0.08m から0.8m までと定められている．この範囲内に従い，Ball andBeam を動かす．

3

制御対象のモデル化
図 2 の概略図に従い，制御対象のモデル化を行う．以

下の記号を用いる．t[s]：時間，ϕ(t)[deg]：出力軸の角度，

θ(t)[rad]：ビームの角度，v(t)[V]：モータへの印加電圧，
xb (t)[m]：赤外線センサの位置を基準としたボールの位
図 1 Ball and Beam 実験装置
置，xref (t)[m]：ボールの目標位置，L1 [m]：図 2 参照 (測定値:L1 =0.15)，L2 [m]：図 2 参照 (測定値:L2 =0.021)．一
図 1 と図 2 に示すように，Ball and Beam 実験装置は， 般に f (t) の時間による 1 階微分を f˙(t) で，f (t) の時間にモータと赤外線センサ，モータの出力軸，可変抵抗器，ビー よる 2 階微分を f¨(t) で表す．角度 θ(t)[deg] が 0 の状態は
ム，ボール，Arduino，安定化電源などから成り立ってい ビームが地面に対し平行な状態のときである．また，そのる．文献 [1] ではモータへの印加電圧に乾電池を利用して 状態時の出力軸角度を角度 ϕ(t)[deg] が 0 であると考える．
いたが，本研究では安定化電源を利用している．このたモータへの印加電圧から出力軸の角度までのモデル化

め，乾電池を利用したときと比べてモータの振る舞いが安を行う．モータの回路方程式と発生したトルクに対する定した．モータを駆動すると，ギアと出力軸を介してビー運動方程式より，モータの運動方程式を導出する．このとムの角度が変化する．その変化により，ボールが移動すきモータ内部の巻き線のインダクタンスを 0 と簡略化した．この運動方程式の両辺に Laplace 変換を行い，入力をF̄ は最適サーボ系のフィードバックゲインであり，状態

u(t) = v(t)，出力を y(t) = ϕ(t) とおき，2 次遅れの伝達関数を求めた．またこの伝達関数のゲインを K ，時定数をT とおき，モータのシステム同定を行った．モータの印加電圧 v(t) から出力軸角度 ϕ(t) までの伝達関数はフィードバックゲイン FB と積分器ゲイン KI とは次の関K
3.84 × 102=s(T s + 1)s(3.74 × 10−1 s + 1)

P (s) =[[FBAKI ] = F̄
C

B
0

]−1
．

(5)

評価関数の重み行列を(1)

Q = diag(70，1，50，30，50000)，R = 2000となる．一方，図 2 において，出力軸の角度 ϕ(t) とビームの角度 θ(t) についての関係式は，幾何学的考察より

θ(t) =

係が成り立つ：として最適サーボ系を設計した．ボールの目標位置 xref を

0.15m および 0.25m として 20s 毎に切り替える実験を図 3に示す．ただし，最初の 5s 間は xref = 0.15[m] としモー

πL2
ϕ(t)
180L1

タなどの立ち上がり時間に当てている．

となる．右辺の ϕ(t) の係数を Kθ とおく．また，ビーム角度 θ(t) とボールの位置 xb (t) との関係は文献 [1] に従い，ẍb (t) =

3
gθ(t)
5

(2)

とする．右辺の θ(t) の係数を Kb とおく．
以上に基づいて，制御対象の状態空間表現{
ẋ(t) = Ax(t) + Bu(t)，y(t) = Cx(t) + Du(t)(3)

を得る．ただし，

図 3 最適サーボを適用した実験結果
T

x(t) = [xb (t) ẋb (t) ϕ(t) ϕ̇(t)] ，
図 3 に示すように，全体的にボールの位置は振動を続け

u(t) = v(t)，y(t) = xb (t)，00A = 0
0

1
0
0
0

 
0
0
0 
0
1 ，B =  0 ，
K
− T1
T

0
Kb Kθ
0
0

C = [1 0ており，良い制御ができているとはいえない．

0

xref = 0.25[m] と xref = 0.15[m] のボールの動きを比較すると，赤外線センサから離れている前者の方が細かく大きな振動をしている．このことより，ボールの位置を観測する赤外線センサの雑音の影響で振動しているのではないかと考えられる．対策として 5 章では，雑音のパワースペ

0] ， D = 0

クトル密度を求め，それに基づいて赤外線センサ出力に対するローパスフィルタを再設計する．

である．

4

図 3 において，実験結果はシミュレーションと一致して最適サーボ系の設計および実験結果

いない．これは制御対象のモデル化が不十分なためである

ボールの位置 y(t) = xb (t) を目標値へと追従させる最適と考えられる．対策として 6 章では，ビーム角度 θ(t) とサーボ系の設計を行った．目標値と y(t) の偏差が 0 にな

ボールの位置 xb (t) との関係式 (2) の同定実験を行い定めるよう，状態フィードバックベクトル FB と積分器ゲイン

なおす．

KI を設計する．そのために，式 (3) を拡大したシステム

5を求める．時刻 t における状態変数と入力とそれらの定常値との差を新たな状態変数 x̄(t) とおく．制御入力を u̇(t)として拡大システムを作成する [1, 3]：

{
˙
x̄(t)
= Āx̄(t) − B̄ u̇(t)，u̇(t) = −F̄ x̄(t)．

[

実際に赤外線センサの雑音がシステムに影響を与えているかの確認を行う．赤外線センサより検出した電圧から
ボールの位置の推定値を得る計算式は，同定実験より，

(4)

ただし，

Ā =

ローパスフィルタの再設計と改善実験結果

]
[ ]
[
]
A B
0
x(t) − x(∞)， B̄ =，x̄(t) =．
0 0
1u(t) − u(∞)

2.48 × 10−1
+ 2.42 × 10−3[センサの出力電圧] + 3.78 × 10−1
(6)となる．この関係を図 4 の実線で表す．
[位置] =

実際の赤外線センサの出力電圧は，ボールの位置が一定であっても多少の変動が存在した．その様子を調べるため，ボールの位置を 0.08m から 0.4m までの範囲で動かし，それぞれの場合に観測される赤外線センサの出力電圧の最大値と最小値を測定した．結果を図 4 に示す．

図 5 赤外線センサの出力電圧のパワースペクトル密度

図 4 出力電圧に対するボールの位置範囲
図 4 から，赤外線センサの出力電圧が小さいほど，すな
わちボールの位置が赤外線センサから離れているほど対応
するボールの位置の範囲が広くなることが確認できる．例
えば，赤外線センサの出力電圧が 0.5V のとき，計算式に当てはめるとボールの位置は 0.28m であるが，実際は 0.28m
から 0.4m の範囲にボールが存在する可能性がある．実験では，赤外線センサから離れているほど，すなわち赤外線
センサの出力電圧が小さいほど振動が大きかった．このこ

図 6 カットオフ周波数 2Hz で再設計し適用した実験結果とは振動の原因が上記の赤外線センサの特性にあることを示唆する．
ボールの位置測定の精度を向上させるために，赤外線センサ出力のパワースペクトル密度を推定し，カットオフ

認することができた．

6

ボールの位置とビーム角度の関係式の同定

周波数を定めローパスフィルタの再設計を行う．ローパス

4 章でシミュレーションと実験結果が一致しなかった原フィルタとは，高周波領域の雑音を除去するのに使用され因の一つは，文献 [1] に従い行ったボールの位置とビームるフィルタである．4 章で用いたローパスフィルタのカッ

角度の関係式のモデル化が不十分なことだと考えられる．
トオフ周波数は文献 [1] に従い，5Hz と定めた．しかし， そのため，式 (2) を基準とし定数 Kb を定めなおすため同
そのカットオフ周波数では雑音を十分に除去できていない 定実験を行う．ビームの角度を一定にしてボールを転がと考えられる．
赤外線センサの出力電圧のパワースペクトル密度を求め

し，赤外線センサでボールの位置を読み取り指定した範囲
でのボールの加速度を求めた．

る．出力電圧の雑音に対してローパスフィルタを設計する

ビームの角度 θ(t) を 0rad と 0.05rad の間の様々な値にので，式 (6) のボールの位置に対する電圧との差を求め推設定し，初速度をほぼ 0 としてボールを 0.08m から 0.2m

定した．赤外線センサから 0.3m 離れた位置にボールをおまで転がす実験を行う．実験結果より，ボールの加速度き，赤外線センサの出力電圧の値を 10s 分取得する．取得

ẍb (t) を線形近似で求めた．結果を図 7 に示す．

したデータに対する差にペリオドグラム法を適用してパワースペクトル密度を求める．結果を図 5 に示す．
図 5 から確認できるように，パワースペクトル密度のピーク値が周波数 2Hz 以降にあり，周波数 2Hz をカット
オフ周波数に定めるのが適当と考えられる．
ローパスフィルタの再設計より，実験装置の安定化が改善されたかどうかの検証を行う．4 章で行った実験と同様の設定での実験結果を図 6 に示す．
図 6 に示すように，実験装置のボールの位置は振動しているが，図 3 と比べるとボールの振動は少なくなっている．このように，ローパスフィルタの再設計の有用性を確

図 7 同定実験の結果と求めた関係式

式 (2) より，ビームの角度とボールの加速度は比例の関式 (9) の 条 件 を 満 た す X, Y, Z が 存 在 す る 範 囲 内 で係があり，その比例係数を Kb としている．図 7 では，実丸印で示しているが，比例関係であるとは言い難くばらつ

trace(Z) を最小化したとき，ゲイン F̃ は最適なフィードバックゲイン F˜∗ に漸近する．
以上の方法を使用し，ゲイン FB と KI を設計した．こきがある．そこで，ビームの角度とボールの加速度に対応のとき，実験装置のロバスト安定性が確保されたかどうかするデータを覆えるよう 2 つの Kb の値を与えた：の検証を行う．4 章で行った実験と同様の設定で行った実験により得られたビームの角度に対するボールの加速度を{
ẍb (t) = 9.36 × 102 θ(t)，ẍb (t) = 4.61 × 102 θ(t)．

験結果を図 8 に示す．

(7)

Kb が変化してしまう因果関係について考察した．ボールは滑らず回転して進むという仮定に基づき運動方程式を導出したが，実際は滑りながら進むときもあると考えた．そのため，文献 [1] の加速度よりも実験結果の加速度が大きくなっていると考えられる．次章では，この不確かな Kb
に対してロバストな制御器の設計を行う．

7

ロバスト制御ビームの角度とボールの加速度に関する運動方程式を正確な数値で表現することができなかった．これは現代制御に基づき制御器を設計するにあたって問題点となる．従っ

図 8 ロバスト制御を適用した実験結果て，ロバスト安定性を持つ制御器を設計することでこの問題点を解決しようと試みた．しかし 4 章で使用している設計法では，フィードバックゲイン F̄ を求めた後，状態
フィードバックゲイン FB と積分器ゲイン KI へと変形す
るときに不確かな行列 A を使用しており，FB と KI が確定しない．そのため，異なる最適サーボ系の設計法を使うことにする．

図 8 より，シミュレーションと実験結果の完全な一致はしなかった．しかし，図 6 と比べて振動が明らかに小さくなっていることが確認できる．

8

おわりに
本研究では，まず文献 [1] に従って，最適サーボ系を設

ボールの目標位置と現在のボールの位置との偏差を e(t)

計した．しかし結果は振るわなかった．赤外線センサの観とし，ある変数 w(t) を用い，e(t) = ẇ(t) とおく．このと測雑音が原因である可能性を確認し，雑音除去のため赤外

き，次の拡大系を考える [4]：線センサの出力に対するローパスフィルタの再設計を行っ{˜ = Ãx̃(t) − B̃ ũ(t)，ẋ(t)ũ(t) = −F̃ x̃(t)．
ただし，た．実験の結果，細かい振動が減少したことを確認した．

(8)

また実験結果とシミュレーションが一致せず，関係性が確認できなかったため，制御対象のモデル化が不十分だと考

[

]
[ ]
A 0
B
Ã =
， B̃ =，
F̃ = [FB KI ] ，
−C 0
0
[
]
x(t) − x(∞)x̃(t) =，ũ(t) = [u(t) − u(∞)] ．
w(t) − w(∞)

評価関数の重み行列をQ̃ = diag(15，20，12，8，15), R̃ = 1500とすると，これら重み行列と Riccati 方程式の正定対称解

P と行列 B から，ゲイン FB ，KI を求められる．この場
合，不確かなパラメータを含む行列 A に，ゲイン FB ，KIは依存しない，行列 A を行列多面体として捉え，不確かなシステムのロバスト安定性を考慮する．
文献 [4] に従い F̃ = Y X −1 とし，以下の LMI を作成
する：

˜ + Y T BT
˜ + R∗ Y T Y )−(ÃX + B̃Y + X AT
−X Q̃X > 0，
 −1
X < Z.
(9)

えた．ボールの位置とビームの角度の関係式の同定実験を行ったところ，関係式が不確かであることがわかった．そのため，その不確かさに対してロバストな制御器を設計した．実験の結果，ボールの振動は明らかに小さくなった．

参考文献[1] 平田光男：『Arduino と MATLAB で制御系設計をはじめよう！』．TechShare，東京，2012．
[2]『Arduino と MATLAB で制御系設計をはじめよう！
Ball & Beam 実験装置 実験キット』．TechShare，東京，2012．
[3] 小郷寛，美多勉：『システム制御理論入門』．実教出版，
東京，1979．
[4] 川田昌克：『MATLAB/Simulink による現代制御入門』．
森北出版，東京，2011．