您当前的位置: 首页 > 

鱼香ROS

暂无认证

  • 2浏览

    0关注

    498博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

鱼香ROS 发布时间:2021-09-01 18:00:19 ,浏览量: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
flags        : 4163 
mtu          : 1500
broadcast    : 192.168.227.255
inet         : 127.0.0.1
inet4        : ['127.0.0.1']
inet6        : ['::1']
netmask      : 255.0.0.0
device       : lo
flags        : 73 
mtu          : 65536

   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.2
rosbag2_storage                           : required=0.3.8, local=0.3.8
diagnostic_msgs                           : required=2.0.4, local=2.0.4
intra_process_demo                        : required=0.9.3, local=0.9.3
sros2                                     : required=0.9.4, local=0.9.4
examples_rclcpp_minimal_subscriber        : required=0.9.4, local=0.9.4
examples_rclcpp_minimal_service           : required=0.9.4, local=0.9.4
console_bridge_vendor                     : required=1.2.4, local=1.2.4
tf2_tools                                 : required=0.13.11, local=0.13.10
ament_cmake_gmock                         : required=0.9.9, local=0.9.8
rosbag2_cpp                               : required=0.3.8, local=0.3.8
ament_cmake_export_interfaces             : required=0.9.9, local=0.9.8
rqt_gui                                   : required=1.1.2, local=1.1.1
ros2cli                                   : required=0.9.9, local=0.9.9
launch_testing_ros                        : required=0.11.3, local=0.11.2
quality_of_service_demo_py                : required=0.9.3, local=0.9.3
launch_ros                                : required=0.11.3, local=0.11.2
ament_cmake_test                          : required=0.9.9, local=0.9.8
rosidl_generator_cpp                      : required=1.2.1, local=1.2.1
ament_cmake_export_include_directories    : required=0.9.9, local=0.9.8
class_loader                              : required=2.0.2, local=2.0.2
examples_rclcpp_minimal_composition       : required=0.9.4, local=0.9.4
ament_cmake_python                        : required=0.9.9, local=0.9.8
ament_cmake_target_dependencies           : required=0.9.9, local=0.9.8
lifecycle                                 : required=0.9.3, local=0.9.3
zstd_vendor                               : required=0.3.8, local=0.3.8
examples_rclcpp_multithreaded_executor    : required=0.9.4, local=0.9.4
ament_cmake_export_targets                : required=0.9.9, local=0.9.8
ros2topic                                 : required=0.9.9, local=0.9.9
ament_cmake_pep257                        : required=0.9.6, local=0.9.6
visualization_msgs                        : required=2.0.4, local=2.0.4
ament_cmake_libraries                     : required=0.9.9, local=0.9.8
control_msgs                              : required=2.5.1, local=2.5.1
desktop                                   : required=0.9.2, local=0.9.2
tf2_geometry_msgs                         : required=0.13.11, local=0.13.10
rclcpp_lifecycle                          : required=2.3.1, local=2.3.1
rqt_action                                : required=1.0.1, local=1.0.1
builtin_interfaces                        : required=1.0.0, local=1.0.0
rosbag2_converter_default_plugins         : required=0.3.8, local=0.3.8
demo_nodes_cpp_native                     : required=0.9.3, local=0.9.3
rclcpp_components                         : required=2.3.1, local=2.3.1
spdlog_vendor                             : required=1.1.3, local=1.1.3
sqlite3_vendor                            : required=0.3.8, local=0.3.8
ros2run                                   : required=0.9.9, local=0.9.9
realtime_tools                            : required=2.1.1, local=2.1.1
rmw                                       : required=1.0.3, local=1.0.3
qt_gui                                    : required=1.1.3, local=1.1.2
ament_index_python                        : required=1.1.0, local=1.1.0
rviz_rendering                            : required=8.2.2, local=8.2.2
rosidl_cmake                              : required=1.2.1, local=1.2.1
map_msgs                                  : required=2.0.2, local=2.0.2
effort_controllers                        : required=0.5.0, local=0.4.1
nav_msgs                                  : required=2.0.4, local=2.0.4
rqt_top                                   : required=1.0.2, local=1.0.1
cv_bridge                                 : required=2.2.1, local=2.2.1
dummy_robot_bringup                       : required=0.9.3, local=0.9.3
sdl2_vendor                               : required=3.0.0, local=3.0.0
interactive_markers                       : required=2.1.3, local=2.1.3
ros2_control                              : required=0.8.0, local=0.7.1
ament_cmake_include_directories           : required=0.9.9, local=0.9.8
rosbag2_compression                       : required=0.3.8, local=0.3.8
ros_core                                  : required=0.9.2, local=0.9.2
ament_cmake_ros                           : required=0.9.2, local=0.9.2
ros2action                                : required=0.9.9, local=0.9.9
ament_lint                                : required=0.9.6, local=0.9.6
examples_rclcpp_minimal_timer             : required=0.9.4, local=0.9.4
rosidl_typesupport_interface              : required=1.2.1, local=1.2.1
joint_state_controller                    : required=0.5.0, local=0.4.1
rqt_gui_cpp                               : required=1.1.2, local=1.1.1
rosidl_adapter                            : required=1.2.1, local=1.2.1
gazebo_ros2_control_demos                 : required=0.0.3, local=0.0.3
ament_cmake_copyright                     : required=0.9.6, local=0.9.6
rmw_dds_common                            : required=1.0.3, local=1.0.3
rclcpp                                    : required=2.3.1, local=2.3.1
libcurl_vendor                            : required=2.3.4, local=2.3.4
rosgraph_msgs                             : required=1.0.0, local=1.0.0
ament_cmake_export_link_flags             : required=0.9.9, local=0.9.8
launch_xml                                : required=0.10.6, local=0.10.5
examples_rclpy_minimal_client             : required=0.9.4, local=0.9.4
demo_nodes_cpp                            : required=0.9.3, local=0.9.3
ros2pkg                                   : required=0.9.9, local=0.9.9
libyaml_vendor                            : required=1.0.4, local=1.0.4
rqt_topic                                 : required=1.2.2, local=1.2.1
camera_info_manager                       : required=2.3.0, local=2.3.0
ros2interface                             : required=0.9.9, local=0.9.9
dummy_sensors                             : required=0.9.3, local=0.9.3
rosidl_typesupport_introspection_cpp      : required=1.2.1, local=1.2.1
tracetools                                : required=1.0.5, local=1.0.5
rqt_graph                                 : required=1.1.2, local=1.1.2
gazebo_plugins                            : required=3.5.3, local=3.5.3
robot_state_publisher                     : required=2.4.5, local=2.4.2
ros2controlcli                            : required=0.8.0, local=0.7.1
statistics_msgs                           : required=1.0.0, local=1.0.0
ament_index_cpp                           : required=1.1.0, local=1.1.0
python_qt_binding                         : required=1.0.5, local=1.0.5
gazebo_msgs                               : required=3.5.3, local=3.5.3
tf2_bullet                                : required=0.13.11, local=0.13.10
tinyxml2_vendor                           : required=0.7.4, local=0.7.4
ament_cmake                               : required=0.9.9, local=0.9.8
geometry_msgs                             : required=2.0.4, local=2.0.4
examples_rclpy_minimal_action_client      : required=0.9.4, local=0.9.4
velocity_controllers                      : required=0.5.0, local=0.4.1
rosidl_runtime_c                          : required=1.2.1, local=1.2.1
joy                                       : required=3.0.0, local=3.0.0
ament_cmake_lint_cmake                    : required=0.9.6, local=0.9.6
fastrtps_cmake_module                     : required=1.0.3, local=1.0.3
ament_lint_common                         : required=0.9.6, local=0.9.6
action_tutorials_interfaces               : required=0.9.3, local=0.9.3
imu_sensor_broadcaster                    : required=0.5.0, local=0.4.1
pluginlib                                 : required=2.5.3, local=2.5.3
rcutils                                   : required=1.1.3, local=1.1.3
rqt_publisher                             : required=1.1.3, local=1.1.3
examples_rclcpp_minimal_action_server     : required=0.9.4, local=0.9.4
pcl_conversions                           : required=2.2.0, local=2.2.0
ros2lifecycle                             : required=0.9.9, local=0.9.9
rosbag2                                   : required=0.3.8, local=0.3.8
ament_cmake_export_libraries              : required=0.9.9, local=0.9.8
tf2_py                                    : required=0.13.11, local=0.13.10
tf2                                       : required=0.13.11, local=0.13.10
rosidl_typesupport_fastrtps_cpp           : required=1.0.3, local=1.0.3
ament_flake8                              : required=0.9.6, local=0.9.6
rqt_gui_py                                : required=1.1.2, local=1.1.1
logging_demo                              : required=0.9.3, local=0.9.3
yaml_cpp_vendor                           : required=7.0.2, local=7.0.2
tlsf                                      : required=0.5.0, local=0.5.0
rcl                                       : required=1.1.11, local=1.1.11
force_torque_sensor_broadcaster           : required=0.5.0, local=0.4.1
depthimage_to_laserscan                   : required=2.3.1, local=2.3.1
rmw_implementation                        : required=1.0.2, local=1.0.2
ament_lint_auto                           : required=0.9.6, local=0.9.6
ros2_controllers                          : required=0.5.0, local=0.4.1
ament_cmake_core                          : required=0.9.9, local=0.9.8
ament_cmake_pytest                        : required=0.9.9, local=0.9.8
action_tutorials_cpp                      : required=0.9.3, local=0.9.3
pendulum_control                          : required=0.9.3, local=0.9.3
ros2multicast                             : required=0.9.9, local=0.9.9
ament_uncrustify                          : required=0.9.6, local=0.9.6
launch_testing                            : required=0.10.6, local=0.10.5
rosbag2_storage_default_plugins           : required=0.3.8, local=0.3.8
quality_of_service_demo_cpp               : required=0.9.3, local=0.9.3
rqt_image_view                            : required=1.1.1, local=1.1.1
rosidl_generator_py                       : required=0.9.4, local=0.9.4
tango_icons_vendor                        : required=0.0.1, local=0.0.1
ament_lint_cmake                          : required=0.9.6, local=0.9.6
shape_msgs                                : required=2.0.4, local=2.0.4
gazebo_ros_pkgs                           : required=3.5.3, local=3.5.3
gazebo_ros                                : required=3.5.3, local=3.5.3
controller_interface                      : required=0.8.0, local=0.7.1
rcl_interfaces                            : required=1.0.0, local=1.0.0
message_filters                           : required=3.2.5, local=3.2.5
std_srvs                                  : required=2.0.4, local=2.0.4
rosidl_default_generators                 : required=1.0.1, local=1.0.1
launch                                    : required=0.10.6, local=0.10.5
resource_retriever                        : required=2.3.4, local=2.3.4
gazebo_ros2_control                       : required=0.0.3, local=0.0.3
action_msgs                               : required=1.0.0, local=1.0.0
rosidl_typesupport_c                      : required=1.0.2, local=1.0.2
composition                               : required=0.9.3, local=0.9.3
rosidl_runtime_py                         : required=0.9.1, local=0.9.1
examples_rclpy_executors                  : required=0.9.4, local=0.9.4
lifecycle_msgs                            : required=1.0.0, local=1.0.0
sensor_msgs                               : required=2.0.4, local=2.0.4
ament_cmake_auto                          : required=0.9.9, local=0.9.8
rosidl_runtime_cpp                        : required=1.2.1, local=1.2.1
ament_cmake_uncrustify                    : required=0.9.6, local=0.9.6
tf2_ros                                   : required=0.13.11, local=0.13.10
xacro                                     : required=2.0.6, local=2.0.6
rosidl_typesupport_fastrtps_c             : required=1.0.3, local=1.0.3
python_cmake_module                       : required=0.8.1, local=0.8.1
ros2doctor                                : required=0.9.9, local=0.9.9
image_tools                               : required=0.9.3, local=0.9.3
hardware_interface                        : required=0.8.0, local=0.7.1
ament_cmake_version                       : required=0.9.9, local=0.9.8
ament_cmake_xmllint                       : required=0.9.6, local=0.9.6
pcl_msgs                                  : required=1.0.0, local=1.0.0
rmw_implementation_cmake                  : required=1.0.3, local=1.0.3
stereo_msgs                               : required=2.0.4, local=2.0.4
examples_rclpy_minimal_publisher          : required=0.9.4, local=0.9.4
turtlesim                                 : required=1.2.5, local=1.2.5
ament_cmake_export_definitions            : required=0.9.9, local=0.9.8
tf2_msgs                                  : required=0.13.11, local=0.13.10
domain_coordinator                        : required=0.9.2, local=0.9.2
rosidl_generator_c                        : required=1.2.1, local=1.2.1
examples_rclcpp_minimal_publisher         : required=0.9.4, local=0.9.4
rttest                                    : required=0.9.0, local=0.9.0
angles                                    : required=1.12.3, local=1.12.3
uncrustify_vendor                         : required=1.4.0, local=1.4.0
ament_cmake_export_dependencies           : required=0.9.9, local=0.9.8
ros2param                                 : required=0.9.9, local=0.9.9
rqt_srv                                   : required=1.0.3, local=1.0.2
example_interfaces                        : required=0.9.1, local=0.9.1
image_transport                           : required=2.3.0, local=2.3.0
rpyutils                                  : required=0.2.0, local=0.2.0
ament_xmllint                             : required=0.9.6, local=0.9.6
launch_yaml                               : required=0.10.6, local=0.10.5
teleop_twist_joy                          : required=2.4.3, local=2.4.3
rviz_ogre_vendor                          : required=8.2.2, local=8.2.2
joint_state_broadcaster                   : required=0.5.0, local=0.4.1
rqt_py_common                             : required=1.1.2, local=1.1.1
qt_gui_py_common                          : required=1.1.3, local=1.1.2
tlsf_cpp                                  : required=0.9.0, local=0.9.0
rcl_lifecycle                             : required=1.1.11, local=1.1.11
actionlib_msgs                            : required=2.0.4, local=2.0.4
ros2component                             : required=0.9.9, local=0.9.9
action_tutorials_py                       : required=0.9.3, local=0.9.3
ament_package                             : required=0.9.5, local=0.9.5
rosidl_default_runtime                    : required=1.0.1, local=1.0.1
qt_dotgraph                               : required=1.1.3, local=1.1.2
controller_manager_msgs                   : required=0.8.0, local=0.7.1
rcl_action                                : required=1.1.11, local=1.1.11
joint_trajectory_controller               : required=0.5.0, local=0.4.1
examples_rclpy_minimal_subscriber         : required=0.9.4, local=0.9.4
ros2bag                                   : required=0.3.8, local=0.3.8
ament_cmake_cppcheck                      : required=0.9.6, local=0.9.6
rqt_common_plugins                        : required=1.0.0, local=1.0.0
dummy_map_server                          : required=0.9.3, local=0.9.3
osrf_pycommon                             : required=0.1.11, local=0.1.10
common_interfaces                         : required=2.0.4, local=2.0.4
tinyxml_vendor                            : required=0.8.2, local=0.8.2
controller_manager                        : required=0.8.0, local=0.7.1
camera_calibration_parsers                : required=2.3.0, local=2.3.0
ros2_control_test_assets                  : required=0.8.0, local=0.7.1
rviz_default_plugins                      : required=8.2.2, local=8.2.2
ros2service                               : required=0.9.9, local=0.9.9
gazebo_dev                                : required=3.5.3, local=3.5.3
tf2_kdl                                   : required=0.13.11, local=0.13.10
ros_environment                           : required=2.5.0, local=2.5.0
shared_queues_vendor                      : required=0.3.8, local=0.3.8
forward_command_controller                : required=0.5.0, local=0.4.1
rcpputils                                 : required=1.3.2, local=1.3.1
rosidl_typesupport_cpp                    : required=1.0.2, local=1.0.2
examples_rclpy_minimal_action_server      : required=0.9.4, local=0.9.4
rmw_fastrtps_shared_cpp                   : required=1.2.5, local=1.2.5
ament_cpplint                             : required=0.9.6, local=0.9.6
ros_workspace                             : required=1.0.1, local=1.0.1
rqt_py_console                            : required=1.0.2, local=1.0.1
rqt_reconfigure                           : required=1.0.8, local=1.0.8
ament_cmake_gtest                         : required=0.9.9, local=0.9.8
rclpy                                     : required=1.0.6, local=1.0.5
rviz_common                               : required=8.2.2, local=8.2.2
composition_interfaces                    : required=1.0.0, local=1.0.0
urdf                                      : required=2.4.0, local=2.4.0
rosidl_typesupport_introspection_c        : required=1.2.1, local=1.2.1
rmw_fastrtps_cpp                          : required=1.2.5, local=1.2.5
ament_cppcheck                            : required=0.9.6, local=0.9.6
image_geometry                            : required=2.2.1, local=2.2.1
position_controllers                      : required=0.5.0, local=0.4.1
sros2_cmake                               : required=0.9.4, local=0.9.4
rqt_service_caller                        : required=1.0.5, local=1.0.4
demo_nodes_py                             : required=0.9.3, local=0.9.3
rosidl_parser                             : required=1.2.1, local=1.2.1
libstatistics_collector                   : required=1.0.1, local=1.0.1
rosbag2_transport                         : required=0.3.8, local=0.3.8
laser_geometry                            : required=2.2.0, local=2.2.0
tf2_sensor_msgs                           : required=0.13.11, local=0.13.10
rcl_logging_spdlog                        : required=1.1.0, local=1.1.0
eigen3_cmake_module                       : required=0.1.1, local=0.1.1
teleop_twist_keyboard                     : required=2.3.2, local=2.3.2
launch_testing_ament_cmake                : required=0.10.6, local=0.10.5
examples_rclcpp_minimal_client            : required=0.9.4, local=0.9.4
rqt_plot                                  : required=1.1.0, local=1.0.10
diff_drive_controller                     : required=0.5.0, local=0.4.1
unique_identifier_msgs                    : required=2.1.3, local=2.1.3
ament_cmake_flake8                        : required=0.9.6, local=0.9.6
qt_gui_cpp                                : required=1.1.3, local=1.1.2
rqt_console                               : required=1.1.1, local=1.1.1
examples_rclpy_minimal_service            : required=0.9.4, local=0.9.4
tf2_eigen                                 : required=0.13.11, local=0.13.10
rqt_shell                                 : required=1.0.2, local=1.0.1
rqt_msg                                   : required=1.0.5, local=1.0.4
trajectory_msgs                           : required=2.0.4, local=2.0.4
pendulum_msgs                             : required=0.9.3, local=0.9.3
ament_cmake_cpplint                       : required=0.9.6, local=0.9.6
rclcpp_action                             : required=2.3.1, local=2.3.1
ros2launch                                : required=0.11.3, local=0.11.2
ament_copyright                           : required=0.9.6, local=0.9.6
rcl_yaml_param_parser                     : required=1.1.11, local=1.1.11
std_msgs                                  : required=2.0.4, local=2.0.4
ros2node                                  : required=0.9.9, local=0.9.9
rviz_assimp_vendor                        : required=8.2.2, local=8.2.2
kdl_parser                                : required=2.4.1, local=2.4.1
geometry2                                 : required=0.13.11, local=0.13.10
topic_monitor                             : required=0.9.3, local=0.9.3
ros_base                                  : required=0.9.2, local=0.9.2

   PLATFORM INFORMATION
system           : Linux
platform info    : Linux-5.11.0-27-generic-x86_64-with-glibc2.29
release          : 5.11.0-27-generic
processor        : x86_64

   RMW MIDDLEWARE
middleware name    : rmw_fastrtps_cpp

   ROS 2 INFORMATION
distribution name      : foxy
distribution type      : ros2
distribution status    : active
release platforms      : {'ubuntu': ['focal']}

   TOPIC LIST
topic               : none
publisher count     : 0
subscriber count    : 0

三、检查问题

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

使用指令:

ros2 doctor

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

四、总结

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

关注
打赏
1666092100
查看更多评论
立即登录/注册

微信扫码登录

0.0616s