ラピッドプロトタイピング
制御アルゴリズムをすばやく効率的にテスト

ラピッドプロトタイピング

ラピッドコントロールプロトタイピングには、ECUソフトウェア全体を置き換えすることなく制御アルゴリズムをすばやく効率的にテストできるメカニズムが備わっています。このアプローチは、物理ECUと仮想ECUのどちらにも適用できます。

ラピッドプロトタイピングの基礎情報と詳細情報を以下に示します。

基礎

 

画像:バイパスフロー
バイパスフロー

バイパスとは、制御アルゴリズムの各部が、ECUの外部にある追加のリアルタイムハードウェアコンポーネント内で演算されることを意味します。リアルタイムハードウェアコンポーネントには、VN8900ファミリーが使用されます。

上記のECUでは、青色の機能ブロックでアルゴリズムAが実行されます。このアルゴリズムの改訂版であるアルゴリズムA‘を使用可能にするには、アルゴリズムAへの入力データをXCP(DAQ)経由でコントローラーから読み取ります。バイパスコーディネーターはステップ1でデータを取得し、次にステップ2でアルゴリズムA‘にそのデータを渡します。ステップ3で、A‘がバイパスハードウェア上で実行され、出力データがバイパスコーディネーターに返されます。次にステップ4で、XCP(STIM)経由でコントローラーに出力データが渡されます。この手法はXCP標準プロトコルに基づいており、バイパスハードウェア上のアルゴリズムとECU I/Oおよびその他のソフトウェアを統合できるようにします。ここで重要となる前提条件は、測定/キャリブレーションハードウェアVX1000のような、ECUとの高速物理接続です。

モデルとなるアルゴリズムと応用アルゴリズムは、XCPによってチェックおよび調整されます。

さらに表示

 

画像:フルパス

フルパスでは、ECUからコード全体が取得され、別個のハードウェアコンポーネント上で演算されます。このような状況は、演算に必要なECUハードウェアがまだ利用可能でない場合によく起こります。リアルタイム演算や演算性能などの要件に応じて、仮想ECUを備えたPCからVN8900ファミリーベースのリアルタイムプラットフォームに至るまで、さまざまなプラットフォームを使用できます。ここでも同様に、XCPと統合することで、特定のベンダーに依存しないツールチェーンを実現できます。

 

さらに表示

 

画像:ECUアクセス

データを取得し、演算を実行して値をECUに返すには、演算ハードウェアとECU間の接続が双方向で高速でなければなりません。CANやFlexRayなどのバスインターフェイスでは最大データレートを実現できませんが、マイクロコントローラー固有のデータインターフェイス(JTAG、DAP、Nexus、Aurora)を使用すれば可能です。

 

さらに表示

制御アルゴリズムの開発

ECU内の制御アルゴリズムの開発には、手動コードまたはモデルベースのアプローチが用いられます。これらの方法を利用できる可能性は、開発環境のレベルと関連アプローチによって異なります。

 

 

開発アプローチ

 

画像:開発アプローチ(MATLAB/Simulink)

Simulinkでは、一般にMathWorksまたはdSpaceから取得した機能ブロックを使用して、グラフィカルモデリング言語でアルゴリズムを開発します。次に、MathWorks Simulink Coderを使用して、事前定義されたプラットフォーム用のコードを生成します。「Vector MATLAB/Simulink MC Add-on」を使用すると、Simulink Coderで「CANape」をターゲットプラットフォームとして選択できます。このオプションを選択すると、生成ステップ中にXCPドライバーがコードに組み込まれます。コンパイルとリンクが完了すると、DLLが作成されます。このDLLは、CANapeでサービスとして直接統合でき、XCP経由で測定とキャリブレーションを行うことができます。

 

さらに表示

 

画像:開発アプローチ(Visual Studio)

Visual Studioでアプリケーションを直接開発する場合は、CANapeでアルゴリズムをDLLとして直接統合することもできます。これを行うと、結果的にVisual Studioプロジェクトにアルゴリズムが組み込まれます。コンパイルとリンクが完了すると、DLLが生成されます。このDLLは、デバイスとしてCANapeに直接組み込むことができ、XCPアクセスを備えています。

さらに表示

 

アプリケーション環境

制御アルゴリズムは、開発フェーズに応じてさまざまな環境(仮想シナリオ、ラボ、ワークステーション、車両など)で使用できます。

 

ベクターのソリューションは、XCP、A2L、CDF2.0、MDFなどの標準規格をベースにしています。そのため、開発の全段階を通して同じツール設定を利用できます。測定データは常に同じフォーマットで表示され、パラメーターセットが含まれたファイルを必要に応じて入れ替えることができます。そのため、ごく短時間で習熟でき、情報やデータを制限なく交換できます。

 

