【问题标题】:ROS Python main loop hanging for few secondsROS Python主循环挂了几秒钟
【发布时间】:2022-01-27 04:14:56
【问题描述】:

我在 Raspberry Pi 上的 Ubuntu 20 中使用 ROS 1 Noetic 和 Python 时遇到问题。我正在运行其他几个节点和主节点。在主节点中,经常会发生代码随机挂起的情况。这发生在从另一个节点接收信息的回调中。但如果我只运行主循环,也会发生这种情况。为简单起见,我附上了在主循环中发生这种情况的图像。第一张图显示代码,第二张图显示输出。

从第二张图可以看出,主循环随机挂了整整2.5秒。

如果您需要更多信息,我很乐意提供。

【问题讨论】:

  • 在没有看到完整代码的情况下说不出话来。回调似乎很可能占用时间。您的主循环中也没有睡眠。
  • @BTables 我已禁用此演示的回调。我不能发布完整的代码,因为它很大——它有很多节点。而且,它是公司的代码,所以我不能分享它。但是,我会尝试做一个最小的可重现示例。

标签: python freeze ros ubuntu-20.04


【解决方案1】:

我终于找到了问题所在。不是代码,而是 SD 卡。当我切换到另一张 SD 卡时,问题就消失了。

这是有问题的 SD 卡: https://www.amazon.com/Kingston-Digital-32GB-microSDHC-SDCA3/dp/B00RVNGGT8?th=1

这是一个没有: https://www.amazon.com/Sandisk-Ultra-Micro-UHS-I-Adapter/dp/B073K14CVB?th=1

没有问题的读取速度明显更快。我想这是导致问题的差异。或者我之前使用的卡可能有其他问题。

你怎么看?读取速度会有这样的影响吗?

【讨论】:

    猜你喜欢
    • 2020-05-03
    • 2014-10-18
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 2016-05-15
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多