基于手势识别远程同步控制的智能机械臂研究

2021-10-08 02:22黄晓林周浩锋曾泳达谢志雄
计算机测量与控制 2021年9期
关键词:舵机手势命令

黄晓林,周浩锋,曾泳达,谢志雄

(广东松山职业技术学院 电气工程学院,广东 韶关 512126)

0 引言

随着智能控制为核心技术的新型控制体系的高速发展,智能控制已经深入到工作生活的方方面面,在各个领域得到了越来越广泛的应用,对传统工作方式的改变发挥越来越重的作用,成为生产现代化不可替代的至关重要的环节。用机械臂替代传统人工方式作业,不仅可改善劳动条件,减轻劳动强度,降低生产成本,还可大大提高生产效率和提升生产质量,而且可以减少因人工疏忽造成的安全事故[1]。然而传统机械臂完成预期的各种任务作业,要么是执行根据特定工作场合实现特定功能的任务作业而事先编写好的程序,其环境适应能力差,灵活性不强;要么是通过控制台复杂按钮进行组合操作,操作起来比较复杂,必须要经过专业训练过的操作人员才能做到安全操作,精确控制,这些都使机械臂难以推广普及。

针对传统机械臂完成预期各种作业任务时操作复杂、环境适应能力差等实际存在问题,提出了一种基于手势识别远程同步控制的智能机械臂系统设计方案。手势包含着大量信息,以其直观、形象和生动等特点在日常生活中被广泛使用,是人们最自然和最直观的交流方式,能在特定的场合表达特定的意义[2-3]。现在手势识别成为像点击鼠标一样的人机交互信息的重要手段,手势识别在人机交互控制领域扮演着越来越重要的角色[4]。将手势识别技术与智能机械臂控制技术进行完美结合,不但简化了机械臂操控步骤,降低了机械臂控制难度,使机械臂控制更加精准灵活,而且增强了机械臂工作环境的适应能力,在实现手势动作与机械臂控制完全同步的基础上,完全满足机械臂完成预期作业任务时实时控制的需要。

1 系统总体方案设计

系统由手势识别器和智能机械臂两部分组成,系统整体架构示意框图如图1所示。手势识别器是一种智能穿戴设备,设计时需要符合普通人手的活动习惯,以穿戴在使用者的手指和手腕上部为宜。手势识别器由电池为其供电,姿态传感器实时感知手腕运动倾斜姿态,手指间检测器识别规定的手势动作,经ARM单片机综合评判后形成对应控制命令并通过无线通信传输到远程的智能机械臂。智能机械臂以ARM单片机为核心控制部件,由关节舵机、机械抓手舵机和压力传感器等组成,具有多输入多输出、非线性和强耦合等特点。智能机械臂不但每个关节舵机和抓手舵机是可以独立控制,而且能实时监测每个关节舵机的位姿信息。当智能机械臂收到不同的控制命令时,其本身的自主决策系统能结合各个关节舵机和抓手舵机的位姿信息,快速决策,迅速规划机械臂的运动轨迹,控制有关舵机协同完成组合动作。为提高系统控制效率,可同时启动抓取关节舵机控制,实现手势控制协同智能机械臂同步控制机械臂的平移、伸展和机械手、旋转、抓取等动作。机械手安装有压力传感器,使机械手既稳固又柔性的抓取物品,不会因抓取力度过大而使物品变形。

图1 系统总体架构示意框图

2 手势识别

2.1 手势定义

手势识别器是一种智能穿戴设备,穿戴固定于手指间和手腕上部,实时感知手指间的相互接触动作和检测手腕活动的姿态信息等特征信息,经ARM单片机分析和综合评判后形成对应的手势控制指令。为使手势识别器获取的手势控制指令更加高效精准,手势识别器只识别被定义的特定手势动作,其余没有被定义的手势动作则均认为是手在活动中产生的噪声而弃去。手势动作定义基本原则是手势动作不但要使手势识别器易于识别,而且对于使用者本身来说应该是容易学习和记忆,操作简单,便于重复[5]。如表1所示为当使用者的手掌面垂直于地面朝下时被定义的特定手势动作。

表1 手势动作定义

2.2 手势数据处理

手势识别器穿戴固定于手指间和手腕上部,实时采集手势动作及手腕倾斜的姿态等特征信息,经ARM单片机分析和综合评判形成相应的控制命令并通过无线通信传输到远程智能机械臂以实现保持同步控制。控制命令由主命令和命令数据两个部分组成,其中主命令包含抓手顺反时钟旋转、抓取和释放等动作控制,也包含机械臂的左右移动和机械臂的上下伸展等动作控制,还包含智能机械臂维持当前状态的控制。除维持当前状态的控制命令外,其它主命令可以组合同时进行,以提高智能机械臂完成预期作业任务的效率。命令数据主要控制机械臂完成预期作业任务时相应动作的幅度大小。手势识别器与智能机械臂之间数据信息传输是通过无线通信来实现的,相互之间采用主从通信方式。手势识别器作为主设备,将实时采集的手势动作及手腕倾斜的姿态等特征信息,经ARM单片机分析和综合评判后形成相应的控制命令并通过无线通信发出。智能机械臂始终处于从设备地位,只能被动的接收控制命令,但其本身具有的自主决策系统能根据接收的控制命令及命令数据并结合自身抓手舵机和关节舵机的位姿信息,迅速规划最优运动轨迹,协调抓手舵机和关节舵机动作,达到与手势识别器相互之间同步完成各种预期作业任务。

