ASAM規格への対応サービス-CCP DAQのご紹介

f:id:aptpod_tech-writer:20210913192557j:plain

こんにちは、オートモーティブグループの榮枝です。

オートモーティブグループでは、アプトポッド製品のIoTプラットフォームである「intdash」を活用して自動車産業へのIoTソリューションを提供しています。

昨今では、お客様の個別ニーズに応じてのソリューション提供に加えて、業界規格や業界共通的なニーズに対応すべくサービス開発も進めています。

今日は、開発中の、CCP(CAN Calibration Protocol)という自動車の内部状態を計測し調整するための通信をintdashを活用して遠隔で行えるようにするサービスについてご紹介させていただこうと思います。

予備知識

CCPは業界特有の規格のため、あまりご存知無い方も多いと思います。かくいう私も、CCPがC言語の派生言語ではないと知ったのはつい最近です(笑)。

そのため、本記事を読んでいただく前にそのあたりから簡単に説明しようと思います。


CCP

CCP(CAN Calibration Protocol)を一言で説明すると以下のような感じです。

「主に車種開発時の適合業務に於いて、ECUのメモリ値の取得と書き換えをCANを利用して行うための通信プロトコルで、ASAMという協会によって策定された規格です。」

といっても、これだけでは良くわからないと思います。 適合、ECU、CAN、ASAM、それと、CCPと合わせて利用されるA2LファイルやDAQ機能といった用語についても以下で簡単に説明します。

ちなみにこのCCPは、最後にリリースされたのは1999年(古い!)で、ASAM協会によると、CCPはXCPに置き換わった(=廃止になった)、と書かれていますが、車種開発の現場ではまだまだ現役です。

適合

近年の自動車では車両の制御は「車載のコンピュータ」が行っていますが、この制御パラメータを調整し、理想とする出力特性になるようにしていく、自動車開発におけるプロセスのことを適合と呼んでいます。

例えば、『アクセルをどれくらい踏み込んだときに、エンジン回転数はこれくらいになってほしい』という理想値があったとします。

この場合、エンジン回転数=f(アクセル踏み込み度, その他変数, ...)のような関係で表現できますが、この関数fの特性やパラメータを調整していくプロセス、というイメージです。

この適合プロセスについては少し先の「既存の適合プロセス」の章でもう少し詳しく説明します。

CCPの二文字目を示す「Calibration」という単語がこの「適合」を表しています。

一般に「Calibration」という単語を日本語訳する際には「較正」とか、 そのままカタカナで「キャリブレーション」ということが多いですが、 自動車開発の文脈では「適合」と訳されるようです。

ASAM

Association for Standardisation of Automation and Measuring Systems(自動化システムと測定システムの国際標準化団体)の略称です。

www.asam.net

自動車の研究・開発・システム検証等におけるデータモデルや、ファイルフォーマット、モジュール間の通信(API)、通信プロトコルなどを定義(整理)することなどを主な活動としています。

BMW、ボッシュ、コンチネンタル、ダイムラー、デンソー、デルファイ、GM、ホンダ、PSA、SAIC、トヨタ、TRW、フォルクスワーゲン、ボルボなど、ドイツやUS、日本の主な自動車メーカー関連が参画しています。

ASAMではASAMが策定した各種規格書を有料で販売しているのですが、若干お高く、、

ASAMに入会すると会費は必要なのですが、これが自由にダウンロードできるようになり、規格書だけを単品購入するよりかなりリーズナブルになります。

このCCP向けサービスを開発するにあたり、aptpodも先日メンバーになりました!! https://www.asam.net/members/detail/aptpod-inc/

CAN

「Controller Area Network」の略で、主に「車載のコンピュータ」間の通信に利用されている通信プロトコルです。

CCPではこの「車載のコンピュータ」間の通信に割って入って「車載のコンピュータ」と通信し、メモリ値の取得や書き換えを行います。

ECU

「Electronic Control Unit」の略で、車載のコンピュータのことです。

近年の車両では、一つの車両に数十〜数百のECUが搭載されていて、自動車の様々な挙動の制御を行っています。

A2Lファイル

「ASAM MCD-2 MC Language」の略で、ASAMによって策定された規格であるASAM MCD-2 MCにて定義された、ECUの内部状態を記述するためのファイルフォーマットです。

XMLに似た独自のタグ形式のフォーマットで、ECUのメモリ上のどのアドレスにどういったデータが格納されているかやそのデータの解釈方法等が記載されています。このデータ数は数千から、多いものだと数万レコードほどあったりします。

だいぶ省略したものですが、以下がA2Lファイルのサンプルです。このように/beginと/endのタグで構成された構造をしています。

ASAP2_VERSION 1 71
/begin PROJECT ASAP2_Example ""
  /begin HEADER "ASAP2 Example File"
    VERSION "V1.7.1"
    PROJECT_NO P2016_09_AE_MCD_2MC_BS_V1_7_1_main
  /end HEADER
  :(省略)
  /begin MODULE Example ""
    /begin A2ML
    :(省略)
    /begin COMPU_METHOD CM.RAT_FUNC.DIV_10 
      "rational function with parameter set for impl = f(phys) = phys * 10"
      RAT_FUNC "%3.1" "km/h"
      COEFFS 0 10 0 0 0 1
    /end COMPU_METHOD
    :(省略)
    /begin MEASUREMENT ASAM.M.SCALAR.UBYTE.RAT_FUNC.DIV_10
      "Scalar measurement with status string"
      UBYTE  CM.RAT_FUNC.DIV_10 0 0 0 252   /* restricted limits to exclude status string values from standard measure range */
      ECU_ADDRESS 0x13A00
      FORMAT "%5.0"    /* Note: Overwrites the format stated in the computation method */
      DISPLAY_IDENTIFIER DI.ASAM.M.SCALAR.UBYTE.RAT_FUNC.DIV_10    /* optional display identifier */
      /begin IF_DATA ETK  KP_BLOB 0x13A00 INTERN 1 RASTER 5 /end IF_DATA
    /end MEASUREMENT
    :(省略)
    /begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_10
      "Scalar SWORD"
      VALUE 
      0x810004 
      RL.FNC.SWORD.ROW_DIR
      0 
      CM.RAT_FUNC.DIV_10  
      -10000 20000
      EXTENDED_LIMITS -32268 32267
      DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_10
    /end CHARACTERISTIC    
    :(省略)
  /end MODULE
