摘 要:以Arduino UNO单片机为核心控制单元,基于LabVIEW开发平台设计一款消防机器人。该机器人分为上位机控制系统与下位机控制系统,上位机控制系统由LabVIEW开发环境设计,下位机控制系统由Arduino控制单元、传感器信息采集模块、运动模块、无线通信模块、灭火模块、自动避障模块组成。根据行业标准建立消防机器人原型机并进行测试,测试结果表明:设计的机器人能够稳定实现各项功能,具有一定的实际应用价值。
关键词:消防机器人;Arduino;LabVIEW;控制系统;设计
中图分类号:TP273+.5" 文献标志码:A" 文章编号:1671-5276(2024)05-0213-05
Design of Fire Fighting Robot Based on Arduino Single-chip and LabVIEW
Abstract:With Arduino UNO being the core control unit, and based on LabVIEW development platform, designs a fire fighting robot, which is divided into upper computer control system and lower computer control system. The upper computer control system was designed by LabVIEW development environment,the lower computer control system was composed of single-chip microcomputer control unit, sensor information acquisition module, motion module, wireless communication module, fire fighting module and automatic obstacle avoidance module. According to the industry standards,the prototype system of fire fighting robot was established and tested. The results show that the designed robot can perform various functions and has certain practical application value.
Keywords:fire fighting robot;Arduino;LabVIEW;control system;design
0 引言
火灾现场存在着的高温、浓烟、各种具有剧毒性、爆炸性的化学品,严重威胁着消防人员的生命安全。近年来,消防人员在救灾过程中牺牲、致残的事件高发。因此,研发一款能替代消防人员进入事故现场并能全面地完成侦察、灭火等任务的消防机器人(fire fighting robot)迫在眉睫。
在过去的二十几年中,各种用途的消防机器人已相继问世。文献[1]设计了一种不仅具有强大的爬坡和越障能力还可远程控制灭火作业的消防灭火机器人。文献[2]设计了一种可向后方实时显示火灾情况、环境信息和幸存者分布的消防侦察机器人。文献[3]研发了一种排烟、照明、行走类消防救援机器人。文献[4]设计了一种具备循迹、路径规划[5]与排爆功能的消防排爆机器人。上述机器人往往存在环境检测项目少、无线通信功能不稳定、只有环境检测功能而无避障功能,或者只能手动控制而无法自动控制、上位机控制系统接线杂乱、价格昂贵等诸多缺陷。
本文提出一种人机交互性强,操作简单的集移动、环境检测、无线数据传输、自动避障、灭火等多功能于一体的消防机器人。
1 消防机器人总体设计
1.1 总体方案设计
本文设计的消防机器人总体结构如图1所示,分为上位机控制系统(简称上位机)与下位机控制系统(简称下位机)两部分,上位机由LabVIEW开发环境设计,下位机程序由Arduino IDE开发环境设计。下位机由Arduino控制单元、传感器信息采集模块、运动模块、无线通信模块、避障模块、灭火模块组成。上位机与下位机通过无线通信模块进行通信。
1.2 功能模块设计
该机器人下位机控制系统由Arduino控制单元、运动模块、无线通信模块、避障模块、传感器信息采集模块、灭火模块组成。上位机控制系统由运动控制模块、通信模块、控制方式选择模块、灭火控制模块与环境信息显示模块组成。该机器人具有运动(直行、转弯、爬坡、越障、速度档位调节)、灭火、环境参数采集(一氧化碳浓度、粉尘浓度、光照强度、温度、湿度)、无线通信、自动避障等功能。
本课题目标为一种能够替代消防人员进入高温高压、地形复杂、含有大量有毒有害气体的火灾事故现场,集移动、环境检测、无线数据传输、灭火等多功能于一体的智能消防机器人。根据消防机器人行业标准,本课题设计的消防机器人应具有的性能指标如表1所示。
2 下位机控制系统设计
2.1 下位机硬件结构总体设计
综合考虑,本机器人选用Arduino UNO单片机为控制单元。下位机控制系统各模块通过不同的引脚接口与Arduino UNO单片机连接完成后组成了该消防机器人的硬件结构。
1)Arduino单片机数字I/O口的0、1端口分别连接APC220无线通信模块的TX与RX端。
2)数字I/O口的2端口连接温湿度传感器DATA端;数字3、模拟I/O口的A1端口分别连接粉尘浓度传感器的LED、OUT端。
3)数字I/O口的10、11、12、13端口分别连接L298P电机驱动器的E1、M1、E2、M2端口;L298P电机驱动器的M1+、M1-、M2+、M2-端分别连接左电机的正极与负极、右电机的正极与负极。
4)数字I/O口的4、5端口分别连接车体左侧超声波传感器的Echo、Trig端;8、9端口分别连接车体右侧超声波传感器Echo、Trig端;模拟I/O口的A2端口连接车头左侧红外测距传感器的V0端;A3端口连接车头右侧红外测距传感器V0端。
5)数字I/O口的6端口连接灭火模块中继电器模块的IN端,继电器模块的COM端与NO端分别连接压力泵的正极与单片机的+5V端,压力泵的负极接地。
2.2 各硬件模块选材与设计
1)运动模块
消防机器人行进的动力由运动模块提供。该模块保证了机器人能够完成除前进、后退、左右转、速度档位调节等基本动作外,还能够完成越障、爬坡等复杂运动。本模块设计主要分为行进机构设计和电机及其驱动器选择两部分。
a)行进机构设计
火灾事故现场往往存在杂草丛生、大角度陡坡、多障碍物等地形。综合考虑,履带式行进机构可满足本消防机器人设计要求,另外采用直流电机作为该行进机构的动力输入。消防机器人行进机构模型如图2所示。该机构由电机与支架、主动轮、从动轮、履带、底盘组成。
b)电机及其驱动器选择
根据行业标准,机器人直行最大速度v应不小于0.5m/s(取v=0.5m/s);能以不低于0.1m/s的爬坡速度爬上至少25°的斜坡(取坡角为30°),此处取消防机器人总质量m=10kg。所需的电机功率计算如下(取履带与地面的滚动摩擦因数为0.2,滑动摩擦因数μ为0.5)。
①机器人若要爬上30°的斜坡,所需牵引力F1(单位:N)为
F1=G·sin30°+μ·G·cos30°=
10×9.8×0.5+0.5×10×9.8×cos30°=91.4(1)
机器人若要以不低于0.1m/s的爬坡速度爬上该斜坡,电机所需的最小功率P1(单位:W)为
P1=F1·v1=91.4×0.1=9.14(2)
②当机器人在平地上做匀速直线运动时,机器人所需牵引力F2(单位:N)为
F2=μ·G=0.2×10×9.8=19.6(3)
机器人若要以v2=0.5m/s速度保持该运动,所需电机功率P2(单位:N)为
P2=F2·v2=9.8(4)
综上,机器人电机功率需要至少9.8W,牵引力达到91.4N才能满足设计要求。由于机械设计中存在较大的机械磨损,对实际参数进行选型时一般取2倍的安全系数,故取20W为最低功率。本设计根据机器人机械特性和设计要求选择了两台25W的37GB520直流减速电机。该减速电机输出的力矩T(单位:N·m)为
T=2.5×9.8×0.01×30=7.35(5)
由力矩公式T=F·r(r为主动轮半径,测得主动轮直径为4.5cm,F为推动主动轮的力),可计算出电机经过主动轮带动履带的牵引力(单位:N)为
F=T/r=7.35÷(4.5÷2×0.01)
=326.67gt;91.4(6)
由上述计算可知,37GB520直流减速电机满足设计要求。由于电机额定功率较大,单片机无法直接控制,本设计选用可同时驱动两台额定功率25W减速电机的L298P为电机驱动器。
2)无线通信模块
上下位机之间的相互通信由无线通信模块实现。根据行业标准,此机器人可实现消防人员遥控控制且遥控距离应≥130m,因此设计无线通信模块时必须对传输距离加以考虑。从传输距离和经济角度考虑,本设计最终选用APC220-43无线数传模块为无线传输方式。
3)传感器信息采集模块
根据设计要求,消防机器人应能检测火灾事故现场的一氧化碳(CO)浓度、粉尘浓度、光照强度、温度、湿度等信息。为了检测这些环境信息,本设计选用可同时检测温度和湿度的DHT11数字温湿度传感器;MQ-5型一氧化碳传感器检测事故现场的CO浓度信息;GP2Y1010AU0F粉尘浓度传感器检测现场粉尘浓度;GY-30数字光照强度传感器来检测事故现场的光照强度信息。
4)避障模块
根据设计要求,当消防人员在上位机控制方式选择自动控制模式时,机器人无需后方消防人员遥控控制,将会自动避障。而自动避障功能的实现由避障模块完成。本模块选择Sharp GP2D12红外测距传感器和HC-SR04超声波传感器。
如图3所示,两个红外测距传感器(以三角形表示)布置于机器人车头左右两侧,两个超声波测距传感器(以长方形表示)布置于车体左右两侧。
5)灭火模块
消防机器人的灭火功能由灭火模块实现,该模块由继电器模块、压力泵、导管、喷嘴、灭火罐组成。其中,压力泵为5V立式压力泵,继电器选用1路5V继电器驱动模块,灭火罐中装有灭火剂。此外,压力泵与喷嘴通过导管连接。当上位机向灭火模块发出灭火指令,继电器接通,压力泵运行,将灭火罐中的灭火剂喷出,完成灭火过程。
2.3 下位机软件设计
1)上下位机通信协议
前文已经讨论过,该机器人不仅可以实现自动控制也可以实现消防人员远程人工控制。为了更好地实现上下位机通信,制定指令以如下的通信协议形式发送,即
帧头+命令码+操作码
此处规定0x55为帧头,0xAA为人工控制模式命令码,0xFF为自动控制模式命令码,完整指令如表2所示。
2)下位机程序工作流程
当下位机控制单元收到上位机发送的“0x55AA”指令,表示消防机器人人工控制模式开启。当下位机控制单元收到上位机发送的“0x55FF”指令,表示消
防机器人自动控制模式开启,机器人将开启自动避障功能。人工控制模式需要消防人员通过上位机控制按钮远程控制机器人运动模块完成前进、后退、转弯、速度档位调节动作,控制灭火模块执行灭火等动作,同时下位机也将自动采集环境参数上传至上位机,具体程序流程如图4所示。
3 上位机控制系统设计
3.1 系统界面设计
上位机控制系统界面设计主要是指上位机前面板设计,也就是虚拟仪器面板设计。界面设计是为了更好地实现人机交互功能。
图5所示为上位机前面板即虚拟仪器界面。界面左侧的5个仪表盘分别用来显示事故现场温度、湿度、粉尘浓度、一氧化碳浓度和光照强度数值,一氧化碳浓度变化趋势由波形图显示。运动控制模块的4个布尔按钮分别控制机器人前进、后退、左转、右转动作。运动控制模块右侧的速度档位调节旋钮可对机器人进行5档调速。界面右下角的控制方式选项框包含人工模式与自动模式按钮,用于切换机器人控制方式。控制方式选项框下面的灭火按钮用于灭火功能。另外串口号选项框用于选择上下位机通信的串口号,状态机显示栏显示当前检测何种环境参数。
3.2 系统程序设计
图6为消防机器人上位机控制系统前面板对应的主程序框图。由图可知主程序的结构为顺序结构+条件结构+事件结构+While循环。首先串口初始化,波特率为9600b/s;然后,程序进入While循环和事件结构,不断地检测是否有事件得到响应;事件结构有“模式切换”、“前进”、“后退”、“左转”、“右转”、“速度档位”、“超时”等。
4 消防机器人实现与性能测试
4.1 消防机器人实现
图2中也显示了消防机器人缩小版原型机下位机控制系统硬件总体结构。图7所示为消防机器人原型机上位机控制系统,下位机与上位机通过APC220无线通信模块实现无线通信。
4.2 消防机器人性能测试
根据消防机器人行业标准中的测试方法,本设计对消防机器人原型机的运动(直行、转弯、爬坡、越障、速度档位调节)性能、环境信息检测(一氧化碳浓度、粉尘浓度、光照强度、温度、湿度)性能以及自动避障性能进行测试。因篇幅有限,本文只对消防机器人环境信息检测性能测试进行详细阐述。
图5中还显示了环境信息检测性能测试结果,由图可知:此时消防机器人所测温度为23℃、湿度为40%、粉尘浓度为0.02mg/m3、一氧化碳浓度数值为89mg/m3、光照强度为41Lux;波形图所示为500s内的一氧化碳浓度数值变化趋势。
测试结果表明:机器人直线前进的最高速度约为0.55m/s;可实现5档调速,分别为第1档0.15m/s、第2档0.25m/s、第3档0.35m/s、第4档0.45m/s、第5档0.55m/s;能以0.15m/s的速度爬上30°的斜坡;可越过5.3cm高的障碍;能检测CO浓度、粉尘浓度、光照强度、温度、湿度5种环境参数,并实现了实时无线数据传输,传输距离最远可达300m;能实现系统所设计的自动避障功能。因此所设计的消防机器人满足性能指标要求。
5 结语
本文基于Arduino单片机与LabVIEW开发环境,设计了一款能够替代消防人员进入事故现场,集移动、环境检测、无线数据传输、自动避障、灭火等多功能于一体的消防机器人。该机器人有效弥补了目前消防机器人普遍存在的环境检测项目少、无线通信功能不稳定、只可手动控制而不可自动控制、上位机控制系统接线杂乱、价格昂贵等诸多缺陷,同时该机器人的成功研制对于Arduino单片机与LabVIEW在其他领域的应用有一定的参考价值。
参考文献:
[1] 黄小龙,郭一冉,高阳臻,等. 消防机器人研究进展与分析[J]. 消防科学与技术,2021,40(10):1501-1504.
[2] 王勇,刘菲菲,傅建桥,等. 消防侦察机器人的设计与实现[J]. 东华大学学报(自然科学版),2018,44(4):630-634.
[3] 吴俭涛,孙利,余慧,等. 消防救援机器人造型设计[J]. 机械设计,2021,38(11):9-12.
[4] 刘孝贤,余江,郑徐凯,等. 基于STM32的全地形越障排爆机器人设计[J]. 机械,2022,49(9):76-80.
[5] 张慧贤,杨海军,马利民,等. 消防机器人作业环境智能感知与识别关键技术[J]. 机械制造与自动化,2021,50(6):186-189.