陈新伟,郑美香,陈剑兴,陈冠昱,郑 兴,陈 军
(1.闽江学院计算机科学系,福建 福州 350108; 2.福建省信息处理与智能控制重点实验室,福建 福州 350011)
从20世纪80年代初开始,随着我国社会经济迅速增长,各类工业因此也得到了快速发展,正因为如此,各类危险场所的火灾以及由火灾引发的爆炸伤人事故也随之不断发生。在没有对现场进行充分侦察和分析的情况下,盲目地采取行动,不仅不能取得预期的效果,而且往往会造成无辜生命的牺牲,付出惨重的代价。在明确公安消防部队作为处置各类化学危险品泄露事故的主力军之后,在我国消防部门配备消防机器人就显得更为迫切。
消防机器人作为特种消防设备,可代替消防队员接近火场,实施有效的灭火救援、化学检验和火场侦察。它的应用将提高消防部队扑灭特大恶性火灾的实战能力,对减少国家财产损失和灭火救援人员的伤亡有着重要作用。
国际上较早开始研究消防机器人的是苏联和美国,随后英国、法国、德国、日本等国家也开展了地面消防机器人的研究工作。从20世纪70、80年代至今已有多种不同功能的消防机器人用于救灾现场。例如美国研制的轮式消防机器人Oshkosh Phoenix[1],德国研制的路虎60机器人,日本研制的FRIGO-D消防机器人[2]等。
而我国于20世纪90年代开始研究,相对较晚。目前,我国已经成功研制了具有灭火、排烟、侦察、救援等功能一系列消防机器人,并在部分消防实战中取得了良好的成果。例如上海交大机器人研究所研制的Ferret机器人[3],沈阳自动化研究所研制的CLIMBER机器人[4]等。
根据作业环境的不同,可以从功能、控制方式、智能化程度、行走方式等方面划分机器人的类别。按行走方式机器人可分为轮式行走、履带式行走、腿足式行走等类别[5],其中腿足式行走机器人常见的主要有2足、4足、6足等双足结构。腿足式行走机器人具有机动性灵活、可轻易跨过障碍、立足点离散、爬行快速等优点,但由于结构形式复杂,难以控制,因此应用较少。本文设计的机器人属于腿足式行走6足机器人。
本文设计的消防侦察机器人的核心是WiFi传输视频信号,WiFi远程控制[6]。以 ARM为控制中心,处理 WiFi模块接收的控制命令、火焰信号,温度信号和超声波避障信号,并且驱动机器人行动。本文的机器人设计包括火源探测模块、视频传输模块、WiFi模块、处理器模块、避障爬坡模块、机器人驱动模块、手持设备模块(图1)。
图1 系统框图Fig.1 System diagram
本消防侦察机器人的车载硬件系统结构[7],由中央处理器控制、WiFi无线传输、视频采集、传感器4部分组成(图2)。
图2 硬件结构图Fig.2 Hardware structure diagram
图3 系统的硬件结构图Fig.3 Hardware structure diagram of system
此系统使用的微处理器是三星公司的16/32位精简指令集S3C2440A,基于ARM920T核心,实现了MMU,具有低功耗和高性能等特点。从图3可以看出,TFT(薄膜晶体管)彩色显示屏实现微处理器的显示功能,通过无线串口以及调试串口实现与主机以及单片机等进行通信,除此之外,还实现了SDRAM控制、与上位机下位机通信等功能。
Qt中最实用的两个工具是qmake和Qt designer(图形设计器),此系统界面设计主要依靠Qt designer。Qt designer是一个具有可视化用户接口的设计工具,使用Qt designer写界面就类似于使用DreamWeaver或者FrontPage,只需要拖拽一些控件,调整控件的位置以及属性,补充一些css效果,相对于用代码来编写界面程序,使用Qt designer写界面就显得更加简便。
目前,系统的通信方式采用串口通信[8],通信格式如图4所示。
由于本系统与单片机之间的通信主要是通过串行接口,因此实现各个功能也都是通过串口进行通信的,主要功能如图5所示。
图4 通信格式Fig.4 Communication format
图5 主要功能图Fig.5 Main function diagram
本系统在X86下的虚拟帧缓冲环境中进行调试,通过交叉编译并下载至ARM9硬件平台中运行测试。图6为系统开启超声测距功能时所显示的机器人与障碍物之间的距离反馈。
图6 超声波数值反馈Fig.6 Ultrasonic numerical feedback
传统采用的无线传输通信模块传输速率慢,无法传输视频,远处控制的人员无法直观地看到灾害环境,从而做出正确的判断和控制。而且这种传统的远程控制方法要在电脑或者专门的设备上才能使用,不利于普及。
由于手机、计算机的普及以及机器人技术的不断发展,目前可以利用 WiFi技术把移动终端(手机、平板)与机器人结合起来,并且 WiFi模块的传输速率能达到 300 Mbps, 可以达到传输视频的要求。
此系统中视频通过WiFi传输到手机实现实时观看。WiFi模块占用面积小,需供电电源为5 V,500 mA,内置板载天线。其中,RXD和TXD用于连接单片机的串口,以此传达信号给机器人的主控芯片。该模块支持OpenWrt。OpenWrt是一个基于Linux的开源路由固件,提供了一个完全可写的文件系统及软件包管理,对其路由进行刷机后相当于一个小系统,它可以将采集到的图片发送给控制终端[9]。
机器人需选择高质量高清摄像头以便更好地进行监控,宜采用UVC摄像头。使用这种摄像头能使硬件在各个程序之间运行更加顺利。
视频的控制板主要包括电源模块、电机驱动、舵机驱动、下载串口、单片机电路以及数据通信接口等。BTS7960芯片在集成化和小型化的电机控制系统中,适合作为理想的电机驱动芯片。
消防侦察机器人的主系统采用ROS(Robot Operating System)[10]。ROS是专为机器人软件开发所设计出来的一套操作系统架构,它能够支持多种机器人构型和传感器。它是一个开源的操作系统,包括共用功能的执行、程序发行包管理、底层驱动程序管理、程序间消息传递、硬件抽象描述,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。ROS能够提高机器人研发的代码复用率,集成与其他机器人软件框架。图7为ROS体系结构。
图7 ROS体系结构Fig.7 ROS System structure
建立好了交叉编译环境后修改Linux源码中参数,解压内核源码,进入内核目录,修改makefile,并对内核进行默认配置进行修改,修改Nand flash分区信息。建立tftp服务器后启动编译好的内核。
TCP/IP模型也被称作DoD模型(Department of Defense Model)。其中含TCP(传输控制协议)和IP(网际协议)。在视频传输模块中引用了TCP/IP协议。
测试所设计的消防侦察机器人能否满足设计要求,就一定得完成消防侦察机器人各项性能的检测,检测的主要内容包括:避障能力测试、爬坡能力测试等。
图8 机器人避障试验Fig.8 Robot obstacle avoidance test
消防侦察机器人超声波传感器选择避障的距离为40 cm,试验步骤如下(图8)。
1)消防侦察机器人自动前进,行至障碍物前方;
2)遇到障碍时探测左右两侧的活动范围,比较后选择较空旷的方向转向;
3)随后继续前进。
试验证明,机器人可以避过障碍物。
图9 机器人爬坡试验Fig.9 Robot climbing test
试验步骤如下(图9)。
1)调整爬坡的木板平台,实验共分3次,木板分别升至20°、30°、40°位置,消防侦察机器人爬坡动作一致;
2)消防侦察机器人的前足抬起高于木板,达到木板底部放下;
3)消防侦察机器人爬向木板,前足和中后足放下,都接触到木板;
4)消防机器人爬向木板顶端。
试验证明,消防侦察机器人的电力充足的情况下可攀爬20°,30°斜坡,但无法攀爬40°斜坡(表1)。
表1 六足机器人爬坡试验结果记录
图10 机器人火源探测Fig.10 Robot fire detection
试验步骤如下(图10)。
1)在板中设置好与反馈数值对比的边界值;
2)先用手电筒等光源测试,结果为不影响报警;
3)将白纸在塑料杯中点燃,靠近消防机器人;
4)消防机器人蜂鸣器发出报警;
5)反复测试报警有效范围。
试验证明,消防侦察机器人可以探测到2 m内的小火源,大火源未知。
试验步骤如下(图11、图12)。
1)给小车安装摄像头和WiFi模块;
2)手机下载APP,并连上WiFi视频传输控制模块的WiFi;
3)打开APP,进入控制软件界面;
4)摄像头所拍摄到的画面通过WiFi传输模块实时传输到手机上。
试验证明,消防侦察机器人可以达到远程传输视频的要求。
图11 高清摄像头图Fig.11 HD camera diagram
图12 视频实时传输能力测试Fig.12 Video real-time transmission capability test
对消防侦察机器人的控制系统进行研究,简单介绍了消防机器人的研究背景及分类,描述了消防机器人控制系统硬件设计及软件设计等情况,设计一种6足消防侦察机器人的控制系统并对其避障爬坡等功能进行测试,结果证明其满足设计要求。在今后的工作中,考虑搭建ROS上位机,完善各项功能,使机器人更加智能化。