鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    记录最新时间段内的bag

    已定时 已固定 已锁定 已移动
    ROS 2相关问题
    ros2 bag rosbag2 api
    1
    2
    373
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 8118775078
      JQK
      最后由 编辑

      各位大佬:
      使用C++创建节点,订阅某topic,将topic存入队列,保持队列队首和队尾话题时间戳间隔不超过某固定周期,超过的则pop队首,等调用保存bag服务时,将队列中的topic写入bag文件。
      但是这样带来的问题是:使用ros2 bag play ${bag}时,无论多长时间的bag,都会瞬间播放完毕,而没有按照话题间的时间间隔。
      有没有办法在写bag时解决该问题,难道只能使用ros2bag reader的API在程序中根据话题时间间隔休眠后再发布吗?

      1 条回复 最后回复 回复 引用 0
      • 8118775078
        JQK
        最后由 编辑

        在ros1中可以直接通过命令行实现

        rosbag record --split --duration=10m --max-splits 6 /scan
        

        这样就可以记录最新10*6=60分钟以内的scan话题到bag文件了,在60分钟之前的bag会被回滚删除

        但是ros2 bag中没有这样的实现命令

        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS