- 使用shell文件录制包含选定topics的rosbag
rosbag 是ROS 中强大的工具,可以用来记录实时的数据方便之后对其进行分析。可以通过以下链接简单了解其使用:
在真实场景下的无人驾驶研究过程中,全部话题的数据量可能非常大,全部记录下来是十分耗时且占用大量存储空间的事情,我们往往会根据自身需要,录制部分话题。但每次录制时,在命令行内输入许多话题名称的操作十分繁琐,可以通过shell脚本使其自动化处理,这里提供一种思路。
在选定目录下执行以下命令:
mkdir recording_bags && cd recording_bags
touch recording.sh topics.txt && mkdir bags
在使用编辑器编辑一下内容到recording.sh
#!/bin/sh
echo "Topics to be subscribed:"
topics=""
if test -s topics.txt; then
while read -r line
do
echo $line
topics="${topics} ${line}"
done < topics.txt
else
echo "All topics"
topics="-a"
fi
rosbag record ${topics} -o $PWD/bags/recording.bag
在上述选定目录下执行以下命令:
chmod 777 recording.sh
之后我们便可以将想要订阅的话题写入到topics.txt中,然后执行sh recording.sh,便将录制包含选定话题的包到bags文件夹中。如果想要录制全部话题,不在topics.txt中写入任何内容即可。