张 啸 韩孝冉 汪荣权 全方逸
(天津理工大学中环信息学院,天津 300380)
在工业生产和日常生活中,常会出现寻物、探测、救援等特殊需求,涉及的地点有可能是狭小空间、较深洞穴、建筑废墟,甚至是含有毒物质的空间,这些工作场合往往人员难以进入,可越障运行、探测并传输信息的无人化探测机器人在此显得极为重要。鉴于此,在充分调研信息探测技术、机器人控制技术和远程通信技术的基础上,结合现有的常用技术手段和相关研究成果,设计了一种基于STM32单片机和无线通信模块(本文主要涉及Wi-Fi模块和蓝牙模块)的探测机器人,并对其进行了实际的运行和探测功能测试,同时根据测试情况提出了某些方面的改进方法。
从外太空探索到生产、生活中的某一个具体方面,对作业环境信息的探测需求极为普遍[1]。而某些特殊的探测空间,人员难以进入其内部作业,例如:小口径管道、沉重机械设备底部或后部等较为狭小的空间,科学考察、野外人员搜救涉及的各类洞穴,发生灾难事故后的建筑物废墟内,含有毒物质、危险动植物或高压电等危及人员生命安全的场所,等等。遇到这些情况时,由于操作人员不能直接进入工作环境内部,需要探测机器人代替人员进入其中,及时获取内部信息资料并传输到外部,以便迅速确定最佳工作方案[2]。
因此,对探测机器人机械机构、运动控制、数据通信和电源方案等方面的研究一直是国内外的热点问题,探测机器人也在近年来变得更加多样化和智能化[3]。文献[4]提出了一种井下探测机器人的总体设计方案,并重点介绍了其运动控制系统的软件和硬件设计;文献[5]结合矿井特殊探测环境的实际特点,提出了一种基于蚁群算法和遗传算法的探测机器人智能路径规划方法;文献[6]提出的探测机器人运动控制算法以大数据聚类作为基础,很大程度上降低了机器人运动轨迹的误差。
可见,在探测机器人领域,已有大量的研究成果可供借鉴和参考。但在实际的信息探测任务中,机器人面对的环境复杂程度往往较高,固定的循迹运动模式和灵活度不高的控制算法将不能适应各种复杂的作业地形环境。本文设计的探测机器人具备成本低、可控性高、适应性强等特点,不去设计复杂且依赖于高成本器件的运动控制算法,代之以简单的实时通信控制系统架构,将STM32单片机和无线通信模块作为控制、通信平台,能以较低的硬件成本满足较通用的多场景探测需求。
探测机器人的系统设计思路基于以下功能需求提出:(1)运动底盘结构具备对多种复杂地形的适应能力,转向、越障灵活;(2)具有视频信息获取和传输的功能;(3)操作人员能对探测机器人进行无线遥控,从而控制其运动和摄像头转动。
本文设计的探测机器人系统总体架构如图1所示。
图1 探测机器人系统总体架构
可将探测机器人系统分为感知层、控制层、通信层和上位机四个主要部分。其中:
(1)感知层包括USB摄像头和超声波测距模块。摄像头通过USB通信协议连接STM32单片机,可将拍摄到的视频信息实时传输到单片机接口;探测机器人的运动主要依靠操作人员遥控,但预留出超声波测距与报警功能的设计,便于操作人员更加直观地评估目标物体的详细距离信息,也能防止因误操作而造成撞击现象。
(2)控制层的核心是STM32单片机主控电路板。单片机主要承担两部分的功能,一是接收摄像头和超声波测距模块发送的数据信息,并控制无线通信模块向Android设备控制端发送视频信息;二是接收Android设备发送的控制指令,并根据对指令的解析结果来控制机器人底盘车轮的转速,实现前进、后退、转弯、变速等运动方式,或者控制摄像头舵机的转角以改变镜头的方向。
(3)通信层由无线通信模块及其无线网络构成。本文采用了Wi-Fi模块和蓝牙模块,它们均可通过无线组网的方式连接Android设备上的相应接口,提供了操作人员对探测机器人遥控的条件。
(4)上位机采用Android设备,一般是手机或者平板电脑。操作人员可在上位机界面上实时查看摄像头探测到的视频,也能点击按钮控制机器人的运动方式和摄像头的角度。
此外,为了增强机器人底盘的环境地形适应能力,4个车轮采用麦克纳姆轮以实现更加灵活的运动。
在本探测机器人系统中,供电后的STM32单片机主要实现数据的接收与发送功能,其运行的程序流程图如图2所示。
图2 单片机主控程序流程图
STM32单片机控制板与Wi-Fi模块和蓝牙模块均通过串口相连接(两种模块与单片机硬件连接的方式相同,均为:无线模块的TXD端接单片机的RXD端,RXD端接单片机的TXD端,无线模块与单片机的GND引脚相连,即“共地”),实际使用时,可通过进入不同的单片机子程序定义I/O口,从而选择Wi-Fi模块和蓝牙模块其中之一进行连接并配置其无线通信参数。配置完成后,操作人员即可在Android设备上输入无线网络密码,加入以无线通信模块为热点的网络中。
无线通信网络组建完成后,STM32单片机即可通过无线通信模块将摄像头采集到的视频信息发送至Android设备端。此外,STM32单片机实时判断有无接收到来自Android设备的数据,若有,则根据程序中制定好的通信协议控制车轮的转速或者摄像头舵机的旋转角度。
需要指出,通过控制4个麦克纳姆轮之间的转速差,可实现机器人底盘的转向。摄像头安装在由两个舵机控制的云台上,其中一个舵机可左右旋转360°,另一个舵机可上下旋转180°。
为实现设计需求,对比几种常见的无线通信协议,如表1所示。
表1 几种常见的无线通信技术参数比较
其中,ZigBee模块虽然功耗和成本均较低,但不适合连接Android设备;GPRS模块的信息费用较高;LoRa模块通信距离长,信号抗环境干扰能力强,但通信速率较低,不利于视频信号的传输。因此,暂选用Wi-Fi模块和蓝牙模块作为探测机器人的无线通信接口。
以Wi-Fi模块为例,其无线局域网设计如图3所示。在此指出,只需要利用STM32单片机将Wi-Fi模块配置成AP模式,不需要连接Internet网络,Wi-Fi模块即可作为一个无线网络热点使用,Android设备能基于自身的Wi-Fi模块较容易地加入该无线网络,进行无线通信。
蓝牙模块也能组成与图3类似的无线局域网。
图3 Wi-Fi无线局域网框图
探测机器人整体采用12 V直流电源,由3节可充电型18650锂电池串联提供。由于系统各部分硬件需要的供电电压等级不同,采用降压电路模块,将12 V直流电压转换成3.3 V给STM32单片机供电,转换成5 V给超声波测距模块、USB摄像头和4个车轮直流电机供电,摄像头舵机则直接采用12 V供电。
探测机器人小车组装后的外观如图4所示。
图4 探测机器人整体外观
机器人实际运行时,利用Android手机界面实时查看摄像头拍摄画面和控制其运动方式,如图5所示。
图5 探测机器人实际运行画面
经过实际测试,设计出的探测机器人能较好地利用单片机和无线通信技术实现视频信息的采集、传输和操作人员对机器人的远程无线控制,为机器人代替人员进入特殊探测空间完成任务提供了可能。今后,为进一步增加其遥控距离,可以基于此设计架构,将无线通信模块更换为4G/5G模块,从而满足更大范围内的特殊探测需求。
综上,整个探测机器人硬件系统是将STM32单片机电路板作为控制核心,并通过无线通信模块连接Android设备,将摄像头采集到的视频信息传送到人员操控界面,操作人员也可以点击该界面上的按钮,利用无线通信网络将控制指令发送至机器人搭载的通信模块,再由STM32单片机解析指令、控制4个车轮的转速和摄像头舵机的转角。基于此总体设计思路,经过实际验证,操作人员能通过Android设备界面实时查看摄像头拍摄到的清晰画面,也能控制机器人车体的运动模式和摄像头视角。对机器人供电系统进行改进并换装更高分辨率的摄像头后,能进一步提升探测机器人的综合性能。