手势识别器与智能机械臂相互之间命令信息是以数据帧格式传输,手势识别器发送的命令信息必须按照相互规定的通信协议帧格式进行封装,智能机械臂收到的命令信息也必须严格遵守相互规定的通信协议帧格式进行解析,信息数据规定的通信协议帧格式如表2所示。

表2 数据帧格式

帧头占1个字节,表示帧数据信息的开始,数据信息是一帧帧传输的,每一帧数据都必须有一个固定值为0x1b帧头。

地址占1个字节,是受控智能机械臂被设置的地址编码。手势识别器发出的每帧数据必须包含智能机械臂的地址编码,而智能机械臂收到数据帧只有地址编码与自身设置的地址编码相一致时,才解析数据帧的数据信息并执行相应的控制命令。系统支持用一个手势识别器对一定区域范围内进行作业任务的多台智能机械臂进行指挥,地址编码为0x00的数据帧比较特殊,表示此数据帧进行广播方式传输,要求区域范围内作业任务的所有智能机械臂都要执行对应的控制命令。

主控制命令占1个字节,其中字节低4位对应智能机械臂抓手如状态维持、抓手顺反时钟旋转、抓手抓取或释放等控制动作。字节高4位对应智能机械臂关节舵机如左右移动或上下伸展等控制动作。由此可知智能机械臂在完成预期作业任务时可以将机械臂动作和抓手动作组合同时进行,大大提高智能机械臂的工作效率。

命令数据占4字节,必须和主控命令配合使用,表示智能机械臂完成当前预期作业任务相应控制命令的动作幅度。其中第1个字节为机械臂抓手旋转动作的旋转幅度参数或抓取物体的抓取力度参数,其余3个字节是机械臂左右移动或上下伸展时分别对应X轴、Y轴和Z轴3个方向的倾斜程度参数值。

校验和占1字节,是帧数据从地址编码开始至校验和之间所有字节之和并对0xff取余得到的校验值。手势识别器先计算发送帧数据的校验和,在发送帧数据时连同校验和一并发送。智能机械臂收到的帧数据包含校验和,先自己计算本帧数据的校验和,只有自己计算的校验和与接收的校验和一致才认为接收的数据信息是正确的并执行相应的控制命令。

2.3 手势识别器

手势识别器是远程同步控制智能机械臂系统的核心,由电池为其供电,能够根据手指间相互接触动作和手腕活动倾斜姿态等特征信息迅速评判手势要表达的控制命令,并把控制命令通过无线可靠传输到智能机械臂,实现手势动作同步控制智能机械臂完成预期作业任务,如图2所示为手势识别器电路原理图。其中fg0连接地线穿戴在拇指中,Fg1、fg2、fg3和fg4分别穿戴在其它手指中并被上拉电阻拉成高电平,当拇指与其它任何一个手指接触时,对应手指的输入信号就会变成低电平而表示相应的手势控制命令。传感器ADXL335是一款低功耗超薄型的完整三轴加速度测量系统芯片,具有开环加速度测量架构,加速度最小测量范围为±3 g,并输出经过信号调理的模拟电压。芯片ADXL335既可测量倾斜检测的静态重力加速度,也可测量冲击或振动运动导致的动态加速度。由于ADXL335芯片X、Y和Z三轴的轴方向检测的正交特性很高但跨轴检测灵敏度很低,所以采用三轴单一结构检测。为更好地实现轴上引脚的抗混叠和噪声抑制,X、Y和Z三轴方向引脚具有限带功能,各引脚必须添加一个电容,以便利用低通滤波实现抗混叠和噪声抑制。可根据实际应用需要选择合适的带宽,带宽的大小可以通过并联在对应轴上低通滤波电容进行调整。带宽经验计算公式为:

图2 手势识别器电路原理图

F=5μF/C

根据带宽的经验计算公式,X、Y和Z三轴方向并联的低通滤波电容都为0.1 μf时,则其选取的带宽值为50 Hz。

2.4 无线通信电路

本系统中手势识别器与智能机械臂是通过无线Wifi实现数据通信,使用的无线通信Wifi模块型号为ESP-12F,如图3所示为无线Wifi电路原理图。无线通信Wifi模块ESP-12F由深圳市安信可科技有限公司开发的一款高性能串行口转无线Wifi模块,模块核心是处理器 ESP8266,支持标准的IEEE802.11b/g/n协议,内置完整的TCP/IP协议栈和板载天线,仅需极少的外部电路,能够与其它MCU快速搭建实现串行口与无线Wifi之间的转换。

