基于ARDUINO多传感器四足矿井救援机器人设计
Design of a Multi-Sensor-Based Quadruped Mine Rescue Robot Using ARDUINO
摘要: 矿井坍塌事故发生之后,现场的地形结构及其复杂,传统的救援方式是救援人员使用各种救援设备进行人工搜救,考虑到灾害现场的各种不确定因素及一些救援人员无法进入的区域,可能会发生二次灾害,在救援过程中存在一定的危险性,因此利用蓝牙通信技术,WIFI通信技术等自主研发一种四足轮腿分离式矿井救援机器人。机器人硬件基于ARDUINO NANO单片机作为救援机器人的控制核心,通过蓝牙,WIFI无线通信对机器人实现四足爬行,四轮行走,灾害现场图像回传,火源灭火以及救援对象GPS定位等功能。将四足轮腿式矿井救援机器人应用到矿井灾害救助系统中,不仅可以提高搜救效率,为救援提供有力的支撑,为被困人员争取更多的生命时间,还能进入救援人员难以进入的复杂事故现场,避免或减少救援人员的伤亡,提高救援的速度,降低救援难度。
Abstract: After a mine collapse accident, the terrain structure on the scene is extremely complex. Traditional rescue methods involve rescue workers using various rescue equipment to conduct manual searches and rescues. However, considering the various uncertainties on the disaster scene and areas that some rescue workers cannot access, secondary disasters may occur, posing certain dangers during the rescue process. Therefore, a four-legged wheel-leg separable mine rescue robot was independently developed using Bluetooth communication technology, WIFI communication technology, etc. The robot hardware is based on the ARDUINO NANO microcontroller as the control core of the rescue robot, realizing functions such as four-legged crawling, four-wheel walking, disaster scene image transmission, fire extinction, and GPS positioning of rescue objects through Bluetooth and WIFI wireless communication. The application of the four-legged wheel-leg mine rescue robot in the mine disaster relief system can not only improve search and rescue efficiency, provide strong support for rescues, and strive for more time for trapped personnel, but it can also enter complex accident scenes that are difficult for rescue workers to enter, avoid or reduce casualties of rescue workers, improve rescue speed, and reduce rescue difficulty.
文章引用:门成杰, 詹善宁, 马志远, 裴佳豪. 基于ARDUINO多传感器四足矿井救援机器人设计[J]. 人工智能与机器人研究, 2024, 13(1): 30-43. https://doi.org/10.12677/AIRR.2024.131004

1. 引言

本近几年,煤矿井下作业的环境已经得到了较大程度的改善,但是现阶段还存在煤矿井下坍塌事故发生的可能性。因此,事故发生后的救援工作则显得尤为重要。矿井坍塌事故发生后,通常最佳的救援时间是48小时,称为“紧急48小时”。当捜救工作超过48小时后,幸存者的生还几率就微乎其微 [1] 。将四足轮腿分离式矿井救援机器人应用到矿井灾害救助系统中,不仅可以提高搜救效率,为救援提供有力的支撑,为被困人员争取更多的生命时间,还能进入救援人员难以进入的复杂事故现场,避免或减少救援人员的伤亡,可以极大程度上提高救援的速度,降低救援难度 [2] 。

四足轮腿分离式矿井救援机器人主要用于进行煤矿救援或搜寻任务,具备高机动性、可以远程操作、适应性强等优点。因此四足轮腿分离式矿井救援机器人是一种具有实际意义的机器人技术,本项目实际意义如下:

(1) 四足轮腿式矿井救援机器人可以在各种复杂的地形和恶劣的环境下执行救援任务,完成数据采集、信息处理、图像传递等工作。四足轮腿分离式救援机器人对各种地形的适应能力强,能够快速到达需要救援的地方,减少时间和人力资源,可以提高救援效率;

(2) 四足轮腿式矿井救援机器人可以提升救援效果,每个机器人都会配备传感器和摄像头,可以提供实时视频和图像,通过远程操纵,可对机器人进行控制,能够更全面有效地搜寻到被困人员并发送正确的救援信号,以提升救援效果;

(3) 四足轮腿式矿井救援机器人可以减少救援风险,在某些危险的环境中,使用四足轮腿式矿井救援机器人可以有效地减少救援人员二次事故的发生;

(4) 目前现有的救援机器人价格昂贵、结构复杂,并且实现的功能较少。本文开发的矿井救援机器人,价格成本低,结构可靠,功能丰富,有着更广阔的使用前景和市场需求。

