日立 Astemo、モデルベースデザインによるアダプティブ クルーズ コントロール (ACC) 用のモデル予測コントローラーを開発

「Simulink でシミュレーションを介して複数のパラメーターを検討することで、コントローラーを調整して計算負荷を軽減できました。シミュレーションを行うことで、設計のすみずみまで詳細に把握できます。これにより、調整が必要な場合の精度向上につながり、時間の節約にもなりました。」

課題

停止発進が続く交通状況に対応した、高性能なアダプティブ クルーズ コントロール (ACC) の開発

ソリューション

Simulink を使用してモデル予測コントローラーを設計、シミュレーション、および調整し、Embedded Coder を使用して効率的なコードを生成する

結果

  • コントローラーの開発時間を半減
  • 何か月もかかる手作業によるコード作成を排除
  • テストの速度と効率が向上

最新の ACC システムは、渋滞時によく見られる連続した停止発進に対応するように設計されています。連続した停止発進を制御する機能では、人間の運転者よりも応答速度が遅くなるという傾向があります。応答速度が遅いと車間距離が広がり、隣接車線の運転者はこの車間に割り込みたいという欲求に駆られます。結果として渋滞を誘発する原因となります。

日立オートモティブシステムズのエンジニアは、連続した停止発進に対応した新たな ACC システムを開発しました。このシステムは、前方の車両が加速したときに、一般的な人間の運転者と同程度の速さで応答します。このシステムはモデル予測コントローラー (MPC) がベースになっており、MATLAB® & Simulink® によるモデルベースデザイン (モデルベース開発、MBD)を使用して構築されました。

日立オートモティブシステムズのシニアエンジニアである高浜琢氏は次のように述べています。「私たちはプロジェクトの始めから MATLAB & Simulink を使用することにしました。このツールがなかったら、開発にはさらに多くの時間がかかったでしょう。システムのパフォーマンスとドライバーの快適さという目標を達成するのも困難だったと思います」

課題

ACC システムの動作は、前方の車両の速度と加速度によって変化します。日立オートモティブシステムズのエンジニアは、標準的な比例-積分-微分 (PID) コントローラーによる設計は困難であるという結論に達し、代わりに MPC を使用することを選択しました。MPC アルゴリズムは複数の目的のバランスを取るのに適しています。例えば、渋滞時における応答性の高さと安全な車間距離の確保、交通量の少ない高速道路での安定した車間距離と走行速度の維持などです。ただし、MPC アルゴリズムには、タイムステップごとに最適化問題を解決するのに要する計算負荷について課題があります。MPC アルゴリズムを組み込みターゲット上で実装する場合に、この計算負荷によって PID コントローラーよりも多くの処理能力とメモリが必要になるのです。

従来、日立での高浜氏のチームは手作業によって C 言語で制御アルゴリズムを記述し、比較的単純な制御システムを開発していました。しかし、複雑な MPC のコードを手作業で作成するのは非常に困難となることが予想されました。チームが必要としたのは、連続した停止発進用の ACC システムの厳密な応答要件を満たす新しいコントローラーを設計し、組み込みマイクロプロセッサに実装することです。開発時間を短縮するために手作業によるコード作成を最小限に抑える必要もありました。

ソリューション

日立オートモティブシステムズは、MATLAB および Simulink を使用したモデルベースデザインを採用し、MPC ベースの組み込み ACC システムのコードをモデリング、シミュレーション、および生成しました。

エンジニアは Simulink で Model Predictive Control Toolbox™ を使用し、コントローラーをモデリングしました。さらに、予測区間、制御区間、評価関数の重みに加えて、アクチュエーターと加速度応答の制約を調整するための調整可能なパラメーターを設定しました。

予測用のプラントモデルを作成するために、Simulink の S-Function を使用して従来の C コードへのインターフェイスを作成しました。これにより、車両のエンジン、トルクコンバーター、ブレーキの非線形特性を捉えます。

チームは Simulink で閉ループシミュレーションを行い、渋滞や高速運転などのさまざまな運転状況におけるコントローラーのパフォーマンスを評価しました。その後、MATLAB でシミュレーション結果の後処理を行い、データを可視化しました。

このシミュレーション結果に基づいて、コントローラーの重みと制約を修正しました。この修正により、前の車両が急加速した場合に急ブレーキや大きな車間距離が発生するのを防ぎます。また、最適化問題を解決するための計算負荷を減らすために、サンプル時間、予測区間、および制御区間についてさまざまな選択肢を評価しました。

そして、Embedded Coder® を使用した MPC ベースのアダプティブ クルーズ コントローラーから、実行速度に最適化した 3,400 行以上のコードを生成しました。生成されたコードには、MPC で使用される二次計画法 (QP) ソルバーが含まれています。

生成されたコードをソフトウェアインザループ (SIL) シミュレーションでテストした後、実車環境の32 ビット マイクロプロセッサに展開しました。現在、日立オートモティブシステムズは、公道で MPC ベース ACC システムのオンロードテストを行っています。

エンジニアリング チームは、MATLAB と Simulink を用いたモデルベースデザインの使用を他のプロジェクトに拡大しました。それによって、四輪操舵車用のコントローラーの開発時間が短縮されたプロジェクトもあります。

結果

  • コントローラーの開発時間を半減。「従来のアプローチでは、MPC のような複雑なコントローラーの開発には約 1 年を要したでしょう。モデルベースデザインでは、約 6 か月でプロトタイプの開発ができました」と高浜氏は話します。「QP ソルバー用に生成されたコードは非常に効率的だったので、他のソルバーを探し求める必要はありませんでした。」
  • 何か月もかかる手作業によるコード作成を排除。「設計を変更するたびに MPC のすべてのコードを手作業で作成すると、スケジュールに 2 か月以上の追加工程が必要になります」と高浜氏は話します。「Embedded Coder を使用したので、コントローラーの機能を確認した後は、組み込みプロセッサに実装するのにほとんど時間がかかりませんでした。」
  • テストの速度と効率が向上。「モデルベースデザインにより、テスト時間が大幅に短縮されました」と高浜氏は話します。「SIL シミュレーションでテスト結果を再現しました。これにより、発生した問題の原因を特定し、検討した対策を評価して、対策を織込んだコードを生成できます。このプロセスを必要に応じて繰り返し、応答性やロバスト性を検証できました。」