ros2 bag record 输出csv, txt 等文本文件

正常来说,ros2 bag从ros1的rosbag升级过来,变规范了之后也变僵硬了,少了许多方便的服务。直接输出文本的服务没了,只有一种输出格式,db3。长这样,一个bag文件夹里面两个文件,db3和yaml。

一开始想看看有没有成熟的转文本工具,试了试鱼总(鱼香ROS)的ros2bag_convert,(https://github.com/fishros/ros2bag_convert.git),报错:

FileNotFoundError: [Errno 2] No such file or directory: 'bag_bigmama03060517_0.db/rosout.csv'

然后试了试疑似官方的ros2 bag convert,(https://github.com/ros2/rosbag2.git)

藏在很深的地方,

仔细一看,从包倒包,压包分包,压根就没想让你转格式,得,找半天最后还得靠自己。

打蛇七寸,擒贼擒王,饮水思源,你ros2 bag record是用来计数据的,数据哪里来,topic处来,

那我为啥非得从你bag一中间商那拿货,我直接上ros2 topic批发不香吗,而且人家ros2 topic echo有--csv选项,支持直接将消息以CSV格式输出。到这总体思路就清晰了,后面是琐碎步骤。

因为我本来是想bag一个机器人的关节运动过程的,bag已经有了所以偷懒不想再操作一遍机器人,于是直接一终端ros2 bag play,另一终端ros2 topic echo 了。

先启动机器人,

ros2 topic list 检查看到/joint_states有在,

那么在开头的bag文件夹里新开终端,输入

ros2 topic echo <你的topic名> --csv > <你的目标文本文件名>.csv,

新开另一终端

ros2 bag play <你的纪录文件名>.db3

先在echo的那个终端enter,再play。

安静等他跑完。

Play那里跑完会自己退出,echo 那得自己手动Ctrl+C。

回去文件夹里看看,多了个csv,这个复制到Windows里面自动识别为Excel表格。

想要变txt的话,右键用text editor 打开,

再新建一个文件,把csv内容全选复制过去,

保存的时候文件名以txt为后缀,

拿到Windows里面发给师兄,完事!!!

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值