2. 四足轮腿分离式矿井救援机器人总体方案

四足轮腿式矿井救援机器人系统的总体组成分为机械系统、底层控制系统、传感器感知系统三大部分,总体架构如图1所示。

Figure 1. Overall architecture diagram of a quadruped wheeled leg mine rescue robot

图1. 四足轮腿式矿井救援机器人总体架构图

机器人机械结构设计:机器人须具有轮式和足式的前进后退转弯等行进模式,因此将机器人的结构设计分为四足爬行机构、轮式行走机构和轮式隐藏机构三部分 [3] 。基于ARDUINO NANO完成四足轮腿分离式矿井救援机器人的多行进模式的控制,需要进行设计相应的控制系统和配置相应的传感器系统对机器人的状态信息进行采集。本文中的四足轮腿分离式矿井救援机器人为方体四脚形态,样机机身由3D打印技术完成。为了满足四足爬行、轮式移动以及机体内部集成轮式隐藏机构的功能,各个机构的融合上具有很大的难度,同时,各机构以及各个电路模块、电机等在机体内的布置模式对机器人整体的性能有很大影响,因此将机械系统分为四足爬行机构、轮式行走机构、轮式隐藏机构三个部分来实现。机构示意图分别如图2图3图4所示,图5为四足轮腿式矿井救援机器人整体效果图。

Figure 2. Four-legged crawling mechanism

图2. 四足爬行机构

Figure 3. Wheel traveling mechanism

图3. 轮式行走机构

Figure 4. Wheel-type hidden mechanism

图4. 轮式隐藏机构

Figure 5. Four-legged wheel-legged mine rescue robot

图5. 四足轮腿式矿井救援机器人

3. 机器人电路部分设计

3.1. 主控电路设计

四足轮腿分离式矿井救援机器人的主控电路的原理图如图6所示。主控芯片采用的是ATMEGA168A。ATMEGA168P-20PU是由ATMEGA公司生产的高性能、低功耗的8位AVR嵌入式微控制器,具有512 KB的可编程EEPROM,可以外接晶振来实现更高的性能,具有六通道PWM (Pulse Width Modulation)输出接口以及8路10位ADC (Analog to Digital Converter)模数转换器。本文主控芯片外接的晶振是16 kHz,可以用来计算时间,为机器人的各个关节电机提供合适的频率的脉宽调制波形。此外,为了防止机器人硬件在运行程序期间,因为意外进入死循环程序,还专门设计了复位电路,可以看到图6中PC6引脚上连接着+5 V电压,当此引脚为高电平时,硬件电路会正常运行输入的C语言代码程序,一旦SW1按下,便会将此电位拉低成为低电平,此时会触发单片机内部电路,会重新执行程序代码,就像计算器的清零按钮的作用一样,以便回到原始状态,重新进入程序,以此来防止机器人出现不可控制的状态。图7所示的下载电路采用的是FT232RL组成的一键下载电路。FTDI公司生产的FT232RL芯片作为USB与TTL电平接口的转换芯片,可以通过该芯片TXD和RXD引脚与主控芯片RXD和TXD进行连接,FT232RL芯片作为中间传输桥梁还连接着USB的数据线路,从而实现电脑上位机与单片机程序的烧写与通信。机器人的供电电压是12 V的直流电压,单片机的工作电压是5 V,因此设计了图8中的降压电路。降压芯片选择的是LM7805T,可以将电压降至5 V,用于单片机的供电,LM7805T具有芯片体积小,输出电流大,输出电压噪声低,工作温度范围大的优点,无需使用散热片。并且设计有电源指示灯电路,观察电源指示灯的亮灭就可以判断电源模块是否在为单片机正常供电。

Figure 6. Main control circuit

图6. 主控电路

Figure 7. Download circuit

图7. 下载电路

Figure 8. 5 V buck circuit

图8. 5 V降压电路

3.2. 八路数字舵机控制电路设计

