基于模糊逻辑方法利用树莓派微控制器在镜子上实现智能家居物体检测的应用
摘要
在此期间,镜子不仅用于查看肉眼不可见的物体,还可作为提供信息的辅助工具,用于检测其周围物体的距离。通过使用配备Raspberry Pi摄像头模块、扬声器和超声波传感器的Raspberry Pi迷你电脑,在单板操作系统上运行基于Python、PHP和CSS设计的应用程序来显示信息,输出形式为摄像头画面或PHP显示。因此,通过在微控制器中应用模糊逻辑方法作为决策处理过程,可使镜子具备更多功能。该算法用于将用语言变量表达的数量进行转换。在智能镜子的智能系统应用中,包含三个模糊逻辑过程:模糊化、规则评估和去模糊化。每个过程都会影响所控制系统的响应。但存在不足之处,即超声波传感器与Raspberry Pi摄像头之间的延迟问题,因为超声波反射过程相对较慢。
1. 引言
智能家居系统更注重系统设备控制,相较于日常事务和家庭规划的控制更为优先 [1]。智能家居的主要目标之一是通过利用通信与自动化技术创建智能环境,从而方便家庭用户的生活 [2]。利用单板Raspberry Pi计算机,可以在低成本下构建家庭自动化系统 [3]。Raspberry Pi 用作连接家用电器之间的控制板 [4]。该系统使用湿度传感器、接近传感器和摄像头构建,并利用 Wi-Fi 作为所用工具之间的通信介质。所构建的系统是开源的、低成本的,并且易于普通用户使用 [3]。该系统运行在 Raspberry Pi 操作系统上,使用 Python 编程语言和 OpenCV 进行拍照。超声波传感器(超声波测距传感器)可以利用 ARTMAP模糊神经网络分类系统识别不同距离的物体 [5]。通过互连网络中的传感器,利用 Raspberry Pi 和 Arduino微控制器可以构建低成本的智能家居控制和监控系统 [6]。
随着技术的发展,许多事物都可以通过技术得到发展,例如将智能家居应用到镜子中。这种镜子不仅用于查看眼睛无法看到的物体,还可以作为提供信息的辅助工具,即检测其周围物体的距离。其中一种图像处理方法是物体检测(物体识别),用于识别需要进一步处理的物体以获取信息[7]。模糊算法用于智能家居中灯光的自动控制。该系统采用持续学习的原理,因此系统可以自行运行,无需数据训练和用户干预[8]。在Mamdani、Sugeno和Tsukamoto三种模糊逻辑方法的比较中,Mamdani在预测新生注册人数方面更为精确和准确,因为它具有更小的错误率[9]。因此,本研究旨在设计一种能够通过镜子在智能家居中使用Mamdani模糊逻辑检测物体的应用程序。
2. 研究方法
2.1. 分析
智能系统中的算法采用Mamdani模糊逻辑方法。模糊理论的基础探讨了模糊关联的基本概念,其中包括对模糊集合的讨论。模糊逻辑运算以及模糊集合规律。在精确集合理论中,变量只有两种可能性,即属于某个集合。在这种精确理论集合中,成员与非成员之间存在明确的边界[10]。
激活传感器的距离为1.5米。当用户远离传感器达到1.6米时,则超出最大值;而当用户接近传感器距离为0.7米时,则为最小值。在这种情况下,精确集合仅包含两种可能发生的情况:用户接近或远离传感器。因此,如果距离仅为1.39米,则不属于最大值范围。模糊集合与精确集合有所不同,模糊集合可以有多种可能性,而不像经典集合那样仅有两种可能性。
对于模糊集合,通过隶属度值(即从0到1的隶属度值)来区分最大距离和最小距离。隶属度值或隶属度可以用隶属函数表示。模糊逻辑集合使用3个参数在集合[10]中形成隶属关系。用于形成模糊逻辑集合的参数为:
a.
语言变量
:在模糊逻辑中用于替代精确逻辑中使用的定量变量。语言变量的值用词语表示,例如以语言值形式出现的值,如:最大(Max)、中等(Med)、最小(Min)、高(T)、中(M)、短(P)。
b.
隶属度
:隶属度是语言变量中映射到区间[0,1]的值。该映射值称为隶属度值或隶属度。
c.
隶属函数
:语言值与隶属度值(0到1)之间的映射关系,此函数称为模糊集合中的隶属函数。
2.2. 模糊逻辑控制系统的设计
模糊逻辑控制系统包含三个主要部分:模糊化、知识库和推理以及去模糊化 [10][11]。
a. 模糊化
在此智能系统中,有两个输入信号将被模糊化为模糊集合,并成为模糊隶属函数。输入信号来自距离传感器电路,其接近传感器输出选择了三个语言变量:最小距离(MIN)、中心、最大(Max)。最小距离为= 40 cm – 70 cm;中心为= 70 cm – 100 cm;最大为 >= 100 cm。
b. 知识库
对于自动屏幕激活系统,多个规则很可能出现在被控制的屏幕上。在制定这些规则或语句时,实际上并没有数量限制,所制定的规则越多,所设计的工作工具就越精确和详细。
c. Mamdani方法推理
下一个模糊计算过程的阶段是推理阶段。该过程用于根据模糊输入求取模糊输出值。其过程如下:由模糊化过程得到的模糊输入值被输入到已制定的规则中,以作为模糊输出。在推理过程中将进行三个步骤,即:应用模糊算子(聚合)、应用蕴含方法以及所有输出的合成。本模糊系统推理所采用的方法为最大-最小(MAX-MIN),通常称为MAMDANI。
d. 去模糊化
在此处理中,存在隶属函数的图形,用于确定所需模糊输出的界限。模糊规则可以来自先前的数据,共包含3条规则,即:
- IF melee 则摄像头响应显示图像;
- IF distance center 则alpha摄像头为一半;
- IF remotely 则alpha摄像头为0并提供信息。
2.3. 处理分析
Web服务器与智能镜的工作过程如下:
(1)初始阶段,用户输入本地主机地址;
(2)存在一个分支语句:判断该地址是否已被缓存(包含先前请求的临时存储);
(3)如果是,则直接连接到Web服务器;
(4)如果不是,则查找根DNS;
(5)如果该地址存在于根DNS中,则连接到Web服务器;
(6)然而,若不存在客户端,则仅有网页信息;
(7)连接Web服务器后,客户端将获取网页显示页面;
(8)如果用户选择退出,则网页显示将被关闭。
智能镜工作过程如下:
(1)当用户在浏览器中输入时,用户进入网络服务器;
(2)进入网络服务器后,PHP脚本将被执行;
(3)运行的PHP脚本需要互联网数据以访问新闻网站的RSS新闻;
(4)最终结果将在液晶显示屏上作为界面显示出来。
该过程可用图2和图3中的流程图进行描述。
2.4. 图表
所设计的应用程序使用用例图和活动图进行建模。在用例图中,当镜子开启且用户位于其前方时,系统开始运行。当用户站在镜子前时,传感器检测到用户,液晶显示屏提供信息。在活动图中说明了以下内容:
(1)初始节点,作为开始的物体;
(2)系统的动作状态,反映动作的执行过程,包括:处理、物体检测、输出显示;
(3)1个决策节点,用于确定所采取的决策。在此情况下,当超声波传感器检测到物体时,信息将显示在液晶显示屏/镜子上,反之则不显示;
(4)1个最终状态,作为终止的物体。
如下面的图4和图5所示。
应用程序设计使用Python语言[13][14], PHP、CSS,在单板操作系统上运行。该应用程序包括通过超声波传感器检测物体距离,来自超声波传感器的数据通过模糊逻辑方法进行处理,输出形式为摄像头或PHP显示。
2.5. 架构
系统工作系统架构的工作原理如下:上述系统架构分为4个部分,即21“液晶显示屏、Raspberry Pi 3[16], 超声波传感器[17], 电源。总体上 speaking,该系统使用微型计算机作为系统的集成和连续性。该微型计算机使用Debian操作系统来运行。并利用摄像头模块显示图像。该系统使用网络服务器作为显示,通过PHP(超文本预处理器)来显示从RSS订阅获取的时间和新闻信息。
所使用的超声波传感器是如图6所示的HC-SR04测距传感器,其功能是向某一区域或目标发射超声波,目标会反射冲击波并被传感器捕获,随后传感器将计算波传播时间与接收到反射波之间的时间间隔[17]。其工作原理如下:
(1)信号由超声波发射器以一定频率和持续时间发出,该信号频率高于20 kHz,测量物体距离时常用频率为40 kHz;
(2)发射的信号以约340米/秒的声速作为声波传播,当碰到物体时,信号会被物体反射;
(3)反射波到达接收器后,信号将被处理以计算物体的距离。物体距离的计算公式为:S = 340.t / 2,其中:340 m / s = 为声速,s = 为距离,t = 为时间。
如果超声波传感器处于活动状态(待机),则传感器会发射超声波。当传感器检测到物体距离在≤ 70厘米和≥ 40厘米时,传感器将激活摄像头,使用户可以使用镜子;如果距离在70-150厘米范围内,则镜子将显示半透明镜面及镜中新闻;当距离超过150厘米时,镜子将关闭/休眠。如下图8所示:
3. 实现
该应用程序的外观如下面的图9所示:
运行所设计的应用程序需要若干支持因素,即;
(1)
硬件
:用于构建应用程序,其规格如下:Raspberry PI 3 Model 1.2GHz 64位BA四核ARMv8 CPU、16GB内存卡、显示器、镜面外壳、Mifi M2S路由器、超声波传感器 HC-SR401[17]如图9所示,还包括树莓派v1.3摄像头模块和扬声器;
(2)
所需软件
包括:Debian Linux操作系统 [12], Web服务器 [15], Midori浏览器和Python网页浏览器。
3.1. 传感器测试
测试使用距离测试运动传感器,测试时镜子高度为1米,从地面算起。
- 第一次测试在1.5米距离下进行,摄像头停止并显示信息,见图10。
- 第二次测试使用0.8米的距离,属于中等距离,因此摄像头以alpha 170响应,见图11。
- 在0.5米距离下测试,alpha相机全开并显示画面,见图12。
物体与摄像头之间的距离越近,摄像头在检测物体时的功能表现就越好。但如果摄像头与物体的距离超过 >= 1.32r米,则摄像头无法检测物体,仅显示通过活跃互联网连接的信息,包括自动的日期和时间,以及根据当前时钟条件调整的新闻消息。例如:下午2:00至5:00期间,新闻消息显示为“空闲时间”,如图7应用程序界面所示。模糊逻辑算法会影响所检测物体清晰度的水平。
4. 结论
通过多次应用程序测试,得出的结论是:利用接近传感器检测物体的智能系统来实现智能镜子。但超声波传感器与摄像头的处理过程存在延迟,因为超声波反射过程相对较慢。对于智能镜子的发展,建议可采用除模糊逻辑之外的其他方法,并结合多种其他方法以获得更具体的检测结果。添加声音传感器、红外传感器、用于控制灯光或其他家用电器的继电器模块。增加触摸屏以实现交互。
1531

被折叠的 条评论
为什么被折叠?



