面向智能家电联动控制的专家系统研究与实现
2022-07-11吴旭许蕴盈徐博宇廖湘莲
吴旭 许蕴盈 徐博宇 廖湘莲
(1.深圳市酷开网络科技股份有限公司 广东省深圳市 518108)
(2.广东中创智家科学研究有限公司 广东省广州市 510663)
1 引言
近年来智能家居产品得到快速发展,基本解决智能家电单品连网与控制问题,业内大型家电和互联网企业均开发了各自的智能家居云平台,例如美的美居云、创维Swaiot 云平台、小米IoT 平台、京东智联云等,并通过“云云互联”模式解决了跨生态智能家电的互联与互操作问题,目前智能家居行业正朝着全屋智能化方向演进。
专家系统是人工智能领域最活跃和最广泛的领域之一,自从问世以来在故障诊断、自动化管理、智能决策等领域得到了更广泛的应用。司景萍等提出了在发动机故障模拟试验台采集发动机振动信号进行故障诊断的神经专家系统;卢剑锋等实现了健康餐饮专家系统,对健康餐饮进行建模并结合多目标优化算法进行餐饮推理规划;杨伟志等提出了适于农业的智能灌溉专家系统,能够稳定可靠运行,提高灌溉效率;高泽峰将专家系统用于结构仿真智能建模与流程自动化定制;刘雁文等将专家系统用于智能变电站运维当中,并通过决策树进行控制规则提取,显著地提高了规则提取效率。
本文从系统设计与实现角度讨论了基于专家系统的智能家电联动控制系统。主要贡献包括:
(1)提出一套在物理环境缺失和数据积累不足条件下实现物联网智能家居联动控制系统的方法;
(2)提出了“房间-设备-人物”耦合的全屋环境建模方法,并以此为中心构建了相应的耦合控制规则;
(3)提出基于YAML 文件的动态可配置全屋环境建模方法,便于快速调整全屋环境模型,可容纳多种户型、设备与住户的组合,并支持自动化环境数据模拟生成;
(4)提供了一套Web 化图形仿真应用向用户展现控制策略的触发效果,便于控制规则的编写与实验验证。
后续的文章组织结构为,第2 章介绍了基于专家系统的物联网智能家居联动控制系统的设计方法,包括设计思路,系统架构和主要模块介绍;第3 章介绍了全屋环境建模方法和测试流程,包括模型文件结构,智能控制规则模拟与测试方法;第4 章介绍了系统演示效果;第5 章对全文进行总结。
2 系统架构介绍
2.1 系统设计思路
本文通过Web 技术构建了基于规则的专家系统,整个系统分为三个部分:联动式专家系统模块,全屋智能化环境建模与数据模拟模块以及用户端效果展现模块。
如图1 所示,联动式专家系统模块采用基于规则的专家系统方式实现,它利用一系列逻辑规则来表示专家知识,具有自然语言表达、统一结构、知识与处理相分离、能够处理不完全、不确定知识等优点。规则(Rule)是由条件和结论构成的推理语句,一般表示为IF-THEN 形式,IF 为条件部分(Left Hand Side),THEN 为结果部分(Right Hand Side),条件部分一般是若干事实的“与/或”结合,每一个事实采用对象-属性-值(OAV)三元组表示。一般而言规则的生成可通过人工专家讨论得到或者通过数据挖掘方法从数据中提取知识。本文主要采用人工专家知识生成方法构建联动控制规则。
图1:专家系统技术原理图
全屋智能化环境建模通过利用YAML 格式的配置文件,构建“环境-设备-人”的关联关系,实现动态全屋环境建模,并通过数据模拟模块持续向专家系统服务器发送当前全屋状态信息,主动触发专家系统生成联动控制策略。
用户端效果展现模块负责通过浏览器将全屋环境模型可视化展现,实时更新环境状态变化,以及提供用户交互操作入口,为用户提供全屋视角下的智能家居运转状态监控。
2.2 主要模块介绍
2.2.1 联动式专家系统模块
本文使用SpringBoot 框架构建整个系统,以开源的Drools 规则引擎为核心构建专家系统。Drools 采用DRL(Drools Rule Language) 描述业务规则(Rule),并实现了性能增强版的Phreak 算法,具备快速可靠的商业规则评估功能与复合事件处理机制。一个DRL 文件可以包含一条或多条规则,一个规则主包含3 个部分,即属性部分(Attribute)、条件部分(Left Hand Side)和结果部分(Right Hand Side)。用户可以通过Business Central(Drools Web管理平台)或者使用文本编辑器创建DRL 文件。一个典型DRL 示意如下:
如图2 所示,在Drools 引擎中规则触发包括议程评估(Agenda evaluation)和工作存储器执行(Working memory actions)两个阶段。其中议程评估阶段负责匹配所有满足条件规则(LHS),然后注册议程(Agenda)并将其送到工作存储器当中; 工作存储器执行阶段负责规则的后续执行动作(RHS)。
图2:Drools 引擎两个阶段执行过程流程图
2.2.2 全屋智能化环境建模模块
如图3 所示,全屋智能化环境建模过程将房间、设备、人物三大元素进行综合考虑,并以房间为单元构建了耦合控制规则,充分贴近用户实际家居场景。其中房间元素包括普通家居环境下的所有房间,包括客厅、卧室、卫生间以及厨房等;设备元素包括智能家电产品,例如智能电视、智能冰箱、智能热水器,以及各类室内传感器,例如烟雾传感器,温度和湿度传感器等;人物元素包括人体常见的健康指标,如体温、血压等。将以上元素用YAML 文件组织,供后续建模程序使用。
图3:全屋建模程序关键类类图
建模程序利用工厂设计模式和Java 多态机制将房间、传感器、设备、人物共同属性提取,根据YAML 模型文件的关联关系动态生成元素实例,最后组建完成全屋环境智能模型。
数据模拟单元使用SpringBoot 框架的定时注解机制产生环境状态时序数据。首先设定数据的模拟范围,然后创建模拟器对象并赋予相关属性,最后将模拟的具有严格时序关联的传感器数据向专家系统传递,从而主动触发联动控制机制。
2.2.3 用户端效果展示模块
用户端效果展示模块采用Vue 2.0 框架构建了前后端分离架构,通过WebSocket 协议实现双向实时数据通信,在获得通信数据后首先将其解析并被存入Vuex 仓库,然后再进行对象绑定,充分发挥Vue 框架特性。整个模块可分为户型图展示、环境状态信息展示和用户场景触发三个单元,具备全屋平面视图和动画展示功能,其页面布局如图4 所示。其中户型图直接选用实际建筑配套的图片,可从公开的网站上获得;环境状态信息可显示完整房间、人物、设备、传感器的布局关系以及视觉状态信息;用户场景触发单元主要是完成系统中用户主动触发场景的功能,可支持多个类型的场景触发。
图4:用户端效果展示模块页面布局
3 全屋智能联动控制规则编写与测试流程
如图5 所示,为了更好的编写和测试联动控制规则,需要首先完成全屋环境模型构建,遵从“在房间里面放置智能家电和环境传感器,并且有人在其中则构成一个场景”原则,将房间、设备、传感器、人物给组成一个整体。通过Business Central 应用(或者使用文本编辑器直接创建DRL文件),开发人员和知识工程师可针对已有的全屋环境模型进行规则编写、修改、编译和版本控制功能,然后将通过测试的规则文件进行发布。然后使用SpringBoot 集成规则文件并对外暴露服务接口,等待数据模拟到达。模拟数据生成单元分为两个线程执行,一条线程用于产生传感器数据,另外一条线程用于接受传感器数据。模拟程序启动之后自动向联动式专家系统模块传递环境状态信息,联动式专家系统模块响应环境状态信息后触发相应的控制规则,并将传感器数据和控制规则数据一同发送给用户端效果展示模块,完成自动场景模式下的规则触发操作。
图5
用户主动触发流程为在用户端效果展示模块点击触发相应的场景功能,用户端效果展示模块将触发指使给联动式专家系统模块,联动式专家系统模块响应用户场景控制命令后触发相应的场景控制规则,并将此时接收到的环境状态传感器数据和场景控制规则数据一同发送给用户端效果展示模块进行反馈显示,完成主动场景模式下的规则触发操作。
通过上述流程,知识工程师可以实现面向智能家居的联动控制规则的编写与测试过程,并可以向普通用户直观地展现规则应用于全屋的效果。如图6 所示。
图6:规则编写与测试过程流程图
4 系统效果
图7(a)为左侧操作面板,用于用户主动触发场景控制逻辑,场景被触发后,系统将场景中所有元素的变化状态以动画的形式表现出来。
图7(b)为右侧设备参数显示面板,用于展示实时环境状态监测数据和预警信息,便于用户查看详细的环境和场景状态信息。
图7:用户端效果展示模块最终效果图
图7(c) 为自动场景模式下多个智能家居设备联动效果,系统按时序逻辑执行控制策略并予以提示。
5 总结
本文实现了一种物联网智能家居联动控制系统,具备安全、稳定、可解释性强等优点。通过对全屋建模的方式将智能化控制问题具象化,同时可以解决全屋智能家电及传感器搭配不足或者搭配不理想的问题,可以在少量数量家电行为数据甚至无数据的情况下构建全屋智能化控制功能,此时理想化的全屋智能演示系统就显得尤为重要。
本文所构建的专家系统不依赖于具体的传感器或者家电设备的具体硬件,只依赖于设备或者传感器所能够传输的状态与控制信息,只聚集于智能控制策略的生成与应用,是一种较为理想的抽象模型。在实际工程应用当中,需要通过兼容层进行协议转化,以实现不同设备之间的对接。
知识工程在本文所述的智能控制规则生成过程中依然扮演重要角色,本文假定知识工程师为普通用户,通过其自身经验总结一系列联动控制规则,并在一定条件下对控制规则进行“重放”以实现智能化,因为个人经验是否有效成为关键。
6 未来展望
作为专家系统技术的领域应用,本方法仍受限于传统专家系统固有的难题,例如人工专家经验泛化场景受限,知识获取成本高昂,个性化程度不足,精度瓶颈难以突破等问题。待智能家居和可穿戴设备行业进一步发展之后,可以积累足够量的家居环境数据、传感器数据以及人体健康感应数据,届时可以利用大数据技术改进面向物联网联动控制的专家系统,例如应用关联规则挖掘、决策树和神经网络对控制规则进行提取,进而提高智能家居联动控制的智能化水平,同时也会降低人工专家参与的程度。协同式专家系统的应用,可以综合应用更多领域专家知识,如家庭保健、安全看护、厨艺烹饪等并进行持续迭代,可以更好的为用户提供内容更丰富,场景更贴合的全屋智能化服务。由此而衍生的多领域知识融合与冲突解决方法也将成为一个重点研究方向。此外,在全屋智能环境下的隐私与安全防护也面临的重大挑战,具有隐私保护的高可靠性,高安全性的联动控制系统也有更大的应用空间。