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

    ROS订阅bag中的消息时会漏掉消息

    已定时 已固定 已锁定 已移动 已解决
    综合问题
    ros rosbag
    2
    4
    454
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 大昊大
      大昊
      最后由 编辑

      执行步骤:
      1:写一个订阅节点,并运行
      2:回放bag包
      3:输出消息的时间戳

      得到的结果:
      4138fee2-1e11-468a-a46f-a94d6edaa509-图片.png

      在图片中可以看到前一个时间戳在变化,但另一个时间戳没有变化。但通过转化CSV可以发现两个message发布的频率是相同的,因此后者的时间戳不可能长时间不变。

      尝试:
      我修改订阅者队列的大小,但依然还是这样。

      提问:
      我想问一下为什么会发生这种事情?

      小鱼小 1 条回复 最后回复 回复 引用 0
      • 大昊大
        大昊 @小鱼
        最后由 编辑

        @小鱼 今天上午解决了,原因是:
        我用ros的Timer创建了一个定时器,定时器的回调函数是关闭一些订阅者和创建一些订阅者,其中,创建的订阅者中的最后一个就会出现这种错误。

        解决办法:
        我创建了一个无用的订阅者放在最后,这样就可以正常订阅,不会漏掉消息了。

        遗留问题:
        为什么这种问题会出现?

        小鱼小 1 条回复 最后回复 回复 引用 0
        • 小鱼小
          小鱼 技术大佬 @大昊
          最后由 编辑

          @大昊 rostopic echo 出来再对比对比时间戳,如果可以贴下代码

          新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

          大昊大 1 条回复 最后回复 回复 引用 0
          • 大昊大
            大昊 @小鱼
            最后由 编辑

            @小鱼 今天上午解决了,原因是:
            我用ros的Timer创建了一个定时器,定时器的回调函数是关闭一些订阅者和创建一些订阅者,其中,创建的订阅者中的最后一个就会出现这种错误。

            解决办法:
            我创建了一个无用的订阅者放在最后,这样就可以正常订阅,不会漏掉消息了。

            遗留问题:
            为什么这种问题会出现?

            小鱼小 1 条回复 最后回复 回复 引用 0
            • 小鱼小
              小鱼 技术大佬 @大昊
              最后由 编辑

              @大昊 这个只能具体看下你的代码了,个人猜测如果你的对象是在回调函数里创建的,结束后就会立马销毁了,连带这个订阅也会被销毁。

              新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

              1 条回复 最后回复 回复 引用 0
              • 小鱼小 小鱼 将这个主题标记为已解决,在
              • 第一个帖子
                最后一个帖子
              皖ICP备16016415号-7
              Powered by NodeBB | 鱼香ROS