A Reproducible Method for Verifying New Robot Claims Using QoS and URDF
2026-10-29

A Reproducible Method for Verifying New Robot Claims Using QoS and URDF

In the field of robotics, verifying claims about a robot's performance can be a challenging yet critical task. This article provides a practical, step-by-step method for reproducibly verifying new robot claims using Quality of Service (QoS) settings and URDF (Unified Robot Description Format) models. This guide is designed to help technical editors, engineers, and anyone involved in the validation of robot performance ensure that the claims made about a new robot are accurate and reliable. The following sections will walk through the process with detailed examples and explanations, supported by official ROS 2 documentation.

Overview of the Reproducible Verification Process

The process of verifying new robot claims involves several key steps. First, you need to define the QoS settings that will be used to ensure reliable communication between the robot nodes. Next, you will create a URDF model that accurately represents the robot. Finally, you will generate a log file that captures the system's behavior under these conditions, which can then be used to verify the claims. This article will provide a comprehensive guide to each of these steps, along with practical examples and tips to help you navigate the process.

Step 1: Setting Up QoS Policies

Quality of Service (QoS) policies in ROS 2 allow you to tune the communication between nodes to meet specific reliability and performance requirements. These policies can be configured on publishers, subscribers, service servers, and clients to ensure that data is delivered reliably and on time. In the context of verifying robot claims, you will need to set up various QoS policies to ensure that the communication between the robot's components is robust and meets the expected performance levels.

For example, if you are verifying a robot's sensor data, you might want to set the QoS policy for reliability to "reliable" to ensure that all sensor data is delivered, even if the network is not robust. You might also set the history policy to "keep last" with a specific queue depth to ensure that only the most recent sensor data is stored, which can help reduce latency and improve real-time performance.

Step 2: Creating a URDF Model

A URDF (Unified Robot Description Format) model is a detailed description of a robot's physical structure, including its joints, links, and collision properties. This model is essential for visualizing and simulating the robot's behavior in a virtual environment. In the context of verifying robot claims, a URDF model can help you ensure that the robot's physical characteristics meet the expected specifications.

To create a URDF model, you can start with a simple example, such as a cylinder as shown in the following XML code:



  
    
      
        
      
    
  

This code defines a robot with a single link, which is a cylinder 0.6 meters long and 0.2 meters in radius. You can then use this model in a ROS 2 simulation to visualize the robot and test its performance under different QoS settings.

Step 3: Generating a Reproducible Log File

The next step in the verification process is to generate a log file that captures the behavior of the robot under the specified QoS settings. This log file will be used to verify the claims made about the robot's performance. To generate the log file, you will need to use ROS 2 logging tools and the PROV (Provenance) model to document the system's behavior.

ROS 2 provides several tools for logging and monitoring the behavior of the robot. For example, you can use the `rqt_plot` tool to visualize the data being published by the robot's sensors. You can also use the `rqt_graph` tool to visualize the communication graph between the robot's nodes.

To generate a log file using the PROV model, you can use the `ros2 logging` command to log the system's behavior and the `provenance` package to record the provenance of the data. The following example demonstrates how to log the robot's behavior using the `ros2 logging` command:

ros2 logging start --log-levels rosgraph=DEBUG --log-levels rcl=DEBUG --log-levels rclcpp=DEBUG --log-levels rclpy=DEBUG --log-levels rcl_interfaces=DEBUG --log-levels rclpy_action=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-levels rclpy_client=DEBUG --log-levels rclpy_service=DEBUG --log-levels rclpy_subscription=DEBUG --log-levels rclpy_publisher=DEBUG --log-level

Evidence and related reading:官方来源1;官方来源2;相关栏目3;相关栏目4;相关栏目5

18028484626 CONTACT US

公司:智联海(惠州)科技有限公司

地址:惠州仲恺高新区陈江街道白云山工业大道 5 号六楼 601

Q Q:18028484626

Copyright © 2002-2026

粤xxx

咨询 在线留言 电话:18028484626
微信 微信扫码添加我