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

    Windows ros2 humble 命令卡死无反应问题

    已定时 已固定 已锁定 已移动 已解决
    综合问题
    ros2 humble 无反应 windows
    4
    6
    716
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • S
      shilongcn
      最后由 shilongcn 编辑

      之前用ros2执行各种命令都没有问题,但是最近突然不能用了,各种“卡死”,一直在运行状态,也不输出,目前还找不到原因:

      • 比如用 “ros2 topic list”,执行后,没有任何输出,也不退出

      • 比如用 ”ros2 run demo_nodes_cpp talker”,执行后,也没有输出,也不报错,就一直运行着

      以”ros2 run demo_nodes_cpp talker”为例,完整的调试信息如下:

      C:\Windows\System32>ros2 run demo_nodes_cpp talker --ros-args --log-level debug
      [DEBUG] [1721977709.505315400] [rclcpp]: signal handler installed
      [DEBUG] [1721977709.505680900] [rcl]: Initializing wait set with '0' subscriptions, '2' guard conditions, '0' timers, '0' clients, '0' services
      [DEBUG] [1721977709.505695300] [rclcpp]: deferred_signal_handler(): waiting for SIGINT/SIGTERM or uninstall
      [DEBUG] [1721977709.505780700] [talker]: Load library topics_library.dll
      [DEBUG] [1721977709.507710000] [talker]: Instantiate class rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::Talker>
      [DEBUG] [1721977709.508035400] [rcl]: Couldn't parse arg 0 (C:\opt\ros2_humble\lib\demo_nodes_cpp\talker.exe) as a remap rule in its deprecated form. Error: Expecting token or wildcard, at C:\ci\ws\src\ros2\rcl\rcl\src\rcl\arguments.c:1170
      [DEBUG] [1721977709.508257700] [rcl]: Initializing node 'talker' in namespace ''
      [DEBUG] [1721977709.508456500] [rcl]: Using domain ID of '0'
      

      我尝试过重装ros2,重置网络,关闭防火墙,但是都没有效果,各种ros2命令还是“卡死”,不输出,不报错,也不退出,非常奇怪,有没有高手可以指导我一下,该如何破解这个问题?谢谢了!

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

        @shilongcn windows 平台就是bug很多

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

        1 条回复 最后回复 回复 引用 0
        • 小伊小
          机器人小伊
          最后由 编辑

          面对ROS 2在Windows系统上突然出现的“卡死”问题,且没有明确的错误输出,这通常是比较棘手的问题。不过,我们可以尝试一些步骤来诊断和解决这个问题。以下是一些可能的解决步骤:

          1. 检查ROS 2版本和环境:

            • 确保你安装的ROS 2版本(Humble)与你的操作系统和其他依赖项兼容。
            • 检查环境变量是否正确设置,特别是PATH和ROS2_HOME。
          2. 查看ROS 2日志:

            • 尽管你在命令中使用了--log-level debug,但日志可能并没有完全展示所有信息。尝试在.ros目录下查找更详细的日志文件,特别是那些与listener节点相关的。
            • 也可以尝试使用ros2 bag record -a来记录所有发布的消息和服务的日志,看看是否有异常或缺失的数据。
          3. 检查网络配置:

            • ROS 2依赖于DDS(数据分发服务)进行节点间的通信。虽然你已经重置了网络并关闭了防火墙,但请确保DDS端口(默认是7410-7420等)没有被其他应用占用。
            • 检查DDS的实现(如FastRTPS)的配置文件,确保设置正确无误。
          4. 检查硬件资源:

            • 有时候,系统资源不足(如CPU、内存或磁盘空间)也可能导致程序挂起。检查系统的资源使用情况,确保没有资源瓶颈。
          5. 尝试运行简单的示例:

            • 尝试运行ROS 2自带的更简单的示例节点,如talker和listener,看看它们是否能正常工作。这有助于确定问题是否仅限于demo_nodes_cpp包。
          6. 更新和重新构建:

            • 如果你有从源代码构建ROS 2或其依赖项的经验,尝试更新源代码并重新构建。有时候,源代码中的小错误或不兼容的更改可能导致问题。
          7. 查看已知问题和社区帮助:

            • 检查ROS 2的官方问题跟踪器或GitHub仓库,看看是否有其他用户报告了类似的问题。
            • 在ROS 2的社区论坛、Slack群组或Discord服务器上寻求帮助。
          8. 考虑使用Docker:

            • 如果问题持续存在且难以解决,考虑使用Docker来运行ROS 2环境。Docker可以提供一个干净、隔离的环境,有助于排除本地环境的问题。
          9. 回滚更改:

            • 如果你最近对系统或ROS 2环境进行了重大更改(如更新操作系统、安装新软件或更改网络设置),考虑回滚这些更改,看看问题是否仍然存在。
          10. 重新安装ROS 2:

            • 如果上述步骤都没有解决问题,尝试完全卸载ROS 2,并从头开始重新安装。确保遵循官方安装指南,并检查所有依赖项是否已正确安装。

          希望这些步骤能帮助你解决ROS 2在Windows上的“卡死”问题!如果问题仍然存在,可能需要更深入地调查具体的系统配置或环境设置。


          以上为生成回答,仅供参考~

          我是小伊,已接入ChatGpt,所有回复,仅供参考~

          S 1 条回复 最后回复 回复 引用 0
          • S
            shilongcn @小伊
            最后由 编辑

            这个回答无法解决问题啊

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

              @shilongcn windows 平台就是bug很多

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

              1 条回复 最后回复 回复 引用 0
              • S shilongcn 将这个主题标记为已解决,在
              • L
                LASER @shilongcn
                最后由 编辑

                @shilongcn 请问您找到解决方法了吗🤤

                L 1 条回复 最后回复 回复 引用 0
                • L
                  LASER @LASER
                  最后由 编辑

                  @LASER 我的问题解决了,首先我这不是ros2 daemon的问题,是通过ros2 doctor发现缺少一些依赖,rosdistro给干没了,具体就是重新执行一遍官网上面下载依赖的语句,就可以正常ros2 topic list了。屏幕截图 2025-02-12 143421.png

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