/end PROJECT

DAQ

「Data Acquisition」の略で、CCPで定義されている機能の一つです。

複数のデータセットを高いサンプリングレートで連続的に取得するための機能で、最初に取得したいデータのリストをECUに登録し、登録し終えたら「取得開始」というリクエストを送ることで、ECUから指定のデータが一定のサンプリングレートで流れてくる様になります。

なお、CCPでは取得したいデータを逐次ECUにリクエストして取得する機能なども定義されています。

開発中のCCPサービスのご紹介

既存の適合プロセス

では、ようやくこの記事の本題の遠隔CCPサービスについてご紹介していきます。

CCPを利用する車種開発の適合プロセスでは、現状では概ね以下のような作業が行われています。 (目的や利用する機材などによって異なる部分もありますが概ねこのような流れです。)

1. 初期設定
  • CCPに対応した専用ソフトウェアがインストールされたPCを用意します
  • 専用ソフトウェアに対象車両・ECUのA2Lファイルを読み込ませます
2. 計測・適合の設定・準備
  • 専用ソフトウェア上で、A2Lに記載されているデータ一覧から計測したいデータを選択します
3. 計測・適合
  • PCと車両(CAN)を接続します
  • 専用ソフトウェアで計測開始します
  • 必要に応じて専用ソフトウェアで制御パラメータ書き換えを行います
4.分析
  • ソフトウェアに溜まった計測データをダウンロードします
  • 別途用意したシステム等で、ダウンロードした計測データを分析、適合状況を確認します

その後2,3,4のサイクルを繰り返しながら、徐々に車を目的の出力特性に近づけて行きます。

f:id:aptpod_tech-writer:20210909150928j:plain

既存の適合プロセスの課題

前述の適合プロセスでは、4の「分析」は車両内で行えなくもないのですが、落ち着いて分析するために大抵は作業スペースへ移動して作業します。つまり、この作業サイクルを繰り返すには車両と作業スペースを行ったり来たりすることになります。

また、計測したデータはローカルファイルとして扱いますので、誰がいつどういった目的・設定で計測したかの管理や、開発チーム内での共有を行うには別途何かしらの運用ルールやシステムを用意する必要があります。

この様に、現行の適合プロセスには

  • 落ち着いた環境で一連の業務を行えない。
  • 計測データの管理や共有に一苦労する。

といった点で課題感があります。

本サービスが提案する適合プロセス

本サービスは以下のイメージのシステムで、前述の課題を改善・解決しつつ更にいくつかの付加価値を提供します。(なお、現在現状では計測(DAQ)機能のみに対応しており、制御パラメータ書き換え機能は将来対応となります。)

f:id:aptpod_tech-writer:20210909164757j:plain

このシステムでの適合プロセスの流れは以下のようになります。

1.初期設定
  • 弊社が提供するクラウドサービスのWebアプリケーションにウェブブラウザでアクセスします
  • A2Lファイルをクラウドにアップロードします
2&3.計測の設定
  • クラウド上で、A2Lファイルに記載されているデータ一覧から計測したいデータを選択し、車載器に適用します。なお、車載器は自動的にクラウドから計測設定をダウンロードします。
4&5.(自動)CCP通信とクラウドへのデータ送信
  • 車載器は計測設定に従って自動的にCCP通信を開始し、取得したデータをクラウドに送信します。
6&7.リアルタイムモニタリングと計測データダウンロード
  • 車載器から送られたデータは、VisualM2Mという弊社サービス(参考:https://www.aptpod.co.jp/products/data-visualization/ )を利用して、リアルタイムに確認することができます。また、もちろん計測後にダウンロードすることもできます。

この様に、各種データのクラウド管理と通信機能を持った車載器によって、「作業スペースにいながら計測設定・計測・分析」と「計測データをクラウドで一元管理」できるようになります。

また、本システムではCCPに合わせて、CANバスデータや、位置情報、動画、音声、アナログ信号(参考:ANALOG-USB Interface)なども時刻同期しながら計測することが可能です。

参考:本サービスのUIイメージ

f:id:aptpod_tech-writer:20210909165214p:plain
A2Lファイルから計測対象のデータの選択画面

まとめ-今後の展望と要望投稿のお願い

本サービスは2021年秋にリリースします!!

ASAMのMeasurementとCalibrationの規格群への対応を目標にまずはCCPのDAQへ対応しています。

今後、CCPの適合やXCPも遠隔で行えるような機能や、計測データをMDFとして出力する機能なども計画しています。

このサービスを使ってみたい! CCPだけでなくこんな機能も欲しい!

といったご要望があればぜひお問い合わせください。

お問い合わせはこちらから

↓↓↓

aptpod,Inc. Contact