动作仿真技术在体育运动训练领域的应用研究
2018-01-02黄玉飞
黄玉飞
(安阳工学院体育教学部,河南安阳455000)
由于体育运动训练水平的不断提高,体育运动成绩随之不断突破,传统的训练手段、训练方法已经无法满足进一步提高运动成绩的要求,迫切需要借助先进的科技手段探索体育运动规律,深入挖掘人体运动机能,开展现代科技指导下的体育训练。视频观察法和三维动态摄影是体育运动训练中研判训练动作科学性的常规观察手段。这两种观察手段虽然能把快速连贯动作进行单帧观察,但是测量数据受光线、着装、肢体遮挡等因素影响会有较大误差。近年来随着科学技术的不断进步,基于三维动作捕捉的运动人体仿真技术逐渐应用到体育运动训练等领域。人体运动仿真是以三维动作捕捉数据为基础,运用计算机模拟人体运动过程的技术,具体包括建立人体模型、采集自然人在相应条件下自然真实的物理运动过程、并在计算机建立的人体模型中呈现自然人的动作的过程[1]。这一技术促进了运动训练由宏观动作观察向内在受力分析,外在动作观察向内在肌肉受力分析,运动损伤伤后积极处理向预防损伤的转变。基于此背景,本项目在查阅国内外相关文献和访谈相关专家基础上开展研究,旨在促进运动捕捉技术在体育运动训练领域的应用。
1 国内外研究文献综述
1.1 国外相关研究
1989年,M.P.Kadaba,H.K.Ramakrishnan,和M.E.Wootten在美国海伦海斯医院的骨科工程研究中心运用VICON动作捕捉系统在视频分析基础上,开发了水平行走过程中下肢关节角运动的外部标记系统和算法,利用嵌入轴和欧拉旋转角的概念,定义了基于物体表面标记的三维关节角运动;利用灵敏度分析实验,对关节角运动中的误差进行了量化,讨论了人体模型的局限性和评价病理步态的指标体系。1995年A.Cappozzol等人,在实验室用立体测量技术解决了人体在空间运动中盆骨的位置、方向和下肢、骨骼建模过程中涉及的方法问题,总结了采集运动学和动力学数据标记位置的规律和方法,介绍了解剖标定的概念,并提出了相应的实验方法。美国是研究体育运动仿真和分析最发达的国家,也是目前世界上将体育运动仿真研究应用于体育运动训练最成熟的国家,具有科学的研究方法和先进的仿真技术,掌握了大量的基础运动数据。
1.2 国内相关研究
我国运动仿真的研究与运用相对滞后,与体育运动训练发达国家相比还有一定差距,已有的研究主要集中在应用研究上,相关模型的建立、优化算法的理论研究开展较少。近年来人体运动仿真在体育方面的研究成果主要有:李琳杰、成万祥在基于OpenSim技术的跨栏跟腱仿真分析中建立了人体下肢骨骼肌肉模型,运用OpenSim软件仿真分析出跨栏和短跑运动中跟腱最大受力的负荷值,为跨栏运动跟腱伤病的预防提供科学依据,同时为进一步的跟腱损伤研究奠定基础。孔祥战在仿生外骨骼式下肢康复机器人研究中运用动作捕捉设备采集人体运动学数据,用OpenSim软件建模仿真矢状面内人体下肢六个关节的角位移曲线函数,为外骨骼式下肢康复机器人的结构设计、被动步态控制、助力控制及康复机器人仿真研究等方面提供了数据。穆雪莲、周兴龙在基于OpenSim技术研究运动鞋掌跟差对下肢的影响中,仿真模拟了人体下肢在纵跳落地过程中下肢肌肉的受力情况,以及膝关节、髋关节、踝关节在落地缓冲中的作用权重。
2 运动仿真系统介绍
随着机械产品的功能越来越越复杂,市场对新的机械产品的需要越来越迫切,新的机械产品在生产实物前就要确定其运动学、动力学性能。由于运动仿真技术能提供用于解决动态模拟的方法,因此很快得到了广泛运用。设计者在CAD软件中对三维图进行装配体定义配合后,运用运动仿真方法使模型按照定义约束进行运动,以查看机构零部件的运动情况,降低了设计错误带来的损失。虽然装配体动画可以显示零件的相对运动,但是这个动画对于设计者来说没有意义,要得出加速度、速度、力、功率、发热等结果还需要借助其他手段,如运动仿真软件。运动仿真软件可以提供运动机构所有零部件的运动学性能(包括位置、速度和加速度)和动力学性能(包括驱动力、反馈力、惯性力和功率要求)的完整量化信息,更有价值的是,可以在短时间内获得运动仿真分析结果。因为运动仿真执行所需的约束条件和定义融合在都已在CAD装配体模型中,故而直接在仿真程序中调用就可以了。
人体运动仿真是在运动仿真(刚性实体动力学)的基础上发展而来的,是一个建立刚体人体模型,建立各运动肢体约束范围和空间坐标,进而与人体模型匹配后动态仿真的过程。国外研究人体膝关节运动仿真,是以多刚体模型作为仿真模型的研究基础的。人体运动仿真软件大致分为两类:①运用专业的人体建模软件,如基于ADAMS软件的lifemod插件、Anybody、OpenSim等具有自身建模功能,能直接建立人体模型。②使用机械CAD软件建立模型,如SW、ProEUG等建立人体模型。在ADAMS软件中建立人体模型的优点是它可以直接对建好的人体模型编辑约束,进行运动学仿真分析。ADAMS软件主要用于机械系统的运动学仿真,完全可以满足常规的机械系统的运动学仿真要求,但是它的人体建模可编辑和调控功能相对较少,不能满足复杂的人体系统建模。使用其他CAD软件虽然可以满足建立复杂人体模型的需要,但是在模型建立之后需将模型导入AD⁃AMS中进行仿真,在导入的过程中会有部分内部模型缺失[2]。为弥补ADAMS在建立人体模型方面的不足,安世亚太科技股份有限公司开发了针对ADAMS建立人体模型的lifemod插件。这是一种专门用于建立人体模型和人体运动生物力学分析的插件,但该插件在模拟过程中的可控性不佳,参数调节功能少,且模型参数内部调整时全部仿真数据需要重新计算,仿真过程相对繁琐且得出的数据形式也单一,在与其他分析软件进行数据耦合时兼容性较差。
3 基于OpenSim动作仿真系统的体育运动仿真研究
OpenSim是使用ANSIC++语言开发的一款开源的建模、仿真、分析肌肉骨骼系统数据的工具平台。该平台用Java语言开发的操作界面,使研究人员能够更便捷使用其内部主要功能。研究人员可以根据自己的实际需求开发扩展OpenSim的各种功能,如接触模型、肌肉模型、控制和分析模块。所有这些功能模块都可以在这个平台上使用。如计算肌肉力量、模型的关节角、肌肉运动的加速度等,即使所得出的结果是源于不同研究者各自开发的肌肉骨骼模型,也能在这个平台上使用。同时,研究者在这个平台上的计算结果和分析结果也能迅速分享给其他相关的研究者[3]。
3.1 人体模型编辑
在OpenSim官方网站有相关模型供使用者免费下载,若要在原有人体模型基础上添加外部结构,例如添加手持标枪的动作、挥拍击球的网球动作等模型,需要xm l打开已有的模型文件后操作。常用的软件为Notepad++,可以在模型文件中依次找到:BodySet,ConstraintSet,ForceSet,MarkerSet,ContactGeometrySet,ControllerSet,ProbeSet,Compo⁃nentSet.头文件,这些文件名包含了模型所有的项目,可以根据研究的实际情况在相应的文件下编辑,如肌肉、韧带、刚体、探针等。
3.2 仿真数据准备
在OpenSim中仿真的所有数据都是在原始数据基础上经过加工得出的,所以原始数据采集的精度十分重要。常规运动数据(标记轨迹)由三维动作捕捉系统采集,动力学数据(地面反作用力、力矩、压力中心)由三维测力台采集。
动作捕捉主要有两类应用:一类是人体动作捕捉,另一类是面部表情捕捉。其原理都是将附着点的动态表现进行三维数字化计算,并记录其数据。动作捕捉设备主要由运动相机和数据分析软件构成,运动相机主要用于标志点的拍摄,然后通过数据电缆传输给计算机分析软件,软件通过空间位置定位、三维数据计算分析、多路数据融合等功能得出人体关节的多自由度运动参数等。因光学动作捕捉设备采集数据的精度高于其他动作捕捉设备,所以大部分体育运动仿真采用光学动作捕捉设备。光学式动作捕捉系统基于计算机视觉原理,当运动相机以高帧率连续拍摄时,得到的是该点的运动轨迹。这样通过在人体的解剖学标记点进行标记,就能得到每个标记点的连续空间三维坐标。得出的标记轨迹数据封装在.trc文件中。动作捕捉数据需要考虑的重要参数有:采集相机的帧率、分辨率,多个相机同步采集的时间精度,相机数量和maker标记点的数量。帧率是相机每秒拍摄的相片的数量,数量越多,动作越细腻,在分析高速的体育动作如短跑、标枪、投掷等项目的时候十分重要。由于体育运动中经常出现反转跳跃等动作,因此适当的相机和标志点的数量是防止出现识别错误的有效方法。
在OpenSim软件中动力学数据(地面反作用力、力矩、压力中心)由三维测力台采集。三维测力台工作的原理是将刚体与测力台的接触视为点接触,也就是把刚体看做是一个质点,测量这个质点在三个方向上的力Fx、Fy、Fz,该点的力矩Mx、My、Mz和压力中心。此数据封装在.mot或.sto文件中。
模型缩放可以改变模型的人体测量,以便尽可能接近特定的主体。缩放通常通过将实验标记数据与放置在模型上的虚拟标记进行比较来执行。除了缩放模型外,缩放工具还可用于调整虚拟标记的位置,以便它们更好地匹配实验数据。模拟过程主要由模型缩放(scaling)、逆向运动学(inverse kinematics,IK)、残差缩减(residual reduc⁃tion algorithm,RRA)和肌肉计算控制(computed muscle control,CMC)四步组成。
OpenSim软件建立人的通用模型常会采用某一个人的肌肉特点和身高、体重数据。若欲将通用人体模型用于某一特定的运动仿真,就需要以测量解剖学标记点数据为基础,依据测量数据与通用模型数据的比例关系,将各模型关节的肌肉附着点坐标、骨骼的长度以及各关节的质量进行比例缩放,对通用模型进行数据编辑。在模型缩放中,一般采用最小二乘法降低实验标记点坐标数据和模型理论坐标数据之间的误差。
逆向运动学是不考虑产生动作的力和力矩的情况下对运动的研究。所以在做逆向运动学分析时,不必要知道物体的质量和惯性[4]。逆向运动学的目的是找到能最佳重现实验人体模型的关节角。基于实验标记点的数据是逆向运动学计算的基础,OpenSim软件运用带权最小二乘法来最大化降低标记误差以便找到最佳匹配位置。
肌肉计算与控制(Computed Muscle Control,CMC)是通过静态优化和比例微分(PD)控制组合实现的。在实施CMC计算之前,先要计算人体模型的初始状态,如关节角度、关节角加速度和肌肉状态(如肌肉活性度和纤维长度)等,从定义的动作中获取关节角加速度和速度的值。在计算前通常无法知道肌肉初始状态,为了计算出可用的初始肌肉状态值,CMC一般设置在计算肌肉状态前的0.03秒开始执行。肌力在初始时间间隔内会不断变化且不均衡,在这个时间间隔中的仿真通常不准确,所以,为了保证计算的准确性通常把CMC的执行时间至少提前0.03秒。
残差缩减(Residual Reduction Algorithm)用跟踪控制模块识别逆向运动学数据,是运动学仿真的一种形式。CMC作为控制器,在没有肌肉的情况下,模型的骨架能用来生成与地面反作用力一致的质量分布和关节运动学。残差缩减主要运用于人体与地面接触并受到接触点反作用力的一类运动如步行、跑步等。模型有几个自由度就有几个残差驱动器,其中骨盆与地面之间3个平移自由度的力叫做剩余力,用Fx、Fy、Fz表示,三个旋转自由度由剩余扭矩驱动,用Mx、My、Mz表示。通常模型假设(比如没有胳膊)、噪声和三维动作捕获的误差会导致动态不一致性。本质上,地面反作用力和从标记点估计的加速度应该满足牛顿第二定律,如果地面反作用力测试和模型都没有误差,Fresidual的理论值是0,但是一定会出现误差,一般通过优化轨迹和环节质量调整的方法减少误差,实际操作中力的残差控制在0~10 N,力矩的残差控制在0~50N·m[5]。
3.3 仿真数据分析
OpenSim软件的分析工具通过一组指定模型状态的输入数据及时执行;在每个时间步,该工具都会在模型上运行一组分析。可用的分析包括运动学(记录广义坐标、广义速度和加速度)、身体运动学(记录每个身体的配置以及它们的速度)。此外,它还会记录模型的整体质心以及该质心的速度和加速度,记录模型每个刚体产生的广义力、速度和力量。广义力既可以是力(N)也可以是力矩(N·m)。速度是可以是平移速度(m∕s)或角速度(deg∕s)。功率(W)是刚体工作的速率。正功率意味着执行器正在向模型输送能量,负功率意味着执行器正在吸收模型中的能量。
4 人体运动仿真的发展趋势
简化模型较少考虑人体骨骼和肌肉在运动过程中的变形,导致人体运动模型仿真效果均不理想,采用现有的数学手段计算动作捕捉软件在丢失maker点的算法是否科学值得推敲。目前,神经网络理论和黑箱理论在人体建模方面有着强大的优势,表现在:①黑箱理论不用考虑模型建立的内部状态,不会因为模型的简化而产生误差。②人体的运动是一个动态的控制反馈过程,人体要完成一个动作必须通过视觉、前庭、本体的反馈进行动态平衡和协调控制,而基于物理的力学模型是无法模拟人体动态控制作用的。黑箱理论研究的是静态性能下输入与输出的关系,而人体是动态的输入与输出,两者之间还存在着理论的空白。神经网络作为非线性系统建模的有力工具,既能简化建模的工作量,又考虑了系统内部的影响因素,可以用神经网络的非线性映射关系将肌电信号(EMG)、运动学数据和动力学参数间的复杂关系模型化。因此,从建模的方法来说将会产生如下趋势:
1)新的算法理论会逐步融入人体运动建模中,多维度的数据采集和输入将使人体运动仿真结果更全面更精准,应用价值更大。
2)人体的运动是一个典型的闭环控制反馈系统,人体每一个精准的运动动作都是在输出与控制基础上完成的,因此系统与控制理论在研究人体肌肉激励方面将会有新的突破。
3)人具有主观能动性,无论是运动捕捉系统采集的人体运动学数据还是动作仿真系统分析的人体骨骼肌肉受力情况,都建立在力学和运动生理学的基础之上,而人的主观特性会因为某一刻的心理特点影响神经和肌肉特性,因此把人的心理评价数据融入人体建模中去是人体建模应该考虑的问题。