Files
fst_data_pipeline-feature-e…/infra/tencent/merge/merge_ros1.sh

38 lines
704 B
Bash
Raw Normal View History

2026-04-16 15:44:32 +08:00
#!/usr/bin/env bash
set -euo pipefail
if [ "$#" -lt 2 ]; then
echo "Usage: merge_ros1.sh OUT.bag IN1.bag [IN2.bag ...]"
exit 1
fi
OUT_BAG="$1"
shift
IN_BAGS=("$@")
source /opt/ros/noetic/setup.bash
echo "[ROS] start roscore"
roscore >/tmp/roscore.log 2>&1 &
ROSCORE_PID=$!
sleep 3
echo "[ROS] start record -> $OUT_BAG"
rosbag record -a -x "/rosout.*" -O "$OUT_BAG" >/tmp/rosbag_record.log 2>&1 &
REC_PID=$!
sleep 2
for b in "${IN_BAGS[@]}"; do
echo "[ROS] play $b"
rosbag play "$b" >/tmp/rosbag_play.log 2>&1
done
echo "[ROS] stop record"
kill -INT "$REC_PID" || true
wait "$REC_PID" || true
echo "[ROS] stop roscore"
kill -INT "$ROSCORE_PID" || true
echo "[ROS] merge done -> $OUT_BAG"