rosbag python api使用 -保存topic

rosbag可以保存ros运行中的topic,便于实验结束后的数据分析。
rosbag有命令行指令,也有api可以使用,这次我使用的是python api。
官方例程如下:

bag = rosbag.Bag('test.bag', 'w')	# 定义bag变量, ‘test.bag’是文件名,'w'是以写的模式打开这个文件
bag.write('chatter', s)				# 保存 ‘chatter’这个topic, 数据是s
bag.write('numbers', i)				# 保存 'numbers'这个topic, 数据是i
bag.close()

首先要定义bag变量,参数需要文件名和文件的打开模式,文件默认保存位置是:home/.ros/下面。
bag.write()里面需要两个参数:topic 名、数据。也就是把这个变量的数据内容写进去。
最后一定要bag.close(),不然bag文件是不完整的,后期无法读取。

如果程序是自动运行的,最好保存的文件名是带有时间的,这样,不会重复保存而覆盖掉原来的bag, 时间的读取,可以参考python的time库。

你可能感兴趣的:(ROS相关,rosbag,python,api)