Main Content

アンチロック ブレーキ システムのモデル化

この例では、単純なアンチロック ブレーキ システム (ABS) をモデル化する方法を示します。このモデルでは急ブレーキの条件下で自動車の動的動作をシミュレートします。このモデルは、多輪自動車のモデルを作成するために何回でも複製できる単一の車輪を表しています。

このモデルは、Simulink® の信号ログ機能を使用します。このモデルは、MATLAB® ワークスペースに信号をログ記録します。そこで信号を表示および解析できます。ModelingAnAntiLockBrakingSystemExample.m ファイルのコードを表示して、信号がどのようにログに記録されるのかを確認できます。

sldemo_absbrake モデルでは、sldemo_wheelspeed_absbrake という別のモデルで車輪速度が計算されます。このコンポーネントは、その後、Model ブロックを使用して参照されます。最上位モデルと参照モデルの両方が可変ステップ ソルバーを使用するため、Simulink は参照モデル内のゼロクロッシングを追跡します。

モデルの物理現象

車輪は、ブレーキをかける前の車両速度に対応する初期角速度で回転します。モデルでは別個の積分器を使用して車輪角速度と車両速度を計算します。モデルでは 2 つの速度を使用してすべりを計算します。これは、方程式 1 によって求められます。車両速度が角速度として表されることに注意してください。

$$\omega_v = \frac{V}{R} \mbox{ (equals the wheel angular speed if there is no slip)}$$

方程式 1

$$ \omega_v = \frac{V_v}{R_r}$$

$$slip=1-\frac{\omega_w}{\omega_v}$$

$$\omega_v = \mbox{ vehicle speed divided by wheel radius}$$

$$ V_v = \mbox{ vehicle linear velocity}$$

$$ R_r = \mbox{ wheel radius}$$

$$ \omega_w = \mbox{ wheel angular velocity}$$

車輪速度と車両速度が等しい場合、すべりは 0 であり、車輪がロックされている場合、すべりは 1 です。望ましいすべり値は 0.2 です。つまり、車輪回転数は、車両速度が同じで、ブレーキなしの条件下での回転数の 0.8 倍に等しくなります。この値はタイヤと路面間の粘着力を最大化し、利用可能な摩擦で停止距離を最小化します。

モデルの解析

タイヤと路面間の摩擦係数 mu は、mu スリップ曲線と呼ばれる、すべりの経験的関数です。Simulink ルックアップ テーブルを使用するブロック線図に MATLAB 変数を渡すことによって、mu スリップ曲線が作成されます。このモデルでは、摩擦係数 mu に、車輪にかかる重量 W を乗算して、タイヤの周囲に作用する摩擦力 Ff を算出します。Ff を車両の質量で割ると、車両減速度が得られます。このモデルでは、これを積分して車両速度を求めます。

このモデルでは、実際のすべりと望ましいすべりの間の誤差に基づいてバンバン制御を使用する、理想的なアンチロック ブレーキ コントローラーを使用します。望ましいすべりは、mu スリップ曲線がピーク値に到達するすべりの値に設定されます。このピーク値は、最小制動距離の最適値です。

実際の車両では、すべりを直接測定することはできないため、この制御アルゴリズムは実用的ではありません。この例ではこのアルゴリズムを使用して、このようなシミュレーション モデルの概念構築を説明します。

Wheel Speed サブシステムをダブルクリックして開きます。車輪すべりと、望ましい車輪すべり、タイヤ トルクが与えられた場合に、このサブシステムは車輪角速度を計算します。

ブレーキ圧力の変化率を制御するために、このモデルは、望ましいすべりから実際のすべりを引き、この信号をバンバン制御に送ります (誤差の符号に応じて、+1 または -1)。このオン/オフ率は、ブレーキ システムの油圧パイプに関連付けられている遅延を表す一次遅れを通過します。次に、このモデルはフィルター処理された率を積分して、実際のブレーキ圧力を算出します。車輪に対するピストン面積およびピストン半径 (Kf) で乗算される結果の信号は、車輪に適用されるブレーキ トルクです。

このモデルは、車輪に対する摩擦力に、車輪半径 (Rr) を乗算して、車輪に対する路面の加速トルクを得ます。ブレーキ トルクを減算して、車輪に対する正味のトルクを得ます。正味トルクを車輪の回転慣性 I で割ると、車輪加速度が得られます。これを積分して車輪速度を得ます。車輪速度と車両速度を正に保つために、このモデルでは制限付き積分器を使用します。

ABS モードでのシミュレート

[シミュレーション] タブで [実行] をクリックし、シミュレーションを実行します。MATLAB コマンド ウィンドウで sim('sldemo_absbrake') コマンドを入力してシミュレーションを実行することもできます。このシミュレーションの間、ABS はオンになります。

このモデルは、MATLAB ワークスペースの sldemo_absbrake_output という構造体に関連データのログを作成します。ログが作成された信号には青いインジケーターが付きます。この場合、youtslp のログが作成されます。

これらのプロットは、既定のパラメーターでの ABS シミュレーションの結果を示しています。1 つ目のプロットは、車輪角速度とこれに対応する車両角速度を示しています。2 つ目のプロットは、ロックしない場合、車輪速度は車両速度を下回ったままであり、車両速度が 15 秒未満で 0 になることを示しています。車輪加速度、車輪すべり率、およびブレーキ圧力が監視されます。車輪すべり率は車輪がロックされているかどうかを判別するために使用されます。停止距離およびブレーキ圧力を監視することでブレーキ サイクルが観察されます。

ABS なしでのシミュレート

より意味のある結果を得るために、ABS なしで自動車の動作を検討します。MATLAB コマンド ウィンドウで、モデル変数 ctrl = 0 を設定します。この設定により、コントローラーからスリップ フィードバックが切断され、その結果、ブレーキが最大になります。

シミュレーションを再度実行して、ABS なしでブレーキをモデル化します。

ABS 付きのブレーキと ABS なしのブレーキ

車両速度と車輪速度を示すプロットで、車輪が約 7 秒でロックされるのを確認します。その時点から、スリップ曲線の準最適の部分でブレーキがかかります。つまり、slip = 1 の場合、スリップのプロットが示すように、タイヤは路面上を大きくスリップするため、摩擦力が減少します。

このプロットでは、2 つのケースについて車両が移動する距離が示されています。ABS なしの場合、車両はさらに約 100 フィートスリップし、停止するまでに約 3 秒長くかかります。

モデル化の拡張

この例のコントローラーは理想的ですが、任意の制御アルゴリズムを代わりに使用してシステムのパフォーマンスを評価できます。提案されたアルゴリズムのラピッド プロトタイピング用に、Simulink Coder™ を使用することもできます。

  • Simulink Coder は、コントローラー ハードウェアが車両で概念をテストできるように、C コードを生成してコンパイルします。このプロセスにより、開発サイクルの初期段階で実際のテストが可能になるため、新しいアイデアを証明するために必要な時間が大幅に短縮されます。

  • ハードウェアインザループのブレーキ システム シミュレーションの場合、Simulink Coder によってリアルタイムの C コードを生成して、バンバン コントローラーを削除し、リアルタイム ハードウェアで運動方程式を実行して、車輪と車両のダイナミクスをエミュレートできます。次に、実際の ABS コントローラーをテストするには、生成されたコードを実行するリアルタイム ハードウェアにこのコントローラーをインターフェイス接続します。このシナリオでは、リアルタイム モデルは車輪速度をコントローラーに送信し、コントローラーはブレーキ アクションをモデルに送信します。

関連するトピック