傾斜可能な二輪車両と三輪車両のゲイン調整

Altair Driverでは、フロントフォークを操舵することにより、傾斜可能な車両の方向と傾斜角度を制御します。Altair Driverは、まず縦方向の軸を中心とした不平衡モーメントが車両に発生するように逆方向に操舵し、つづいて目的の方向への車両の傾斜を開始して、車両の傾斜角度と要求傾斜角度が一致するように操舵します。Step SteerやSinusoidal Steerなどの開ループイベントでは、要求傾斜角度は時間の関数で、イベントの出力は車両の経路です。Constant Radius CorneringやRoad Course Driveなどの閉ループ経路追従イベントでは、要求傾斜角度は目標傾斜角度と修正傾斜角度の合計です。目標傾斜角度は、車両速度、経路の曲率、車両質量、およびホイールとタイヤの角運動量で決まります。目標傾斜角度とは、重力、横加速度、およびホイールとタイヤの角運動量変化によって車両に発生するモーメントと釣り合う角度です。一方、修正傾斜角度は、以降の先読み時間で発生する経路誤差を最小限にすることを目的としています。詳細については傾斜可能な二輪車両と三輪車両をご参照ください。

ただし、車両速度が遅くなりすぎると、フロントフォークの操舵効果が低下する点に注意が必要です。タイヤ力によっても、ホイールとタイヤの角運動量方向の変化によっても、重力で車両に発生するモーメントを支えることができるモーメントを生成できなくなり、車両が転倒するからです。コントローラーゲインの組み合わせによっては、傾斜角度以外のすべての条件が同じであれば、他のゲインの組み合わせより低速でもAltair Driverで車両を制御できることも考えられます。しかし、車両がもともと低速で不安定な場合は、ゲインを調整しても低速での転倒を免れることはできません。

Altair Driverでは、開ループイベントと閉ループイベントの両方で、Altair Driverファイル(.adf)にある‘Follow_Lean’タイプのPIDコントローラーを使用します。‘Follow_Lean’への入力は、要求傾斜角度と実際の傾斜角度との誤差です。‘Follow_Lean’コントローラーの出力は、フロントフォークのステアリング角度です。開ループイベントでは、要求傾斜角度は時間の陽関数です。経路追従イベントでは、‘Follow_Lean’コントローラーを参照するフィードフォワードステアコントローラーから要求傾斜角度が暗黙的に取得されます。

傾斜走行している車両に対してイベントを実行すると、そのイベントについて、‘Follow_Lean’ PIDコントローラーの比例ゲイン、積分ゲイン、および微分ゲインを設定するAltair Driverファイル(.adf)がMotionViewによって作成されます。この.adfファイルには、たとえば次のようなブロックが記述されます。
[PID_CONTROLLER]
TAG = 'PID'
TYPE = 'FOLLOW_LEAN'
KP = 20
KI = 30
KD = 7
次のように、Event EditorのDriver > PID Controllersタブでこれらのゲインを変更してイベントを再実行することで、変更したゲインによるモデルへの影響を確認できます。
Figure 1.

ニーズを満たすまでゲインの調整を繰り返すことができます。Constant Radius Corneringイベントで良好な性能を実現するためのゲインの調整方法を以下に示します。

‘FOLLOW_LEAN’ PIDコントローラーの調整方法

PIDコントローラーを調整するための一般的な手順は次のとおりです:
  1. まず、積分()ゲインと微分()ゲインを0に設定してから、車両が振動の挙動を示すまで比例()ゲインを大きくします。
  2. 振動が停止するまでゲインを大きくします。
  3. ゲインを大きくしても振動が停止しなくなるまで、上記の2つの手順を繰り返します。
  4. 振動数が目的の値以下で、速い反応が得られる設定点に達するまで、ゲインを大きくします。
以下の表は、ゲイン値を大きくすることによる立ち上がり時間、オーバーシュート、整定時間に対する影響を示しています。
パラメータ 立ち上がり時間 オーバーシュート 整定時間
減少 増加 少量の変化
減少 増加 増加
軽微な変化 減少 減少

Constant Radius Cornering(CRC)イベントの例

ウィザードで作成したデフォルトのオートバイモデルによるConstant Radius Cornering(CRC)イベントで、良好な操舵性能が得られるまで‘FOLLOW_LEAN’ PIDコントローラーのゲイン値を段階的に調整します。出力ファイル.plt.mrf、または.abfからREQSUBの“Steer Control Feedback”出力要求チャネルf2(要求傾斜角度)とf3(実際の傾斜角度)をHyperGraphでプロットすることにより、このコントローラーの性能を確認できます。

手順1: 積分ゲインと微分ゲインを0に設定する
Constant Radius Corneringの.adfファイルを編集して、‘FOLLOW_LEAN’の比例()ゲインを10、積分()ゲインと微分()ゲインを0にそれぞれ設定します。


Figure 2.

Constant Radiusイベントを実行して、HyperViewで実際の傾斜角度をプロットし、必要に応じて結果をアニメーション表示します。以下のプロットに示すように、オートバイが転倒すること(傾斜角度の絶対値が45度よりはるかに大きくなる状態)を確認します。



Figure 3. 傾斜制御ゲインKp = 10、Ki = 0、Kd = 0で転倒するオートバイ
手順2:比例ゲインを大きくする

Constant RadiusのEvent Editorで傾斜制御ゲインを編集します。以下に示すように、積分ゲインと微分ゲインは0のままで、比例ゲインを10から30に大きくします。



新しいKp = 30の設定でConstant Radius Corneringイベントを再実行して、HyperViewで実際の傾斜角度をプロットするか、結果をアニメーション表示します。速度が速く、横加速度が大きいと、オートバイは不安定になって転倒します。



Figure 4. 傾斜制御ゲインKp = 30、Ki = 0、Kd = 0で高速になると不安定になるオートバイ
手順3:微分ゲインを大きくする
Constant RadiusのEvent Editorで傾斜制御ゲインを編集して、以下のように比例ゲインは変更せず、微分ゲインを10に設定します。


Figure 5.

Constant Radius Corneringイベントを再実行して、HyperViewで実際の傾斜角度と要求傾斜角度をプロットします。オートバイが転倒することはありませんが、実際の傾斜角度と要求傾斜角度との誤差が大きくなることがわかります。



Figure 6. 傾斜制御ゲインKp = 30、Ki = 0、Kd = 10で誤差が大きくなるオートバイ
手順4:積分ゲインを大きくする
Constant RadiusのEvent Editorで傾斜制御ゲインを編集して、比例ゲインと微分ゲインは変更せず、積分ゲインを20に設定します。


Figure 7.

Constant Radius Corneringイベントを再実行して、同様にHyperViewで実際の傾斜角度と要求傾斜角度をプロットします。オートバイは転倒せず、実際の傾斜角度と要求傾斜角度との誤差も小さくなることがわかります。



Figure 8. 誤差が小さくなるように調整した傾斜制御ゲイン:Kp = 30、Ki = 20、Kd = 10