基于计算机视觉的家居安防监控机器人的设计

2021-11-05 08:03刘雯景陈志鹏
电子技术与软件工程 2021年17期
关键词:监控机器人传感器

刘雯景 陈志鹏

(广东海洋大学 广东省湛江市 524088)

1 引言

机器人行业多应用于工业生产中,更多是应用于代替人工进行机械化重复工作从而降低人工成本。可进行隐患检测的机器人常常被应用于工厂中或者是危险区域作业的特种机器人,如化工厂中用于检测可燃气体泄漏的工业机器人、火灾现场灭火机器人、案发现场拆弹机器人等。目前国内居家安全隐患检测机器人尚未普及,用于安全隐患方面的设备多以非智能的独立模块为主,如火焰传感器模块、烟雾传感器模块、可燃气体传感器模块等等。而对于室内监控,往往使用的是监控摄像头,但使用监控摄像头往往会以固定在特定高度的方式来对室内换进行监控,多数不携带智能识别技术或所携带的智能识别技术水平较低。不少学者也提出了家用监控机器人的设计理念,用于对家庭环境中可燃气体的检测、烟雾气体检测、以及防盗检测等[1][2]。但多由于技术上智能化程度较低,实用性较差,难以在市面上进行推广。因此,本文设计一款家居安防监控机器人,除了利用高精度的传感器来检测家居可燃气体浓度、烟雾浓度、室内温湿度等[2],还利用高清摄像头实时采集图像,通过分析图像来检测室内可能存在的安全隐患问题,譬如通过识别火焰及时发现可能发生的火灾[3][4],并将信息上报至安卓手机端进行报警。

2 系统总体设计

2.1 总体设计目标和需求

(1)机器人应当能实时接收和处理姿态传感器的数据,并将处理后的数据发送给电机驱动模块来精确控制电机的转向和转速,从而实现自平衡运动。

(2)在可自平衡运动的基础上,机器人应具有一定的室内隐患监测功能,一方面可通过传感器模块实时采集室内环境参数;另一方面通过图像采集模块对室内环境进行采样和分析,譬如通过识别图像中的火焰来预报火灾。

(3)机器人还应该具有一定的通讯能力,用户可以通过手机终端实时查看机器人所采集的室内环境情况,如果发现隐患机器人应及时提醒用户。机器人需要满足的技术参数由表1所示。

表1:技术参数的设计目标

2.2 总体设计方案

基于图像识别系统的双轮自平衡监控机器人主要的设计环节包括五部分,控制电路部分、运动算法部分、视觉分析部分、通讯协议部分、上位机监控部分。各部分具体关系如图1所示。

图1:设计框架各部分关系图

机器人开机后,首先会对自身设备进行初始化,如相关传感器的启动、图像传输系统的初始化、机器人的姿态由不稳定趋向稳定等。初始化完毕后,机器人按照具体设定的路线进行运动,在运动过程中机器人的图像传输系统会实时捕获周围环境的数据,与此同时,机器人所携带的陀螺仪传感器也会实时对机器人姿态进行纠正,使得机器人能不断直立稳定地前进。当图像传输系统获取到图像数据后,便将原始图像数据发送至PC 端对图像进行深度处理。经过PC 端的图像识别后,PC 端会在图像中框出出现火情的位置并将相关灾害信息发送至上位机监控部分,同时也会发送机器人的有关传感器数据,用户得以查看室内安全隐患情况。具体的操作流程图如图2所示。

图2:机器人工作流程图

3 系统实现

3.1 控制电路部分