PCA9685是一款基于IIC (Inter-Integrated Circuit)总线通信的12位精度16通道PWM波输出芯片,可用于控制舵机、LED、电机等设备。利用IIC通信读写关键寄存器内的数据来控制多路PWM信号发送,节省主机引脚资源。并且可以更加方便的控制舵机,免去了每个舵机的配置过程,大大节省了开发时间。机器人的关节舵机采用的是SG90数字舵机,SG90舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。在机器人机电控制系统中,舵机控制效果是性能的重要影响因素,本次机器人的设计过程中选用SG90舵机,可以很好的满足机器人对于行动能力的要求。在使用过程中首先配置ARDUINO NANO单片机的定时器产生一个周期为50 Hz,占空比为2.5%的PWM波,用来将所有关节舵机调整至初始0位置,之后通过改变PWM波的占空比来调整舵机转动不同的角度,实现机器人的基本行走 [4] 。舵机转动角度与PWM占空比之间的关系如图9所示。同样舵机主控制板电路也设置了电源指示灯,可以通过观察电源指示灯的亮灭情况判断是否进行供电。舵机主控制板电路如图10所示。

Figure 9. Relationship between the steering angle and PWM duty cycle

图9. 舵机转动角度与PWM占空比关系

Figure 10. Main control board of the steering gear

图10. 舵机主控制板

3.3. 摄像头图传电路设计

机器人在进行工作过程中需要对周围环境图像进行采集收集,来确定事故现场的情况,确定是否存在搜救对象。如图11所示为摄像头图传模块的电路设计。ESP32-CAM是一种基于ESP32开发板的小型摄像头设备,它结合了高性能的处理功能和低成本的图像传感器,可以在低功耗和高质量的条件下完成实时图像处理任务。它可以通过WIFI连接到网络,远程监控和控制摄像头。ESP32-CAM还具有众多的通用输入输出(GPIO)引脚,可用于控制外部设备。ESP32单片机的供电电压是3.3 V,在电路设计过程中使用了AMS1117-3.3 V的稳压芯片,将外部的电压降至3.3 V,为ESP32单片机进行供电。摄像头采用的是国产OV2640,该传感器体积小、工作电压低,提供单片UXGA摄像头和影像处理器的所有功能。通过SCCB总线控制,可以输出整帧、子采样、缩放和取窗口等方式的各种分辨率8/10位影像数据。可以采用IIC协议对摄像头进行顶层的驱动,方便使用。本文机器人的硬件IIC接口有限,因此我们选择使用通用的GPIO接口来软件模拟IIC。软件IIC的完整信号包括起始信号、发送一个字节、接受一个字节、发送应答、接收应答、结束信号。

Figure 11. Camera image transmission circuit

图11. 摄像头图传电路

3.4. 光线感应传感器模块电路设计

由于机器人的工作在光照强度不足且狭窄的环境下,而摄像头在黑暗环境下的能见度很差,所以需要一个可以依据环境光线强弱而控制LED灯光强度的光线传感器。如图12所示,为光线传感器的电路设计。R2是光敏电阻,会随着光照强度的升高,电阻值迅速降低,而无光照时,几乎呈高阻状态。LM393芯片是常见的电压比较器,当电压比较器的同相输入端的电压大于反向输入端的电的时候,电压比较器这个时候就会输出高电平;当电压比较器的同相输入端电压小于反相输入端的电压时,在这个时候电压比较器就会输出低电平,也就是OUT引脚的电平状态发生改变,之后可以利用单片机来检测OUT引脚的电平变化,从而控制LED灯光的亮灭。可以将光线传感器的AC接口与单片机的A/D转化器接口连接实现模拟信号到数字信号的转变,之后在程序中调节光线传感器的阈值来实现对环境光线的检测,以便判断是否点亮LED灯光。

Figure 12. Light sensor circuit

图12. 光线感应传感器电路

3.5. GPS定位系统电路设计

在发现救援对象后,机器人需要对向上位机发送此时的GPS位置信息,这样可以大大节省救援时间,方便救援队的救援。如图13所示为GPS定位系统的电路设计。利用该GPS模块,可以得到被困对象的经纬度信息,以及当时的时间,这样可以方便确定救援对象被困时长以及被困地点。电路的主控芯片为ATGM332D-5N,支持多种卫星导航系统,包括中国的BDS (北斗卫星导航系统)、美国的GPS、俄罗斯的GLONASS、欧盟的GALILEO、日本的QZSS以及卫星增强系统SBAS (WAAS, EGNOS, GAGAN, MSAS)。AT6558是一款真正意义的六合一多模卫星导航定位芯片,包含32个跟踪通道,可以同时接收六个卫星导航系统的GNSS信号,并且实现联合定位、导航与授时,并且该芯片具有高灵敏度、低功耗、低成本等优势,可以减少功耗,延长机器人的工作时间。

