Skip to main content
qrb_ros_system_monitor 示例应用程序包含多个 ROS 节点,用于发布系统状态信息,例如 CPU 负载、内存使用率和磁盘空间。

qrb_ros_system_monitor 的管道

下图展示了该管道,它通过 sysfs 节点和一些系统标准命令工具收集系统信息,然后通过 ROS 消息发布这些数据。

图:qrb_ros_system_monitor 管道

qrb_ros_system_monitor 管道中使用的 ROS 节点

qrb_ros_system_monitor 管道中使用的 ROS 话题

ROS 话题消息类型发布/订阅方描述
/cpuqrb_ros_system_monitor::CpuMonitorCpuMonitor 发布发布 CPU 负载信息。
/memoryqrb_ros_system_monitor::MemoryMonitorMemoryMonitor 发布发布内存使用信息。
/diskqrb_ros_system_monitor::DiskMonitorDiskMonitor 发布发布磁盘空间信息。
/swapqrb_ros_system_monitor::SwapMonitorSwapMonitor 发布发布交换空间信息。
/temperatureqrb_ros_system_monitor::TemperatureMonitorTemperatureMonitor 发布发布 CPU 温度。
/batteryqrb_ros_system_monitor::BatteryMonitorBatteryMonitor 发布发布电池信息。

qrb_ros_system_monitor 管道中使用的 ROS 服务

ROS 话题消息类型服务方描述
/system_info_serverqrb_ros_system_monitor::SystemInfoServerSystemInfoServer发布静态系统信息,例如 CPU 数量。

前提条件

您已按照设置运行示例应用程序的环境完成了设置设备

运行开箱即用的 qrb_ros_system_monitor

  1. 启动两个终端,并在每个终端中运行以下命令,在设备上设置 QIR SDK 和 ROS2 环境。
  2. 在终端 1 中,运行系统监控 ROS 节点。
  3. 在终端 2 中,通过 ROS 话题查看系统信息。

构建并运行 qrb_ros_system_monitor

  1. 在主机上构建 QIR SDK 提供的 qrb_ros_system_monitor
  2. qrb_ros_system_monitor 推送到设备。
    注意确保设备上已安装 QIR SDK。
  3. 启动两个终端,并在每个终端中运行以下命令,在设备上设置 QIR SDK 和 ROS2 环境。
  4. 在终端 1 中,运行系统监控 ROS 节点。
  5. 在终端 2 中,获取系统信息。

限制

系统信息值由 sysfs 节点和 Linux 标准命令行工具收集。因此,如果 sysfs 路径发生变化或命令行工具的输出格式发生变化,这些 ROS 节点可能无法按预期工作。