ものづくりニュース by aperza

車両制御システムの並列ソースコードを数十秒で自動生成、ルネサスの開発環...

2016/11/1 IT media

車両制御システムの並列ソースコードを数十秒で自動生成、ルネサスの開発環境 (齊藤由希,[MONOist])

 ルネサス エレクトロニクスは2016年6月23日、車両制御モデルを基にソフトウェアの並列設計と並列ソースコードの生成を自動で行う、マルチコアマイコン向けのモデルベース開発環境を開発したと発表した。逐次ソースコードからCPUコアの割り当てや並列処理のソースコードを作成する従来のマルチコアマイコン向けのソフトウェア開発手法と比較して、開発期間を10分の1に短縮する。

 まずは2016年秋から制御周期の時間が同じ処理の並列化に対応した開発環境を発売する。今後は、制御周期の時間が異なる処理同士の並列化や、エンジンの回転数のように時間ではなく角度が基準となる制御も含む処理の並列化にも順次対応していく。



開発期間を従来の10分の1に短縮するモデルベース開発環境 (クリックして拡大) 出典:ルネサス エレクトロニクス

車両の制御ソフトウェアを並列処理するのは難しい?

 自動運転システムは、センシング結果の処理と判断、車両の制御を統合して低遅延で行う必要がある。そのため、処理性能を向上しながら消費電力低減を図ることができるマルチコアマイコンの優位性が高まっている。同社はシングルコアやマルチコアなど多様なCPUコア構成に対応した車載マイコン「RH850ファミリ」を発表している。駆動用モーターやエンジン、シャシーなどの制御に向けた製品だ。

 車両制御システムはデータの入出力時に情報量が少ないが、制御の細かな調整のために処理の中間で情報量が増えるため、画像認識のように処理を並列化するのが困難となっている。



車両制御システムを並列処理するソフトウェアの開発は長期化傾向 (クリックして拡大) 出典:ルネサス エレクトロニクス

 車両制御システムの処理を並列化するには、制御モデルから自動生成した逐次ソースコードを基に並列設計と並列ソースコードの作成を人間の手で行う。しかし、複数のCPUコアに処理を最適に割り振ってリアルタイム性を達成できる処理が完成するまでは手戻りが繰り返し発生するため、開発期間が長期化する傾向がある。

 また、逐次ソースコードを基に並列ソースコードを作成すると、どのように並列化したのか人の目では確認しにくいという課題もあった。

逐次ソースコードではなく、制御モデルを基に並列化する

 同社が開発したモデルベース開発環境は、制御モデルのブロックの中から依存関係がなく並列処理が可能な部分を抽出。自動運転システムとして十分な処理時間に収まるように、各CPUコアが行うべき処理を自動で最適に割り当てて並列化する。並列ソースコードは、数十秒間で制御モデルの数千ブロックのつながりを分析し、自動生成する。



制御モデルのブロックのつながりから、並列処理が可能な部分を抽出する (クリックして拡大) 出典:ルネサス エレクトロニクス

 機能は並列ソースコードの自動生成だけではない。マルチコアに割り当てた処理を反映させて制御モデルを修正し、その制御モデルに基づいて、実際のマルチコアマイコンがどのように処理を実行するか確認することもできる。処理の総実行時間やCPUコアごとの実行時間、CPUコア同士の同期タイミングなどをグラフで示す。処理に最も長い時間を要したケースを基に制御周期にどの程度余裕があるかも可視化する。



「RH850」のようなマルチコアマイコンが並列処理を効率よく行えているか確認できる (クリックして拡大) 出典:ルネサス エレクトロニクス

 これにより、自動車メーカーやティア1サプライヤは制御モデルが完成した段階で、マルチコアマイコンの処理性能が要件を満たせるか評価できる。また、モデル上でマルチコアマイコンの処理能力を効率的に使用できるソフトウェアの構成を検証することも可能になる。

 これまで人の手で行うことにより10日間以上かかっていた作業は1日で完了できるという。つまり開発期間は10分の1に短縮なる。

「まずは利便性を知ってほしい」

 同社のモデルベース開発環境は、MathWorksのMATLAB/Simulinkモデルを使用し、イーソルのモデルベース並列化ツール「Model Based Parallelizer」がCPUコアごとの最適な処理の割り当てを自動探索する。ユーザーが任意で処理を割り当てることもできる。並列ソースコードはMathWorksの「Embedded Coder」で生成し、ルネサス エレクトロニクスのモデルベース開発環境上でマルチコアマイコンが最適に並列処理するか検証できるようにしている。



制御モデルに基づいて並列設計とコード生成を行えるのが特徴だ (クリックして拡大) 出典:ルネサス エレクトロニクス

 同社では並列ソースコードの自動生成のみを手始めに使用するケースも想定している。「逐次ソースコードを制御モデルから自動生成してソフトウェアを開発できるという共通認識が自動車業界に根付いた。次は並列ソースコードの番だ。制御系の並列処理の難しさに直面しつつある開発の現場で使ってもらって、利便性を知ってもらうのが第一」(ルネサス エレクトロニクス)とする。

 同社 コアソリューション開拓部 部長の矢田直樹氏は「自動車メーカーやティア1サプライヤと半導体メーカーが、仕様書ではなく制御モデルに基づいて要件をすり合わせることができれば、開発のプロセスが変わる。単にソースコードを自動生成する新製品を投入するのではなく、自動車業界での開発の在り方を見直していくきっかけにしたい」と述べた。


製造業に従事するエンジニアを対象に、モノづくりの現場で働くスペシャリストの役に立つ技術情報や業界の最新動向を提供するメディアです。「組み込み開発」「メカ設計」「製造マネジメント」「オートモーティブ」の4つのフォーラムを中心に、基礎から応用まで多彩な技術解説記事、図版を多用した分かりやすいコンテンツ、話題のトピックスをより深く掘り下げた連載記事など、モノづくりに役立つ蓄積型コンテンツを充実させ、製造業における最新かつ専門性の高い技術情報を発信することで、技術者の問題解決をサポートしていきます。本サイトの名称は、“モノづくり(MONO)” と “~する人(ist)”の造語です。 http://monoist.atmarkit.co.jp/