第七篇:能源巡检 Physical AI 实战------从多模态感知到闭环处置
一、业务目标
假设需要建设一个园区能源设备巡检智能体,覆盖:
- 水泵;
- 配电柜;
- 空调机组;
- 储能设备;
- 管道和阀门。
系统不只是发现异常,还要形成闭环:
text
发现异常
→ 判断原因
→ 预测风险
→ 制定方案
→ 仿真验证
→ 审批执行
→ 复查结果
二、总体架构
text
摄像头 / 红外 / 声音 / 振动 / PLC
↓
边缘采集与时间同步
↓
多模态感知与状态估计
↓
世界模型 + 数字孪生系统
↓
任务规划器 + 风险评估器
↓
规则引擎 + 权限审批系统
↓
机器人 / PLC / 工单平台
↓
结果验证与模型反馈
技术分工
text
Python + PyTorch:
视觉、音频、世界模型和策略模型
ROS 2:
机器人导航与设备通信
Spring Boot:
任务编排、权限、审批、审计和业务接口
Kafka/MQTT:
实时事件传输
ClickHouse:
高频时序数据与模型评测
达梦数据库:
设备台账、工单、规则和业务数据
对象存储:
视频、红外图像和模型文件
三、多模态异常识别
单一传感器很容易误报。
例如水泵轴承故障可能同时表现为:
text
视觉:轻微抖动
声音:出现高频异响
振动:特征频率峰值增加
温度:轴承温度缓慢上升
能耗:单位流量功耗升高
各模态编码为:
z_v=E_v(video)
z_a=E_a(audio)
z_s=E_s(sensor)
然后进行融合:
z= Fusion(z_v,z_a,z_s,z_{device})
设备型号、安装时间和历史维修记录也应进入状态表示,否则同一振动幅度可能对应完全不同的风险等级。
四、状态估计与异常事件
系统不应只输出"异常分数 0.87",而应形成结构化事件:
json
{
"eventId": "EVT-20260903-1021",
"deviceId": "PUMP-02",
"eventType": "BEARING_DEGRADATION",
"severity": "MEDIUM",
"confidence": 0.87,
"evidence": [
{
"source": "VIBRATION",
"feature": "BPFO_PEAK",
"value": 4.21
},
{
"source": "THERMAL",
"feature": "BEARING_TEMPERATURE",
"value": 68.4
}
],
"uncertainty": {
"epistemic": 0.09,
"aleatoric": 0.14
}
}
其中:
- Epistemic uncertainty:模型知识不足;
- Aleatoric uncertainty:环境本身存在噪声。
前者可以通过补充训练数据降低,后者通常无法完全消除。
五、世界模型预测风险演化
发现轴承异常后,系统需要预测:
text
保持当前负荷会怎样?
降低频率会怎样?
切换备用设备会怎样?
立即停机会怎样?
候选动作集合:
A= { a_{keep}, a_{reduce}, a_{switch}, a_{stop} }
世界模型预测每个动作下未来两小时的状态轨迹:
[
\hat \tau_i
W(s_t,a_i,c)
]
输出可以表示为:
| 动作 | 能耗变化 | 温度峰值 | 故障概率 | 生产影响 |
|---|---|---|---|---|
| 保持运行 | 0% | 78℃ | 18% | 无 |
| 降频 5% | -4.1% | 71℃ | 7% | 压力轻微下降 |
| 切换备用泵 | +1.8% | 62℃ | 2% | 短暂波动 |
| 立即停机 | -12% | 55℃ | 1% | 供水不足 |
如果"保持运行"的平均结果尚可,但最坏情况可能导致设备损坏,规划器应优先考虑风险而不是平均收益。
六、任务规划不能只依赖大语言模型
大语言模型可以生成高级计划:
text
1. 降低当前水泵负荷
2. 启动备用水泵
3. 派遣巡检机器人复查
4. 创建检修工单
但每个步骤必须转化为可验证动作。
json
{
"step": 1,
"action": "SET_FREQUENCY",
"target": "PUMP-02",
"parameter": {
"from": 45.0,
"to": 42.5,
"rampSeconds": 90
},
"preconditions": [
"fire_mode == false",
"pressure >= 0.50",
"backup_pump.available == true"
],
"rollback": {
"action": "RESTORE_FREQUENCY",
"trigger": "pressure < 0.45"
}
}
一个动作必须具备:
- 前置条件;
- 参数范围;
- 成功条件;
- 超时时间;
- 补偿动作;
- 审批等级;
- 审计信息。
七、Java 业务层接口设计
可以把 AI 决策与设备执行隔离:
java
public interface PhysicalActionService {
SimulationResult simulate(ActionProposal proposal);
ValidationResult validate(ActionProposal proposal);
ApprovalTicket requestApproval(ActionProposal proposal);
ExecutionResult execute(ApprovedAction action);
VerificationResult verify(ExecutionResult result);
}
模型只能生成 ActionProposal,不能直接调用底层 PLC。
java
public record ActionProposal(
String taskId,
String deviceId,
String actionType,
Map<String, Object> parameters,
double confidence,
String modelVersion,
List<String> evidence
) {
}
执行前由确定性代码完成校验:
java
public ValidationResult validate(ActionProposal proposal) {
checkDeviceWhitelist(proposal.deviceId());
checkParameterRange(proposal);
checkCurrentOperatingMode();
checkUserPermission();
checkModelConfidence(proposal.confidence());
checkSimulationResult(proposal);
return ValidationResult.passed();
}
安全规则不能隐藏在 Prompt 中,必须固化在独立规则和控制系统里。
八、闭环验证
动作成功下发不代表任务完成。
例如执行"降低频率"后,应继续验证:
- PLC 是否确认指令;
- 实际频率是否变化;
- 压力是否保持安全;
- 温度是否按预期下降;
- 异常声音是否减弱;
- 是否出现新的连锁报警。
可以定义:
Success= CommandAck \\land StateReached \\land ConstraintsSatisfied \\land RiskReduced
如果状态变化与世界模型预测明显不一致,应立即:
- 停止后续自动动作;
- 执行回滚;
- 标记模型漂移;
- 将轨迹送入复盘数据集;
- 通知人工处理。
九、上线演进路线
第一阶段:智能识别
只识别异常,不生成操作建议。
第二阶段:辅助决策
生成原因分析、风险预测和处置建议。
第三阶段:仿真闭环
所有建议先进入数字孪生验证。
第四阶段:低风险自动执行
自动完成巡检、拍照、数据采集和工单创建。
第五阶段:受限控制
在白名单和硬约束下调整部分设备参数。
第六阶段:多智能体协作
巡检机器人、能源优化 Agent、维修 Agent 和调度 Agent 共同完成任务。
不建议追求一次性全自动。Physical AI 的成熟来自权限逐级开放,而不是模型一次升级。
结语
能源巡检智能体的价值,不只是替代人工看监控,而是把分散的数据、模型、规则和设备连接成一个可验证闭环。
真正的系统能力体现在:
text
能发现
能解释
能预测
能处置
能回退
能复盘