乗り心地を重視した車両制御システムの設計とシミュレーション 服部有里子,青木慎吾,小林 颯 筑波技術大学 産業技術学部 産業情報学科 要旨:自動車の機能は,走る・止まる・曲がるに加えて乗り心地を考慮する必要があり,本研究では車の車両速度制御について自動運転制御により,乗り心地を重視した車両制御システムを開発した。「乗り心地を重視した車両制御システム」では,走行中に車両速度を追従制御し,ドライバがアクセルペダルを操作しなくても自動的に車両速度を一定に維持できるクルーズコントロールシステムを構築する。本稿では,PID制御のパラメータ調整法を適用し,制御対象である自動車の乗り心地を重視することにより,車両制御の安定化を図った制御システムの設計とシミュレーションについて報告する。 キーワード:クルーズコントロールシステム,PID制御,フィードバック制御,自動走行運転 1.はじめに 交通事故死者削減・渋滞低減のため,自動車の自動走行・高度運転支援技術の開発が進められている。車の機能は,走る・止まる・曲がるに加えて乗り心地を考慮する必要があり,本稿では自動車の車両速度制御について自動運転制御により,乗り心地を重視した車両制御システムを開発した。ここでは,車両速度が急変化することなく,安定した車速での走行を制御することで乗り心地がよくなると考える。「乗り心地を重視した車両制御システム」では,走行中に車両速度を追従制御し,ドライバがアクセルペダルを操作しなくても自動的に車両速度を一定に維持できるクルーズコントロールシステムを構築する。クルーズコントロールでは,車両速度を動的に計算し,最適なペダル開度の設定による,安定した乗り心地のよい運転制御システムの開発が重要である。この場合,要求されるシステムの課題は以下の2点である。. 車両の速度変化を動的に計算し,車両速度を一定に維持することで,車速が急変化することなく,走行安全性を優先すること. 外乱がある場合もクルーズコントロールすることにより,振動を最小限に抑え,即時に車両速度を追従制御することこれまで車両制御システムとして,フィードバック制御系のPID制御(Proportional, Integral and Differential制御:制御偏差に基づいて制御入力信号を生成する制御)のパラメータ調整方法が提案されている[1, 2]。しかし,実際の車両モデルを考慮した場合と比較すると,たとえ正確にモデリングできたとしてもモデル誤差が少なからず存在する。本稿では,モデル誤差についてPID制御のパラメータ調整法を適用し,制御対象である自動車の乗り心地を重視することにより,車両制御の安定化を図った制御システムの設計とシミュレーションについて報告する。具体的には,車の自動速度制御を行う,フィードバック制御系としてPID制御を設計した。シミュレーションにより検証・評価を行い,自動走行運転の速度制御による乗り心地向上,及び快適性向上について,サービスの有効性を評価した。 2.関連研究 車両制御システムとしては,フィードバック制御系のPID制御のパラメータ調整方法が提案されている。しかし,実際の車両モデルを考慮した場合と比較すると,モデル誤差が少なからず存在する。また,車両重量,外乱による環境の変化による各パラメータの変動等を考慮すると,モデルの安定性は重要な要素であると考えられる。機械系においてPID制御は広く利用されているが,対象が時変系であるためにPIDパラメータの調整がうまくできない場合が往々にして存在している。本稿では,そのような問題に対してアドバンスト制御であるセルフチューニング法やロバスト制御の観点からPIDパラメータを調整する方法について研究した。 3.問題設定と要求条件 3.1 PID制御 本研究では,フィードバック制御系として機械系で広く利用されているPID制御を採用する。PID制御は入力値の制御を出力値と目標値との偏差,その積分及び微分の3つの要素によって行う方法である[3]。 3.2 パラメータ調整 PID制御の各パラメータの値(Kp,Ki,Kd)は設計値であるため,制御対象と独立に自由に与えることができ,要求を満たす最適値を決定する必要がある。しかし,一般的な制御対象に対して,最適なゲイン値を与える代表的な方法は存在せず,実際の調整は数値シミュレーションを行ったり,実際の対象物に調整器を繋いで試行錯誤的に最適値を得ている。パラメータ調整の経験則として,ジョン・ジーグラ(John G. Ziegler)とナサニエル・ニコルス(Nathaniel B. Nichols) らにより提案された2つの調整法,ジーグラ・ニコルスの限界感度法とジーグラ・ニコルスの過渡応答法が知られている[4]。 3.3 要求条件 本稿で提案する乗り心地を重視した車両制御システムでは,これらの課題と特性に対応した安定性の高いシステムが要求される。ここで,システムが満たすべき要求条件を以下にまとめる。@ アクセルペダルを踏まなくても一定の速度を保って走行するシステムであることA 横風などの外乱を受けた場合も外乱による操舵角や位置のずれを算出し,走行方向を維持するシステムであることB ブレーキを踏み込むと,クルーズコントロールが解除されること 4.乗り心地を重視した車両制御システムの提案 前章で整理した要求条件を満足するシステムとして,乗り心地を重視した車両制御システムを提案する。車両制御システムは,エンジン・トルクコンバータ(T/C) ・車両側・変速制御の4つのサブシステムから構成される。エンジンにて,ペダル開度と現在のエンジン回転数を入力としてエンジントルクを計算する。エンジントルクはT/Cにて出力トルクとして伝達され,余った余剰トルクはエンジン回転数の回転上昇に使用される。T/Cにて計算した出力トルクから回転角加速度を計算し,回転角速度から速度に変換し,それを変速制御に送り込む。変速制御は,適切なタイミングでどのギヤ段を使うかを判断する装置である。車両制御システムのシステム構成を図1に示す。 図1 乗り心地を重視した車両制御システムの構成 5.フィードバック制御系のPID制御の設計 5.1 エンジン エンジントルク[Nm]は,シミュレーションスタート後はデータマップと無関係に0.2秒間,100 [Nm]のトルクを発生する。0.2秒経過した後はデータから計算した値に切り替える。ペダル開度[%]と現在のエンジン回転数Ne [rpm]を入力として,2次元関数を近似するブロックでエンジントルク[Nm]を出力する。5.2 トルクコンバータ5.2.1 釣り合いトルク・出力トルクの計算エンジン回転数Ne [rpm],出力回転数Nout [rpm]として,以下の数式を計算する。駆動側速度比: e = Nout / Ne [0~1] 被駆動側速度比: e' = Ne / Nout [0~1]ただし,Nout = 0のとき,e' は0とする。容量係数: c = f 1(e) [Nm/rpm2]トルク増幅比: T = f 2(e) [Nm]釣り合いトルク駆動側: Tout1 = c × Ne2 [Nm]釣り合いトルク被駆動側: Tout1' = -c × Nout2 [Nm]出力トルク: Tout2 = Tout1 × T [Nm] 5.2.2 トルクコンバータのモデルエンジン回転数Ne [rpm]は,T/Cに入力されるトルクTe [Nm]と釣り合いトルクTout1 [Nm]との差を使用して計算する。入力トルクTeは出力トルクとして伝達され,余った余剰トルクはエンジン回転数Neの回転上昇に使用される。Neは次の式で計算する。 数式1 Ine:入力イナーシャ[kgm2](Ineを0.2[kgm2]とする) 5.3 変速制御変速制御は,速度などに応じてシフトアップ・シフトダウンするかを判断する制御である。前回のギヤ段やペダル開度,車両速度を基に新たなギヤ段へシフトする(図2)。ペダルを踏み込み速度が上がるとき,shift1-2UP線を通過するとギヤ段が1から2へと変わる(@)。同様にshift2-3UP線を通過するとギヤ段が2から3へと変わる(A)。shift3-4UP線を通過するとギヤ段が3から4へと変わる(B)。ペダルを緩めると速度が下がってくるため,shift4-3DOWN線を通過するとギヤ段が4から3へと変わる(C)という構造である。 図2 変速制御のギヤ段シフト 5.4 車両側 車両側サブシステムは,入力トルク[Nm],ギヤ段,車両重量[kg],タイヤ半径[m],勾配[rad]の5つの入力から入力軸回転数[rpm]と速度[km/h]を算出する。 5.4.1 走行抵抗の計算 走行抵抗R [N]には,空気抵抗R1 [N],勾配抵抗R2 [N],道路抵抗R3 [N]の3つの抵抗がある。R = R1 + R2 + R3 R1 = 抵抗力 × 車両速度2 数式2 k:空気抵抗係数 S:前面投影面積[m2] ρ:空気密度[kg/m3] R2 = m × g × sinθR3 = m × g × cosθ × Crr m:車両重量[kg] g:重力加速度[m/s3] θ:勾配[rad] Crr:転がり抵抗係数(アスファルトの場合は0.01) 5.4.2 出力軸回転数の計算 車両重量 m [kg],タイヤ半径 r [m],走行抵抗 R [N],入力トルク T [Nm]から出力軸回転数 n [rpm]を計算する。車両重量,タイヤ半径から回転慣性モーメントであるイナーシャI [kgm2]を求め,イナーシャとトルクから出力回転数を割り出すことができる。イナーシャI [kgm2]の式は次のとおりである。I = m × r2 m:車両重量[kg] r:タイヤ半径[m]走行抵抗によって,外からタイヤにトルクがかかり,損失トルクが発生する。よって,車両からタイヤに入るトルクから損失トルクを考慮して,タイヤにかかる正味のトルク(損失込みトルク)を計算する必要がある。損失込みトルクTout [Nm]の式は,Tout = T . Tr T:タイヤに入るトルク[Nm] Tr:損失トルク[Nm]次にイナーシャIと損失込みトルクToutから回転角加速度 a [rad/s2]を求める。式は次のとおりである。 数式3 回転角加速度a [rad/s2]を積分して角速度[rad/sec]を求め,出力軸回転数n [rpm]を計算する。式は次のとおりである。 数式4 5.4.3 速度計算 出力軸回転数n [rpm]とタイヤ半径r [m]から速度V [km/h]を計算する。式は次のとおりである。 数式5 5.4.4 車両側モデル これまで計算したモデルを組み合わせることで,図3に示す車両側モデルが構築できる。 図3 車両側モデル 6.シミュレーションによる検証・評価 6.1 フィードバック制御系の検証・評価 6.1.1 P・PI・PID制御の評価 フィードバック制御系を用いてペダル開度[%]を制御し,次の要求仕様を満たすパラメータを設定する。要求仕様:20秒後に60[km/h]の速度に到達すること。P制御・PI制御・PID制御モデルを作成する。パラメータ値は,Kp=4,Ki=1,Kd=0.1とする。また,外乱の影響はないものとして外乱の計算は省く。作成したP・PI・PID制御モデルをそれぞれ車両モデルに取り付けてシミュレーションを実行した[5]。目標値の設定として,ステップ時間を20[s],初期値を60[km/h],最終値を60[km/h]とした。3つの制御系を使用してペダル開度[%]と速度[km/h]を調べた結果,PI制御とPID制御による結果はほとんど同じになっていることがわかった。P制御については初期の加速する部分は緩やかになっているが,要求仕様である「20秒後に60[km/h]の速度に到達すること」に達していないことがわかる。P制御の速度グラフを見てみると,58[km/h]あたりにとどまっていることから,P制御では目標速度に収束することが難しいと考える。一方,PI制御とPID制御では20秒後丁度に目標設定である60[km/h]に収束していることがわかる。ただし,初期の加速する部分は急になっており,5秒以内に60[km/h]に達しているため,乗り心地が良くないだろうと考える。そこで,加速する部分のグラフが緩やかになるように,表1に示すパラメータ値を入れ替えてシミュレーションを実行した。今回はPI制御とPID制御の結果がほとんど同じであるため,パラメータが1つ少ないPI制御を使用した。 表1 PI制御のパラメータ値 6.1.2 PI制御の評価 PI制御において,表1のパラメータ値を用いてシミュレーションを実行した。まず,Kp=6,Ki=1とKp=2,Ki=1のように元のパラメータ値Kp=4,Ki=1においてKpだけ数値を変えて実行した結果,Kpの数値が大きいほど急速に目標値に近づくことがわかった。逆に,小さいほど緩やかになっている。ただし,この値が小さいほど目標値を大きく超えてしまい,さらに元に戻そうとしても目標値を行き過ぎてしまい,結果的に振動が起きてしまうことがわかった。また,Kp=4,Ki=10とKp=4,Ki=0.1のようにKiの数値だけ変えて実行した結果,Kiの数値が大きいほどグラフの波形の振幅が大きくなることがわかる。つまり,Kiの数値が小さいほど収束が早くなるということがいえる。以上の4ケースのパラメータ値から,加速が緩やかかつ収束が早いグラフにするためには,KpとKiの数値を両方とも小さくする必要があると考える。ただし,どちらかが一方的に小さくなりすぎるとグラフが乱れてしまうため,2つのパラメータ値を用いてうまく調整する必要がある。4ケースのパラメータ値を基にいろいろな数値を入れて試行錯誤を重ねた結果,Kp=2,Ki=0.1が最も適した数値であると推測した。その結果を図4に示す。安定走行するまでに20[sec]かかるが,オーバーシュートや振動がないことが確認できる。実際のシステムで過度な速度変化は車両の損傷や安全性や乗り心地に関わる点であるため,その観点からこの結果は良いといえる。 図4 PI制御の結果(Kp=2,Ki=0.1のとき) 6.1.3 パラメータ値を変えずに加速を調整する方法 次に,パラメータ値を変えず加速度を調整する別の方法を考える。Saturationブロックを使用して入力信号を上限と下限の飽和値に制約する方法である。これまでの実験ではSaturationブロックにおける上限は10,下限は-10である。今回の実験では,上限を5,下限を-5に変えてPID制御のフィードバック制御系を使用する。その結果を図5に示す。上限10,下限-10の場合よりも加速度が緩やかになっていることがわかる。その理由は,上限10,下限-10の場合と比べて上限5,下限-5の方がフィードバックの回数が多くなり,目標値に近づくのに時間がかかるため,加速度が緩やかになっていると考える。 図5 PID制御の結果(上限5,下限−5のとき) 6.2 PI制御とPID制御の比較 これまでの実験でPI制御とPID制御におけるシミュレーション結果がほとんど同じだった。PI制御における結果を見ると,速度[km]の波長の振動があまり見られず,収束も早くなっていることから,PID制御に変えても些細な変化に気づいていない可能性があるということである。そこで,意図的にPI制御のパラメータKp,Kiの数値を変えて波長の振幅を大きくさせ,その状態でPID制御に変えて波長の変化を調べる実験を行った。Kiの数値が大きくなるほど振幅が大きくなるため,Kp=1,Ki=5,Kd=0.1とした。シミュレーション実行時間は300[s]とした。図6にPI制御の結果,図7にPID制御の結果を示す。図6と図7を比較すると,150[s]あたりのところで振幅の大きさがわずかながら図7のPID制御の方が小さいことがわかった。波長の振幅の大きさが小さいほど収束は早くなるため,PID制御の微分動作(D動作)は波長の振動を抑制する性質を持っているといえる。次に,Kdの数値を大きくしてシミュレーションを実行した。Kd=3とした結果を図8に示す。Kdの数値が大きいほど,波長の振幅の大きさが小さくなってきており,収束も早くなっていた。 図6 PI制御の結果(Kp=1,Ki=5のとき) 図7 PID制御の結果(Kp=1,Ki=5,Kd=0.1のとき) 図8 PID制御の結果(Kp=1,Ki=5,Kd=3のとき) PID制御は,目標値と現状の制御量との差(偏差)に比例して操作量を変化させる比例動作(P動作)と,偏差をなくそうとする性質を持つ積分動作(I動作)と,波長の振動を抑える性質を持つ微分動作(D動作)を組み合わせることで,偏差がより少なく収束がより早く安定した応答が実現できると考える。 6.3 外乱がある場合の検証・評価 外乱がある場合,P・PI・PID制御においてどのフィードバック制御系が最も適しているのか検証を行った。外乱として,スタート時点から坂道を走行するものとする。ペダル開度[%]と勾配[°]を設定し,勾配に入っても速度が下がらないようにフィードバック制御を行った。Kp=4,Ki=1,Kd=0.1とした。3つのシミュレーション結果から,P制御において最初は目標値(60[km/h])に向かって速度を上げようとしているものの,勾配という外乱が原因なのか30[km/h]にさえも達しておらず,外乱がない状態よりもかなり偏差が残っていることがわかる。このことから,P制御では外乱がある場合は速度をコントロールすることが難しいと考える。PI制御とPID制御において,ほとんど同じ結果となった。いずれも50[s]までに目標値である60[km/h]に収束しているように見えた。本当に収束しているかまたどのような波長になっているのか確認するために速度の表示範囲を59[km/h]〜61[km/h]に設定した。PI制御とPID制御において違いはほとんど見られなかった。PI制御において波長の振動もほとんど見られず,振動を抑制する役目を果たすD動作を加えても変化が起きないことが原因だと考える。いずれも目標値である60[km/h]に向かって収束しつつあるが300[s]になってもまだ偏差(-0.2〜0)が残っていることがわかった。偏差があるため,偏差をコントロールできるI動作の数値をKi=5に変更した。Kiの数値を大きくした結果,より振動的になったが0.03程の偏差は残っているものの,目標値である60[km/h]により近づいた。波長の振動を抑えるために,D動作をKd=1に変えてみた結果,より波長の振幅の大きさが小さくなった。図9にPI制御の結果,図10にPID制御の結果を示す。波形からは,外乱に対してはかなりの強さを持っていると考えられる。ただし,各所に見られる振動はギヤの変化による影響と見られる。外乱の変化が激しいほどギヤ段の変化も激しくなり,振動を与えることなく安定した一定の速度を保つようにするためには,坂道を走るときエンジンブレーキをかけるというように坂道対象の制御システムを設計する必要があると考える。 図9 PI制御の結果(外乱あり,Ki=5のとき) 図10 PID制御の結果(外乱あり,Ki=5,Kd=1のとき) 7.おわりに 本稿では乗り心地を考慮した車両制御システムを提供するため,フィードバック制御系のP制御・PI制御・PID制御において,各パラメータKp,Ki,Kdの数値及び車両速度の上下限の数値の調整方法について研究し,シミュレーションにより検証・評価した。PI制御とPID制御については,D動作を加えることによって少しでも波長の振動を抑えることができるため,どのような制御対象においてもPID制御を使用することが望ましいことを確認した。ただし,PID制御はPI制御に比べて位相の遅れが生じることがデメリットである。外乱がある場合は,PID制御において外乱がない場合よりも偏差が生じやすくなるためI動作を大きくする必要がある。今後は,各パラメータKp,Ki,Kdの数値の調整において,最適な数値を算出する方法としてジーグラ・ニコルスの2公式と呼ばれる限界感度法と過渡応答法の2つの方法についてさらに研究し,本稿のシミュレーション評価との差異について検討する所存である。 参照文献 [1] 佐藤和也,平元和彦,平田研二.はじめての制御工学.講談社,2010. [2] 佐伯正美.制御工学 −古典制御からロバスト制御へ−.朝倉書店,2013. [3] 森泰親.制御工学.コロナ社,2001. [4] 山本重彦,加藤尚武.PID制御の基礎と応用.朝倉書店,2005. [5] 久保孝行.自動車業界MBDエンジニアのためのSimulink入門.TechShare,2012. Design and Simulation of Vehicle Control System Considering Ride Quality HATTORI Yuriko, AOKI Shingo, KOBAYASHI Hayate Department of Industrial Information, Faculty of Industrial Technology,Tsukuba University of Technology Abstract: The functions of a vehicle are to run, stop, and turn; further, it is necessary to consider ride quality. In this study, a vehicle control system was developed focusing on ride quality, with regard to vehicle speed control by automatic driving control. "The vehicle control system considering ride quality" controls vehicle speed, which is overtaken during driving, and then the cruise control system is developed, which maintains vehicle speed fixedly automatically, even if the driver does not operate the accelerator pedal. In this study, a parameter adjustment system of PID (proportional, integral and differential) control was applied. We report on the design and simulation of the vehicle control system, which was aimed at the stabilization of vehicle control by considering vehicle ride quality as the control target. Keywords: Cruise control system, PID (Proportional, Integral and Differential) control, Feedback control, Automatic run driving