インターフェース
ドメインID名前空間
本大会ではマルチ車両対応のため、ROS 2のドメインID機能を使用してトピックの名前空間を分離しています。
| ドメインID |
用途 |
| 0 |
AWSIM(シミュレータ) |
| 1〜4 |
各車両 |
domain_bridgeノードがドメイン間のトピックを橋渡しし、シミュレータと各車両間の通信を実現しています。通常の開発(単一車両)では、ドメインIDを意識する必要はありません。
トピック一覧
車両インターフェース
| Interface |
Name |
Type |
| Service |
/control/control_mode_request |
autoware_auto_vehicle_msgs/srv/ControlModeCommand |
| Publisher |
/vehicle/status/control_mode |
autoware_auto_vehicle_msgs/msg/ControlModeReport |
| Subscription |
/control/command/control_cmd |
autoware_auto_control_msgs/msg/AckermannControlCommand |
| Subscription |
/control/command/actuation_cmd |
tier4_vehicle_msgs/msg/ActuationCommandStamped |
| Publisher |
/vehicle/status/actuation_status |
tier4_vehicle_msgs/msg/ActuationStatusStamped |
| Publisher |
/vehicle/status/velocity_status |
autoware_auto_vehicle_msgs/msg/VelocityReport |
| Publisher |
/vehicle/status/steering_status |
autoware_auto_vehicle_msgs/msg/SteeringReport |
| Subscription |
/control/command/gear_cmd |
autoware_auto_vehicle_msgs/msg/GearCommand |
| Publisher |
/vehicle/status/gear_status |
autoware_auto_vehicle_msgs/msg/GearReport |
センサ
| Interface |
Name |
Type |
| Publisher |
/sensing/gnss/nav_sat_fix |
sensor_msgs/msg/NavSatFix |
| Publisher |
/sensing/imu/imu_raw |
sensor_msgs/msg/Imu |
| Publisher |
/sensing/lidar/scan |
sensor_msgs/msg/LaserScan |
| Publisher |
/sensing/camera/image_raw |
sensor_msgs/msg/Image |
| Publisher |
/sensing/camera/camera_info |
sensor_msgs/msg/CameraInfo |
シミュレーション管理
各車両ドメイン(N=1〜4)で /d{N}/awsim/status 等としてPublishされ、domain_bridgeによりAutoware側のトピック名に橋渡しされます。
| Interface |
Name |
Type |
| Publisher |
/awsim/status |
std_msgs/msg/Float32MultiArray |
| Publisher |
/awsim/state |
std_msgs/msg/String |
管理トピック(ドメイン0)
AWSIMの全体管理に使用されるトピックです。通常の開発では意識する必要はありません。
| Interface |
Name |
Type |
| Publisher |
/admin/awsim/state |
std_msgs/msg/String |
| Subscription |
/admin/awsim/start |
std_msgs/msg/Bool |
| Subscription |
/admin/awsim/reset |
std_msgs/msg/Empty |
グラウンドトゥルース(真値データ)
シミュレータが持つ正確な位置・姿勢などの真値データです。デバッグや検証に利用できますが、提出コードでは使用できません。
| Interface |
Name |
Type |
| Publisher |
/awsim/ground_truth/localization/kinematic_state |
nav_msgs/msg/Odometry |
| Publisher |
/awsim/ground_truth/vehicle/pose |
geometry_msgs/msg/PoseStamped |
| Publisher |
/awsim/ground_truth/on_collision |
std_msgs/msg/Bool |
トピックのドメイン橋渡し
以下のシーケンス図は、AWSIMとAutoware間のトピック通信の流れを示しています。
sequenceDiagram
participant AWSIM as AWSIM<br/>(Domain 0)
participant Bridge as domain_bridge
participant Autoware as Autoware<br/>(Domain N)
Note over AWSIM,Autoware: センサデータ(AWSIM → Autoware)
AWSIM->>Bridge: /d{N}/sensing/gnss/nav_sat_fix
Bridge->>Autoware: /sensing/gnss/nav_sat_fix
AWSIM->>Bridge: /d{N}/sensing/imu/imu_raw
Bridge->>Autoware: /sensing/imu/imu_raw
AWSIM->>Bridge: /d{N}/sensing/lidar/scan
Bridge->>Autoware: /sensing/lidar/scan
Note over AWSIM,Autoware: 制御コマンド(Autoware → AWSIM)
Autoware->>Bridge: /control/command/control_cmd
Bridge->>AWSIM: /d{N}/awsim/control_cmd
Note over AWSIM,Autoware: ステータス(AWSIM → Autoware)
AWSIM->>Bridge: /d{N}/awsim/status
Bridge->>Autoware: /awsim/status
AWSIM->>Bridge: /d{N}/awsim/state
Bridge->>Autoware: /awsim/state
トピック詳細
各トピックのメッセージフィールドの詳細です。
/control/command/control_cmd
| Name |
Description |
| stamp |
メッセージの送信時刻 |
| lateral.stamp |
未使用 |
| lateral.steering_tire_angle |
目標操舵角 (rad) |
| lateral.steering_tire_rotation_rate |
未使用 |
| longitudinal.stamp |
未使用 |
| longitudinal.speed |
未使用 |
| longitudinal.acceleration |
目標加速度 (m/s²) |
| longitudinal.jerk |
未使用 |
/control/command/actuation_cmd
| Name |
Description |
| header.stamp |
メッセージの送信時刻 |
| header.frame_id |
未使用 |
| actuation.accel_cmd |
アクセル指示値 (0.0 〜 1.0) |
| actuation.brake_cmd |
ブレーキ指示値 (0.0 〜 1.0) |
| actuation.steer_cmd |
タイヤ角指示値 (rad) |
/vehicle/status/actuation_status
| Name |
Description |
| header.stamp |
データの取得時刻 |
| header.frame_id |
未使用 |
| status.accel_status |
アクセル現在値 (0.0 〜 1.0) |
| status.brake_status |
ブレーキ現在値 (0.0 〜 1.0) |
| status.steer_status |
タイヤ角現在値 (rad) |
/vehicle/status/velocity_status
| Name |
Description |
| header.stamp |
データの取得時刻 |
| header.frame_id |
フレームID (base_link) |
| longitudinal_velocity |
縦速度 |
| lateral_velocity |
横速度 |
| heading_rate |
角速度 |
/vehicle/status/steering_status
| Name |
Description |
| stamp |
データの取得時刻 |
| steering_tire_angle |
操舵角 |
/control/command/gear_cmd
| Name |
Description |
| stamp |
メッセージの送信時刻 |
| command |
ギアの種類 |
/vehicle/status/gear_status
| Name |
Description |
| stamp |
データの取得時刻 |
| report |
ギアの種類 |
/sensing/gnss/nav_sat_fix
GNSSセンサからの測位情報です。racing_kart_gnss_poserノードがNavSatFixメッセージを車両座標系の姿勢に変換します。
| Name |
Description |
| header.stamp |
データの取得時刻 |
| header.frame_id |
フレームID |
| latitude |
緯度(度) |
| longitude |
経度(度) |
| altitude |
高度(m) |
| position_covariance |
位置の共分散 |
/sensing/imu/imu_raw
| Name |
Description |
| header.stamp |
データの取得時刻 |
| header.frame_id |
フレームID (imu_link) |
| orientation |
方位 |
| angular_velocity |
角速度 |
| linear_acceleration |
加速度 |
/sensing/lidar/scan
2D LiDARセンサからのスキャンデータです。
| Name |
Description |
| header.stamp |
データの取得時刻 |
| header.frame_id |
フレームID |
| angle_min |
スキャン開始角度(rad) |
| angle_max |
スキャン終了角度(rad) |
| angle_increment |
角度分解能(rad) |
| range_min |
最小検出距離(m) |
| range_max |
最大検出距離(m)(最大30m) |
| ranges |
距離データ配列(1080点) |
/sensing/camera/image_raw
カメラからのRGB画像データです。
| Name |
Description |
| header.stamp |
データの取得時刻 |
| header.frame_id |
フレームID |
| height |
画像の高さ(px) |
| width |
画像の幅(px) |
| encoding |
エンコーディング形式 |
| data |
画像データ |
/sensing/camera/camera_info
カメラの内部パラメータ情報です。
| Name |
Description |
| header.stamp |
データの取得時刻 |
| header.frame_id |
フレームID |
| height |
画像の高さ(px) |
| width |
画像の幅(px) |
| k |
カメラ内部行列(3x3) |
| d |
歪み係数 |
/awsim/status
シミュレーションの各種状態を取得するトピックです。Float32MultiArray型で、以下の7つのフィールドを持ちます。
| インデックス |
値 |
説明 |
| 0 |
sessionTime |
残りセッション時間(秒、カウントダウン) |
| 1 |
lapCount |
現在のラップ数 |
| 2 |
thisLapTime |
現在のラップタイム(秒) |
| 3 |
section |
現在のセクション番号 |
| 4 |
timeScale |
シミュレーションのタイムスケール |
| 5 |
boostRemaining |
残りブースト使用回数 |
| 6 |
isBoosting |
ブースト中フラグ (1.0=ブースト中 / 0.0) |
/awsim/state
車両ごとのシミュレーション状態を示す文字列トピックです。以下の状態値が配信されます。
| 状態値 |
説明 |
| Spawned |
車両がスポーンされた |
| Grounded |
車両が地面に接地した |
| Ready |
車両の準備が完了した |
| Start |
走行開始 |
| Finish |
走行終了(規定周回数に到達) |
/admin/awsim/state
シミュレーション全体の状態を示す管理用トピックです(ドメイン0)。
| 状態値 |
説明 |
| SelectMode |
モード選択画面 |
| PlayStart |
プレイ開始 |
| Ready |
準備完了 |
| WaitStart |
開始待ち |
| Start |
シミュレーション開始 |
| Finish |
シミュレーション終了 |
| LapComplete |
ラップ完了 |
| FinishAll |
全車両完了 |
| Terminate |
終了処理 |