はじめに
自動運転の実証実験が様々な地域で実施され,毎日のようにニュースやSNSにて自動運転関係の記事が拡散されるようになりました。高精度地図に基づく外界認識・目標経路生成を用いた伝統的な手法だけでなく,効率的なデータ収集とモデル実装に基づくE2E型の自動運転も急速に普及しつつあります。特に,E2E自動運転に関しては海外の新興企業を中心とする自動運転レベル2++の量産販売に伴い,日本においても各メーカーにて量産車への適用や無人運転車への実証が試みられています。様々な車両のデータを集めて効率的な学習を可能にするフリートラーニング技術の発展により,現状の自動運転システムにおける運転行動や目標経路計画の精度は人間の運転に非常に近づいていると言ってもいいでしょう。
しかしながら,AIによる目標経路計画がいかに優れていても,車体が目標経路に追従しなければ所望の自動走行を実現できません。車体を適切に制御できなければ,目標経路に対する横偏差の増大・応答遅れ・操舵角の過大な変動が生じます。特に,経路追従制御では目標経路に対する横偏差と方位角偏差を極力低減しながら,過渡応答時の車体振動を小さくする必要があります。また,実際の車体には車体ごとの個体差や走行状況に依存する運動特性のバラつきが存在します。特性変動に対してロバストな制御となるように車体制御を設定する必要があります。したがって,車両制御は依然として自動運転にとって重要な技術であり,E2Eのような新しい方式の手法が普及しても使い続ける必要があります。
前回の記事では,国内自動運転の様々な実証で用いられてきたPath following制御に関して解説しました。Path following制御はモデル予測制御のような実時間最適化を用いた手法ではありませんが,制御則が比較的シンプルな方法のため,いくつかの実証で用いられています。前回記事では,手法の紹介と数値シミュレーションでの有効性検証について解説しました。
Path following制御は比較的簡単な制御方法ですが,制御則のゲイン $K_2, K_3$ をチューニングしなければなりません。$K_2, K_3$ が小さすぎると横偏差の収束が遅くなり車線逸脱が生じてしまいます。ゲインが大きすぎると過大な操舵角変動や横加速度の増大を招きます。したがって,実際の実証実験では実車試験や高精度な車両シミュレーションを用いて,ゲインを試行錯誤しながら調整する必要があります。自動車のような実験車両を用いたゲイン調整はテストコースの確保や実験車両の操縦等の多大な時間と労力を要します。自動運転サービスの実用化が本格化し,様々な車両でパラメータ調整が必要になるほど,なるべく少ない実験回数でゲインを自動調整できる手法が望まれます。
以上の背景のもと,本記事ではPath following制御のゲインを,1 回の走行実験データを用いてオフラインで自動チューニングする方法を解説します。車体運動特性を厳密に同定するのではなく,目標ヨーレートから実際のヨーレートまでの応答を未知の線形時不変ブロックで表現できると仮定し,目標経路の曲率から横偏差までの閉ループ系を定義します。1 回の走行実験データを用いてデータ駆動モデルマッチング問題としてゲインを調整することにより,自動チューニングを実現します。
本記事は,以前に解説したPath following制御の記事の続編にあたります。関連記事として,Path following制御における自動運転の経路追従/車体ヨーレート制御 と,Pythonによるベイズ最適化を使った効率的な制御系設計 もあわせてご覧ください。
問題設定
本章では,本記事の問題設定について解説します。ここでは,車体の条件やPath following制御の前提を述べます。
制御対象
今回対象とする車両は Fig. 1 の前輪操舵車両です。$δ$は前輪の操舵角です。$θ$と$ω$はそれぞれ車両の姿勢角とヨーレートです。$V$は車両の車速です。本システムでは車両を曲率$ρ$をもつ目標経路へ追従させることを目指します。Fig. 2 に自動運転システムの構成例を示します。本システムでは外界・内界情報に基づいて運転行動が決定され,車両の目標経路が計画されます。上位のシステム(経路計画・運転行動決定)では目標経路情報を経路の曲率$ρ$と目標車速として計算します。目標経路と自車間の横偏差・方位角偏差が経路誤差として計算・測定できるとします。以上の条件のもと,目標経路と自車間の横偏差と方位角偏差が小さくなるような自動操舵を実現することにより,車両を目標経路に追従させて自動走行することを目指します。ただし,車速に関しては車速制御により,目標車速と実際の車速がほぼ一致しているとみなします。本来は車速制御の設計もすべきですが,ここでは経路追従制御のみに焦点を当てて解説します。
Path following制御
経路追従制御に関して様々な手法が提案されていますが,今回は国内自動運転の様々な実証で用いられてきたPath following制御に関して解説していきます。Path following制御はモデル予測制御のような実時間最適化を用いた手法ではありませんが,制御則が比較的シンプルな方法のため,いくつかの実証で用いられています。この章ではPath following制御の考え方と制御則を解説します。
Path following制御における考え方として,目標経路上で自車と並走している仮想的な車両が存在するとします。この仮想車両に対して実車両を追従させることにより,経路追従の実現を目指します。車体の挙動を運動学モデルとして表現すると,運動方程式を
\frac{d}{dt} \begin{bmatrix}
x \\
y \\
\theta
\end{bmatrix} = \begin{bmatrix}
\cos(\theta) & 0 \\
\sin(\theta) & 0 \\
0 & 1
\end{bmatrix} \begin{bmatrix}
V \\
\omega
\end{bmatrix}
と表現できます。($x$,$y$)は車両の自己位置です。目標経路における仮想車両の運動方程式を
\frac{d}{dt} \begin{bmatrix}
x_r \\
y_r \\
\theta_r
\end{bmatrix} = \begin{bmatrix}
\cos(\theta_r) & 0 \\
\sin(\theta_r) & 0 \\
0 & 1
\end{bmatrix} \begin{bmatrix}
V_r \\
\omega_r
\end{bmatrix}
と表現できます。$r$は仮想車両のパラメータを意味する添え字としています。それぞれの変数の意味は自車の運動方程式と同じです。仮想車両のヨーレートは
\omega_r = \rho V_r
と定義します。ここで,Fig. 3 のように仮想車両に対する誤差を方位角偏差$e_{3}$と横偏差$e_{2}$として考えます。
Fig. 3 のように仮想車両の座標系に原点をおいて自車の動作を考える場合,幾何学的な関係から自車と仮想車両間の相対誤差を
\begin{bmatrix}
e_1 \\
e_2 \\
e_3
\end{bmatrix} = \begin{bmatrix}
\cos(\theta_r) & \sin(\theta_r) & 0 \\
-\sin(\theta_r) & \cos(\theta_r) & 0 \\
0 & 0 & 1
\end{bmatrix} \begin{bmatrix}
x - x_r \\
y - y_r \\
\theta - \theta_r
\end{bmatrix}
と表現できます。ここで,$e_{1}$ は仮想車両に対する縦方向の誤差です。さらに,この式を微分することにより,相対誤差の微分方程式を
\frac{d}{dt} \begin{bmatrix}
e_1 \\
e_2 \\
e_3
\end{bmatrix} = \begin{bmatrix}
V \cos e_3 - V_r + e_2 \omega_r \\
V \sin e_3 - e_1 \omega_r \\
\omega - \omega_r
\end{bmatrix}
と表現できます。ただし,ここでは運動学モデルに基づく説明のため,$ω=d\theta/dt$,$ω_r=d\theta_{r}/dt $ とみなします。ここで,仮想車両が自車と縦方向に並走するように $e_{1}=0$ かつ $de_1/dt=0$ を課すと,仮想車両の速度を
V_r = V \cos e_3 + e_2 \omega_r
と表現できます。このとき,仮想車両のヨーレートは
\omega_r =\rho V_{r}= \rho \left(\frac{V \cos e_3}{1 - e_2 \rho}\right)
と表現できます。仮想車両の速度が以上のように与えられるとき,相対誤差の微分方程式を
\frac{d}{dt} \begin{bmatrix}
e_2 \\
e_3
\end{bmatrix} = \begin{bmatrix}
V \sin e_3 \\
\omega - \omega_r
\end{bmatrix}
と表現できます。以上のように,自車と仮想車両に対する誤差方程式を導出できました。この誤差方程式に基づいてリアプノフの安定性理論を満たすような経路追従則がPath following制御となります。リアプノフの安定性理論とは,制御対象に対するリアプノフ関数に基づいて制御系の安定性を保証する論理です。よくわからない方は,「Path following制御で車両を経路追従させる際に,横偏差と方位角偏差を発散させずに収束させるための理論的な裏付け」だと思っていただけると結構です。導出方法の詳細は割愛しますが,リアプノフ関数が存在するように設計されたPath following制御の経路追従則は
\omega_c = \omega_r - K_2 e_2 V - K_3 \sin e_3
となります。$K_{2}$と$K_{3}$はフィードバックゲインであり,$ω_{c}$が車体の目標ヨーレートとなります。$ω_{c}$はPath following制御から得られる目標ヨーレートであり,実際の車体への入力は前輪の操舵角$δ$であることに注意してください。したがって,$ω_{c}$を実ヨーレート$ω$の目標値として扱い,それに対応する操舵角を車両へ入力することにより,自車を目標経路に対して追従させます。以上がPath following制御による目標経路への経路追従則となります。
$\omega_c$ は,Path following制御則における目標ヨーレートとなります。したがって,実際のヨーレートを$\omega_c$に追従させるための操舵角 $\delta$を計算しなければなりません。車体の正確な物理パラメータが既知であれば,動力学モデルに基づいて操舵角を計算できます。しかしながら,自動運転開発における多くのケースでは車体の正確な物理パラメータが未知であり,ホイールベースのような測定が容易なパラメータしか既知でないことが多いです。ここでは,幾何学的モデルに基づく簡易なヨーレート-操舵角変換則として,
$$
\delta = \tan^{-1}\left(\frac{l}{V}\omega_c\right)
$$
を適用します。ここで $l$ はホイールベースです。車体が比較的低速で走行するのであれば,本制御則により目標ヨーレートと実ヨーレートがおおむね一致します。しかしながら,タイヤの横スリップや横力のダイナミクスを表現できないため,$\omega_c$と$\omega$の間に誤差が存在します。したがって,所望の制御応答を実現するため,車速条件に応じた$K_2, K_3$をチューニングしなければなりません。
以上の問題設定のもと,本記事ではなるべく少ない走行実験データを用いてPath following制御のゲインを自動チューニングすることを目指します。なお,前回記事でも述べましたが,Path following制御自体は日本人研究者を中心に様々な研究がなされています。以下の文献のように様々な拡張がなされています。本記事で述べるゲイン調整方法だけでなく,色々な車両への拡張も試みられています。本記事では既知文献に基づくゲイン設計の方法に関して解説していきます。
・吉田順, 杉町敏之, & 深尾隆則. (2011). トラックの Path Following 制御に基く自動運転. 日本機械学会論文集 C 編, 77(783), 4125-4135.
・鈴木元哉. (2024). Path following 制御のデータ駆動ゲイン自動調整. 電気学会論文誌 C (電子・情報・システム部門誌), 144(8), 808-815.
・杉町敏之, 深尾隆則, & 鈴木儀匡. (2013). トラックの Path Following 制御に基づく自動レーンチェンジ. 自動車技術会論文集, 44(1), 193-198.
・植月悠記, 渥美友喜, 倉鋪圭太, 菅原宏, 大場優人, 前田元気, 福水洋平, & 深尾隆則. (2021). オフロード環境下における無人運搬トラックのための自動操舵制御. 自動車技術会論文集, 52(5), 1155-1160.
・吉本達也, 深尾隆則, 横小路泰義, 伊能寛, & 松本平樹. (2016). 乗り心地と追従性を両立する自動車の自動操舵制御. 自動車技術会論文集, 47(4), 997-1002.
・有尾拓誠, 杉町敏之, 深尾隆則, & 河島宏紀. (2013). 大型トラックの自動操舵制御ゲインのファジィ推論に基づくセルフチューニング. 自動車技術会論文集, 44(2), 485-490.
自動チューニング手法
ではPath following制御をなるべく少ない走行実験データを用いて自動チューニングする方法を解説します。本記事では,データ駆動制御をPath following制御の構造に合わせて拡張した手法を説明します。データ駆動制御は,1 回の閉ループ実験データから制御器を調整できるデータ駆動設計法です。もしPath following制御に適用できれば,1 回の走行実験データのみを用いてゲインを自動チューニングできるでしょう。しかしながら,Path following制御は非線形な誤差ダイナミクスを含み,制御系全体をそのまま扱うと多変数系としてみるほうが自然です。一般的なデータ駆動制御では制御対象を線形時不変の単一入出力系と仮定することが多く,そのままではPath following制御へ直接適用しにくいです。
そこで本記事で解説する手法では,Path following制御による閉ループ系に対して,入力を目標経路の曲率 $\rho$,出力を横偏差 $e_2$ とみなした閉ループ伝達関数の導出を目指します。そのうえで,目標経路の曲率入力に対する横偏差応答がデータ駆動制御における目標モデル $T_d(s)$ の応答に近づくように,固定ゲイン $K_2, K_3$ を初期の 1 回の走行実験データを用いてオフラインで自動チューニングすることを目指します。
閉ループ伝達関数導出
オフラインでの自動チューニング則を導出するため,目標経路の曲率 $\rho$ を入力,横偏差 $e_2$ を出力とみなした閉ループ伝達関数の導出を目指します。目標経路と実際の軌跡の偏差が過大となるケースでは,周囲の障害物との接触が懸念されるため,車両の緊急停止や自動運転の中断を行うことがあります。仮に自動走行を計測する場合でも,目標経路に対して車体が逸脱するような事象が発生する場合は自動走行システムのモードを切り替えてPath following制御を一時中断することが多いでしょう。実際の自動運転ではPath following制御における目標経路と実際の軌跡の偏差が十分小さいことが期待できます。
以上の考察により,Path following制御中における方位角偏差 $e_3$ と横偏差 $e_2$ が十分小さいことが期待できます。したがって,方位角偏差に関して
$$
\sin e_3 \approx e_3, \qquad \cos e_3 \approx 1
$$
が成り立つことが期待できます。また,一般的な道路では曲率が比較的小さく,偏差も小さいとみなせるため,$|e_2 \rho| \ll 1$ が成り立つと期待できます。したがって,
$$
\omega_r = \rho \frac{V\cos e_3}{1-e_2\rho} \approx \rho V
$$
が成り立つことも期待できます。以上の設定のもと,Path following制御における誤差特性を
\frac{d}{dt} \begin{bmatrix}
e_2 \\
e_3
\end{bmatrix} = \begin{bmatrix}
V e_3 \\
\omega - \rho V
\end{bmatrix}
と近似できます。これらの方程式を初期値 0 のもとでラプラス変換すると,
$$
e_2 = \frac{V}{s} e_3
$$
$$
e_3 = \frac{1}{s} \omega - \frac{V}{s} \rho
$$
と導出できます。上記の式を整理して横偏差 $e_2$ について解くと,
$$
e_2 = \frac{V}{s^2} \omega - \frac{V^2}{s^2} \rho
$$
と表現できます。以上のように,横偏差と実ヨーレート $\omega$ と目標経路曲率 $\rho$ の関係式を導出できました。
ここで,Path following制御則に関して,上記の $\sin e_3 \approx e_3$,$\cos e_3 \approx 1$,$\omega_r = \rho V$ を導入することにより,制御則を
$$
\omega_c \approx \rho V - K_2 e_2 V - K_3 e_3
$$
とみなすことができます。さらに,上記の$e_3 = \dfrac{s}{V}e_2$ の関係式を導入することにより,
$$
\omega_c = V\rho - K_2 V e_2 - \frac{K_3 s}{V} e_2
$$
と表現できます。
実際の車両では,操舵アクチュエータの遅れ,車体の動特性,タイヤの横滑り等の影響により,Path following制御則が出力する目標ヨーレート $\omega_c$ と,実際に車両が示すヨーレート $\omega$ は一致しません。そこで,目標ヨーレート $\omega_c$ と実際に車両が示すヨーレートの関係式を線形時不変システムでみなせると仮定し,未知の線形時不変な伝達関数 $G(s)$ を
$$
\omega = G(s)\omega_c
$$
と導入します。$\omega = G(s)\omega_c$ を近似後の横偏差に関する誤差特性の関係式に代入すると,
$$
e_2 = \frac{V}{s^2} G(s)\omega_c - \frac{V^2}{s^2} \rho
$$
と表現できます。この式に線形近似後のPath following制御則を代入して式を整理することにより,曲率 $\rho$ から横偏差 $e_2$ への閉ループ系を
$$
e_2 =
\frac{V^2 G(s)-V^2}
{s^2 + K_3 G(s)s + G(s)K_2V^2}
\rho
$$
と表現できます。以上の手順により,Path following制御における閉ループ伝達関数を導出できました。
自動チューニング則の導出
目標経路の曲率 $\rho$ から横偏差 $e_2$ までの閉ループ伝達関数の構造を用いて,1 回の走行データから Path following制御のゲイン $K_2, K_3$ を自動調整する方法を説明します。まず,初期ゲイン $(K_{20}, K_{30})$ を設定して 1 回だけ走行し,そのときの目標曲率 $\rho_0(t)$ と横偏差 $e_{20}(t)$ の有限時系列データを取得します。また,設計者が望ましい横偏差応答を定量化したものとして,曲率入力 $\rho_0$ に対する参照モデル $T_d(s)$ を与えます。したがって,望ましい横偏差応答を
$$
e_{2d} = T_d(s)\rho_0
$$
と定義します。ここで,任意のゲイン
$$
\sigma = \begin{bmatrix}K_2 \ K_3\end{bmatrix}
$$
に対する曲率入力 $\rho_0$を入力した際の横偏差応答を
$$
e_2(\sigma) = T_e(s,\sigma)\rho_0
$$
とおきます。ここで,$T_e(s,\sigma)$ は閉ループ伝達関数です。前節の結果より,$T_e(s,\sigma)$ は
$$
T_e(s,\sigma) =
\frac{V^2G(s)-V^2}
{s^2 + K_3G(s)s + G(s)K_2V^2}
$$
と表現できることがわかっています。したがって,初期ゲイン $(K_{20}, K_{30})$ に対する横偏差応答は
$$
e_{20} =
\frac{V^2G(s)-V^2}
{s^2 + K_{30}G(s)s + G(s)K_{20}V^2}
\rho_0
$$
となります。ここで課題となるのは,ヨーレート応答を表す伝達関数$G(s)$ が未知であるため,任意のゲイン $\sigma$ に対する $e_2(\sigma)$ をそのまま計算できないことです。そこで,データ駆動制御の考え方に基づき,任意のゲイン $\sigma$ に対して参照モデル $T_d(s)$ が実現されていると仮定したときの仮想的な応答特性を構成します。ここでは,以下の文献の考え方をPath following制御へ適用します。
M. C. Campi, A. Lecchini, and S. M. Savaresi, “Virtual reference feedback tuning: a direct method for the design of feedback controllers,” Automatica, vol. 38, no. 8, pp. 1337-1346, 2002.
T. Ikezaki and O. Kaneko, “A New Approach of Data-Driven Controller Tuning Method by Using Virtual IMC Structure - Virtual Internal Model Tuning -,” IFAC-PapersOnLine, vol. 52, no. 29, pp. 344-349, 2019.
まず,上式を $G(s)$ について解くと,
$$
G(s) = \frac{V^2 + T_e(s,\sigma)s^2}{V^2 - K_3T_e(s,\sigma)s - K_2V^2T_e(s,\sigma)}
$$
が得られます。ここで,$T_e(s,\sigma)$ を参照モデル $T_d(s)$ に置き換えた新たな伝達関数
$$
G_e(s) = \frac{V^2 + T_d(s)s^2}{V^2 - K_3T_d(s)s - K_2V^2T_d(s)}
$$
を定義します。$G_e(s)$ は実際のヨーレート応答の伝達関数そのものではなく,「任意のゲイン $\sigma$ で参照モデル $T_d(s)$ の閉ループ応答を実現した場合における理想的な目標ヨーレートから実際のヨーレートまでの伝達特性を表す仮想的な伝達関数です」。この $G_e(s)$ を用いることにより,任意のゲイン $\sigma$ に対する横偏差応答の推定値を
$$
e_{2e}(\sigma) =
\frac{s^2 + K_{30}G_e(s)s + G_e(s)K_{20}V^2}
{s^2 + K_3G_e(s)s + G_e(s)K_2V^2}
e_{20}
$$
と表現できます。すなわち,1 回の初期走行で得られた $e_{20}$ と $\rho_0$ を用いることにより,追加の走行試験を行わなくても,任意のゲインに対する横偏差応答をオフラインで評価できます。したがって,ゲイン調整問題は,目標応答 $e_{2d}$ と推定応答 $e_{2e}(\sigma)$ ができるだけ一致するように
$$
J(\sigma) = \left| e_{2d} - e_{2e}(\sigma) \right|^2
$$
を最小化する問題として定式化できます。したがって,最終的に求めるゲインは
$$
\sigma^* = \arg\min_{\sigma} J(\sigma)
$$
となります。最適化問題の解は非線形最適化手法を適用することにより求めることができます。
自動チューニングの手順を整理すると,次のようになります。
- 初期ゲイン$(K_{20}, K_{30})$ で 1 回だけ走行し,初期実験の有限時系列データ$\rho_0(t)$ と $e_{20}(t)$ を取得する。
- 望ましい閉ループ系の参照モデル $T_d(s)$ を設定し,理想応答 $e_{2d}=T_d(s)\rho_0$ を生成する。
- 任意のゲイン $\sigma=[K_2;K_3]^T$ に対する$G_e(s)$ と $e_{2e}(\sigma)$ を定義する。
- $J(\sigma)=|e_{2d}-e_{2e}(\sigma)|^2$ を最小化する。
- 得られたゲインをPath following制御則に実装する。
以上の手順により,1 回の走行実験データを取得するだけでPath following制御のゲインを自動調整できます。
本手法は,車体の物理パラメータやタイヤ特性を厳密に同定しなくても,閉ループ応答そのものを使ってゲインを自動調整できます。したがって,本手法を活用することにより,なるべく少ない実験回数で初期ゲイン設計を進めることができます。
なお,本記事で解説した手法は車速を固定値と仮定したものです。しかしながら,実際の自動運転では車速が一定でない場面がほとんどです。したがって,実際に利用する場合は車速ごとにゲインを調整する必要があります。車体の運動特性は車速によって変動するため,Path following制御のゲインも車速に応じて可変にしなければなりません。後述の数値シミュレーションでも示すように,車速を変動させるのであれば車速ごとにデータを取得し,車速ごとのゲインを自動チューニングする必要があります。取得したゲインを車速ごとにゲインスケジュール化することにより,車速が変動する場合にも本記事で解説した手法を適用できます。
数値シミュレーション
本記事で解説した手法が有効に機能するかを確認するため,非線形車両モデルを用いた数値シミュレーションを実施します。ここでは既知文献の記述をもとに,Magic Formula のタイヤモデルを用いた非線形車両シミュレータを構築し,ゲインの自動調整を試みます。
シミュレーション条件
本シミュレーションでは,非線形な等価二輪モデルと Magic Formula のタイヤモデルを用います。等価二輪モデルでは,車体の横方向運動を
$$
MV(\dot \beta + \omega) = 2F_F + 2F_R
$$
$$
I_z \dot \omega = 2l_F F_F - 2l_R F_R
$$
$$
\alpha_F = -\beta - \frac{l_F}{V}\omega + \delta
$$
$$
\alpha_R = -\beta + \frac{l_R}{V}\omega
$$
と表現できます。ここで,$\beta$ は車体スリップ角,$\omega$ はヨーレート,$\alpha_F, \alpha_R$ は前後輪のスリップ角,$F_F, F_R$ は左右1輪あたりの前後輪横力です。タイヤ横力は Magic Formula により
$$
F_F = D_F \sin\left(C_F \tan^{-1}\left(B_F(1-E_F)\alpha_F + E_F\tan^{-1}(B_F\alpha_F)\right)\right)
$$
$$
F_R = D_R \sin\left(C_R \tan^{-1}\left(B_R(1-E_R)\alpha_R + E_R\tan^{-1}(B_R\alpha_R)\right)\right)
$$
と与えられます。タイヤパラメータは前後輪で同一とし,値は Table 1 の理想値を適用します。
| パラメータ | 値 |
|---|---|
| $B_F, B_R$ | 12 |
| $C_F, C_R$ | 1.3 |
| $D_F, D_R$ | 7000 |
| $E_F, E_R$ | 0.97 |
初期走行では,Path following制御の章で述べたように目標ヨーレート $\omega_c$ から操舵角 $\delta$ を
$$
\delta = \tan^{-1}\left(\frac{l}{V}\omega_c\right)
$$
により計算します。すなわち,前回記事で扱ったようなヨーレート制御器は用いず,幾何学的関係式に基づいて操舵角を計算します。したがって,車速が高くなるほど,車体の動特性の影響により目標ヨーレート $\omega_c$ と実際のヨーレート $\omega$ の間に過大な誤差が生じ,横偏差と方位角偏差も増大することが予想されます。
本シミュレーションでは初期ゲインを $K_2 = 0.001,\ K_3 = 0.06$ とし,車速を 30 km/h,50 km/h,70 km/h の 3 条件で評価しています。以上の条件のもと,車体をカーブ上のコースに走行させて初期実験データを取得します。以下が初期ゲインを用いたシミュレーション結果です。
目標ヨーレートと実ヨーレートの誤差 RMSE は Table 2 のようになっており,車速の上昇とともに誤差が大きくなることがわかります。したがって,何らかの方法によりゲインを自動チューニングしなければなりません。
| 速度 | ヨーレート誤差 RMSE [rad/s] |
|---|---|
| 30 km/h | $4.69 \times 10^{-3}$ |
| 50 km/h | $1.72 \times 10^{-2}$ |
| 70 km/h | $4.50 \times 10^{-2}$ |
ゲイン調整結果
初期走行データに対して自動チューニングを適用し,パラメータを調整しました。ここでは,各車速ごとに自動チューニングを実施しました。参照モデルに関しては,最大横偏差がおよそ 0.2 m となるような伝達関数 $T_d(s)$ を設定しました。Table 3 にゲインの調整結果を示します。
| 速度 | 調整後 $K_2$ | 調整後 $K_3$ |
|---|---|---|
| 30 km/h | 0.0039 | 0.7830 |
| 50 km/h | 0.0106 | 4.4822 |
| 70 km/h | 0.0210 | 15.3355 |
いずれの速度条件においても,調整後のゲインは初期値より大きくなっています。これらの結果を用いて再度走行シミュレーションを実施しました。以下にシミュレーション結果を示します。
調整後の最大横偏差は Table 4 のようになりました。
| 速度 | 調整後の最大横偏差 |
|---|---|
| 30 km/h | 0.1941 m |
| 50 km/h | 0.1638 m |
| 70 km/h | 0.1494 m |
以上の結果から,自動チューニングを適用することにより,制御応答が改善することが確認できました。したがって,本記事で解説した方法を利用することでなるべく少ない実験回数にてPath following制御の性能を改善することが期待できます。
まとめ
本記事では,Path following制御のゲイン $K_2, K_3$ を,1 回の走行データに基づいてオフラインで自動調整する方法を解説しました。前回記事では Path following制御と車体ヨーレート制御の構成を中心に解説しましたが,本記事ではそのゲインを走行データからどのように調整するかに焦点を当てました。
本手法は,量産向けの最終調整をこれだけで完結させるための万能な方法というより,初期ゲイン設計の効率化や実験回数の削減に向いた方法だと考えています。実際の車両運動制御では,横偏差だけでなく,ドライバーフィーリング,アクチュエータの性能限界,目標経路の特性,路面外乱なども考慮して調整しなければなりません。したがって,量産適用を見据えるなら,最終的には実車評価に基づくファインチューニングや各種制約条件の考慮が必要です。
一方で,近年は生成AIをはじめとする人間の作業をアシストするツールが急速に進化しています。著者としても,こうしたAIアシストツールがデータ整理,シミュレーション結果の比較,ゲイン候補の検討といった周辺作業の効率化に有効だと感じています。ゲイン調整そのものを完全に置き換える段階ではないとしても,本記事で扱ったようなデータ駆動チューニングと組み合わせることで,制御設計全体の試行錯誤を減らす方向には十分活用できるのではないかと考えています。