控制电路主要负责机器人的自平衡双轮运动、对传感器数据进行处理、加工、发送、以及接收用户发送的数据等功能。该部分主要由五大模块组成:主控模块、电源模块、传感器模块、电机驱动模块,各模块之间的相互作用如图3所示。主控模块为机器人的核心部分,主控模块中所采用的主控芯片为ARM Cortex-M3 内核STM32F103C8T6 的32 位微控制器芯片,拥有64KB 程序存储器、20KB 随机存取存储器,多个IO 口及多种通讯接口;芯片较小但功能强大,可大大节约主控电路板中电路所占用面积,使得电路更加紧凑,性价比极高。电源模块主要负责机器人的供电、稳压以及电源电量的监控。电源模块由3 部分组成:12V 转5V 稳压电路、5V转3.3V 稳压电路、电源电量反馈电路。由于主控芯片的灌电流和拉电流均不足以驱动电机,并且电机的转动所产生的感应电动势会使得主控芯片击穿,为了提高主控芯片的驱动能力,并且更好地保护主控电路,因而需要电机驱动电路来间接控制电机的转动。本设计采用内含大电流MOSFET 组成H 桥结构的TB6612FNG 作为电机驱动芯片,可在同一时间驱动自平衡机器人的两个电机,可持续输出1.2A 电流,满足机器人正常运作所需的电流大小。该芯片性能高、体积小、散热好。传感器模块使得机器人对自身以及外界具有一定的感知能力,所感知的数据用于自身运动的反馈或用于室内环境检测。本文设计的机器人的传感器模块主要由包括姿态传感器电路、烟雾传感器电路、温湿度传感器电路、转速传感器电路。

图3:电路控制部分各模块间作用图

3.2 运动算法部分

一般机器人的运动方式由以下几种:履带式、轮式、腿式、双轮自平衡式。双轮自平衡式相对于履带式以及轮式而言,行动更为灵活,占地面积更小,机器人可适应各种狭窄而复杂的环境,而相对于腿式而言,即便没有达到腿式的灵活程度,但是在设计难度上可大大降低,成为了室内监控机器人的最佳运动方式。

双轮自平衡的工作原理源于倒立摆的控制原理,其系统是非线性、强耦合、多变量和自然不稳定的系统,是检验各种控制理论的理想模型。由于室内环境复杂,空间较为狭窄,传统的四轮机器人相对于双轮自平衡结构而言,占地面积以及体积更大,对地形变化的适应能力相对较差。双轮自平衡结构通过两轮的差动输入可以实现零回转半径和U 型回转等优点,运动方式更加灵活[5]。

PID 控制是现如今最通用的控制方法,大多数的闭环控制均采用此算法或该算法的变形来控制[6]。PID算法,便是比例、积分、微分,只需确定好三个重要参数(比例常数KP、积分常数KI、微分常数KD),即可得到对应每个时间点的误差所对应的输出。PID 算法的原始公式见公式(1):

其中u(t)为算法的输出,Kp 为积分系数,e(t)为当前时刻误差,Ti、Td 分别为积分时间常数、微分时间常数,T 为采样周期。

自平衡机器人的自平衡运动算法的最终输出为电机驱动所输出的电流大小以及极性。运动算法的核心是PID 算法,对于自平衡机器人稳定平衡运动,算法上使用了三套不同的PID 算法,由直立环、速度环、转向环来分别对各自不同种类的偏差做出电机驱动电流上的不同类型的反馈。三闭环PID 的参数调整时,必须以不影响机器人自身稳定为基础。将最终算出的直立环、速度环、转向环的各自占空比大小直接相加,自平衡机器人便稳定直立运行,在不同地形、不同初始角度、不同负载重心的情况下也可以轻松自行找到重心从而实现姿态的自适应。

3.3 视觉分析部分

视觉分析部分负责将来自图像传输系统的原始图像进行深度加工,对环境内的火焰进行识别,检测出环境内是否有火情的发生,以及火灾发生所在图像中的位置,并在图像中表示出,以便用户查看以及提醒用户火情的发生。

