1. 引言
众所周知,当前机器人正逐步朝着网络化、智能化和拟人化方向发展。云端、智能工厂、人工智能、类人机器人的出现就是最好的佐证。能够独立完成或者协助人类完成动作的机械装置被称为拟人机器人,在机器人拟人化领域,前人已有大量的研究成果,贺威 [1] 等人通过分析制造业机器人的前沿技术研究现状,证明了仿生机器人系统具有广阔的发展前景;单丽君 [2] 等人对机器人手臂工作空间进行了仿真分析,建立了液压系统模型,最后验证了基于液压驱动的拟人机器人上肢机构设计的合理性;马正祥 [3] 从多关节人臂的运动机理出发,结合机器人手臂的机械特性,构建了基于特殊仿人智能软体驱动器的拟人机器人手臂。然而,针对某项体育运动如羽毛球运动的辅助训练装置的相关研究却鲜有文章。文章在已经完成设计的羽毛球击球训练装置结构的基础上,研究其运动检测方式并对其进行控制系统的设计。
2. 击球手臂运动分析
在羽毛球运动的学习和训练过程中,正面上手击球动作是最基础的,动作训练的规范性非常重要。目前,羽毛球动作训练多数采用传统的教练指导 + 教员训练相结合的方式进行,相关辅助训练装置的稀缺,缺乏专业教具与衡量标准,导致训练动作的规范化难以实现。
为了解决上述问题,针对羽毛球正面上手击球训练动作进行深入研究。整个过程涉及到人手臂的五个自由度的运动。击球动作可分解为三部分:引拍–挥拍–收拍,引拍时手握拍,手心正对脑侧,大臂与肩部平齐,手肘前伸等待击球;挥拍时手心逐渐朝前偏移,手臂整体前伸,保持拍面朝前到达最高点;收拍过程发生在最高点击球之后,保持手腕不动,手臂朝身体左前方落下,完成击球动作。
2.1. 五自由度手臂模型的建立
根据击球运动分解动作,肩部具有三个旋转自由度,肘部和小臂部分均只有一个旋转自由度,利用MATLAB的Robotic工具箱建立五自由度机器人手臂模型。根据挥拍运动的实际情况,确定击球动作过程的各关节始末角度,对击球时的手臂运动进行模拟,并绘制出手臂各关节的运动轨迹,如图1。
图中转动关节1~3为肩关节的三个自由度,转动关节4为肘关节的自由度,转动关节5为小臂自由度。根据仿真结果可以得到:击球过程中手臂关节空间的始末位姿所规划的运动轨迹是一段平滑且不规则的圆弧。从引拍到收拍的整个击球动作过程涉及的五个自由度均产生相对转动,即肩关节、肘关节和小臂转动关节均有一定的角位移,由此进一步验证了五自由度训练装置的可行性。
2.2. 外骨骼辅助训练装置的设计
基于模型仿真分析,为满足训练装置的关节空间自由度及运动检测要求,参考现有的康复机器人领域的相关研究成果 [4] [5] [6],设计了一款穿戴式五自由度的外骨骼辅助训练装置,其三维效果图如图2。
Figure 2. Exoskeleton assisted training robot arm
图2. 外骨骼辅助训练机械臂
该装置采用穿戴式的外骨骼结构,部分关节采用简单的转动副连接,可将人体手臂的复杂运动转化为多个旋转关节单一旋转运动的合运动,从而实现运动方式的简化,有利于运动关节的数据采集;同时,为了更大程度上贴合人体的手臂骨骼结构,大臂关节和小臂关节均采用了楔形槽啮合的移动副连接,能够更好地降低外骨骼对人体手臂运动的干涉,从而精确地反馈手臂各关节的运动角度,以数据的方式为训练者提供动作校准参考。
3. 击球过程的运动检测
3.1. 检测装置的选择
随着传感器技术的发展和革新,市场上关于位移、角度、速度等各种传感器检测装置屡见不鲜。但是检测装置的选择并非任意为之,而是需要根据实际的检测物理量、测量范围、灵敏度等进行选择。基于羽毛球辅助训练装置的外骨骼结构设计,可采用两种检测方式,即位移检测和角度检测。由于装置大量采用转动副连接,将各关节的运动量转化为旋转量进行检测可以大大降低安装和检测成本。综合以上因素,选择使用灵敏度为360P/R的电压输出型旋转增量式编码器角度检测装置。
由旋转增量式编码器的工作原理 [7],分为A、B、Z三相脉冲输出。A、B两相输出正反转脉冲,当A相输出脉冲超前B相输出脉冲时编码器正转,反之则编码器反转,Z相产生参考点输出,即编码器每转一圈产生一个脉冲用于参考回零。编码器旋转产生相应的脉冲信号输出,从而实现以脉冲计数方式将关节的角位移量转化为编码器的输出脉冲计数,由角度与脉冲计数的转换关系
式中:
为脉冲计数值,
为编码器转过的角度(单位:度),
为编码器分辨率(P/R)。根据脉冲计数便可以准确得到相应的旋转角度。
3.2. 关节运动角的检测
根据所选定的旋转增量式编码器角度检测装置,将其分别安装在各关节的转动副上。如图3所示,对于肩部和肘部的转动关节,采用不加齿轮传动装置的同轴安装方式,用联轴器连接关节轴与编码器转轴,从而实现运动角数据的直接采集;对于大臂和小臂上的楔形槽啮合的移动关节,采用齿轮齿带传动的平行轴安装方式,在环状楔形槽外侧固定有齿形带,当楔形槽下半部分与上半部分产生相对转动时,利用齿带带动旋转编码器上的齿轮转动,从而间接地测出转动数据。根据传动比
其中,
为楔形槽半径,
为齿轮半径。于是得到楔形槽运动对应的齿轮旋转角度与旋转角速度
.
其中
和
分别为齿轮旋转角度与旋转角速度,
和
分别为楔形槽运动角度与角速度。
将经过折算后的运动量反馈到旋转编码器中即可输出相应的脉冲数,由控制系统的中断处理程序分别对各关节的数据进行采集和处理,根据编码器采集处理的关节运动角度与标准数据的对比结果,最终实现对动作是否标准进行检验。同时,考虑到人体机能的局限性,实际应用中每次击球动作都是不一致的,因此允许有一定的运动误差,这就要求控制系统具有较好的鲁棒性。
4. 控制系统设计
4.1. 硬件设计
为了更好地实时完成位置检测、数据处理、输出显示等核心功能,羽毛球辅助训练装置的控制系统采用单片微型计算机的开环控制方式 [8] [9],其硬件部分主要可以分为输入部分、单片机系统和输出部分,如图3所示。
Figure 4. Block diagram of program design
图4. 程序设计框图
Figure 5. Design of data processing algorithm
图5. 数据处理算法设计
其中,输入部分用于采集各关节的运动数据,主要由五组编码器装置并联而成,五组编码器分辨用于检测五个关节的运动数据,并以计数脉冲的方式反馈到单片机系统中;单片机系统采用STM32控制芯片,将编码器采集的实时脉冲信号储存,并与预先调试好的一组标准动作脉冲数据进行比较运算,根据运算结果即可得出动作标准与否的判断,由判断结果输出显示控制信号;输出系统由LED灯组指示系统和报警装置组成,输出系统根据单片机输出的控制信号执行相应的反馈动作。利用LED灯指示某个关节动作的标准性,同时,利用报警装置实现动作错误的警报。
4.2. 软件设计
辅助训练装置的工作过程分为两部分:初次使用时切换到录入模式,由教练指导录入训练者的标准动作,并将其作为训练过程的参考数据;训练者开始训练时切换成训练模式,编码器实时采集关节角数据并反馈到单片机中,经过处理后再由单片机输出控制信号,从而使错误指示灯或报警装置动作,依次循环检测,直至动作结束。程序设计框图如图4。
完成总体程序设计之后,再根据检测需求完成数据处理算法设计 [10]。如图5所示,考虑到人体机能的运动误差与检测装置的系统测量误差,对测量数据误差设定阈值为5˚,即所采集的各关节标准数据与训练数据之间的差值不超过5˚时可认为动作标准,否则认为该检测位置动作不符合要求,报警装置启动。利用增量式编码器的工作原理,当检测到A脉冲超前B脉冲时,正转角度计数器加1,同理,B脉冲超前A脉冲时,反转角度计数器加1。将计数值与标准值进行比较运算,根据比较结果与所设定的阈值大小决策报警指示装置是否动作,循环处理,直至击球动作结束,触发终点行程开关,数据处理结束。
考虑到每次击球动作的速度不一致,每个时刻的关节角度与标准角度无法准确对应。为了解决该问题,研究过程中采用了角度等差比较法,以肩关节的一个自由度(转动关节1)为参考标准,转动关节1每旋转5˚,将其余四个关节角度数据与标准数据进行差值计算,极大地简化了处理算法的复杂性。
检测系统的控制程序由C语言完成编写,利用C语言程序的简洁性和模块化编程思想可以大幅度降低程序编制难度,缩短调试周期。将调试好的C语言程序烧录到单片机中,按下启动按钮即可开始执行检测任务。在实物验证中,当击球动作误差较大或各关节角度不匹配时,报警装置动作,对应的LED灯指示报警。
5. 结论
文章根据羽毛球击球动作的手臂运动过程,利用MATLAB进行了运动仿真,并根据运动要求和检测要求设计出了一款具有外骨骼结构的穿戴式训练装置,以最贴合手臂动作的方式检测各关节的运动参数,选择旋转增量式编码器作为传感器,设计出了一款基于单片机控制的关节角度检测系统,并给出了控制程序以及编码数据的处理算法设计,通过设置运动误差阈值的方式进一步提高了控制系统的鲁棒性。该项成果填补了当前针对羽毛球辅助训练臂研究方向的相对空白,有利于促进羽毛球训练模式的改进,提高动作标准性和训练效率。