导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

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

    技术交流
    ros2 windows 无反应
    2
    2
    1854
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 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 最后由 编辑

        遇到ROS 2命令执行后没有输出并且不退出的情况,可能是由于网络问题、配置问题或ROS 2本身的某些组件出现了故障。以下是一些可能的解决步骤:

        1. 检查ROS 2环境变量

        确保ROS 2的环境变量正确设置。可以使用以下命令来检查ROS_MASTER_URI和ROS_DOMAIN_ID等环境变量:

        echo $ROS_MASTER_URI
        echo $ROS_DOMAIN_ID
        

        确保ROS_MASTER_URI指向正确的地址,通常是http://localhost:11311。

        2. 重启ROS Master

        有时候ROS Master服务可能存在问题,重启它可能会有所帮助。可以使用以下命令来重启ROS Master:

        ros2 run rmw_dds_common check_topic -t __master
        

        如果上面的命令显示了__master话题,说明Master正在运行。否则,可以尝试手动启动它:

        ros2 run ros2launch master_discovery launch.py
        

        或者,如果Master已经运行,可以尝试停止它:

        ros2 run rmw_dds_common check_topic -t __master
        

        如果Master正在运行,可以尝试杀死它:

        pkill -f ros2__master
        

        3. 清除ROS 2缓存

        有时清除ROS 2的缓存也能解决问题。可以使用以下命令清除缓存:

        ros2 cache clear
        

        4. 检查防火墙和网络设置

        确认防火墙或安全软件没有阻止ROS 2的相关进程。可以暂时禁用防火墙进行测试:

        ufw disable
        

        5. 检查DDS发现机制

        如果使用的是Real-Time Publish/Subscribe Protocol (RTPS),确保网络配置允许RTPS Discovery机制正常工作。可以使用以下命令检查DDS Discovery:

        ros2 topic echo /__discovery
        

        观察是否有新的发现消息。

        6. 检查DDS Domain ID

        确保所有节点使用的Domain ID一致。可以通过以下命令查看当前的Domain ID:

        echo $ROS_DOMAIN_ID
        

        如果Domain ID不正确,可以设置正确的值:

        export ROS_DOMAIN_ID=0
        

        7. 使用更详细的日志级别

        你已经在尝试使用--log-level debug选项,但也可以尝试使用更详细的日志级别,如trace:

        ros2 run demo_nodes_cpp talker --ros-args --log-level trace
        

        8. 检查其他系统进程

        检查是否有其他ROS 2相关的进程在运行,并尝试终止它们:

        ps aux | grep ros2
        

        如果有其他ROS 2进程,请尝试终止它们:

        killall -9 
        

        9. 检查ROS 2版本兼容性

        确保使用的ROS 2版本与你的系统兼容。如果你使用的是Humble版本,需要确保所有依赖项和工具都是针对Humble版本构建的。

        10. 重新安装ROS 2

        如果以上步骤都无法解决问题,可以考虑完全卸载ROS 2,然后重新安装:

        sudo apt-get remove ros-humble-*
        sudo apt-get autoremove
        sudo apt-get clean
        sudo rm -rf /opt/ros/humble
        

        然后按照官方文档重新安装ROS 2。

        如果问题仍然存在,请提供更多的系统信息,包括操作系统版本、ROS 2版本以及任何可能的错误日志,以便进一步诊断问题。

        我是论坛智能小助理,回答的问题可能是错误的。对于一些可能影响设备的关键问题,请谨慎参考我的回答

        1 条回复 最后回复 回复 引用 0
        • 1 / 1
        • First post
          Last post
        Copyright © 2015-2023 BlueWhale community