陈启明,黄 瑞
(电子科技大学机器人研究中心 成都 611731)
近年来针对脊髓损伤引起的运动能力损伤患者的下肢外骨骼机器人引起了学术研究和商业上的广泛关注。根据世界卫生组织的数据,目前全世界每年新增250 000~500 000脊髓损伤患者[1]。脊髓损伤的患者比正常人寿命减少的可能性要高出两到五倍,并且这种情况在低收入和中等收入国家中尤为突出。故而帮助因为脊髓损伤导致行动能力缺失的患者重获基本的运动能力是为患者本身和社会做出的巨大贡献。
随着技术的不断进步,出现了一些针对脊髓损伤患者的下肢外骨骼机器人[2-3],其中MindWalker[4-5]、ATLAS[6]、ReWalk[7]、和Elegs[8]下肢外骨骼机器人在帮助脊髓损伤患者重新获得运动能力方面取得了不错的成果。上述下肢外骨骼机器人的控制方案基本是采用有限状态机(finite-state machine, FSM)结构结合关节电机伺服预定义曲线的方式工作。此类外骨骼机器人的穿戴者通过人机交互接口手动控制外骨骼机器人进入不同的任务状态,如站立、行走、起来和坐下等。对于这些外骨骼机器人而言,“何时”并且“如何”为穿戴者提供帮助是最为关键的问题。理想情况下,外骨骼机器人按照穿戴者的意图运动,成为穿戴者身体的一部分,这将会使穿戴者感觉不到外骨骼机器人的存在。然而当前的外骨骼机器中大部分需要直接获取穿戴者的指令,并按照指令执行预定义的动作。此外,对外骨骼机器人的误操作,可能会导致严重的人身安全事故。
综上所述,外骨骼机器人识别穿戴者真正运动意图的人机交互接口尤为重要,良好用户接口能为穿戴者提供更好的体验效果。HAL系统[9]利用肌电信号识别穿戴者的运动意图和计算人体关节的力矩大小,但是对于大多数截瘫患者而言,其腿部的肌电信号微弱,因此测量难度较大。还有一些外骨骼机器人利用其脚底压力和上身姿态信息通过经验公式区分出穿戴者的运动意图[4-8]。上面所描述的外骨骼机器人意图识别方法都存在一些不足,即对不同穿戴者适应性低和需要重新训练数据并修改经验公式的参数。针对这些问题,本文提出一种新的下肢外骨骼机器人意图识别方法。首先,搭建了一个拥有多种传感器和多个关节主动驱动的下肢外骨骼机器人AIDER。其次,根据压力鞋提供的信息计算出零力矩点ZMP[10]作为主要特征信息,在此基础上融合其他的传感器特征信息用作穿戴者意图识别的在线学习数据。最后结合有限状态机的框架采用在线支撑矢量机的机器学习算法[11](online SVM)学习并预测运动意图。该方法在下肢外骨骼机器人系统AIDER上实现,验证了本文的方法能有效地检测出穿戴者运动意图,为穿戴者提供良好的人机交互体验。
AIDER下肢外骨骼机器人是一套辅助截瘫患者行走的可穿戴设备,可帮助穿戴者完成站立和行走运动。该系统总重30 kg,适用于身高范围为155~180 cm的用户,连续工作时间不小于3 h。该系统基于人体仿生,对机械结构整体组成和机械外形结构进行设计,使其能尽量贴合人体。如图1所示,该系统共有4个由伺服直流电机驱动组成的主动驱动关节,分别负责两个髋关节的屈伸和两个膝关节的屈伸自由度。经过充分考虑,膝关节被设计为带有储能装置的关节结构,在支撑过程中进行储能,在摆动过程中释放支撑过程中所储存的能量。除此之外,在外骨骼机器人的腰部、大腿、小腿以及脚等与穿戴者有接触的地方均采用柔性材料进行连接和覆盖。该系统采用分布式控制网络,其嵌入式控制系统结构如图2所示,其中4个关节节点控制器与主控制器通过CAN总线均互联于同一局域网中,主控制器用于实时的控制与监视。拥有实时Linux操作系统的ARM主控制器放置在背部的背包中,4个关节节点控制器分别置于4个主动驱动的关节附近,同时4个关节节点控制器负责采集各个关节传感器信息并执行来自主控制器的命令。电源管理模块对电池电源进行调理,为整个系统提供所需电源。
图1 AIDER穿戴示意图
图2 外骨骼嵌入式控制系统结构框图
AIDER下肢外骨骼机器人共集成有4种不同类型的传感器,分别为用于测量关节角度的编码器、惯性测量单元(IMU)、测量拐杖与地面之间倾角的传感器、以及脚底压力传感器。用户可以通过拐杖末端的按钮直接操作外骨骼机器人。
外骨骼在正常工作的情况下是一直紧密地贴合人体并带动人体进行运动,其模拟人体自然运动过程,包括平地行走、起立坐下、上下台阶等,如图3所示。
人体运动过程中的步态十分复杂,图3a为人体平地自然行走过程,图3b为人体上台阶过程,图3c为人体下台阶过程,图3d为人体坐下的过程,每一项任务都需要人体各个关节协调运动才能完成。如平地行走过程可以分为站立、右腿单支撑、双腿双支撑和左腿单支撑4种状态,每个状态到下一个状态的过程中各个主动驱动关节都对应一段预定义的关节轨迹。为了完成自然行走任务,外骨骼主动驱动关节只需要执行一个状态切换到另外一个状态过程中预定义的关节轨迹即可。
图3 人体各类日常运动过程示意图
为了能涵盖所有的日常任务,本文对这些任务进行建模,设计出一个有层级结构的有限状态机。图4所示的有限状态机是上层的状态机,包含了行走、上台阶、下台阶、起立坐下4种任务的状态机。如为了完成行走功能,状态机从站立(Standing)状态转移到开始行走(Start Walk),然后进入连续行走(Continue Walk),如果想要停止,则从行走状态转移到停止行走(End Walk),最终又回到初始的站立(Standing)状态。上台阶/下台阶功能的状态机与行走功能的状态机很类似,均从站立(Standing)开始,包含开始上台阶(Start Upstair)/下台阶(Start Downstair)、连续上台阶(Continue Upstair)/连续下台阶(Continue Downstair)以及停止上台阶(End Upstair)/停止下台阶(End Downstair)。起立坐下功能状态机从站立(Standing)开始,包含坐下(Sitting Down)、完全坐定(Seated)和站立(Standing Up)状态。该外骨骼机器人从初始状态为坐下的状态(Seated)启动,通过穿戴者的命令触发站立起来,进入双支撑站立状态后便可以转移到其他状态。
图4 上层有限状态机(FSM)
图5 连续行走过程的状态转移图
图4中每一个状态都是一个小的状态机,称之为子状态机。如图5为持续行走过程的状态转移图,将连续行走过程的状态划分为4个状态:
1) 左腿摆动(L Swing):左腿作为摆动腿在空中摆动,从左腿脚尖脱离地面开始到左腿脚跟与地面接触结束。
2) 右腿摆动(R Swing):右腿作为摆动腿在空中摆动,从右腿脚尖脱离地面开始到右腿脚跟与地面接触结束。
3) 双支撑左脚在前(Double Stance(L)):双脚都接触地面,并且左脚在前。
4) 双支撑右脚在前(Double Stance(R)):双脚都接触地面,并且右脚在前。
在上述FSM结构的基础上,设计了如图6所示的控制框架。在该框架中,意图估算器将原始信息转换为意图,特定的意图会触发外骨骼机器人伺服相应的关节轨迹。关节轨迹是从正常成年人行走过程中采集的完整步行周期数据,存储于主控制器中。此外外骨骼机器人会根据轨迹的不同自动调整PID控制器参数,从而在持续行走过程中不同状态下均达到良好的伺服效果。
图6 AIDER外骨骼的控制框图
依据上文所述,有限状态机从一个状态到另一个状态的切换需要穿戴者的行走意图作为触发。该意图可以基于经验公式利用行走过程中显著的运动特征信息进行意图的检测,但是这些方案都存在适应性差的问题,即同一组经验公式参数不适用于差异较大的不同穿戴者。针对上述问题,本文提出一种基于机器学习的方式——在线支撑矢量机(Online SVM),在线学习穿戴者的意图,并依据学习得到的模型进行意图的预测。在训练数据的特征选择上本文不直接使用传感器的原始信息,而是采用ZMP作为训练数据的重要特征,提高了模型学习的速度与准确度。
AIDER有多个不同类型的传感器,可以为意图检测提供大量的实时数据。这些数据可以作为行走的特征向量(features),在行走过程中用户采用拐杖部分的按钮输入意图信息来控制外骨骼进行行走,拐杖按钮记录的意图信息就是数据的标签(labels)。为了让外骨骼迅速适配不同的使用者,采用在线训练的策略,与离线策略相比较,在线策略不需要保存并传输数据到服务器上进行运算。
图7 外骨骼与人行走阶段
但是对于运行在外骨骼机器人的控制平台上(嵌入式平台上)的在线学习算法,其运算速度受数据维度的影响较大。所以要从原始数据中选择特定的数据进行融合,穿戴者在使用外骨骼时不能用自身的腿主动带动外骨骼进行移动,外骨骼机器人必须驱动自身连杆带动穿戴者的腿进行移动。因此下肢外骨骼机器人作为一个人机紧密耦合的系统,可以被近似建模成人形机器人。图7为行走的外骨骼与穿戴者共同行走的过程就是从稳定(单腿支撑)到临界稳定(支撑腿切换过程)再到稳定的过程。作为人形机器人行走稳定性的重要指标,零力矩点(ZMP)对于判断人体的意图具有显著性。ZMP的概念由文献[10]提出,可以利用ZMP来判断人形机器人的稳定性,该概念通常用于很多双足人形机器人的稳定性判断。除了ZMP的数据之外,为获得准确的人体意图,本文还采用外骨骼的关节的数据、IMU采集的姿态、旋转速度等数据作为特征。
ZMP可以通过两种方法获取:1) 通过地面反作用力的数据获取;2) 通过逆动力学模型获取。从ZMP的概念中,垂直作用力的和为:
式中,r=[δξ0]是地面的向量;ρ(δ,ξ)是垂直作用在r这一点单位面积上的力。在p=[pxpy0]点的力矩为τn(p),其在x轴、y轴和z轴方向的分量分别为:
在ZMP中,τnx=0,τny=0,因为ρ(δ,ξ)是脚上反作用力的分布,所以p点也是压力中心(COP),其中p点在平面x轴和y轴方向的分量分别为:
计算出整个系统的ZMP在平面x轴和y轴方向的分量分别为:
为了获取ZMP,本文设计了一双内嵌MCU和多个力传感器的压力鞋。分析正常成年人行走过程如图8所示,图中“1”为金属面板,“2”为内嵌的力传感器,“3”为橡胶鞋底。在压力鞋的橡胶鞋底和上表面的金属面板之间安装了7个力传感器,用于获取行走过程中脚上反作用力的分布情况。
图8 正常成年人行走过程
本文采用了在线机器学习在线支撑向量机算法,通过采集人体的运动信息与意图指令,学习意图模型,并用其判断人体的行走意图。支撑向量机(SVM)已经被广泛应用于各种领域并解决了大量的问题,可以找出其最优超平面,并以最大几何距离对数据进行分类,有:
SVM可以处理线性不可分离的数据。在线SVM[10]被提出用以解决训练数据不断增加情况下的分类问题。如图8所示,行走过程中,穿戴者的意图着重于是否迈步。使用在线SVM的方法,几个步态周期后外骨骼机器人就能快速适应不同穿戴者做出准确的意图判断:
式中,iy是每个数据点ix的标签;n是数据的大小。然后可以得到一个单位形式的目标函数和拉格朗日对偶性的约束条件。最大间隔的双重问题为:
式中,iα表示拉格朗日乘子。对于线性不可分的数据,不能在原始的特征控制中直接找出超平面。但是可以通过一些适当的非线性函数将原始特征空间映射到另一个维度远远超过原空间的新的特征空间,并且在新的特征空间里找到一个线性超平面来分离数据。使用核函数SVM可以高效地处理这种情况,ix和jx的核函数为:
式中,K是核函数;φ是特征X的非线性映射函数,并且K可以表示为φ(xi)和φ(xj)的内积,φ(xi)和φ(xj)是从原始特征空间到新特征空间的映射。常用的有如下几种核函数:
1) 线性核函数:
2) 多项式核函数:
式中,R为常数;d为多项式最大阶数。
3) 高斯核函:
式中,σ可用于控制从原始特征空间映射到新特征空间的维度。
选择3名体型差异较大的健康穿戴者完成该实验并评估本文提出的方法。外骨骼机器人每20 ms可以更新一次样本数据,该样本数据由惯性测量单元(IMU)和压力鞋的数据组成共17维。其中惯性测量单元固定在外骨骼机器人的背部,其融合了加速度计、电子罗盘和陀螺仪的数据,然后估计出上身的绝对姿态(roll, pitch, yaw)。此外,每一个压力鞋里面有7个力传感器可以作为特征信息的来源。
每个脚上的ZMP和COP可以通过鞋上的压力传感器计算,结果如图9所示,图中,L COP是左脚COP,R COP是右脚COP,ZMP为外骨骼与穿戴者的耦合体的ZMP。带有正标签的样本数据是由穿戴者在其迈步前在拐杖末端按钮按下产生的,带有负标签的是随机抽样产生的。该在线SVM算法在内核为cotex A8的ARM嵌入式平台上实现。
图9 左右脚COP与ZMP的关系图
首先将每种特征的数据集训练SVM,以观察不同特征的分类效果。本文设计了4组对比实验,每组实验的特征类型都有别于其他组实验,分别为ZMP数据、原始数据、IMU数据以及IMU和ZMP作为特征向量。
图10 不同特征的分类效果图
图11 多项式内核和高斯内核分类效果图
图12 多项式内核函数分类预测效果
分类效果如图10所示,从图中可以看出使用IMU与ZMP两种类型的数据集作为特征向量时能取得最佳的分类效果(95%)。常用的有SVM核函数、线性核函数、多项式核函数和高斯核函数。为了挑选出比较合适的内核函数,分别对多项式内核函数和高斯内核函数进行了对比实验,实验效果如图11所示,从图中可以看出随着样本数据量的增加多项式核函数效果好于高斯核函数。经过实验验证,AIDER下肢外骨骼机器人经过50步训练后能对穿戴者运动意图做出准确的识别,实验效果如图12所示。
本文提出了一种利用机器人零力矩点(ZMP)特征,并基于支撑矢量机检测穿戴者运动意图的在线学习算法。实验表明经过若干步态周期的训练,外骨骼机器人能够准确地对穿戴者运动的意图做出判断。最后3名体型差异较大的健康穿戴者分别使用AIDER下肢外骨骼机器人完成本文实验,并验证本文提出的方法实际有效。
在未来的研究工作中将意图识别在线学习方法应用于更多的具体问题中,如穿戴者起立坐下运动意图的识别。还可以通过穿戴者的运动意图在线调整外骨骼运动参数,以及通过学习的方法让外骨骼获得不同工作环境下的步态曲线。
[1]World Health Organization. Spinal cord injury[EB/OL].[2017-05-06]. http://www.who.int/mediacentre/factsheets/fs384/en/,2017,Jul.
[2]YAN T, CEMPINI M, ODDO C M, et al. Review of assistive strategies in powered lower-limb orthoses and exoskeletons[J]. Robotics & Autonomous Systems, 2015, 64:120-136.
[3]HUO W, MOHAMMED S, MORENO J C, et al. Lower limb wearable robots for assistance and rehabilitation: a state of the art[J]. IEEE Systems Journal, 2017, 10(3):1068-1081.
[4]WANG L, WANG S, ASSELDONK E H F V, et al. Actively controlled lateral gait assistance in a lower limb exoskeleton[C]//Conference on IEEE/RSJ International Intelligent Robots and Systems. [S.l.]: IEEE, 2013: 965-970.
[5]WANG S, WANG L, MEIJNEKE C, et al. Design and control of the MindWalker exoskeleton[J]. IEEE Transactions on Neural Systems & Rehabilitation Engineering A Publication of the IEEE Engineering in Medicine & Biology Society, 2015, 23(2): 277-286.
[6]SANZ-MERODIO D, CESTARI M, AREVALO J C, et al. A lower-limb exoskeleton for gait assistance in quadriplegia[C]//Conference on IEEE International Robotics and Biomimetics. [S.l.]: IEEE, 2012: 122-127.
[7]TALATY M, ESQUENAZI A, BRICENO J E.Differentiating ability in users of the ReWalkTM powered exoskeleton: an analysis of walking kinematics[C]//Conference on IEEE International Rehabilitation Robotics.[S.l.]: IEEE, 2013: 6650469.
[8]STRAUSSER K A, KAZEROONI H. The development and testing of a human machine interface for a mobile medical exoskeleton[C]//Conference on IEEE/RSJ International Intelligent Robots and Systems. [S.l.]: IEEE, 2011:4911-4916.
[9]HAYASHI T, KAWAMOTO H, SANKAI Y. Control method of robot suit HAL working as operator's muscle using biological and dynamical information[C]//Conference on IEEE/RSJ International Intelligent Robots and Systems.[S.l.]: IEEE, 2005: 3063-3068.
[10]VUKOBRATOVIĆ M, BOROVAC B. Zero-moment point— thirty five years of its life[J]. International Journal of Humanoid Robotics, 2004, 1(1): 157-173.
[11]CAUWENBERGHS G, POGGIO T. Incremental and decremental support vector machine learning[C]//Conference on International Neural Information Processing Systems. [S.l.]: MIT Press, 2000: 388-394.