日産のエンジン制御開発における MBD のプロジェクト適用事例 日産自動車株式会社パワートレイン技術開発本部パワートレイン制御開発部ユニット制御システム開発グループ主担加藤浩志 2015 年 10 月 16 日
agenda 1. MBD 適用プロジェクトの紹介 2. 日産 MBD 開発における制御要求管理プロセス 3. 日産 MBD 開発におけるSW-C 開発のプロジェクト適用 4. 今後の課題と取り組み
1. MBD 適用プロジェクトの紹介
1-1. 新型エクストレイル QASHQAI X-TRAIL ROGUE 欧州では QASHQAI(2row) 北米では ROGUE として世界 100 か国以上で販売
1-2. CMF コンセプト CMF(Common Module Family): 車両を エンジンルーム コックピット フロントアンダーボディ リアアンダーボディ 電気 / 電子 (EE) アーキテクチャーの 5 つの基本領域に分類するモジュラー アーキテクチャー システム CMF が世界中の工場で展開されるようになる 2020 年までに ルノー 日産アライアンスの全車両の 70% が CMF 適用車になる予定 CMF は ルノー ダチア ニッサン ダットサンの車種をカバー
1-3. CMF とソフトウェアアーキテクチャ エンジン / 車両の組み合わせで変わる EE アーキテクチャに柔軟に対応する必要がある 2WD/4WD? AT Meter USM ECU HEV 4WD ITS ガソリン / ディーゼル? NAVI Hybrid? NAVI? モジュール化により EE アーキテクチャ組み合わせがフレキシブルになる ソフトウェアにも同様なモジュール化 / フレキシブル化が求められる
1-4. MBD 取り組みの歴史 ~ 初期 (1997~2005 年 ) 最初の量産開発適用は 2000MY Sentra CA の空燃比制御開発 開発期間短縮のため MATLAB を導入することを決断 机上シミュレーションを利用したデバッグ ラピッド コントローラ プロトタイプ (RCP) ツールを使った実機検証 ~ 中期 (2005~2009 年 ) ー G37 VVEL Technology. MBD ツールチェーンの採用 ー GTR Turbo Boost Control Technology. - etc. 製品へのMBDコード採用率 最大コード占有率 MBD レガシー開発 MBD 部分適用
1-4. MBD 取り組みの歴史 ~ 現在 (2009 年 ~) CMF に応えるソフトウェアアーキテクチャとして Gasoline ECU Diesel ECU Vehicle specication A Gasoline Engine Vehicle specification B Vehicle Diesel Engine Vehicle SW-Component SW-Component BSW Platform 標準インターフェース / サイズ / 機能 BSW Platform ファンクション割り付け / インターフェースを標準化し ソフトウェアも module として組み合わせる必要がある 全面的な MBD 開発が必要
2. 日産 MBD 開発における 制御要求管理プロセス
2-1. プロジェクト要求の管理プロセス 複雑化する要求をモデル単位で管理するプロセスおよび環境を構築 1 プロジェクト横断の要求管理 パワートレイン SW 開発統合データベース SW Management Database Proj A Proj B Software order planning sheet 要求 要求 要求 要求 SW-C1 SW-C2 Develop SWC SW-C3 Add Tag info. SW-C4 Shopping Menu Register DB TAGa TAGb TAGc TAGd TAGa SW-C1 TAGb SW-C2 TAGc SW-C3 TAGd SW-C4 Select Tag for each Proj. Shopping List TAGa TAGx TAGx TAGx TAGb TAGx TAGx TAGx Correct SWC by tag info. Shopping List TAGc TAGx TAGx TAGx TAGd TAGx TAGx TAGx Software Order Template SW-C1 SW-C2 SW-C1 SWCx SWC2 SW-C1 SWCx SWC2 SW-C3 Template SW-C1 SW-C2 SW-C3 Software Order ECM for PROJ.A C code C code C code Develop C code C code C code C code ECM for PROJ.B 2SW-C のパッケージ化とタグ管理 3 制御ショッピングメニュー / リストによる組み込み 4 モデルインテグレーション (3 章 )
2-2. タグ情報を用いた要求管理 1 プロジェクト横断の要求管理 /2SW-C のパッケージ化とタグ管理 要求に対し関連情報をすべてデータベース上で紐づけ管理 要求の発生 法規 ( 排気 OBD) 性能 ( 燃費 動力性能 音振 ) 新しい車両 ENG システム 要求の起案と関連付け プロジェクト 要求 開発日程 TAG TAG SW-C SW-C SW-C SW-C SW-C SW-C 組み込み対象 SW-C 情報 要求とプロジェクトの紐づけ 要求毎の開発日程管理 要求と SW-C の紐づけを "TAG" を使って行う
2-3. 制御ショッピングの仕組み 3 制御ショッピングメニュー / リストによる組み込み 制御ショッピングメニュー 燃料噴射制御共通 燃料噴射制御直噴 ENG 用 燃料噴射制御過給 ENG 用 SW-C に紐づけられた全タグが記載されたリスト TAG 選択 = ショッピング エンジンタイプ 車両システム センサ アクチュエータ有無 販売国 制御ショッピングリスト 燃料噴射制御共通 燃料噴射制御直噴 ENG 用 プロジェクトに必要な TAG が選択された結果のリスト 制御ショッピングによる TAG 選択で組み込み必要な SW-C を決定する
3. 日産 MBD 開発における SW-C 開発のプロジェクト適用
日産の MBD プロセス System Requirement Study SE New Software Component production order PT Req. Study System design Software Component SE Component design System Simulation Plant model develop. System Requirement Statement Make test Component SW-Component design System Validation Component verification Verification tool Component dev./registration SW-C management ASW + Plant model Software Project manager Component Library (DB) Shopping Control Component integration Auto I/F check SILS verification Spec. tender issue Validation and Calibration process SW architecture ASW Calibration ASW Basic SW Basic SW HW HW Validation Software release HILS Auto Check System validator US A Supplier Hitachi Bosch Auto coding, integration software dev. SW development management whole project schedule handling, hardware development etc. ECM Project manager
3-1. MBD による SW-C 開発の導入 MBD の導入のためにはドキュメントやツール網 組織やレビュー体制など MBD に最適化された体制を構築する必要がある MBD の導入 環境整備 組織作り 導入コスト 品質 経験者にしかわからない知見 ノウハウ 未知のツール群 MBD スキルをもつ担当者が少ない ツール ライセンスの不足 アウトプット品質の大きなバラつき (1) プロセス ルール マニュアルの規定 (2)MBD 教育 ツール拡充 稼働率モニタ (3) モデルデザインレビュー
3-2. MBD 適用の拡大 MBD の基本環境が揃い モデルに携わる担当者が増えてくるとともに 各工程の作業をより速く より品質を高めてやりたいというニーズがでてきた モデルの開発効率 品質をさらに向上させたい モデル記述ルール準拠チェック モデルのカバレッジテスト 仕様変更時の作業 デザインレビュー スタイルガイドライン モデル準拠確認 モデル モデル Ver1 モデル Ver2 人だけでやりきるのはムリがある (i) モデルスタイルチェッカ 限られた時間の中で最大限有効なテストをしたい (ii) 自動テスト生成カバレッジ計測ツール 仕様変更時はもっと楽をしたい (iii) モデル差分ツール
3-3. SW-C インテグレーションプロセス どのように SW-C を実装するか? 出来上がった C code を組み上げれば Program は完成するが 組み上げる順番が必要 全体 Logic 分割して開発 Program { vtemp=vapo*100; Tmp= mmm*vtemp CHK_TIM()? { vtemp=vapo*100; Tmp= mmm*vtemp CHK_TIM() 合体 SW-C Model data base Coding { vtemp=vapo*100; { Tmp= vtemp=vapo*100; { mmm*vtemp CHK_TIM() Tmp= vtemp=vapo*100; { mmm*vtemp CHK_TIM() Tmp= vtemp=vapo*100; { mmm*vtemp CHK_TIM() Tmp= vtemp=vapo*100; { mmm*vtemp CHK_TIM() Tmp= vtemp=vapo*100; { mmm*vtemp CHK_TIM() Tmp= vtemp=vapo*100; { mmm*vtemp CHK_TIM() Tmp= vtemp=vapo*100; mmm*vtemp CHK_TIM() Tmp= mmm*vtemp CHK_TIM() C code
インテグレーションモデル 3-3. SW-C インテグレーションプロセス SW-Cを全合体したインテグレーションモデルをリファレンスに合体プログラムを作成する 機能干渉確認手戻りの防止 Delivery Actual Vehicle Calibration I/F 整合確認 Plant model 実行順序 SW1 SW2 SW3 { vtemp=vapo*100; SW1 Tmp= mmm*vtemp CHK_TIM() { vtemp=vapo*100; Tmp= SW2 mmm*vtemp CHK_TIM() { vtemp=vapo*100; SW3 Tmp= mmm*vtemp CHK_TIM() Program 合体 SW-C { vtemp=vapo*100; { Tmp= vtemp=vapo*100; { mmm*vtemp CHK_TIM() Tmp= vtemp=vapo*100; { mmm*vtemp CHK_TIM() Tmp= vtemp=vapo*100; mmm*vtemp CHK_TIM() Tmp= mmm*vtemp CHK_TIM() C code 合体 Model data base C code data base
3-3. SW-C インテグレーションプロセス テンプレートを用いたインテグレーションモデルを用いてサプライヤーに提示 < 付加情報 > データの初期値 演算実行時間 / 順序 バッファ情報 信号の定義 Integration Work flow Control Specifications Data Base SE Register in DB Control specification documents Control models Download from DB Control specification documents Control models Base Integration model Register in DB Integration models Review documents Review Approval Prepare Integration Review ECM Gr Software order list Integration Gr Application List Delivery time Software version information Integration Gr Integration model Signal definition Check Report documents Integration Gr Integration model Signal definition BSW-ASW I/F list supplier Report issues Issue solution Change applied information すべての SW-C Model をテンプレートに結合 スタイルガイドに従って結線. モジュール間の信号結線の確認 信号数のチェック Module 数のチェック 信号の多重定義をチェック Integration Gr
4. 今後の課題と取り組み
4-1. モデルコラボレーションの拡大 CMF ではルノー社とソフトウェア分野でもソフトウェアの抜き差しを始めた ルノー SW-C 日産 SW-C 記述ルールモデルサイズ単位信号の振る舞い etc. モデリングルールが違い過ぎてそのままでは刺さらない アライアンススタンダード
4-2. AUTOSAR への対応 外部とのコラボレーション ソフトウェアリユースの観点からも AUTOSAR への対応は必要だが 現有資産の活用 対応リソース オーバーヘッド増加 特に Application 領域での AUTOSAR 対応は どこまで厳密にするのか議論が必要
4-3. Multicore CPU への対応 CPU 負荷低減のため Multicore 化がトレンド Model インテグレーション方法へのインパクトも大 Core1 or Core2 への割り付け or Core1 Core2 Lock step Model share or Code share Core3 Core4 サプライヤとの責任分担についての議論が必要
Thank you!