rosbagのtopicを大量にremapするshell script
概要
- rosbagのtopicを大量にremapするshell scriptを作った
- 脳死 rosbag record -a して、後でセンサ入力しか要らないことに気がついて大量のremapが必要になった時とかに使うとか
- rosbagからtopicを抽出してrosbagを作り直す等も考えたけど面倒だったのでshell scriptでごまかした
- “rosbag topic filter” “rosbag topic extract” “rosbag topic” でいい感じなのがパッと見つからなかったので、shell scriptでいいやってなった
環境等
- 環境
- Ubuntu20.04 LTS
- ROS1 noetic
- (自分はfish shellのbass command使った)
- Reference
shell scriptを作成する
https://github.com/scepter914/rosbag_remap_script に作った-
- rosbag_remap.shを作成
- remap用の文字列作ってrosbagに食わせている何も変哲もないscript
#!/bin/bash
FILE_NAME=${1}
TOPIC_LIST=(
/tf
/tf_static
/perception/object_recognition/objects
/perception/object_recognition/tracking/objects
/perception/object_recognition/detection/objects
/localization/twist
)
TOPIC_FILTER=""
for TOPIC in ${TOPIC_LIST[@]}; do
TOPIC_FILTER+=$TOPIC
TOPIC_FILTER+=":=/tmp"
TOPIC_FILTER+=$TOPIC
TOPIC_FILTER+=" "
done
rosbag play $FILE_NAME --clock $TOPIC_FILTER
-
- rosbag infoで叩いて出てきたtopic一覧から要らないtopicをTOPIC_LISTの所に並べていく
-
- 実行権限
chmod a+x rosbag_remap.sh
-
- 実行
./rosbag_remap.sh file.bag