一种基于Leap Motion 与Android 手机控制的地震救援机器人应用设计

2022-09-17 15:54彭登靖
科技与创新 2022年18期
关键词:串口手势无线

彭登靖

(云南省地震局,云南 昭通 657000)

近年来,中国大陆范围内地震频发,特别是云南省地区,2021-05-21 相继发生了大理漾濞6.4 级、青海玛多7.4 级地震。地震发生后,土建木质式建筑顷刻间倒塌,人们根本没有时间逃跑,被埋于废墟之下,受伤后如不能及时被抢救就会导致伤口感染、流血过多而死亡,身处震中开展救援的救援队员也面临着余震随时来临的巨大威胁[1]。所以,研发地震救援机器人很有必要,有很大的应用前景。

针对目前全球地震救援机器人的研究现状[2],本文结合地震灾区救援特点,利用现有资源条件,设计了一款外观新颖、操控性强、系统运行平稳的地震救援机器人。实验证明,机器人行走方式多样且运行平稳,体验感好,操作多样。

1 Leap Motion 设备

2013年Leap Motion 公司发布了一款用于检测人体肢体动作的小型体感传感器,如图1所示,它的尺寸规格为长8 cm、宽3 cm、高6 cm,其内部设计有2个信号摄像头、3个红外LED 灯,外观设计优美,体积小,功能强大,携带方便。

图1 Leap Motion 设备

2个摄像头和3个LED 红外灯在空间中产生一个三维的信号立体空间区,如图2所示,若以传感器中心为原点建立一个空间直角坐标系,其产生的有限空间信号区形状类似于倒四棱锥[3]。

图2 Leap Motion 发射的有效空间区域

2 Leap Motion 手势识别

为更好跟踪Leap Motion 手势识别效果[4],减少机器臂误抓率,本文在PC 端安装手势虚拟机,该虚拟机可以将手势的各个骨骼特征很好地在空间坐标系中显示出来,提高操作体验感。

虚拟手势原理:进入虚拟环境后,Leap Motion 以每秒20 帧的速度获取手势数据,并对手势关节编号,而后对应捕捉手势各个关节的运动,并在虚拟环境中虚拟出手势模型。若目标手势离开检测范围后,编码会自动取消,之前数据被清除,Leap Motion 再一次进入待捕获模式[5]。PC 端虚拟机还原手势如图3所示。

图3 PC 端虚拟机还原手势图

3 救援机器人系统设计

机器人系统具体实现流程如图4所示,Leap Motion采集手势关节信息传送至PC 端,PC 端通过Leap Motion 将采集到的数据通过连接串口的NRF24L01P无线通信器传送至Arduino,机器臂接收到Arduino 指令后执行相应的手势命令,摄像头实时将前方路况情况反馈至PC 端,操作员根据视频情况进行对应操作[6]。

图4 机器人系统具体流程图

3.1 硬件选择

3.1.1 机器人芯片

因Arduino 拥有强大的数据处理功能,此次试验选用2 块Arduino 多功能板,1 块用于控制机器人行走,1 块用于控制机器臂。Arduino 的处理型号为ATmega2560[7],芯片有75个串口,配备有无线Wi-Fi通信模块,可在Windows、Macintosh OS X、Linux 上运行。

3.1.2 电机

本次实验选择GW4058-31ZY 大功率直流电机,电机配备齿轮变速箱,扭矩大、转速快、过载能力强、运行稳定,适用于搬运质量较大的物体。

3.1.3 舵机

机器人行走使用的是数字型舵机LD-3015MG,其具有较强的负载能力,270°旋转,控制精度高、线性度好、响应速度快,对比选择后,认为此款舵机适合于本次实验中的机器人。

3.2 软件设计

3.2.1 APP 软件设计

机器人行走上位机软件是在Eclipse 编译环境中编写的1个APP 软件,如图5所示,画面中的命令按钮对应机器人的行走模式,按下按钮会向Wi-Fi 模块发送1个字符,1个字符代表一种行走模式。

图5 机器人行走控制软件

3.2.2 Processing 程序设计

手掌5个关节对应Leap Motion 的5 种识别方式,PC 端上位机软件获取相应的识别数据,通过SDK 开发包调用基本库函数实现。本次使用的是JAVA 语言,在Processing 软件中建立手势坐标,设置参数界面和数据传输串口参数,建立新的手势模型,然后通过Processing 采集数据传输至PC 上位机端,在上位机端可看到手势模型参数。其部分代码如图6所示。

图6 手势识别部分代码

3.3 机器人的通信系统

机器人的行走通信是利用AR9331无线Wi-Fi模块实现的,此模块采用UART 串口传输数据,与Arduino有线连接,操作时,通过下位机APP 软件连接其Wi-Fi信号即可。

机器臂的控制通信是利用NRF24L01P 射频通信模块实现的,将其引脚设置为发送或者接受模式,发送模块连接PC 端;接受模块连接Arduino 板,即可实现双端通信。

摄像头利用5G 无线路由器桥接进行通信,本实验桥接3个无线路由器,通信距离在几千米范围。

4 实验结果

限于经费有限,机器人设计体积较小,功能有限,所以此次实验只能最大限度模拟地震灾区救援环境,操控机器人完成较小物块搬运、物资运送等任务。经过多次试验后将实验数据汇总分析如下。

机器人行走测试。Android 手机连接上Wi-Fi 信号后,按照对应的字符表进行按键操作,如表1所示,机器人可按照字符对应的行走方式行走。

表1 机器人行走对应字符表

机器臂执行和动作识别测试。打开虚拟软件,进入虚拟界面,任意做几组手势动作,实验结果如图7所示。结果表明,手势关节明显,动作清晰,可识别水平状态、向右移动、向上移动、向下移动、手掌旋转、手掌张合等动作。当手移动较快时,虚拟机无法识别或识别不准。

图7 虚拟机手势识别

进行100 次实验后统计数据如表2所示。实验结果表明,手势识别时间差异不大,受传感器、虚拟机识别、机器人硬件、软件等设计影响,出现虚拟机识别次数变化大、机器臂执行率较低、执行动作不准确等现象。

表2 机器臂执行和虚拟机识别情况统计

5 结论

用外接传感器连接Wi-Fi 无线控制机器人开展地震救援是本文的创新之处,机器人操控简单,可执行危险区域、救援人员无法达到地方的救援任务。另外,此机器人系统在军事侦查、机器人示教、医疗应用等领域也有较好的应用场景。但缺点与不足也有很多,比如通信距离有限,限于目前无线通信技术限制,机器人通信距离仅为20 m 左右,在实际地震救援中此通信距离较短。控制精度不高,限于Leap Motion 传感器设计,手势动作存在识别不准确或者不识别(卡盾)的情况,紧急救援时存在很大危险隐患。

猜你喜欢
串口手势无线
挑战!神秘手势
无线追踪3
无线追踪
胜利的手势
MCS—51单片机中的多串口通讯技术的应用
无线充电我最全
无线充电器
全国计算机等级考试机房准备工作探讨
微机串口的测试诊断
认手势说数字