アンチロックブレーキングシステムのシステム同定と制御
2011SE015 千田悠人

2011SE039 林達也

指導教員：大石泰章

はじめに

1Fn

アンチロックブレーキングシステム（以下 ABS）とは，

r

自動車における運転支援システムの一つである．自動車で1は急ブレーキ時や低摩擦路でのブレーキ時に車輪が完全にxM + M +d x
110111

スリップしてしまい，制動力がなくなってしまうという問

μFn

題点がある．この状態をロックといい，これを改善するた
めに ABS では車輪のロックをセンサーで事前に感知することによって，ブレーキを弱め車輪のロックを防ぎ車輪のr2回転を回復させ，ステアリング操作を可能とする．
本研究では，INTECO 社の The Laboratory Anti-lockBraking System[1] を考察対象とした．この実験機の制御に取り組んだ大石・遠山の研究 [2] において，シミュレー

x2

M +d x
2202ションで得られた結果と実験機で得られた結果の間に差があることが確認できた．これについて本研究ではシミュ図 2 実験機の概略図

レーションで用いたパラメータと実験機の間にずれがあるのではないかと考え，最小二乗法を用いたパラメータ同定を行い，その結果に基づいて制御を行う．

上部車輪の角速度

実験機とそのモデル化

2

表 1 制御対象のモデリングに用いる記号

下部車輪の角速度
上部車輪の半径下部車輪の半径上部車輪の慣性モーメント
下部車輪の慣性モーメント
上部車輪の摩擦力
下部車輪の摩擦力
上部車輪の粘性摩擦係数
下部車輪の粘性摩擦係数
車輪間の摩擦係数
ブレーキトルク
垂直効力

図 1 INTECO 社のアンチロックブレーキングシステム実験機

x1 [rad/s]
x2 [rad/s]
r1 [m]
r2 [m]
2
J1 [kgm ]2J2 [kgm ]M10 [Nm]
M20 [Nm]2
d1 [kgm /s]2
d2 [kgm /s]µ（λ）
M1 [Nm]Fn [N]——
0.099
0.1010.00753
0.0256———————と定義する．ただし，式（1）は右辺の分子が車体速度 r2 x2と車輪速度 r1 x1 の差，すなわち滑りを示しており，分母本研究の考察対象である INTECO 社の The Labora-

tory Anti-lock Braking System は，自動車の 4 分の１に相当する装置であり，一般的に自動車に搭載されているABS が油圧で駆動しているのに対し, 直流モーターで駆動する．図 1 に示すように上部車輪と下部車輪で構成されており，それぞれ自動車の車輪と路面を表している．
この実験機を図 2 のようなシステムとしてとらえ，文献[3] に従ってモデル化する．ただし表 1 の記号を使う．
表 1 で定義した記号に加えスリップ率を
λ=

r2 x2 − r1 x1
r2 x2

(1)

は車体速度を示している．スリップ率が 0 のときは上部車輪が下部車輪に対して滑ることなく回転している状態を表し，スリップ率が 1 のときは上部車輪が完全にロックされている状態を示す．下部車輪のモータで設定した回転数まで加速した後，上部車輪のブレーキによって目標のスリップ率に制御する．なお本研究ではスリップ率の目標値を0.2 とする．
上部車輪と下部車輪に対する運動方程式はそれぞれ

J1 ẋ1 = Fn r1 µ（λ）− d1 x1 − M10 − M1 ，J2 ẋ2 = −Fn r2 µ（λ）− d2 x2 − M20(2)(3)

となる．なおここでは粘性摩擦係数は非常に小さい値となである．

るので無視できるものとした．

式 (1)，(2)，(3) よりスリップ率の微分を計算すると

1 r2r2λ̇ = − [ 1 + （1 − λ）]Fn µ（λ）
x2 J1 r2J2
r1d（1 1 − λ）+（M1 + M10 ）+J1 r2 x2J1d（2 1 − λ） （1 − λ）M20−−J2x2 J2

最後に λ̇ は λ のデータから以下の三点微分 [5] を使って求める：−3λ（t1 ）+ 4λ（t2 ）− λ（t3 ），2hλ（ti+1 ）− λ（ti−1 ）λ̇（ti ）=（i = 2, 3, ..., k − 1），2h−3λ（tk−2 ）+ 4λ（tk−1 ）− 3λ（tk ）λ̇（tk ）=．
2hλ̇（t1 ）=(4)となる．
式（4）で µ（λ）は λ の非線形な関数であるので，平衡点を（λ∗ ，M1∗ ）としてそのまわりでテイラー展開を行い[r21∂µ（λ∗ ） r2（ − 1 Fn+ Fn µ（λ∗ ）λ̇ =x2
J1 r2∂λJ2∗r2∂µ（λ）
d1d2− （1 − λ∗ ）Fn）−+J2∂λJ1J2]
M20r1+（λ − λ∗ ）+（M1 − M1∗ ） (5)J2 x2
J1 r2 x2のように線形化する．ただし λ∗ をスリップ率の目標値，