视觉分析部分对图像的执行流程如下:PC 端接收到来自图像传输系统的原始图像数据,图像处理算法先对原始图像进行特征的初步提取,计算出图像中与火焰特征最吻合的图像所在的区域位置及大小,并截取该位置的图像。为了提高图像检测的准确性以及实时性,将截取的图像输入到神经网络中,并通过神经网络对图像进行进一步分析,以便区分出火焰以及与火焰特征相近的其他物体(如灯光),提高图像检测的准确率。视觉分析部分具体执行流程如图4所示。

图4:视觉分析执行流程图

在软件实现上,首先通过调用OpenCV 库读取图像传输系统中的原始图像,使用cv2.cvtColor 方法将图像映射到HSV 域。随后使用cv2.inrange()方法通过设定的最低、最高HSV 阈值获得图像的掩膜,将图像中符合火焰特征的亮度、饱和度、色调阈值范围的像素全部置1,阈值范围外的像素全部置0,进而完成图像二值化,得到图像中的符合火焰特征的具体区域。调用cv2.findContours方法提取出图像中白色区域的轮廓并选中最大轮廓,并由cv2.minEnclosingCircle 得到最大外接圆的中心坐标以及半径,确定火焰所在的区域大小以及具体位置。最后根据该位置截取图像,以便后续图像分类操作的进行。在进行图像特征提取后,将初步筛选的图像输入至以神经网络为基础的模型中进行数据拟合,从而将图片中的物体分类为火焰或者是其他物品。本设计神经网络的构建基于Keras 库,为顺序模型,模型层数依次为12 层,除最后一个激活函数为softmax 函数用于神经网络输出归类外,其余均为relu 函数。

3.4 通讯协议部分

自平衡监控机器人的通信协议部分是将机器人其余各部分相联系的纽带,通信协议部分所设计的范围主要有主控系统中异步串行通信、图像传输系统的传输协议。由于图像传输系统中部分功能和异步串行通信集成于上位机监控部分中,因而两者并不能完全分离。机器人以异步串行通信的方式通过蓝牙将上位机监控系统与机器人主控系统相连接进行数据通信,用于上位机监控系统对机器人的实时控制以及机器人自身的有关传感数据的发送至上位机监控系统供用户查看。图像传输系统获取图像后以Wi-Fi 的方式利用UDP 协议进行图像数据的传输,供PC 端对原始图像的处理与识别,并且再利用该方式将处理后的图像以及相关数据发送至上位机监控系统以便用户对室内环境的监控以及相关数据的掌握。各系统之间的通信关系如图5所示。

图5:各系统之间的通信关系

3.5 上位机监控部分

上位机监控系统主要用于用户对机器人的状态的监控、对环境状况的监控以及查看室内空间图像的相关信息,以便机器人对用户汇报有关室内隐患信息以及体系用户做好相关措施。上位机监控系统部署于安卓平台,一共有4 个页面,分别为主界面、机器人控制页面、室内监控画面、机器人状态数据页面。上位机监控系统各个页面效果如图6所示。

图6:状态数据页面

4 总结与展望

本文设计的智能家居安防机器人包括硬件底层设计、控制算法设计、视觉算法设计以及安卓监控设计,经过大量的实验以及实地操作,机器人能够很好地实现既定功能,并且对用户设定的监控任务能够高效地完成。但该设计仍存在一些待完善和改进和的地方:

(1)基于计算机视觉的隐患检测的种类欠缺,本设计仅仅考虑火焰的检测,在以后的研究当中还可以考虑盗贼入室、室内人员发生意外等的检测功能;

(2)机器人是按照既定路线在运动,尚未加入避障算法以及室内定位,机器人的运作效果有所欠缺;

(3)机器人的数据通信方式有待升级,机器人的通讯部分的研究现停留于局域网通讯范围,未能实现真正的物联网设备,用户的体验也只是停留于局限的区域范围。

猜你喜欢
监控机器人传感器
The Great Barrier Reef shows coral comeback
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
跟踪导练(三)2
PDCA循环法在多重耐药菌感染监控中的应用