実行プラットフォーム

PC上での仮想ECUのプロトタイピング

プロトタイピングソリューションは、ECUハードウェアの開発が完了する前でも使用できます。同時に、モデルをSimulinkで演算したり、CANapeで実行可能コード(DLL)として演算することもできます。

 

 

画像:CANapeオプションSimulink XCPサーバー
モデルに統合されているXCPサーバーは、モデルのA2Lファイルを生成し、CANapeプロジェクトを作成して、CANapeを開始します。

CANapeからSimulink内のモデルへの接続は、XCP on Ethernetによって確立されます。これを実現するには、CANapeオプションの「Simulink XCPサーバー」が必要です。モデルに統合されているXCPサーバーは、モデルのA2Lファイルを生成し、CANapeプロジェクトを作成して、CANapeを開始します。
そのため、ユーザーはモデルのインスツルメントをさらに行わなくても、CANapeの測定機能とキャリブレーション機能をすべて使用できます。たとえば、個々のパラメーターを調整してシグナル、特性カーブ、マップを測定したり、MATLABワークスペースで完全なパラメーターセットをロードしたりすることが可能です。

また、統合されたS-FunctionをXCP経由で測定およびキャリブレーションすることもできます。これらのS-Functionを関連A2L経由でSimulink XCPサーバーに統合するだけで、たとえばサプライヤーによって開発された、モデルとして使用できない機能にアクセスできるようになります。

CANapeはモデルの入力値として、測定ファイルから既存のシグナルにアクセスし、それをモデルに渡します。そのため、モデルに調整を加えずに入力ベクトルを読み取ることができます。モデルの実行速度がリアルタイムより速いか、モデルを1ステップずつ演算するかにかかわらず、CANapeはモデルの時間応答に完全に適合します。

 

さらに表示

 

画像:Vector Tool Platform

Vector Tool Platformは、CPUボード搭載型ベクターネットワークインターフェイス用のシステム拡張機能です。

 

このコンポーネントにより、CANoeおよびCANapeでの遅延時間と決定性が向上します。これを実現するため、VN8900ファミリーのCPUボード搭載型ネットワークインターフェイスは論理的に2つの領域に分割されています。一方の領域では、インターフェイスが通常どおり機能します。もう一方の領域には「Extended Real Time」(ERT)コンポーネントが備わっており、そこで事前定義された機能をリアルタイム条件下で実行できます。

さらに表示

 

画像:CANapeバイパス

コンパイラーを使用して、手動コードまたはSimulinkモデルからDLLを生成したら、DLLをCANapeにシームレスに統合することができます。DLLの特長の1つは、データ測定やパラメーター調整をDLLから直接実行できるXCPインターフェイスを備えていることです。DLLを統合して使用する場合は、XCP-on-Ethernetアクセスを備えたECUと違いはありません。

CANapeは、接続されたデータソース(バス、ECUなど)または既存の測定ファイルから、DLLに必要なデータを直接供給します。

さらに表示

サポートに利用可能な製品

さまざまな開発環境を使用して作成されたアルゴリズム用のランタイム環境
CANape
CANapeはオプションのSimulink XCPサーバーを使用して、Simulink内のモデルに接続します。この接続により、モデルのパラメーターを変更したり、スティミュレーションとなる実データをモデルに入力したり、モデルから必要な測定値を取得したりできるようになります。
VN8900ネットワークインターフェイスは、CANapeで使用されるMATLAB/Simulinkモデルの実行プラットフォームとして使用でき、これによりリアルタイムの応答性を高めることができます。Vector Tool Platformを使用すれば、モデルの実行上重要な特性(遅延時間や決定性など)が向上します。
VN8900およびVector Tool Platform

スティミュレーション

センサー搭載ECUの開発者は、次の2つの問題に直面します。

 

  1. ラボには必要な環境がないため、車載でないと、実際の状況を反映した有意義なセンサーデータが得られないことが多い。
  2. 車載センサーのデータを再現するのに時間とコストが掛かる。

このような理由から、ECUが本質的に実在か仮想かにかかわらず、前に記録したセンサーデータを使ったECUのスティミュレーションが開発上重要となります。これを行う1つの方法は、入力をバイパスし、データをXCP経由でECUのメモリーに直接書き込むことです。もう1つの方法は、センサー入力を介してデータをコントローラーに送ることです。

 

サポートに利用可能な製品

ECUとのインターフェイスと同じように、モデルとのXCPインターフェイスを使用します。CANapeはSimulinkモデルの時間応答に完全に適合します。
CANapeとモデル間のXCPインターフェイスを提供します。さらに、モデルのA2Lを生成し、CANapeプロジェクトをボタン1つで作成します。

