当前位置: 首页 > news >正文

SpireMS的std_msgs消息详解

std_msgs 消息详解

这篇文档梳理当前仓库中所有std_msgs::*消息类型,内容以源码中的消息模板和 JSON Schema 为准。

目标:

  • 人能快速查字段
  • AI 能直接提取结构和含义
  • 内容尽量简单直接

说明:

  • 本文主要依据spirems/json_msgs/std_msgs/*.json(消息初值)
  • 同时参考spirems/json_schemas/std_msgs/*.json(消息类型说明)

1. 消息总览

当前源码中共有 11 个std_msgs消息:

消息类型说明
std_msgs::Boolean布尔值
std_msgs::BooleanMultiArray布尔数组
std_msgs::Clock时钟(仅时间戳)
std_msgs::KeyValuePair键值对
std_msgs::Log日志消息
std_msgs::Null空消息
std_msgs::Number数值(浮点)
std_msgs::NumberMultiArray数值数组
std_msgs::String字符串
std_msgs::StringMultiArray字符串数组
std_msgs::SystemStatus系统状态监控

2. 通用约定

2.1type

每个消息模板里都有:

"type":"std_msgs::某个类型"

作用:标识消息类型,便于运行时分发和校验。

2.2timestamp

所有std_msgs消息都带:

"timestamp":0.0

含义:时间戳,单位是秒(Unix 时间)。初值为0.0


3. 消息详解

3.1 Boolean — 布尔值

用途:传递单个布尔状态(开关、标志位等)。

初值模板(spirems/json_msgs/std_msgs/Boolean.json):

{"type":"std_msgs::Boolean","timestamp":0.0,"data":false}

字段说明

字段类型初值说明
typestring"std_msgs::Boolean"消息类型标识
timestampnumber0.0时间戳(秒)
databoolfalse布尔值

3.2 BooleanMultiArray — 布尔数组

用途:传递多个布尔值,如批量标志位。

初值模板(spirems/json_msgs/std_msgs/BooleanMultiArray.json):

{"type":"std_msgs::BooleanMultiArray","timestamp":0.0,"data":[false]}

字段说明

字段类型初值说明
typestring"std_msgs::BooleanMultiArray"消息类型标识
timestampnumber0.0时间戳(秒)
databool[][false]布尔数组

3.3 Clock — 时钟

用途:传递时间信息本身,无额外数据载荷。

初值模板(spirems/json_msgs/std_msgs/Clock.json):

{"type":"std_msgs::Clock","timestamp":0.0}

字段说明

字段类型初值说明
typestring"std_msgs::Clock"消息类型标识
timestampnumber0.0当前时钟值(秒)

注意:此消息仅有typetimestamp,无data字段。时钟信息即timestamp本身。


3.4 KeyValuePair — 键值对

用途:传递通用键值对数据(参数、配置、属性等)。

初值模板(spirems/json_msgs/std_msgs/KeyValuePair.json):

{"type":"std_msgs::KeyValuePair","timestamp":0.0,"key":"","value":""}

字段说明

字段类型初值说明
typestring"std_msgs::KeyValuePair"消息类型标识
timestampnumber0.0时间戳(秒)
keystring""键名
valuestring""值(字符串形式)

3.5 Log — 日志消息

用途:传递日志信息,包含级别、内容、来源文件和行号。

初值模板(spirems/json_msgs/std_msgs/Log.json):

{"type":"std_msgs::Log","timestamp":0.0,"level":2,"message":"","name":"","file":"","line":0}

字段说明

字段类型初值说明
typestring"std_msgs::Log"消息类型标识
timestampnumber0.0日志时间戳(秒)
levelint2日志级别(见下方枚举)
messagestring""日志内容
namestring""进程或节点名称
filestring""源文件名
lineint0源文件行号(≥0)

日志级别枚举 (spirems.LogLevel)

常量值名称说明
0UNKNOWN未知级别
1DEBUG调试信息
2INFO一般信息(默认初值)
3WARNING警告
4ERROR错误
5FATAL严重错误

来源:JSON Schema 定义在spirems/json_schemas/std_msgs/Log.json


3.6 Null — 空消息

用途:无数据载荷的占位消息,可用于心跳、信令等场景。

初值模板(spirems/json_msgs/std_msgs/Null.json):

{"type":"std_msgs::Null","timestamp":0.0}

字段说明

字段类型初值说明
typestring"std_msgs::Null"消息类型标识
timestampnumber0.0时间戳(秒)

注意:与Clock一样仅含typetimestamp。语义上Null表示"无意义载荷",Clock表示"时间信息"。


3.7 Number — 数值

用途:传递单个浮点数值(温度、速度、比率等)。

初值模板(spirems/json_msgs/std_msgs/Number.json):

{"type":"std_msgs::Number","timestamp":0.0,"data":0.0}

字段说明

字段类型初值说明
typestring"std_msgs::Number"消息类型标识
timestampnumber0.0时间戳(秒)
datanumber0.0浮点数值

3.8 NumberMultiArray — 数值数组

用途:传递多个浮点数值(传感器读数序列、向量等)。

初值模板(spirems/json_msgs/std_msgs/NumberMultiArray.json):

{"type":"std_msgs::NumberMultiArray","timestamp":0.0,"data":[0.0]}

字段说明

字段类型初值说明
typestring"std_msgs::NumberMultiArray"消息类型标识
timestampnumber0.0时间戳(秒)
datanumber[][0.0]浮点数值数组

3.9 String — 字符串

用途:传递单个字符串(文本、JSON 字串、命令等)。

初值模板(spirems/json_msgs/std_msgs/String.json):

{"type":"std_msgs::String","timestamp":0.0,"data":""}

字段说明

字段类型初值说明
typestring"std_msgs::String"消息类型标识
timestampnumber0.0时间戳(秒)
datastring""字符串内容

3.10 StringMultiArray — 字符串数组

用途:传递多个字符串(标签列表、文件名列表等)。

初值模板(spirems/json_msgs/std_msgs/StringMultiArray.json):

{"type":"std_msgs::StringMultiArray","timestamp":0.0,"data":[""]}

字段说明

字段类型初值说明
typestring"std_msgs::StringMultiArray"消息类型标识
timestampnumber0.0时间戳(秒)
datastring[][""]字符串数组

3.11 SystemStatus — 系统状态监控

用途:传递系统运行时状态(CPU、内存、磁盘、网络、进程信息)。

初值模板(spirems/json_msgs/std_msgs/SystemStatus.json):

{"type":"std_msgs::SystemStatus","timestamp":0.0,"cpu_usage":0,"cpu_temp":0,"mem_usage":0,"disk_free":0,"disk_write":0,"disk_read":0,"net_sent":0,"net_recv":0,"top_processes_by_cpu":[],"top_processes_by_mem":[],"top_processes_by_io":[]}

字段说明

字段类型初值说明
typestring"std_msgs::SystemStatus"消息类型标识
timestampnumber0.0采样时间戳(秒)
cpu_usageint0CPU 使用率(百分比,0-100)
cpu_tempint0CPU 温度(摄氏度)
mem_usageint0内存使用率(百分比,0-100)
disk_freeint0磁盘可用空间(MB)
disk_writeint0磁盘写入速率(KB/s)
disk_readint0磁盘读取速率(KB/s)
net_sentint0网络发送速率(KB/s)
net_recvint0网络接收速率(KB/s)
top_processes_by_cpuarray[]CPU 占用最高的进程列表
top_processes_by_memarray[]内存占用最高的进程列表
top_processes_by_ioarray[]IO 最高的进程列表

4. 快速对照表

消息类型是否含data特有字段
Booleanbool
BooleanMultiArraybool[]
Clock
KeyValuePairkey,value
Loglevel,message,name,file,line
Null
Numbernumber
NumberMultiArraynumber[]
Stringstring
StringMultiArraystring[]
SystemStatuscpu_usage,cpu_temp,mem_usage,disk_*,net_*,top_processes_*
http://www.jsqmd.com/news/794206/

相关文章:

  • Sketchfab模型下载终极指南:3步免费获取离线3D模型
  • Prometheus监控主机,Grafana成图
  • arduino-跑马灯
  • 在自动化脚本中如何在自己的后端服务中调用open api进行用户相关操作?
  • 【限时解密】SITS 2026最新《AI原生应用SLA分级白皮书》核心框架(V2.3.1版,仅开放72小时)
  • 【2024最后窗口期】SITS2026合规测试套件已冻结封版——你的AI研发管线还卡在人工回归阶段?
  • 别再只会看P值了!用Python的Seaborn和Statsmodels画QQ图,5分钟诊断你的数据正态性
  • 别盲目跟风!程序员转大模型,先搞懂这6个行业真相
  • 别再死记公式了!用Python+ROS从零推导差速机器人运动模型(附代码)
  • ARM架构SPSR寄存器与异常处理机制详解
  • LDO线性稳压器原理与应用设计指南
  • DCS-Control拓扑在汽车电源管理中的频率优化与EMI设计
  • LangGraph 多 Agent 架构与 Supervisor 模式
  • ACS运动控制器XSEG功能深度解析:如何用LINE和ARC1/ARC2玩转复杂轨迹规划?
  • 保姆级教程:给Slurm 20.02.3集群添加GTX1080Ti GPU节点(含防火墙和SELinux配置)
  • 基于Laravel与Livewire构建自托管短链接服务:从生成、追踪到部署
  • 免费解锁B站4K大会员视频:Python开源下载工具完全指南
  • 从 API 响应延迟看 Taotoken 路由稳定性对开发体验的影响
  • AI原生编辑器IfAI:从代码补全到智能体协作的编程革命
  • Gemini 创意生成:从关键词到主题大纲再到可用草稿的链路
  • 深度揭秘:WeChatExporter如何实现iOS微信聊天记录的无损导出与可视化?
  • 大模型上下文 Token 极致优化:Context-Mode 项目核心省 Token 方法论全解析
  • FPGA高生产力设计:从RTL到C语言的演进与实践
  • 什么是置信区间,这是我听过最透彻的工程学解释
  • 7、K8S-daemonset控制器
  • 保持画布比例的艺术:使用ResizeObserver实现自适应布局
  • 自动化测试系统部署:挑战与最佳实践
  • 边缘计算中的3D占据映射技术与Gleanmer SoC优化
  • 实战指南:在QGIS Python控制台里直接装scikit-image,为遥感图像分析加装利器
  • 告别JNLP错误:新版Java环境下安全访问IPMI控制台的终极配置指南