图3 无线Wifi电路原理图

2.5 通信供电性能优化电路

手势识别器的控制命令通过无线通信传输到远程的智能机械臂,为降低电路噪声,提高无线通信传输数据的稳定性,需要进一步优化无线通信的供电性能,如图3所示为通信供电性能优化电路原理图。其中芯片RT9193是专为便携式射频或无线通信应用在性能和空间要求比较苛刻的高纹波抑制比、低压差高PRSS而设计的线性稳压器,能稳定输出3.3 V电压,电容C11是噪声旁路电容,可进一步降低噪声优化供电性能输出。

图4 通信供电性能优化电路原理图

3 智能机械臂

系统智能机械臂关节数量较多,各个关节由舵机组成,通过对机械臂的相关关节舵机的运动控制,使得机械臂能够完成抓手旋转、抓取、释放以及机械臂左右移动、上下伸展等各种复杂的动作。为保证关节舵机摆角的准确性,各个关节舵机的控制必须是独立的,所以需要多个驱动引脚。为了防止多个舵机同时工作导致电流过大而烧毁供电稳压电路,每个关节舵机都采取独立供电方式。关节舵机的旋转位置是通过控制旋转角度来实现的,而旋转角度可以利用控制占空比来实现。关节舵机旋转角度可以从0度转到180度之间,旋转角度越大则占空比越大,旋转角度越大则舵机的转速越快。为了使舵机转动时连贯均速和速度可控,甚至快要到达目标角度时降低转动速度,可以将舵机旋转角度分割成若干小的角度,并在转动时加上很小的适当延时。

智能机械臂关节舵机的工作电压为3.3 V,而系统为5 V的供电电压,故需要对系统供电进行电压转换处理,如图5所示为智能机械臂关节舵机控制电路原理图。智能机械臂关节舵机旋转位置控制端PWM通过P2接口连接到ARM单片机,调节关节舵机PWM占空比来调节关节舵机的旋转位置。开关电源调节器LM2596是降压型电源管理芯片,内部高度集成固定频率发生器和频率补偿,能够持续供电输出3.3 V电压,输出最大驱动电流为3 A,同时具有很好的线性和负载调节特性[6]。LM2596芯片具有自我保护电路,极大地简化了开关电源电路设计,在一定的输入电压和输出负载情况下,输出电压误差稳定在4%的范围内。

图5 机械臂关节舵机控制电路原理图

4 系统性能测试与分析

4.1 手势识别准确性

手势识别的准确性对整个系统的稳定性具有决定性影响力。手势识别准确性测试是指在各种复杂环境影响下,手势识别器对控制智能机械臂状态维持、抓手旋转、抓手的抓取与释放、机械臂左右移动、机械臂上下伸展等手指手腕动作的识别。如表3所示为5名同学被要求以自己的习惯方式在满足手势定义的前提下,每个手势动作各做20次共100次手势数据样本采集的手势识别准确性测试结果。

表3 手势识别准确性测试

从表3手势识别准确性测试结果可以看出,手指手势动作控制状态维持、抓手旋转、抓手抓取与释放等规定动作的识别达到100%,而手腕手势动作中控制机械臂左右移动、上下伸展的动作却分别只有92%和90%的识别率,这跟个人手臂倾斜保持习惯有关,同样的转动倾斜角度,不同段的转动加速度是有差别的。手腕转动尽量在平稳中转动,不要出现抖动现象,因为手势控制的数据信息发送频率较高,在极短时间内出现相互相反的手势动作时,智能机械臂的自主决策系统将会误判为无效手势,并将此次手势控制命令剔除,但不影响手势实时操作智能机械臂。

4.2 手势控制实时性

手势控制实时性是指识别手势动作并协同完成智能机械臂同步控制的时间,一般是指单位时间内,通过更换不同手势的次数进行测试。如表4所示为20 s时间内手势动作更换次数以及手势动作识别次数的测试结果。

表4 手势控制实时性测试

从表3测试结果可以看出,20 s时间手势更换在40次以内,手势动作识别失误较小,手势控制成功率较高,手势识别并协同完成同步控制可以在500 ms左右完成,此时手势控制执行效率最高,可以达到较好的实时性控制要求。

5 结束语

本系统是将手势识别技术与机械臂智能控制进行完美结合,集手势识别、远程控制、智能决策于一体的智能机械臂控制系统。对整个系统进行综合性功能测试的结果表明,系统运行稳定,环境适应能力强,手势识别准确性较高,简化了机械臂操控步骤,降低了机械臂控制难度,使控制更加灵活更加精准,完全满足完成预期作业任务时要求同步实时控制的需要,在工农业安全生产、野外探险与救援等领域具有较好的实用性和广泛的应用前景。

猜你喜欢
舵机手势命令
管理Windows10的PowerShell命令行使用记录
疫情就是命令 防控就是责任
挑战!神秘手势
胜利的手势
解析Windows10的内部命令
海太克HS—1100WP数字舵机
超音速舵机保护器
菜鸟看模型
宝箱4
舵机的应用