データフュージョン

車載環境では、障害物検出の品質を高めるために各種のセンサーが同時に使用されます。複数のセンサーからのデータを組み合わせて、環境の全体像をできるだけ完全なものにします。

 

 

サポートに利用可能な製品

マルチセンサーデータの取り込みから、アルゴリズム開発、スティミュレーション、迅速な結果表示に至るまでの包括的なソリューション
AEB、ACC、Highway Pilotなどの運転機能用のデータフュージョンアルゴリズムを開発するためのプロトタイピングおよび量産ソフトウェアフレームワーク。レーダー、カメラ、LIDARのオブジェクトフュージョンをサポートします。

シミュレーション

残りのバスシミュレーション

残りのバスシミュレーションは、ECU開発の重要な役割を担っています。これによりECUの環境性能が高まり、残りのバスシミュレーションがなければ実質的に不可能な、包括的なテストを実施できるようになります。開発者の課題は、特定の制約事項を考慮した現実的な残りのバスシミュレーションを短時間で生成することです。

 

環境シミュレーション

環境シミュレーションも、ECU開発の重要な役割を担っています。これにより、ECUと通信ネットワークに加えてI/Oインターフェイスも接続されます。VTシステムを使用すると、ECUの入出力制御が非常に簡単になります。

 

CANoe実行プラットフォーム

CANoeシミュレーションを各種のプラットフォーム上で実行して、パフォーマンス、遅延時間、スループットに関するさまざまな要件を扱うことができます。

 

 

クラシックモードでは、ネットワークインターフェイスハードウェアを備えた1台のコンピューター上でCANoeシミュレーションが実行されます。パフォーマンス、遅延時間、スループットに関する特別な要件はありません。

 

さらに表示

 

RTモードでは、別個のコンピューター上でCANoeシミュレーションが実行されます。GUI部分は通常のワークステーション上で実行できます。シミュレーション部分は専用のリアルタイムシステム上で実行されます。このリアルタイム部分には、以下のプラットフォームを利用できます。


 

 

VN8900

VN8900ネットワークインターフェイスは、CAN FD、LIN、FlexRay、J1708、K-Lineなど、幅広いバスに対応したチャンネルを持つ、モジュール式セットアップのインターフェイスハードウェアです。VN8900ハードウェア上でのシミュレーションは、スタンドアロンセットアップ(つまりホストPCなし)でも実行できます。

VTシステム

VTシステムは、ECUや車載ネットワークの機能をテストするためのテストシステムの構築に使用します。CANoeは、これらのシステムで使用されるテストオートメーションソフトウェアです。モジュール式のVTシステムにより、単純なテストツールから複雑なテストシステムまで幅広いテストソリューションを構築することができます。

CANoe RT Rack

CANoe RTラックは、最適化されたリアルタイムオペレーティングシステムを備えた産業用PCです。単純にシステム全体のパフォーマンスを向上できるほか、遅延時間を減らしタイマー精度を高めることができます。

さらに表示

 

各種のインターフェイスを使用して、さまざまなメーカーの特殊ツールからなる異種混合環境にCANoeを統合することができます。

 

例:

  • MATLAB/Simulink
  • FMI/FMU
  • FDX
  • LabVIEW
  • XiLAPI

詳細な情報はこちらへお問い合わせください。

さらに表示

バイパス

画像:バイパス

バイパスは、特殊な形式のラピッドプロトタイピングです。バイパスでは、ECUからデータが取得され、ECUの外部で処理された後、その結果がECUに返されます。これを行うために、XCPプロトコルのメカニズム(ECUからデータを測定するためのDAQ、ECU内のデータをスティミュレートするためのSTIM)が使用されます。

遅延時間をできるだけ短く保つため、アルゴリズムはVN8900上のランタイム環境で実行されます。VN8900バイパスハードウェアとECU間の高速XCP接続は、VX1000測定/キャリブレーションハードウェアによって実現されます。

 

サポートに利用可能な製品

XCPメカニズムのDAQ/STIMをCANapeと組み合わせると、PCベースのバイパスを実行できます。
CANape
正確な時間応答によるバイパス実行。ソリューション全体の設定や、シグナルとパラメーターの表示はCANapeで行われます。VN8900ファミリーの製品はランタイム環境として使用されます。
ラウンドトリップ時間を短縮するため、バイパスの演算は、VN8900リアルタイムプロセッサー内蔵のベクターネットワークインターフェイスで行われます。また、測定/スティミュレーションアクセスは、VX1000ハードウェアを使用して実行されます。
バイパスアルゴリズムとECU間のラウンドトリップ時間を大幅に短縮するための、スケーラブルな測定/キャリブレーションハードウェア。