• 错误检查roswtf


    准备

    • 在你开始本教程之前请确保roscore没在运行。

    安装检查

    • roswtf 可以检查你的ROS系统并尝试发现问题,我们来试看:
    $ roscd
    $ roswtf
    
    • 你应该会看到(各种详细的输出信息):
    Stack: ros
    ================================================================================
    Static checks summary:
    
    No errors or warnings
    ================================================================================
    
    Cannot communicate with master, ignoring graph checks
    
    • 如果你的ROS安装没问题,你应该会看到类似上面的输出信息,它的含义是: * "Stack: ros": roswtf根据你当前目录来确定需要做的检查,这里表示你是在rosstack中启动roswtf。
      • "Static checks summary": 这是有关文件系统问题的检查报告,现在的检查结果表示文件系统没问题。
      • "Cannot communicate with master, ignoring graph checks(无法与master连接,忽略图(graph)检查)": roscore没有运行,所以roswtf没有做运行时检查。

    运行时检查(在有ROS节点运行时)

    • 在这一步中,我们需要让Master运行起来,所以得先启动roscore。

    • 现在按照相同的顺序再次运行以下命令:

    $ roscd
    $ roswtf
    
    • 你应该会看到:
    Stack: ros
    ================================================================================
    Static checks summary:
    
    No errors or warnings
    ================================================================================
    Beginning tests of your ROS graph. These may take awhile...
    analyzing graph...
    ... done analyzing graph
    running graph rules...
    ... done running graph rules
    
    Online checks summary:
    
    Found 1 warning(s).
    Warnings are things that may be just fine, but are sometimes at fault
    
    WARNING The following node subscriptions are unconnected:
     * /rosout:
       * /rosout
    
    • 既然roscore已经运行了所以roswtf做了一些运行时检查。检查过程的长短取决于正在运行的ROS节点数量,可能会花费很长时间才能完成。
    • 正如你看到的,这一次出现了警告:
    WARNING The following node subscriptions are unconnected:
     * /rosout:
       * /rosout
    
    • roswtf发出警告说rosout节点订阅了一个没有节点向其发布的话题。
    • 在本例中,这正是所期望看到的,因为除了roscore没有任何其它节点在运行,所以我们可以忽略这些警告。

    错误报告

    • roswtf会对一些系统中看起来异常但可能是正常的运行情况发出警告。也会对确实有问题的情况报告错误。
    • 接下来我们在ROS_PACKAGE_PATH 环境变量中设置一个 bad值,并退出roscore以简化检查输出信息。
    $ roscd
    $ ROS_PACKAGE_PATH=bad:$ROS_PACKAGE_PATH roswtf
    
    • 这次我们会看到:
    Stack: ros
    ================================================================================
    Static checks summary:
    
    Found 1 error(s).
    
    ERROR Not all paths in ROS_PACKAGE_PATH [bad] point to an existing directory: 
     * bad
    
    ================================================================================
    
    Cannot communicate with master, ignoring graph checks
    
    • 正如你看到的,roswtf发现了一个有关ROS_PACKAGE_PATH设置的错误。

    • roswtf还可以发现很多其它类型的问题。

    • 如果你发现自己被一个编译或者通信之类的问题困扰的时候,可以尝试运行roswtf看能否帮你解决。

  • 相关阅读:
    使用CAShapeLayer做出圆形的进度条 —— #DF!
    NSDate分类,把系统返回的时间与现在进行比较---秀清
    NSPredicate类,指定过滤器的条件---董鑫
    UITextFIeld的输入格式问题 ----W.P
    AttributeText创建多彩文字Label --- hl
    自定义简单动画
    Swift 学习网址精选 By HL
    【C++服务端技术】移动广播
    【C++服务端技术】定时器
    【面试攻略】C++面试-4399
  • 原文地址:https://www.cnblogs.com/long5683/p/9984805.html
Copyright © 2020-2023  润新知