Figure 13. GPS positioning circuit

图13. GPS定位电路

3.6. 四轮驱动电路设计

机器人除了四足爬行这种前进方式之外,还可以利用隐藏在底盘里的四个轮子进行轮式行走。在进行轮式行走过程中,首先会将四轮从机器人内部延伸出来,之后将四足向上抬起,使四轮与地面接触。四轮驱动电路的主控芯片是L298N,这是一款可接受高电压、大电流的双路全桥式电机驱动芯片,工作电压最高可达46 V,输出电流最高可至4 A,采用Multiwatt 15脚封装,接受标准TTL逻辑电平信号,具有两个使能控制端,在不受输入信号影响的情况下通过板载跳帽插拔的方式,动态调整电路运作方式,有一个逻辑电源输入端,通过内置的稳压芯片78M05,使内部逻辑电路部分在低电压下工作,也可以对外输出逻辑电压5 V,L298N通过控制主控芯片上的I/O输入端,直接通过电源来调节输出电压,即可实现电机的正转、反转、停止,因此电路设计简单,使用方便。四轮驱动系统的电源电路如图14所示。驱动电机采用的是N20减速电机,具有体积小,转矩大的特点。由于机器人集体内部集成了轮式隐藏机构以及电机驱动电路,因此选择体积较小的N20减速电机来作为机器人轮式移动的动力源。

Figure 14. Four-wheel drive circuit

图14. 四轮驱动电路

3.7. 蓝牙无线通信机构设计

机器人一般在中距离场景中使用,故选择蓝牙作为无线通信的方式。选用HC-05蓝牙通信模块,通过ARDUINO NANO的USART串行接口驱动,可以与手机等外部蓝牙设备进行无线通信。HC-05蓝牙模块体积小,适合直接焊接在印刷电路板上,支持主从模式,供电电压为3.3~3.6 V,指令集丰富,可以与ARDUINO NANO实现稳定的通信。

4. 四足机器人软件设计

4.1. 机器人四足步态设计

四足轮腿式救援机器人的步态规划采取的是“Trot步态”,“Trot”具有对角一致、两组相差半周的特点,即对角线上的两条腿为一组,同组内腿的运动步调一致;两组腿运动状态相差半个周期 [5] [6] 。任何四足机器人在前进时的运动主要分抬腿、往前迈两个动作。本文的四足轮腿分离式救援机器人一条腿安装两个驱动舵机:一个用来抬腿、一个用来迈腿。在一个前进的运动周期内,一条腿的运动周期包括:一个舵机驱动腿抬起来、再放下去,另一个舵机驱动腿往前迈;整个机器人四足的运动状态是:第一组腿(例如左前 + 右后)往前迈(摆动)的时候,第二组腿(右前 + 左后)需要支撑在地面上;同样第二组腿开始往前迈(摆动)的时候,第一组腿需要处于支撑状态;也就是说,每条腿在一个前进运动周期内,都有两个状态:摆动与支撑;因此髋关节(迈腿的舵机)与膝关节(抬腿的舵机)的运动相位如图15、16所示。

Figure 15. Phase diagram of hip joint

图15. 髋关节相位图

Figure 16. Phase diagram of knee joint

图16. 膝关节相位图

因此,四足轮腿式救援机器人的前进步态是:A腿抬起→A腿前移(1号舵机带着A腿逆时针转动)→A腿落下→C腿抬起→C腿前移(3号舵机带着C腿顺时针转动)→C腿落下→AC两条腿复位→B腿抬起→B腿前移(4号舵机带着B腿顺时针转动)→B腿落下→D腿抬起→D腿前移(2号舵机带着D腿逆时针转动)→D腿落下→BD两条腿复位;整个过程如图17所示,同理,后退的步态就是前进步态的反过程。

Figure 17. Forward motion of the robot

图17. 机器人前进步态

四足轮腿式救援机器人的左转步态是:A腿抬起→A腿向左移(1号舵机带着A腿逆时针转动)→A腿落下→C腿抬起→C腿向右移(7号舵机带着C腿逆时针转动)→C腿落下→B腿抬起→B腿向左移(4号舵机带着B腿逆时针转动)→B腿落下→D腿抬起→D腿向右移(10号舵机带着D腿逆时针转动)→D腿落下→ABCD 四条腿复位,整个过程如图18所示。

Figure 18. Left motion of the robot

