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 主题 | 消息类型 | 发布者/订阅者 | 描述 |
|---|---|---|---|
/cpu | qrb_ros_system_monitor::CpuMonitor | 由 CpuMonitor 发布 | 发布 CPU 负载信息。 |
/memory | qrb_ros_system_monitor::MemoryMonitor | 由 MemoryMonitor 发布 | 发布内存使用情况信息。 |
/disk | qrb_ros_system_monitor::DiskMonitor | 由 DiskMonitor 发布 | 发布磁盘空间信息。 |
/swap | qrb_ros_system_monitor::SwapMonitor | 由 SwapMonitor 发布 | 发布交换空间信息。 |
/temperature | qrb_ros_system_monitor::TemperatureMonitor | 由 TemperatureMonitor 发布 | 发布 CPU 温度。 |
/battery | qrb_ros_system_monitor::BatteryMonitor | 由 BatteryMonitor 发布 | 发布电池信息。 |
qrb_ros_system_monitor 管道中使用的 ROS 服务
| ROS 服务 | 消息类型 | 提供者 | 描述 |
|---|---|---|---|
/system_info_server | qrb_ros_system_monitor::SystemInfoServer | SystemInfoServer | 发布静态系统信息,例如 CPU 数量。 |
前提条件
您已根据 设置运行示例应用程序的环境 设置好设备。运行开箱即用的 qrb_ros_system_monitor
构建并运行 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 节点可能无法按预期工作。
