# ROS2_latency_test **Repository Path**: jinan-automatic-driving_fa1053/ros2_latency_test ## Basic Information - **Project Name**: ROS2_latency_test - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-22 - **Last Updated**: 2025-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ROS2 Latency Test ROS2 Latency Test 项目用于测试不同通信模式下的延迟性能表现,适用于评估 ROS2 系统中 CPU 与 GPU 之间、以及纯 CPU 场景下的通信效率。 ## 项目特点 - 支持多种通信模式:CPU 到 CPU、CPU 到 GPU、GPU 到 GPU。 - 提供延迟测量功能,适用于性能分析。 - 支持配置数据负载大小和样本数量,便于定制测试场景。 ## 目录结构 - `src/`:包含核心测试代码,如发布者和订阅者实现。 - `scripts/`:提供辅助脚本与配置文件,可用于测试环境配置。 ## scripts/日志说明 - Jetson AGX Orin Devkit & Jetpack 6.2.1 & MAXN(sudo jetson_clocks) - Results of Cylonedds and fastdds based on ROS2 ## 依赖 - ROS2 环境 - 支持 CUDA 的 GPU 环境(用于 GPU 相关测试) - RMW 实现(FastDDS、CycloneDDS 等) ## 使用方法 ### 构建 ```bash colcon build ``` ### 运行测试 使用 `test.sh` 脚本运行测试,支持以下环境变量: - `RMW_IMPLEMENTATION`:指定 RMW 实现(如 `rmw_cyclonedds_cpp` 或 `rmw_fastdds_cpp`)。 - `PAYLOAD`:设置测试数据负载大小。 - `MODE`:选择测试模式(如 CPU 到 CPU、CPU 到 GPU)。 示例: ```bash ./test.sh cpu_cpu ./test.sh cpu_gpu ./test.sh gpu_gpu ``` ### 测试节点说明 - `cpu_gpu_pub`:CPU 发布者,GPU 处理。 - `cpu_cpu_pub`:纯 CPU 发布者。 - `cpu_cpu_sub`:纯 CPU 订阅者,用于接收并统计延迟信息。 - GPU 发布与订阅节点(`gpu_gpu_pub.cu`, `gpu_gpu_sub.cu`):用于 GPU 到 GPU 的测试场景。