前提

MJ23車両アーキテクチャ

物理構成

MJ23車両は、以下のハードウェア構成で設計されています。

特筆すべき点として、 ECUをMain,Subの2台、VCUをMain,Subの2台搭載していることにより冗長化を実現しています。また、IMUをMain,Subの2台搭載し、それぞれMain ECU、Sub ECUに接続されています。つまり、Sub ECUのinputはSub IMUとVCUからの車両情報のみであり、lidarやcamera、radarなどのセンサはSub ECUには接続されていません。

論理構成

MJ23車両の論理構成は、以下のようになっています。

ドメイン分割

従来Pilot-auto.x2では、ROS_DOMAIN_ID=1 で全てのノードが同一ドメインで通信していましたが、MJ23車両アーキテクチャでは、以下のようにドメインを分割しています。

  • ROS_DOMAIN_ID=1: 自動運転ドメイン。Main ECU上の従来の機能は全てこのドメインに所属。

  • ROS_DOMAIN_ID=2: Sub ECUドメイン。Sub ECUで起動されるノードが所属。

  • ROS_DOMAIN_ID=3: MRMドメイン。Main ECU上のMRM関連ノードが所属。

ドメイン分割により、同一ノードや同一トピック名が異なるドメインで共存可能となり、MRMシステムの独立性が向上します。 ドメイン分割をしなければ、Main ECUとSub ECU上でノード名やトピック名が競合してしまい正常に動作しません。それらをすべて管理して一意の名称を付与することも可能ですが、ドメイン分割の方がシンプルで管理が容易です。

ドメイン間通信は、ROS2の domain bridgeを使用して実現しています。自動運転ドメインとSub ECUドメイン、MRMドメイン間で必要なトピックのみをブリッジしています。