ros2的doctor是个啥?可以看病吗?

342 阅读2分钟

大家好,我是今天又看到深圳出着太阳下雨的小鱼。

记得小鱼以前最喜欢淋雨了,每次都跟下雨就像如鱼得水一样开心, 不过淋雨也不好,容易得病,得病了还要看医生。那ROS2的有问题了该怎么办?今天就来讲一讲ROS2的一个工具叫ros2doctor.

一、介绍

ros2doctor是ros2命令行工具之一,当我们安装ros2时ros2doctor就会被安装.ros2doctor可以用于检查你的ROS2安装设置,比如网络、系统平台、软件版本等。也可以在运行ros2的时候查找潜在的问题。

二、生成报告

这个小鱼觉得最有用的,因为平时问小鱼问题的同学很多,如果能第一时间知道你的系统版本以及各个软件的版本和网络信息等,可以很方便的定位问题。

使用方法也很简单

ros2 doctor --report
ros2@ubuntu:~$ ros2 doctor --report
   NETWORK CONFIGURATION
   inet         : 192.168.227.128
   inet4        : ['192.168.227.128']
   ether        : 00:0c:29:b7:a6:2e
   inet6        : ['fe80::4d41:28e0:7924:a3ab']
   netmask      : 255.255.255.0
   device       : ens33
   
   PACKAGE VERSIONS
   ament_pep257                              : required=0.9.6, local=0.9.6
   examples_rclcpp_minimal_action_client     : required=0.9.4,   local=0.9.4              rviz2     : required=8.2.2, local=8.2.2e                                  : required=0.9.2, local=0.9.2
   PLATFORM INFORMATIONsystem           : Linuxplatform 
   info    : Linux-5.11.0-27-generic-x86_64-with-glibc2.29release          : 5.11.0-27-genericprocessor        : x86_64
   RMW MIDDLEWAREmiddleware name    : rmw_fastrtps_cpp
   ROS 2 INFORMATIONdistribution name      : foxydistribution type      : ros2distribution status    : activerelease platforms      : {'ubuntu': ['focal']}
   TOPIC LISTtopic               : nonepublisher count     : 0subscriber count    : 0

三、检查问题

目前来看就比如,你写了一个话题发布者,但是压根没人订阅,这种会被检测出来作为潜在问题。

使用指令:

ros2 doctor

你会发现,一些UserWarning:如果话题只发布没有订阅会告诉你,xx话题的发布者缺少订阅者。

四、总结

目前来看这个工具还是有点小弱,不过如果能靠着一个工具来解决所有问题,也不现实。最重要的还是培养自己的解题能力。