无线传感器网络及智能环境控制
摘要:传感器网络是信息技术中的一个新的研究领域,具有十分广阔的应用前景,引起了学术界和工业界高度重视。在环境中布置的大量的传感器,利用数据挖掘和数据融合的工具,可以对人的动作进行识别,实现对境的智能控制。
关键词:传感器网络;数据融合;智能环境;动作识别
1. 概述
集成了传感器、微机电系统和网络三大技术的传感器网络是一种全新的信息获取和处理技术;它代表了更小、更廉价的低功耗计算设备的“后PC时代”。普遍的网络化带来的计算处理能力更是难估量。随着无线传感器硬件技术的成熟,其在军事、工业、商务、环境、空间探索等诸多领域有着广泛的应用前景。在环境中分布大量具有无线通信与计算能力的微小传感器所构成的网络系统,可以实现对用户动作的识别和环境的监控,并根据环境和用户的上下文信息(contextinformation)自主地完成指定任务。
但是,随着网络中传感器数量的增多,传感器产生的数据量也随之骤增,如何更快速有效地处理数据,就成为一个核心问题。利用数据融合技术可以进行大规模数据的处理分析,成为传感器网络中动作的工具。本文使用Berkeley Mica2模拟办公室环境,完成对用户常见的动作进行识别,进而根据用户的活动状态,智能地调节和控制室内的灯光系统。
2 传感器网络的构成
合理的网络构成、节点的安装布置、以及传感器类型的选择,对于系统识别的准确率都有很大的影响。不同的应用,都会有不同的设置需求。在本实验中,我们把传感器功能分为四类,即用户动作检测、用户定位、用户和物体交互和环境检测。
一个传感器可以同时具有多种功能。
(1)用户动作检测功能:传感器安置于用户身上或者可能接触到的物体上,通过检测用户身体或者物体运动模式,判断也用户的动作。
(2)用户定位功能E6:多个安置在环境中传感器不断地发出定位消息。当用户身上的传感器接受到这些定位消息后进行统计,可以估算出用户所处的区域位置。
(3)用户和物本交互功能:这些安置在物体上的传感器的工作模式类似于RFIDE7,8],它们的信号接收距离很短。只有当用户靠近这些物体时,才能接受到物体上的传感器发出的消息。这些消息中包含了物体的身份信息,据此可以确定用户碰到或者靠近了哪些物体。因为每个动作只会涉及到一些特定的物体(用户和物体交互),所以从用户碰到或者靠近了的物体可以推测用户的动作。
(4)环境检测功能:分布在环境中传感器检测系统所处的环境参数,可以提供对用户动作识别坏境监控的辅助信息。根据以上四种传感器功能的划分,我们把传感器分为三组。第一组安置在房间四周和桌子四角,发送定位和检测环境参数的数据。第二组,安置在笔、电话、水杯和椅子上,实现用户和物体交互检测和用户动作检测的功能。笔上的传感器,检测笔动作和声音;电话机上的传感器功能和笔的一样;水杯底部传感器,检测水杯运动和底部光的变化;椅子上的传感器,检测椅子上的光和温度的变化。第三组,佩带于用户身上,只负责转发定位和用户和物体交互消息。
3 遇到的问题以及解决方法
3.1 人的动作复杂性及其划分
人的动作非常复杂多样,甚至某些行为是很难描述的 所以合理的划分对于系统的实用性非常重要。在办公室模式下,把动作划分八类,即站立、坐下、交谈、打电话、写字、用计算机、做讲演和休息。八种动作之间有重合、互斥,必要或充分关系。比如是否坐下,对其余动作的识别会有很大景响。如果八类动作分别进行单独判断,动作识别就变成八个二值分类问题。
3.2 丢包率问题
当传感器数量增多,受网络带宽的限制,丢包率就变得非常严重。所以我们在传感器发送数据包时,采用事件触发机制:来决定是否发送 数据变化不明显就不需要发送数据包了;只有当数据和上一次有明显变化,才发送数据包 这样就可以极:走地减少数据的发送量,缓解网络阻塞问题。另外在系统运行过程中,动态地降低采样率,也可以减少发送的数据量。
3. 3 所用算法
由于系统实时性的需要,以及考虑到将业算法移植到传感器中实现时硬件条件的限制,所以我们采用相对简单的决策树算法。
4 软件实现
如何要从每秒几百个不同类型的传感器数据中,控掘出所要识别的动作,就要对传感器数据进行一次次的数据融合和控掘。程序分为初始化、接收和解析消息、数据缓存区、数据:顷处理、产生线索、线索融合、产生识别结果共7个主要步骤。考虑到传感器网络对跨平台以及整个系统的灵活性和可扩展性的要求,使用Java语言实现。
4.1 初始化
其功能有两个。第一,初化化系统运行的参数,读取两个:史件,一个properties配置文件,存放运行时不变的常量。一个XMI 文件,保存可以动态调整的参数,这些参数可以通过用户自主调节,也可以在识别过程中自动调整 第二,连接和控制其他模块之间的数据流。
4.2 消息接收和解析
首先,建立一个连接Server的客户端,发送传感器数据的Server端;registerI istener;客户端注册接口;消息包的接受和解析类;this:用来接收消息的对象。然后,把消息转化成统一的PacketData。这样尽管消息千变万化,但是,对外有统一的接口形式。
4.3 消息的存贮和显示
接受到信息后,首先需要存人数据库,供离线的训练和仿真用。接着需要存人数据缓存区,供下一级模块的在线识别使用 然后绘图工具的显示,可以让用户直观地看到传感器网络的运行情况。
4.4 数据预处理、线索产生
线索,是指对于动作识别有决定作用的最小信息单元,包括传感数据的分类结果,用户和物体交互信息、定位信息和识别也的动作结果。并且用置信度标示此线索发生可能性的大小。
4.5 线索融合
为了提高系统的鲁棒性、抗干扰性,就需要进行线索融合。首先是线索和本身历史结果的融合,这样可以消除噪声和奇异点的干扰。比如,声音线索,就需要好几秒时间内识别结果综合判断的。然后是线索间的融合,以得到最终的动作识别结果。线索间的融合,可以用简单的逻辑判断,也可以使用贝叶斯分类器。
4.6 用户操作界面
主要完成的功能包括:
(1)对传感器网络运行情况的实时监视,包括采样率、丢包率及数据流向的显示。
(2)中间地程中每一层数据的查询,以及最终识别结果的显示。
(3)用户修改设定参数及对识别结果给出反馈
5. 结论
项目在开发过程中,可能会遇到很多硬件方面的问题,如传感器死锁,电池电力不足,硬件的通讯瓶颈等等。我们采用降低采样率,事件触发等方法来缓解,随着硬件技术的成熟,这些问题会得到解决。本系统现在运行良好,对于我们从事传感器网络应用于智能环境控制有很大的帮助。
(转载)