M1∗ をブレーキトルクの目標値とする．
パラメータ α1 ，α2 ，β を
r12
∂ μ (λ∗ )r2Fn
λ + Fn µ(λ∗ )+J1 r2∂J2r2∂μ(λ∗ )M20− (1 − λ∗ )Fn)+，J2∂λJ2d1d2α2 = − + ，J1J2r1β=J1 r2α1 = (−なおこの三点微分は，前進差分近似や後進差分近似と比較し 2 点間の時間間隔が 2 倍であるため，チャタリングが生じにくいという利点がある．
式 (6) を各サンプル時刻 ti（i = 1，2，…，k ）に対して使うと

1∗(λ(t1 ) − λ∗ )x (t ) (λ(t1 ) − λ ) 2 1 1 (λ(t ) − λ∗ ) (λ(t ) − λ∗ )22
 x2 (t2 )λ̇(t) = ..
..
.
.
1
∗
∗
x2 (tk ) (λ(tk ) − λ ) (λ(tk ) − λ )1
1− x2 (t
x2 (t1 ) M1 (t1 )1) α111M(t)−1 2x2 (t2 )x2 (t2 )   α2 
..
..
β 
.
.
1x2 (tk ) M1 (tk )が得られる．以下未知パラメータを

α1β∗∗（λ − λ∗ ）+ α（2 λ − λ ）+ （M1 − M1 ）x2x2

べきパラメータは α1 ，α2 ，β ，γ の 4 つであり，λ̇ の式は次のように書きかえられる：

α1M1γ∗（λ − λ∗ ）+ α（β− ．
2 λ − λ ）+x2
x2x2(6)

これは未知パラメータ α1 ，α2 ，β ，γ に対して線形なのでλ̇，λ，M1 ，x2 のデータがあればこれらを推定することができる．

3

パラメータ同定
ここでは実験機に付属しているデモコントローラを用いて実験機を 16 回動作させ，サンプル周期 0.01[s] として λ，x2 のデータを 2049 個測定した．ただしこのデモコント
ローラでは，実験機の上部車輪の回転速度が 1054rpm になった時点でブレーキがかかるように設定されている．
ブレーキトルク M1 は式（2），（3）の運動方程式から

r1M1 = −（ J2 x˙2 + J1 x˙1 ）r2

α1
 α2 
m=
β γと表すことができる．さらに γ = M1∗ β とかくと，求める

λ̇ =γ(8)のように定めると，

λ̇ =1− x2 (tk)(7)と定義する．
また，データをまとめた式（8）の係数行列を

1∗(λ(t1 ) − λ∗ )x (t ) (λ(t1 ) − λ ) 2 1 1 (λ(t ) − λ∗ ) (λ(t ) − λ∗ )22
 x2 (t2 )L =..
..

.
.
1
∗
∗
x2 (tk ) (λ(tk ) − λ ) (λ(tk ) − λ )1
1− x2 (tx2 (t1 ) M1 (t1 )1)
11− x2 (tx2 (t2 ) M1 (t2 )
2)

...
...
11M(t)−1 kx2 (tk )x2 (tk )と定義する．データ数 k は k = 2049 である．
このデータに対し最小二乗法を用いることにより未知である α1 ，α2 ，β ，γ の値をそれぞれ求めた．
行列 L 中の測定データには誤差が含まれるので，式（8）を完全に満足するような m を求めることは困難である．
そこで，二乗誤差の総和

E = ∥Lm − λ̇∥2 =（mT LT − λ̇T ）（Lm − λ̇）(9)が最小になるよう m を定めると

m =（LT L）−1 LT λ̇(10)である．式（10）を使って，未知パラメータを求めると



α1− 1.60 α2   β  =  66.1 γ1162.6(11)が得られた．また，ここで得た γ を β で割るとM1∗ = 17.5885(12)図 4 初期回転数 1054rpm で求めたパラメータを初期回転数 790rpm に適用して得た実験データが得られる．
ここで得られたパラメータがこの実験において妥当であるかどうか調べるために，式（6）の左辺と得られたパラメータを用いて求めた右辺とを比較したものを図 3 に示す．

図 5 初期回転数 1054rpm で求めたパラメータを初期回転数 1317rpm に適用して得た実験データ

図 5 より先ほどと同様グラフのピーク値とグラフの挙動
図 3 初期回転数 1054rpm のときの実験データがほぼ一致していることが確認できた．
以 上 の 実 験 に よ り ，求 め た パ ラ メ ー タ は 初 期 回 転 数

図 3 ではピーク値，グラフの挙動ともに左辺と右辺でほぼ一致したので，求めたパラメータはこの実験において妥当であるとわかる．

4

求めた値の確認790rpm から 1317rpm の範囲において妥当性があると結論付けた．

5制御器設計サーボシステムを構成するため状態変数を[ ∫3 章で求めたパラメータは初期回転数 1054rpm のときのものであるが，初期回転数がいつもその値であるとは限（λ − λ∗ ）dt

λ − λ∗(13)ẋ = Ax + Bu，[]01
A = 0 α1 + α，(14)

x=らない．そこで初期回転数 790rpm と 1317rpm にしたときに 3 章で求めたパラメータの値が妥当かどうか調べる．
まず初期回転数を 1054rpm から 790rpm に変え，実験データをとった．ここでは求めたパラメータの値を確認するために先ほど初期回転数 1054rpm のときに求めたパラメータの値（11）を用いる．とし，状態空間表現はグラフのピーク値とグラフの挙動がほぼ一致していることが確認できた．
次に初期回転数を 1317rpm に変え，実験データをとった．ここでも求めたパラメータの値を確認するため，先ほどと同様初期回転数 1054rpm のときに求めたパラメータの値（11）を用いる．

2x2[式（6）の右辺と左辺の値を図 3 のように重ね合わせ図示し比較することにより確認した．図 4 より先ほどと同様]

B=0(15)]βx2(16)とする．次に最適レギュレータ問題の可解条件を，LMI 条件で表現し [5]，スリップ率を目標値に追従させる．
用いるリッカチ不等式は
TT
Popt（A+BKopt ）+(A+BKopt )T Popt+Kopt
RKopt +Q ≺ 0(17)である．
本研究においては式（15），（16）に変数 x2 が含まれているため，車体速度 r2 x2 は 10 km/h から 50 km/h の範囲で変動するものと考えてロバスト性を保証する．すなわち

10 km/h における行列 A，B をそれぞれ Amin ，Bmin とし，50 km/h における行列 A，B を Amax ，Bmax とする．
X = P −1 ，F = KX としてシュールの補題を適用す
ると，[[−He[Amin X + Bmin F]
QX
RF

XQ
Q0FTR0R−He[Amax X + Bmax F]
QX
RFXQ
Q0FTR0RX≻0]≻ 0， (18)]≻ 0， (19)(20)

図 6 シミュレーションと実機実験の結果が得られる．
また，X −1 の上界に相当する Z を導入し，シュールの補題を再び適用すると[るパラメータが不確かではないかと考え，最小二乗法を用いることにより，既知パラメータから未知パラメータをZIIX]推定した．このパラメータについて回転速度を 1054rpm，≻0(21)となる．

790rpm，1317rpm それぞれの場合において妥当性を確認した．このことにより信頼のおけるパラメータが得られた
ため，車体速度 10 km/h から 50 km/h の範囲でロバスト

これらの（18），（19），（20）の LMI 条件および（21）を性を保証するため，LMI を用いて制御設計を行いシミュ満足する X = X T ≻ 0，F が存在する範囲で trace[Z] をレーションを行った．またそれに基づいて実験機を動かし最小化する．ここで適切な重み Q と R を調節し，ゲインた．その実機実験の結果である図 6 と文献 [2] を比較した．

K を求めた．

図 6 では 1.5 秒までスリップ率が 0．1 から 0.3 の範囲に

6

シミュレーションと実験結果5 章で設計した制御器を用いてシミュレーションと実機実験を行う際に x2 は実機実験で得られた値を用い，文献 [2] の実機実験の結果と比較するために初期回転速度1317rpm とした．また，デューティ比への変換の式を用いて，入力はデューティ比とした [6]．そのシミュレーションと実機実験の結果を合わせたものが図 6 である．図 6 を見るとシミュレーションでは 0.5 秒でスリップ率 0.2 に到達しているが，実機実験では 0.1 秒あたりで 0.2 で到達しており，実機での方が良好な結果が出ている．この様に立ち上がりでシミュレーションと実機にずれが生じている，
これについてはシミュレーションで使用した m ファイルで実機について考慮できてない点があると考えられる．そこから 1.5 秒あたりまではスリップ率 0.1 から 0.3 までの範囲に収まっているため良好な制御ができていると言えるが，1.5 秒以降に速度が遅くなるにつれてスリップ率 0.1から 0.3 に収まらなくなり制御できてないことが確認でき収まっているのにたいし，文献［2］では約 0.9 秒の時点でスリップ率 0.3 を超えており，振幅も文献 [2］の方が大きいことが確認できたため，この点に関しては改善できたと言える．一方で速度が下がった際に良好な制御ができない点は改善できなかった．

参考文献[1] INTECO 社ホームページ．
http://www.inteco.com.pl/[2] 大石直人・遠山智孝: 「アンチロックブレーキングシ
ステムのロバスト制御」．南山大学情報理工学部卒業
論文，2014．

[3] INTECO: The Laboratory Anti-lock Braking System User’s Manual．
[4] 川田昌克: 『MATLAB/Simulink と実機で学ぶ制御工学』．TechShare，東京，2013．

た．このためよりよいパラメータを求める必要があると考[5] 川田昌克: 『MATLAB/Simulink による現代制御入門』．森北出版，東京，2011．

えられる．

[6] 筒井俊行: 「アンチロックブレーキングシステムのス7

おわりに本研究の目的は文献 [2] の結果をよりよく改善させることであった．ここでは特に制御対象のモデリングに用いライディングモード」．南山大学情報理工学部卒業論
文，2015．