图18. 机器人左转步态

同理,右转的步态就是左转步态的反过程。此外,也可将机器人通过摄像头获得的现场图像数据通过网络发送至远程控制终端,实时获取现场情况。

4.2. 传感器感知系统方面

使用手机端的APP可实现对机器人的智能控制,手机APP的运动控制界面和摄像头的实时环境监测画面如图19所示。

(a) (b)

Figure 19. Motion control interface (a) and real-time environmental monitoring screen of the camera (b)

图19. 运动控制界面(a)和摄像头的实时环境监测画面(b)

智能控制包括对机器人的运动智能控制、摄像头的视角控制和GPS定位装置的控制。运动智能控制包括:① 对机器人的行走控制,即通过手机端来发送一些控制指令,如前进、左转、右转和后退等;② 对机器人的运动方式进行控制,即切换轮式与足式行走模式。③ 获取机器人的GPS定位信息:在发现目标后,可以向上位机发送定位信息,实现精准定位;④ 实现摄像头视角的控制,即可以控制摄像头上下左右前后转动控制,以此来得到更加全面的环境信息;⑤ 救援对象的识别:基于ESP32单片机进行人脸检测,操作步骤如下。首先准备硬件和软件环境。硬件:连接OV2640摄像头模块到ESP32上。软件:在ESP32上运行一个图像处理库,本文使用的是OPEN CV处理库,在确保使用正确的编程环境和所需的库函数之后,便开始使用摄像头对应的底层文件进行配置来获取图像 [7] [8] 。在成功获取图像之后,需要对集到的图像进行预处理,以提高检测的准确性。即将图像进行灰度化、缩放或进行直方图均衡化等操作。接着就是进行人脸检测。人脸检测算法一般分为两种:一种基于Haar特征的传统机器学习算法。可以使用OpenCV库中的相关函数来加载训练好的Haar级联分类器模型,并将其应用于图像中进行人脸检测。一种是用已经训练好的深度学习模型,如MTCNN、Tiny Face Detector等。可以使用相应的库加载模型,并使用推理引擎进行人脸检测。本文采用的OPEN CV处理库处理,故采取第一种方案。最后将检测到的人脸标记在图像上,以便进行可视化。以使用ESP32的显示屏或与计算机通信来显示结果,最终将人脸数据上传到上位机,完成本次救援。机器人完成一次救援的流程如图20所示:

Figure 20. Robot rescue process

图20. 机器人救援流程

5. 总结

本文设计了一种智能救援机器人,首先,对当下救援机器人的现状进行分析研究,指出现阶段救援机器人存在的不足之处以及设计该款救援机器人的意义及目的。之后开始归划机器人的整体结构并最终确定由机械系统,底层控制系统和传感器感知系统组成。通过对机器人的电路部分进行详细的设计,最终使得机器人具有GPS定位、四足爬行、轮式行走、图像回传、光线感应、人脸识别等功能,机器人已经具备完成救援的基础功能,未来将机器人应用到救援系统中会大大提高救援效率,实现智能化救援。

NOTES

*通讯作者。

参考文献

[1] 江文浩. 基于地震环境建模的四足搜救机器人行走研究[D]: [硕士学位论文]. 哈尔滨: 哈尔滨理工大学, 2013.
[2] 朱浩. 基于无线传输的六足救援机器人系统设计及实现[D]: [硕士学位论文]. 秦皇岛: 燕山大学, 2014.
[3] 蒋卫涛, 崔炜, 白龙涛, 等. 基于STM 32的六足救援机器人系统设计研究[J]. 内江科技, 2018, 39(1): 39+110.
[4] 邓江涛, 熊中刚, 贺晓莹, 等. 基于STM 32单片机的四足仿生蜘蛛机器人控制系统设计[J]. 机电工程技术, 2023, 52(10): 162-165.
[5] 崔玉振. 轮足复合球形机器人的设计及运动控制研究[D]: [硕士学位论文]. 太原: 太原理工大学, 2022.
[6] 冯鲁文, 董伟. 基于多传感器的6足救援机器人设计[J]. 技术与市场, 2020, 27(2): 37-38.
[7] 厉登敏, 朱永远, 张伟. 灾后救援仿生机器人设计[J]. 数字技术与应用, 2022, 40(9): 177-179+186.
[8] 范红斌. 矿井智能救援机器人的研究与应用[J]. 矿业装备, 2023(1): 148-150.