第一次
This commit is contained in:
37
infra/tencent/merge/merge_ros1.sh
Normal file
37
infra/tencent/merge/merge_ros1.sh
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user