エンジン制御仕様 ソフトウェア開発の進化 2015 年 10 月 16 日 トヨタ自動車株式会社 上田広一 MATLAB EXPO 2015
本日の発表内容 背景 モデルベース開発 エンジン制御仕様 ソフトウェア開発の進化 これまで (R12.1 R2006b R2010b) これから (R2015a) その先 まとめ MATLAB EXPO 2015 2
本日の発表内容 背景 モデルベース開発 エンジン制御仕様 ソフトウェア開発の進化 これまで (R12.1 R2006b R2010b) これから (R2015a) その先 まとめ MATLAB EXPO 2015 3
自動車用パワートレーンの抱えている課題 Global Warming Air Quality Energy Security MATLAB EXPO 2015 4
燃費規制動向 Source: International Council on Clean Transportation, July 2015 MATLAB EXPO 2015 5
次世代自動車の種類と普及予測 2050 年でも 55% が内燃機関を利用 Source: IEA Energy Technology Perspectives 2012 MATLAB EXPO 2015 6
マイコン動作周波数 [MHz] 複雑 大規模化するエンジン制御 ストイキ直噴 (D-4) 筒内直噴 + ポート噴射 (D-4S) 連続可変バルブリフト機構 (VALVE MATIC) 過給ダウンサイジング ROM 容量 [MB] Development in shorter time Lack of research for new development method or process Heavy workload Getting larger and more complex control system Globalization, Fuel economy Conventional development Low efficiency 2000 2010 2020 Year Trend of Automotive Engine Controller 従来の開発手法では立ち行かなくなる 品質を確保しつつ開発効率の向上を目指し モデルベース開発を導入 推進 MATLAB EXPO 2015 7
本日の発表内容 背景 モデルベース開発 エンジン制御仕様 ソフトウェア開発の進化 これまで (R12.1 R2006b R2010b) これから (R2015a) その先 まとめ MATLAB EXPO 2015 8
モデルベース開発とは? モデルベース開発の定義 複雑化 高度化した現代の自動車制御システム開発において MATLAB /Simulink 等の CAE ツールによって 制御装置と制御対象の機能をモデル化し それらを 実行可能な仕様書として用いることで 製品ライフサイクル全般に渡った品質向上と開発効率向上を目指した開発手法のことである シミュレーション技術を駆使することで 高度な機能確認を実施でき かつ 複雑な開発工程のルーチンワーク化を促進することで 自動化 省力化にも貢献する モデルの定義 : 対象の機能が図示されており 一意的に解釈できるもの Source: Japan MBD Automotive Advisory Board(JMAAB) MATLAB EXPO 2015 9
Virtual World モデルベース開発のコンセプト Validation Today s Focus Engine Performance Specification = Plant Model Combination SILS / MILS Control Software Specification = Controller Model Rapid Prot. ECU HILS Plant (Engine, Transmission etc.) Controller (Hardware, Software) Combination Real World Validation MATLAB EXPO 2015 10
本日の発表内容 背景 モデルベース開発 エンジン制御仕様 ソフトウェア開発の進化 これまで (R12.1 R2006b R2010b) これから (R2015a) その先 まとめ MATLAB EXPO 2015 11
Version 2001 年 ~2015 年 量産適用の MATLAB バージョン はじまり みがきあげる ひろめる うれしい 2001 2006 2010 2015 R12.1 R2006b R2010b 初量産適用 信頼性向上 コード効率向上 R2015a 制御設計機能 開発生産性向上 MathWorks General Release Toyota DENSO 量産適用するツールは長期間バージョン固定 初の量産適用バージョンから約 15 年にわたり戦略的にバージョン移行を実施してきた Year MATLAB EXPO 2015 12
本日の発表内容 背景 モデルベース開発 エンジン制御仕様 ソフトウェア開発の進化 これまで (R12.1 R2006b R2010b) これから (R2015a) その先 まとめ MATLAB EXPO 2015 13
2001 年 ~ これまで ( 第 1 世代 : R12.1) 2001 年 CAMRY: 量産制御仕様書として Simulink 仕様書を初導入 (ECU 実装はハンドコーディング ) はじまり 2003 年 PRIUS: 自動コード生成技術の量産初適用 (Simulink 仕様書から自動生成したコードをそのまま ECU 実装 ) 2000 2002 2004 2006 Advanced development Executable Spec. + Auto Generated Code Production development Executable Spec. Hand Written Code CAMRY Executable Spec. + Auto Generated Code PRIUS Deployment of Simulink models as production specifications MATLAB EXPO 2015 14
2001 年 ~ これまで ( 第 1 世代 : R12.1) うれしさ 1Simulink 仕様書 : シミュレーション活用による開発のフロントローディング 2ECUサプライヤーとのIF: 制御仕様解釈の効率化 誤解釈の防止 3 自動コード生成 : 制御検討ソフトの開発効率化と量産でのコーディングレス化 1 の一例 : トヨタでの先行開発フェーズ制御ロジック開発で約 20~30% の工数低減効果 ( 特に シミュレーションでの机上検討や検討用 C ソース作成に対して効果大 ) 23 の一例 : ECU サプライヤーでの量産実装開発フェーズ 1000 行程度の C ソース部品開発で 20% 程度の工数低減効果 Development Time Before Software Design Coding Verification Design Modification Coding Verification Integration Software Verification & Validation MBD Efforts(Simulink 仕様書 + 自動コード生成 ) After Software Design Verification Design Modification Verification Integration Software Verification & Validation 20% Figure modified from T.Katayama, A.Ohata, Y.Uematsu, Production Code Generation for Engine Control System, IAC 2004 MATLAB EXPO 2015 15
2001 年 ~ これまで ( 第 1 世代 : R12.1) むずかしさ 1Simulink 仕様書 : 記述自由度の高さ モデリングガイドライン : MAAB ガイドラインをベースに ガイドライン策定し運用 ブロックライブラリ : 使用可能なブロックを限定 2 自動コード生成 : コード効率 品質面の不安 既存ソフト プロセスとの親和性 量産用自動コード生成ツールをトヨタ デンソーで共同開発 (Real-Time Workshop Embedded Coder をベースにカスタマイズ ) 特別技術サポート ( トヨタ デンソー MathWorks サイバネットの 4 社契約 ) 特別技術サポート : 継続的サポート 互換性確保 量産適用するツールは長期間バージョン固定 バージョン固定期間の技術サポートを MathWorks サイバネットとの契約により確保 MAAB Guidelines: 業界標準策定にも参画 http://jp.mathworks.com/solutions/automotive/standards/maab.html MATLAB EXPO 2015 http://www.cybernet.jp/news/press/2003/20031204.html 16
2006 年 ~ これまで ( 第 2 世代 : R2006b) 2007 年 : 初の標準バージョン移行 格段の品質向上 みがきあげる トヨタ自動車電子開発部門のマネージャである林和彦氏は また R2006b の新機能 なかでも Real-Time Workshop Embedded Coder を使用した量産ソフト自動コード生成によって 生産性が大きく改善されることを期待しています マスワークスの技術部門担当副社長アンディ グレースは トヨタ デンソーの量産部門で R2006b 特に Real-Time Workshop Embedded Coder の展開が加速されることを楽しみにしています http://www.cybernet.jp/news/press/2007/20070910.html MATLAB EXPO 2015 17
2010 年 ~ これまで ( 第 3 世代 : R2010b) 2011 年 : 2 度目の標準バージョン移行 コード効率向上 自動テスト生成技術の導入 (Simulink Design Verifier を活用したテスト生成等 ) ひろめる https://jp.mathworks.com/company/newsroom/toyota-and-densotransition-mass-production-engineering-to-mathworks-r2010b-release.html 量産コストを削減するため 自動車の固定小数点制御システムにおける 効率の良い ROM/RAM のコード生成機能が強化されています 今回の移行にあたり トヨタ自動車制御ソフトウェア開発部部長である畔柳滋氏は次のように述べています 2003 年に始まったトヨタ デンソー MathWorks の協調開発活動は この 8 年で非常に成熟しました 特に 固定小数点 ECU に対してコード生成技術の適用を拡大することで コスト削減に大きな効果が出せることを期待しています MATLAB EXPO 2015 18
2001 年 ~2015 年 これまで ( 第 1 世代 ~ 第 3 世代 ) はじまり みがきあげる ひろめる 2001 2006 2010 2015 主に自動コード生成技術を軸としたソフトウェア開発の進化とその普及の歴史 R12.1 R2006b R2010b 初量産適用 信頼性向上 Simulink 仕様量産適用 [ トヨタ初 ] 自動コード生成量産適用 [ トヨタ初 ] コード効率向上 R12.1 版 R2006b 版 R2010b 版 自動コード生成ツール * のユーザ数 ( 国内外関連会社含む ) の推移 [ 人 ] * Real-Time Workshop Embedded Coder をベースにカスタマイズ ( トヨタ デンソー共同開発 ) MATLAB EXPO 2015 19
本日の発表内容 背景 モデルベース開発 エンジン制御仕様 ソフトウェア開発の進化 これまで (R12.1 R2006b R2010b) これから (R2015a) その先 まとめ MATLAB EXPO 2015 20
2015 年 ~ これから ( 第 4 世代 : R2015a) 2015 年 : 3 度目の標準バージョン移行 開発生産性向上 うれしい http://jp.mathworks.com/company/newsroom/toyota-and-denso-transition-massproduction-engineering-to-matlab-r2015a-release.html MATLAB EXPO 2015 21
2015 年 ~ これから ( 第 4 世代 : R2015a) はじまり みがきあげるひろめるうれしい 2001 2006 2010 2015 制御開発者のうれしさを追求し 制御仕様開発の進化を加速させる R12.1 R2006b R2010b 初量産適用 信頼性向上 コード効率向上 R2015a 制御設計機能 開発生産性向上 第 4 世代に向けて取り組んできた主な項目 制御開発現場の声への対応 モデル解析 : 既存モデルの理解に時間がかかる 影響分析にかかる工数大 パフォーマンスの改善 : シミュレーションスピード遅い モデル閲覧 : ちょっと見たいだけなのにモデル起動に時間がかかる 使い勝手 : もっとラクしたい MATLAB EXPO 2015 22
2015 年 ~ これから ( 第 4 世代 : R2015a) 目指したゴールと解決したかった課題 [0 to 1] 従来出来なかったことができるようになる [Cost half] 運用コスト半減 要求分析制御設計 システム評価 適合 / 評価 制御開発 [0 to 1] 検討モデル作成 コード生成レガシー組み込み C を作る道具から 制御設計の道具へ 既存モデルからの差分開発への対応 シミュレーション技術を活かしきれていない Simulink 仕様書の生産性 ( 可読性 使い勝手等 ) 向上 制御仕様書 制御仕様書作成 + 仕様検証 自動コード生成 C 単体テスト CCC 結合テスト 製品開発 [0 to 1] コード互換性 (Backward compatibility) 運用時の生産性 ( 仕向け切替 使い勝手等 ) 向上 ソフトウェア開発 [Cost half] モデル設計に注力できる (C 言語に労力を取られない ) プロセスの実現 自動生成コードが将来に渡って固定できるレベルに到達すること MATLAB EXPO 2015 23
2015 年 ~ これから ( 第 4 世代 : R2015a) トヨタ デンソー MathWorks の協調開発活動により実現したこと の一例 差分開発への対応 依存関係解析技術による開発生産性向上 複雑なモデルから 設計者の関心ある部分を素早く抽出できる 制御開発 C を作る道具から 制御設計の道具へ シミュレーション 繰り返しシミュレーションのパフォーマンス改善 シミュレーションの巻き戻しができ デバッグ効率向上 Simulink 仕様書 アノテーション機能拡張による仕様書の可読性向上 サブシステム展開 コメントアウト / スルー等 使い勝手や作業性向上 MATLAB いらず Web ブラウザーでサクサク閲覧 第 4 世代への移行により MBD の更なる生産性向上を図っていく MATLAB EXPO 2015 24
本日の発表内容 背景 モデルベース開発 エンジン制御仕様 ソフトウェア開発の進化 これまで (R12.1 R2006b R2010b) これから (R2015a) その先 まとめ MATLAB EXPO 2015 25
その先 はじまり みがきあげる ひろめる うれしい 2001 2006 2010 2015 20?? R12.1 R2006b R2010b 初導入 信頼性向上 コード効率向上 R2015a 制御設計機能 開発生産性向上 R20?? 指数関数的に進行する制御の複雑さ 大規模さと上手につきあっていくために 仕様の抽象度 : もっと抽象度の高い仕様記述スタイル 表現技術 仕様の多面化 多次元化 : 関心のあるコト / 粒度の情報だけがすぐに見える / さわれる 仕様の結合 / 分割 : 自由自在にくっつけられる / 分けられる 圧倒的なスピード : シミュレーション時間 <<< リアルタイム 超直観的でシンプルな使い勝手 : Google Maps TM iphone 等を凌ぐ 車載マイコン並列化への対応 汎用化 : カスタマイズなし コンパチビリティ : 楽にバージョンアップ MATLAB EXPO 2015 26
本日の発表内容 背景 モデルベース開発 エンジン制御仕様 ソフトウェア開発の進化 これまで (R12.1 R2006b R2010b) これから (R2015a) その先 まとめ MATLAB EXPO 2015 27
まとめ MATLAB/Simulink の発展とともに歩んできたエンジン制御仕様 ソフトウェア開発の進化について Simulink 仕様書と自動コード生成を軸にこれまでの足跡を振り返った 第 4 世代としてバージョン移行を決定した R2015a について 協調開発活動の狙いと成果の一例を紹介 将来の取り組むべき方向性を提示 It is not the strongest of the species that survives, nor the most intelligent, but the one most responsive to change. - Charles Darwin MATLAB EXPO 2015 28