Skip to the content.

rosbag から自動走行モードの期間を抽出するスクリプト

はじめに

本記事では、自動運転AIチャレンジ 2024 の実機走行で取得した rosbag から自動走行モードの期間を抽出するスクリプトを公開します。

自動走行モードの期間の抽出スクリプト

スクリプトは Roborovsky-Racers/aic_tools リポジトリ に公開しています。 本スクリプトは vehicle/status/control_mode トピックを監視し、 値が AUTONOMOUSであるの期間の始点と終点を抽出して auto_period.csv に出力します。

auto_period.csv

start end
t_start_1 t_end_1
t_start_2 t_end_2

実行手順

  1. リポジトリ aic_tools をクローン&ビルド
  2. ros2 run aic_tools auto_mode_period_marker.py を実行
  3. 抽出対象の rosbag を play (ros2 bag play BAG_FILE_NAME など)
  4. rosbag の再生が完了したら auto_mode_period_marker を Ctrl+c で終了
  5. 最終的な出力:auto_period.csv が ros2 runの実行ディレクトリに保存される

抽出期間を用いて rosbag を分割する方法

TIER IV さんが公開している ros2bag_extensions が便利です。 ros2 bag slice コマンドの start/end 時刻に対し、 auto_period.csv に出力された時刻を指定してください。

さいごに

実機による走行で取得される rosbag は長時間になる場合も多いかと思います。 本スクリプトにより開発が効率化されたら幸いです。


Roborovsky Note トップページ