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::CpuMonitor由 CpuMonitor 发布发布 CPU 负载信息。
/memoryqrb_ros_system_monitor::MemoryMonitor由 MemoryMonitor 发布发布内存使用情况信息。
/diskqrb_ros_system_monitor::DiskMonitor由 DiskMonitor 发布发布磁盘空间信息。
/swapqrb_ros_system_monitor::SwapMonitor由 SwapMonitor 发布发布交换空间信息。
/temperatureqrb_ros_system_monitor::TemperatureMonitor由 TemperatureMonitor 发布发布 CPU 温度。
/batteryqrb_ros_system_monitor::BatteryMonitor由 BatteryMonitor 发布发布电池信息。

qrb_ros_system_monitor 管道中使用的 ROS 服务

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

前提条件

您已根据 设置运行示例应用程序的环境 设置好设备。

运行开箱即用的 qrb_ros_system_monitor

1

在设备上设置 QIR SDK 和 ROS2 环境

启动两个终端,并在每个终端中运行以下命令。
SSH Session
2

运行系统监控 ROS 节点

在终端 1 中,运行系统监控 ROS 节点。
SSH Session
输出结果如下所示:
3

查看系统信息

在终端 2 中,使用 ros2 topic list 查看 ROS 主题。
SSH Session
Output
使用 ros2 topic echo /cpu 查看 CPU 信息:
SSH Session
Output

构建并运行 qrb_ros_system_monitor

1

在主机计算机上构建 qrb_ros_system_monitor

在主机计算机上构建 QIR SDK 提供的 qrb_ros_system_monitor,请参考:开发 ROS2 示例应用程序。以 IQ-9075 为例:
2

将 qrb_ros_system_monitor 推送到设备

注意确保设备上已安装 QIR SDK。
SSH Session
3

在设备上设置 QIR SDK 和 ROS2 环境

启动两个终端,并在每个终端中运行以下命令。
SSH Session
4

运行系统监控 ROS 节点

在终端 1 中,运行系统监控 ROS 节点。
SSH Session
5

获取系统信息

在终端 2 中,获取系统信息。
SSH Session

限制

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