黄胜存,农田友,陆尚平,韦凤兰
(广西水利电力职业技术学院,广西 南宁 530023)
狗是人类的朋友,经过训练可以理解人的指令,可以和主人互动。宠物狗已经成为了很多人生活中的朋友。但是在城市里养狗不能让其在小区里随地大小便,以免影响小区环境。有的人工作繁忙,无法每天有时间出门遛狗。因此,在家里装设一个宠物的环保智能厕所是非常有必要的。目前,市场上的狗厕所主要有两种:一种是简易的便盆[1],其结构简单,功能单一,需要人工清洗便盆里的宠物狗排泄物,若不及时处理,排泄物将装满便盆产生异味,影响家里环境卫生;另一种是具有自动清洗排泄物的狗厕所装置[2],通过分析其设计,此类狗厕所没有排泄物残留检测功能。随着科学技术不断发展进步,机器视觉技术使用范围不断增广,广泛用于表面缺陷检测、食品检测、工件识别等[3-5]。机器视觉的目的是赋予机器处理图像信息的能力,让机器通过摄像头感知周围信息。将机器视觉应用在宠物狗厕所中,可以使其具有检测排泄物是否残留的功能。
本设计了一种以Arduino UNO为主控制器,OpenMV4 Cam H7 Plus摄像头为机器视觉系统的自动清洗宠物狗排泄物的环保智能厕所装置。该装置能够满足高职院校机电一体化技术专业的实训教学。通过进一步优化,可将实物模型变成产品,推向市场。
设计的狗智能厕所装置包括紫外线消毒灯1、超声波距离传感器2、装置主体3、引导台阶4、网梳5、喷水管6、立柱7、OpenMV摄像头8、微型高压水泵9、直流电机10、排污口11、Arduino UNO控制器12。狗厕所装置三维造型图如图1所示。
图1 狗厕所装置三维造型图
狗厕所装置的大小根据狗的体型大小而定,本设计定位于小型犬。小型犬是指成年时体重不超过10 kg,身高在40 cm以下的犬类。OpenMV摄像头用于检测装置内是否有排泄物,为了清晰拍摄到排泄物,OpenMV摄像头安装于主体腔体正上方,固定在紫外线消毒灯下侧,摄像头的视角覆盖整个装置主体。理想情况下,狗应该蹲在靠近排污口的位置排便,但是,狗在厕所内排便的位置不固定。为了支撑狗在装置内排便,应该在装置主体内腔放置一块平板结构;但为了方便清洁排泄物,则不应该放置平板结构。为了解决以上冲突,创新设计了网梳结构。直流电机通过齿轮带动网梳转动,方便冲洗网梳上的排泄物。水通过微型高压水泵增压后,经喷水管喷洒到网梳,冲洗排泄物。排泄物和污水通过排污口排出。根据狗排尿时偏向寻找立柱的习性,装置主体腔体内壁设置了一根立柱。为了方便狗走到网梳上,装置主体入口处设置了引导台阶。
当狗走进厕所时,超声波距离传感器检测到狗靠近,Arduino UNO控制器记录工作状态为狗如厕状态;当狗离开厕所时,超声波距离传感器检测到狗离开,Arduino UNO控制器记录工作状态为空闲状态。狗离开30 s后,OpenMV摄像头检测狗厕所里是否有排泄物,如果没有排泄物,则不冲水;如果有排泄物,控制器控制电机转动,电机带动网梳往下倾斜45°,控制器控制微型高压水泵喷水10 s。喷水停止后,摄像头检测排泄物是否已经冲洗干净,如还有排泄物,则重复喷水。排泄物冲洗干净后,网梳回正,紫外线消毒灯打开,对厕所消毒2 min。
宠物狗智能厕所装置的控制系统主要由Arduino UNO控制器、OpenMV摄像头模块、超声波距离传感器、继电器、微型高压水泵、直流电机、紫外线消毒灯等组成。图2为控制系统框图。
主控制器采用Arduino UNO,是一款开源的、稳定可靠的控制器,被广泛应用于各类嵌入式控制系统中。Arduino UNO控制器有32KB FLASH,2KB SRAM,1KB EEPROM,14个数字I/O引脚,6个PWM数字I/O引脚,1个串口,电路板体积小,运行稳定。Arduino UNO控制器支持图形编程,有丰富的库代码,可先通过图形编程搭建程序的框架,再切换为C/C++编程模式,实现较为复杂的逻辑编程。
超声波距离传感器检测狗是否在厕所内,当狗从引导台阶进入装置时,超声波距离传感器测量得的距离数据逐渐变小;当狗从装置内离开时,超声波距离传感器测量得的距离数据逐渐变大。Arduino UNO控制器不断获取超声波距离传感器的距离数据,通过比较数据的大小判断狗是否在厕所内。
图2 控制系统框图
OpenMV摄像头模块结合机器视觉算法来检测狗厕所内是否有排泄物。OpenMV摄像头模块选用的型号是OpenMV4 Cam H7 Plus摄像头,是一款可扩展且支持Python语言编程的机器视觉模块,拍摄画面质量好,能进行高分辨率图像处理。处理器为STM32H7,主频高达480 MHz,内置1MB+外置32MB RAM,内置2MB+外置32MB FLASH,像素最高为500万。其优点是机器视觉算法可在OpenMV摄像头模块内直接运行,体积小,适用于不需要复杂的机器视觉算法运算的系统。OpenMV摄像头模块运行检测排泄物的算法,将检测结果通过串口发送到Arduino UNO控制器。
电机驱动网梳上下转动,便于喷水冲走排泄物。电机可选伺服电机、步进电机、直流电机。网梳转动的速度和角位移要求不高,因此选用直流电机,降低装置成本。Arduino UNO控制器通过控制接口发送PWM信号到电机驱动模块控制直流电机运行。通过调节PWM波的占空比可调节电机的转速。电机驱动模块有两个通道,分别控制电机正转和反转,在正转通道接收到PWM信号则电机正转,在反转通道接收到PWM信号则电机反转。
继电器用于控制水泵和紫外线消毒灯的启动和停止。狗厕所连接电源适配器,可直接接入220 V的交流电。系统内有一块多路输出电压模块,其将电源适配器提供的直流电重新分配给各个模块。
狗厕所控制系统软件设计思路,装置首先检测狗是否靠近,再检测是否有排泄物,然后冲洗排泄物,冲洗干净后消毒。流程如图3所示。
图3 控制系统软件主流程图
控制系统软件包含两部分,一部分运行在Arduino UNO控制器里,另一部分运行在OpenMV摄像头模块里。这两部分既是相对独立又是有机联系,必须充分考虑两者信息配合的逻辑关系,对软件系统的结构进行合理设计,确保两个模块之间的信息传递畅通。
Arduino UNO控制器作为主处理器,负责协调OpenMV摄像头模块、超声波距离传感器、继电器和电机驱动模块的执行顺序,接收OpenMV摄像头模块和超声波距离传感器传输的信号。具体流程如图4所示。
图4 Arduino UN0控制器程序流程图
Arduino UNO控制器程序使用Mixly软件编写。Mixly(米思齐)是北京师范大学傅骞博士团队自主研发且免费开源的图形化编程工具[6]。用户可以通过拼接积木块的方式来编写程序,程序可视化易于理解。截至目前,Mixly已经支持C/C++,micropython,python等编程语言,扩展性能好。在编写程序时,可直接调用Mixly串口模块、超声波传感器模块和执行器电机模块,编程效率高。
机器视觉算法实现对狗厕所装置主体内的排泄物检测,采用的方法是背景差分法。OpenMV摄像头安装位置固定,装置主体和网梳是白色,在没有狗或排泄物时,背景变化不大,采用背景差分法可有效检测出排泄物。图5为OpenMV摄像头程序流程图。
图5 OpenMV摄像头程序流程图
OpenMV摄像头程序使用OpenMV IDE软件编写,OpenMV IDE自带代码库,不需要从零编写底层代码,便于用户设计应用程序。程序开始运行时,通过UART类初始化串口,设置波特率与Arduino UNO控制器串口的波特率一致,等待Arduino UNO控制器发来的指令。当收到的指令是字符a时,执行sensor.snapshot方法抓取一张图片作为背景模板图片。当收到的指令是字符b时,执行img.blend方法更新背景模板图片。当收到的指令是字符c时,执行img.difference方法进行当前图片和背景模板图片帧差分,获得差分图片,通过hist.get_percentile方法计算差分图片的直方图通道的CDF(累积分布函数),将第99百分位值的L值(亮度值)和第90百分位值的L值相减,如果相差数值大于5,则判断为有排泄物,否则没有排泄物。当收到的指令是字符d时,执行算法和指令是字符c时相似,唯一不同的是当第99百分位值的L值和第90百分位值的L值相差大于2时判断为冲洗不干净,否则为干净。
为了验证整个狗厕所装置方案的可行性,展示狗厕所的功能,进行了实物模型的制作和试验。模型运用了机器视觉技术、单片机技术、3D打印技术、电工电子技术、传感器检测技术、三维建模技术和机械设计等相关知识,制作成本较低。狗厕所的实物模型如图6所示。装置主体和网梳采用3D打印机打印成型。试验时,狗靠近和离开厕所的检测功能正常,网梳旋转和归位功能正常,水泵启动和喷水管喷水功能正常,摄像头检测排泄物是否冲洗干净功能正常。试验结果表明,狗厕所能正常检测并且将排泄物冲洗干净,各项功能达到预期目标。通过实物模型的设计与试验,验证了整个设计方案的可行性,同时验证了其功能性和合理性。
图6 狗厕所实物模型
OpenMV4 Cam H7 Plus摄像头具有较强的图像信号处理能力,让机器视觉技术在宠物狗智能厕所装置中得到充分运用。通过设计制作实物模型进行模拟试验,验证了机器视觉技术在控制系统中可以有效检测出排泄物是否残留,宠物狗智能厕所的各项功能可达到预期,说明其设计的合理性。在实物模型试验过程中,发现本研究还存在一些不足:当实物模型放在亮度不足的环境中,OpenMV4 Cam H7 Plus摄像头无法正常检测出是否有排泄物。因此,下一步的研究考虑将补光灯加入宠物狗厕所装置中,使其在亮度不足的环境中依然能正常工作。
本研究提出将机器视觉技术应用到宠物厕所装置中,经实物模型试验验证,结果表明机器视觉技术可以检测出狗排泄物,为宠物厕所装置领域的产品设计与研发,提供了理实一体的设计制作参考。