倒立振子のモデル化と制御—学習教材としての活用を意識して—2009SE129 児島圭
指導教員：大石泰章

1L は以下のようになる.

はじめに

L = T1 + T2 − U
1= M (R2 θ̇2 + 2Rθ̇lψ̇ cos ψ + l2 ψ̇ 2 )2
1
11+ mR2 θ̇2 + Jθ θ̈2 + Jθ θ̈2222− mgR − M gR − M gl cos ψ

本研究では, 倒立振子は不安定なシステムであり, 制御を用いることにより安定化できることが視覚的に実感できるので, 制御の学習に適している. そこで, 車輪型倒立振子のモデルを導出し, 極配置法, 最適レギュレータ理論を用いたコントローラ設計を行う. また, コントローラ設計を行うまでの状態方程式の導出, フィードバックゲインを求(1)める際のポイントを挙げることにより教材としての活用を意識する.

2モデリング
今回, 車輪型倒立振子として使用するヴイストン社のBeauto Balancer の外観を図 1 に示す [1].

ただし, u はモータへの入力電圧であり,ψY

この L に基づいてラグランジュの運動方程式をたて,
θ = 0, ψ = 0 を中心として線形化を行い, さらに, モータの関係式をまとめると以下を得る.
[ ][ ] [][ ] [ K ]tθ̈θ̇
00
θ
r(2)
E+F+=
Kt v
0−M
gl
ψ
−ψ̈
ψ̇
r

[M R2 + mR2 + Jθ
E=M RlMlθ[ Kt KmF =R

図 1 Beauto Balancer

X+fr− KtrKb − fb− KtrKb − fKt Kb+frである.

図 2 概略図

M Rl
M l2 + Jψ[倒立振子の物理パラメータは表 1 の通りである. この概略

ẋ =図に基づいて数式モデルを作る.

g

9.81[m/g2 ]

車体の重量

M

0.177[kg]タイヤの 重量m0.005[kg]タイヤの半径R0.021[m]重心位置l0.084[m]車体の慣性モーメントJψ

14.83 × 10−5 [kgm2 ]タイヤの慣性モーメントJθ

1.136 × 10−6 [kgm2 ]

タイヤとモータの摩擦係数θ̇ẋ = Ax + Bu][ 2×1 ]
02×2
I 2×2
0u
x+
−E −1 G −E −1 F
E −1 H

ψ̇

(5)
(6)

図 3 となる.
制御対象u(t)

Ax(t)

x(t)

∫B

K

0f]T
ψ

ドバックゲイン K を用いる. このときのブロック線図は値

重力加速度

タイヤと床の摩擦係数(4)となる. 以上で求めたモデルを安定化するため, 状態フィー

表 1 倒立振子の物理パラメータ
表記]とすると輪の回転角度 θ[rad], 車体の傾斜角度 ψ[rad] である. また,

項目

(3)

[以上により状態方程式は, v = u, x = θ
図 2 に横から見た倒立振子の概略図を示す. ただし, 車]

コントローラ0モータの抵抗r

0.6[Ω]

モータのトルク係数

Kt

0.00204[Vs/rad]モータの逆起電力

Kb0.00204[Nm/A]

図 3 コントローラ K を用いたブロック線図

3極配置法

並進方向の運動エネルギーを T1 , 回転方向の運動エネル

状態フィードバックゲイン K の設計方法として, 極ギー T2 , 位置エネルギーを U と置くとラグランジュ関数配置法を用いたコントローラ設計を行う. 極配置法とは

A + BK の固有値を指定した値とすることである. ここでの指定する値とは, 倒立振子が安定化するような値である.
指定した極の実部を負側に大きくすると, フィードバックゲイン K が大きくなるために入力電圧の値も大きくなる.
しかし, Beauto Balancer のモータの最大電圧が 3.3[V] なので, この値を超えないようにする必要がある. シミュあるため, R の値を大きくすることにより入力電圧を抑える. シミュレーションにおいてそれらの制約条件を満たし,シミュレーション結果が良くなるように重み行列 Q, R を決定する必要がある. 決定した値は以下のようになる.
実験機で安定化できた場合の重みと導出したゲイン K

30
Q=
00

レーションでは実験機で試して安定化できた場合とできなかった場合を示す.
実験機で安定化できた場合の極(−30 −20−4 −5)

K = [−0.17(7)

10
Q=
00K−0.115−0.78](8)実験機で安定化できなかった場合の極(−1 −1−1 −1)(9)−20.14
00, R = 10002(12)−0.17 −1.17](13)

0100001000, R = 1000001−14.62

K = [−0.01(14)−0.025 −0.49](15)

決定した重みでのシミュレーション結果を以下に示す. 時

導出したフィードバックゲイン K−7.34 −0.002

K = [0.00001.50

実験機で安定化できなかった場合の重みと導出したゲイン

導出したフィードバックゲイン K

K = [−0.21 −14.850100−0.02](10)間は t[s], 状態の初期値は θ = 0, ψ = π/12, θ̇ = 0, ψ̇ = 0である.

時間は t[s], 状態の初期値は θ = 0, ψ = π/12, θ̇ = 0,2ψ̇ = 0 である. 決定した値でのシミュレーション結果を以下に示す.

0.1
実験機で安定化できた実験機で安定化できなかった

1.5

実験機で安定化できた実験機で安定化できなかった
0.05

0.1
実験機で安定化できた実験機で安定化できなかった

1.5

実験機で安定化できた実験機で安定化できなかった

0.5

-0.05

ψ[V]u[V]

-0.5
0-1

00.5

-0.05
-0.5

012345-0.1

012t [s][(a) 電圧のグラフ][(b) 車体の角度のグラフ]

1.5

2-0.1

0123t [s][(a) 電圧のグラフ][(b) 車体の角度のグラフ]

図 5 最適レギュレータのシミュレーション結果

3t [s]

1t [s]

0-1000.05
10.5

ψ[V]

2u[V]

1

実験機で安定化できなかった原因としてはゲインが小さく, まだ考えていない摩擦の影響を受けているためと考図 4 極配置法のシミュレーション結果える.
極配置の問題点としては, 極の配置が難しいところである. そこで, 次に最適レギュレータによるフィードバックゲイン K の導出を行う.

45

おわりに今回は, 学習教材としての活用を意識して極配置法, 最適レギュレータを用いたコントローラ設計を行った. 導出し最適レギュレータ

たフィードバックゲインを用いて倒立を実現することがで最適レギュレータ理論を用いたコントローラ設計を行きたが, より良い安定な状態を実現するために, さらに正確う. 参考文献 [2] より, 制御対象が可制御である状態方程式なモデルを考えてみる必要がある. また, 学習教材としてに対して評価関数 J は式 (8) である.

∫ ∞J=(x(t)T Qx(t) + u(t)T Ru(t))dt(11)

考えると実験データを取得することが今後の課題である.

参考文献0

この評価関数を最小化する状態フィードバック形式のコントローラを求める問題が, 最適レギュレータ問題である.
今回は, モータの入力電圧の限界が 3.3[V] といった制約が[1] Beauto Balancer http://www.vstone.co.jp/robot/[2] 川田昌克: MATLAB/Simulink による 現代制御入門,
森北出版株式会社