基于支持向量机的外骨骼机器人灵敏度放大控制
2016-11-17赵广宇李新俊许国强李小奇
赵广宇,何 龙,李新俊,许国强,李小奇
(中国兵器工业第二〇八研究所,北京 102202)
基于支持向量机的外骨骼机器人灵敏度放大控制
赵广宇,何 龙,李新俊,许国强,李小奇
(中国兵器工业第二〇八研究所,北京 102202)
为了准确控制外骨骼机器人跟随人体运动,需要建立其动态、精确的数学模型;人体下肢外骨骼是一个多自由度、强耦合以及非线性的多连杆系统,难以建立准确的运动学和动力学模型;文章使用三维运动捕捉与空间定位系统,获取实际人体运动参数(运动学与动力学),应用支持向量机(SVM)学习人体下肢外骨骼的数学模型;基于该模型构造基于支持向量机模型的灵敏度放大控制方法;文章使用MATLAB和LIBSVM建立外骨骼下肢机器人的数学模型,并进行仿真分析;仿真结果表明基于SVM的模型学习方法,能够准确计算出人体下肢外骨骼的动力学模型,并简化建模过程;基于SVM的灵敏度放大控制,能够有效计算出人体下肢外骨骼各关节(髋关节、膝关节、踝关节)的输出力矩,并控制外骨骼机器人跟随人体运动。
外骨骼;支持向量机;灵敏度放大控制
0 引言
人体下肢外骨骼是一种模仿人体下肢结构特点设计,综合传感器技术、控制技术、信息融合技术等多学科技术,结合穿戴者的智能和机械设备的“力量”,提供动力来辅助正常人负重行走、跑步、上下楼梯、登山等,从而增强人们行走的负重能力和耐力。由于人体下肢外骨骼能够负重、助力行走,所以能够应用在军事、医疗、救灾、交通等多方面,具有广阔的应用前景。
目前,外骨骼技术是国内外研究的热点,具有代表性的主要有:美国伯克利大学的下肢助力外骨骼BLEEX[1];在此基础上,洛克希德·马丁公司开发了HULC外骨骼[2],它使士兵能够背负大约90公斤重物,以10千米/小时的速度在多种地形中行进;雷神-萨克斯公司开发的XOS[3]系列外骨骼,XOS2可以能够大幅增强人类的力量;由RB3D法国工程公司研发的“大力神”(HERCULE)[4],可背负100公斤重物,可使穿戴者以4千米/小时的速度行进大约20千米;日本的Cyberdyne公司推出HAL[5],用于医疗机构的辅助负重工具或康复医疗;以色列的埃尔格医学技术公司研发的“ReWalk”[6],主要用来助瘫痪者恢复行走能力;国内的许多高校和研究单位也都开展了外骨骼机器人的研究。
本文主要针对下肢外骨骼的智能控制进行研究。下肢外骨骼作为一个人机交互系统,在人体运动意图识别等方面,具有许多困难[1]。BLEEX系统提出一种灵敏度放大的下肢外骨骼控制方法(sensitivity amplification control,SAC),不需要在人机之间安装传感器,实现控制外骨骼跟随穿戴者运动。但SAC控制方法非常依赖系统的动态模型[1],而下肢外骨骼又是一个多刚体、多自由度的非线性系统,想要建立精确的数据模型非常困难。
本文使用三维运动捕获与空间定位系统获取人体的运动学和动力学数据,采用支持向量机来逼近外骨骼的动态模型,提出了一种基于支持向量机的灵敏度放大控制方法,在保持SAC控制效果的基础上,简化系统的建模过程,并通过仿真实验,证明了控制方法的有效性。
1 支持向量机
支持向量机[6](Support Vector Machine,SVM)是由Vapnik与其合作伙伴,在1995年提出的机器学习算法。支持向量机具有很强的泛化能力,能够较好的解决许多实际问题[7]。支持向量机的基本思想是,将求最优分类超平面的问题转化为求解一个凸二次规划问题。
首先,我们需要定义一个训练数据集T=<(x1,y1),(x2,y2),…,(x1,y1)>,每个xi∈Rn表示输入样本空间,并且对应一个目标值yi∈R(i=1,2,…,1),1为训练集的大小。那么一般的SVM目标函数可以写作:
(1)
(2)
约束条件为:|<ω,x>+b-yi|≤εi=1,2,…,1
通常我们求解此问题,利用Lagrange乘数法,将其转化为对偶问题[8-9]后求解,如下公式所示:
(3)
(4)
(5)
(6)
所以该问题的对偶形式为:
(7)
满足约束条件:
(8)
(9)
其中的向量xr和xs就是支持向量[8-9]。
把公式(8)带入公式(1),就得到目标函数:
(10)
与求解线性可分问题类似,非线性的问题,通过支持向量机引入核函数φ(xi,xj),将样本数据经过非线性映射到高维空间中,从而转化为能够使用线性可分的算法求解的问题。
2 基于支持向量机的灵敏度放大控制方法
2.1 灵敏度放大控制方法
图1 灵敏度放大控制方框图
(12)
当驱动器不工作时(Ta=0),穿戴者需要施加所有的力矩。按照SAC控制方法,设计控制器为:
(13)
其中:α是一个大于1的放大系数。此时,驱动器按照公式(14)施加大部分的控制力矩,则穿戴者施加的力矩变为:
(14)
由公式(14)我们可知α越大,就是放大系数越大,人体驱动外骨骼所需的力越小。这说明灵敏度放大方法能够有效的降低穿戴者施加的力矩,减少穿戴者的能量消耗。
2.2 基于支持向量机的灵敏度放大控制方法
如图2所示,本文提出使用支持向量机的方式作为SAC控制器,预测驱动器的输出力矩,来控制外骨骼跟随人体运动轨迹。
图2 基于SVM的灵敏度放大控制框图
对比图1,使用SVM建立外骨骼的动力学模型,使用SAC方法对外骨骼进行控制。
人体下肢的典型运动步态可以分为支撑相和摆动相[13],主要有髋关节、膝关节和踝关节运动完成人体下肢动作,人体下肢外骨骼采用类拟人化的仿生结构设计[14],跟随人体下肢运动。所以,人体下肢外骨骼的运动学和动力学参数与人体类似。人体下肢外骨骼的动力学方程[15]可以表示为:
(15)
为了简单起见,忽略运动摩擦力矩、刚性力矩和静摩擦力矩的影响,根据公式(12)可得施加于关节处的力矩如下式:
(16)
采用SAC控制方法,设计控制器为:
(17)
则由操作者施加的力矩变为:
(18)
同样,α越大,Thm越小,即人体对外骨骼施加的力越小。
通过SVM学习构建整个外骨骼系统的运动模型,根据输入运动学和动力学参数,得出驱动器需要输出的力矩信息。
在本模型中使用的SVM是支持向量回归机(SVR),具体的处理步骤如下:
1)使用人体下肢外骨骼系统的运动学和动力学参数,作为离线数据,利用SVR训练建立数据模型;
2)使用人体下肢外骨骼系统中运动学和动力学参数作为输入数据;
3)根据输入数据,使用离线训练出的模型进行计算,得出驱动器需要输出的力矩。
3 仿真分析
3.1 模型建立
本文使用三维运动捕获与空间定位系统获取人体的运动学和动力学参数数据。测试人员为男性,身高175 cm,体重63.5公斤。测试对象身上安装二维人体姿态传感器,并以正常步态行走,采集人体的运动学参数,包括位置、速度、角速度、角加速度、关节处力矩等参数。
图3 人体运动参数采集与处理图
假设外骨骼具有和人体同样地几何尺寸和质量特性,因此可以使用人体的参数作为下肢外骨骼的参数。仿真过程中,下肢运动模型的输入为髋关节、膝关节和踝关节的角度、角速度和角加速度信号,输出为3个关节的力矩信号。图4~6是髋关节、膝关节和踝关节在人体正常行走过程中力矩和角度变化曲线,图中的每个时刻间隔为20 ms。
图4 平地行走人体髋关节角度和力矩变化曲线
图5 平地行走人体膝关节角度和力矩变化曲线
图6 平地行走人体踝关节角度和力矩变化曲线
3.2 数据预处理
我们把实验采集到的人体下肢运动学和动力学数据,作为离线数据输入,通过支持向量机学习外骨骼系统的数学模型,并根据获得的数学模型预测,在当前髋关节、膝关节和踝关节的运动学参数(角度、角速度、角加速度)下,外骨骼系统的输出力矩。
为了提高支持向量机的预测准确度,我们使用如下公式(19),把所有数据缩放到[0,1]区间内。
(19)
其中:Xn是缩放后的值,Xmax和Xmin是输入数据集的最大值和最小值,X是数据集的原始值。我们从正常行走步态下的多次实验数据中,选取相同时间范围内400条数据记录,经过线性缩放,按时间顺序组合为400条数据进行实验。其中前320条数据作为训练集用于建立模型,后80条数据最为测试集对预测准确度进行评估。
3.3 实验结果分析
本次实验主要是使用“LIBSVM”库[16]进行仿真实验。为了使SVR的预测效果更好,我们使用粒子群优化算法(PSO-SVR)来确定SVR的参数[17-18]。在这里,我们采用5折交叉验证机制,通过比较各组参数得出的均方差(MSE),其中MSE值最小的一组参数,作为SVR的参数。
(20)
根据Lewis[19]等人的研究结果,模型预测的效果如何可以使用正则均方差(NMSE)和相关系数R来衡量。如下公式所示:
(21)
(22)
其中:ai是真实值,pi是预测值。支持向量回归机模型NMSE值越小,就证明预测值与真实值比偏差越小,预测的效果越好。而R值越大,表示真实值与预测值相关性越大。
人体下肢外骨骼3个关节处的预测效果,如表1所示。
表1 预测结果
根据图7~9所示,下肢外骨骼的髋关节、膝关节、踝关节预测输出力矩与实际输出力矩的曲线非常接近,能够满足人体下肢使用较小的力,来下肢外骨骼跟随人体运动。表1中的NMSE和R值,也表明该模型的能够较好的预测下肢外骨骼的输出力矩。
图7 髋关节预测数据与实际数据对比图
图8 膝关节预测数据与实际数据对比图
4 结论
1)使用三维运动捕捉与空间定位系统,精确获取人体下肢运动的运动学与动力学参数;
2)运用SVM学习外骨骼模型,建立外骨骼的状态空间方程,该方法能够实现在线学习外骨骼模型;
3)基于支持向量机设计的灵敏度放大控制策略,仿真结果表明,该方法获得的关节控制力矩较好地匹配实际测量的关节力矩。
[1] H Kazerooni,L Huang and R Steger.On the control of the berkeley lower extremity exoskeleton(BLEEX)[A].in IEEE ICRA[C].Barcelona,Spain,Apr.18-22,2005.4353-4360.
[2] Berkeley bionics[EB/OL]. http://www.berkeleybionics.com/Companyprofile.html.
[3] XOS-2[EB/OL]. http://www.workercn.cn/.
[4] HERCULE[EB/OL]. http://www.rb3d.com/.
[5] Yoshiyuki Sankai. HAL: Hybrid Assistive Limb based on Cybernics[Z]. Robotics Research. Volume 66 of the series Springer Tracts in Advanced Robotics pp 25-34.
[6] Vapnik, V. Statistical learning theory [M]. Wiley, New York, 1998.
[7] 李冬静. 基于Gibbs-LDA和最小二乘支持向量机的物联网安全预测方法计算机测量与控制[J].2015,23(8):2864-2867.
[8] 胡国圣. 基于遗传算法和支持向量回归的网格资源预测[D]. 长春:吉林大学,2010.
[9] Wang L P. Support Vector Machines: Theory and Application[M]. Springer, Berlin, 2005.
[10] Draft standard: What’s in the April’07 WirelessHART specification[J/OL]. http://www.controleng.com/article/CA6427951.html.
[11] ISA100.11a[J/OL]. http://www.isa.org/MSTemplate.cfm? MicrositeID= 1134&CommitteeID=6891.
[12] 杨智勇,顾文锦,张 静,等.单兵负荷骨骼服的力控制理论与方法[M].北京:国防工业出版社,2013.
[13] A Chu,HKazerooni and A Zoss.On the biomimetie design of the berkeley lower extremity exoskeleton(BLEEX)[A].in Proc.IEEE ICRA[C].Barcelona,Spain,Apr.18-22,2005.4345-4352.
[14] Andrew Chu, H. Kazerooni, and Adam Zoss. On the Mechanical Design of the Berkeley Lower Extremity Exoskeleton (BLEEX)[A].in Proc.IEEE ICRA[C].Barcelona,Spain,Apr.18-22,2005.3132-3139.
[15] 杨智勇,张远山,顾文锦,等.骨骼服灵敏度放大控制方法研究[J].计算机仿真,2010(1):177-180.
[16] Chang C C, Lin C J. LIBSVM: a library for support vector machines[Z/OL]. http://www.csie.ntu.edu.tw/~cjlin/libsvm/.
[17] 赵广宇. 无线传感器网络中基于预测模型的数据融合算法研究[D]. 长春:吉林大学,2012.
[18] 苏昭斌,朱人杰,陈红卫. 基于粒子群支持向量机的海杂波序列回归预测[J].计算机测量与控制,2014,22(5):1540-1542.
[19] Lewis C D. International and business forecasting methods[M]. London: Butterworths, 1982.
Support Vector Machine Based Sensitivity Amplification Control for a Lower Extremity Exoskeleton
Zhao Guangyu,He Long,Li Xinjun,Xu Guoqiang,Li Xiaoqi
(No.208 Research institute of China Ordnance Industries,Beijing 102202,China)
In order to accurately control the exoskeleton robot to follow the human movements, it is needed to establish a dynamic and accurate mathematical model. The human lower extremity exoskeleton is a multiple degrees of freedom, strong coupling and nonlinear multi-link system, it is difficult to establish an accurate kinematic and dynamic models. We use three-dimensional motion capture and spatial positioning system, to get the actual human motion parameters (kinematics and dynamics), use support vector machine (SVM) to learn mathematical model of human lower extremity exoskeleton. Using the model we constructed the control method of support vector machine based sensitivity amplification. Using MATLAB and LIBSVM to build the model, simulation results show that the learning method based on SVM model will be able to accurately calculate the dynamic model of the human lower extremity exoskeleton,and simplify the modeling process; SVM based sensitivity amplification control, can effectively calculate the output torque of the human lower limb skeletal joints (hip, knee and ankle joints), and control the exoskeleton robot follow the movement of the human body.
exoskeleton; support vector machine; sensitivity amplification control
2016-03-24;
2016-05-10。
赵广宇(1988-),男,北京市人,硕士研究生,主要从事外骨骼机器人方向的研究。
1671-4598(2016)09-0211-04
10.16526/j.cnki.11-4762/tp.2016.09.059
TP13
A