趙廣宇,何 龍,李新俊,許國(guó)強(qiáng),李小奇
(中國(guó)兵器工業(yè)第二〇八研究所,北京 102202)
?
基于支持向量機(jī)的外骨骼機(jī)器人靈敏度放大控制
趙廣宇,何 龍,李新俊,許國(guó)強(qiáng),李小奇
(中國(guó)兵器工業(yè)第二〇八研究所,北京 102202)
為了準(zhǔn)確控制外骨骼機(jī)器人跟隨人體運(yùn)動(dòng),需要建立其動(dòng)態(tài)、精確的數(shù)學(xué)模型;人體下肢外骨骼是一個(gè)多自由度、強(qiáng)耦合以及非線性的多連桿系統(tǒng),難以建立準(zhǔn)確的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)模型;文章使用三維運(yùn)動(dòng)捕捉與空間定位系統(tǒng),獲取實(shí)際人體運(yùn)動(dòng)參數(shù)(運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)),應(yīng)用支持向量機(jī)(SVM)學(xué)習(xí)人體下肢外骨骼的數(shù)學(xué)模型;基于該模型構(gòu)造基于支持向量機(jī)模型的靈敏度放大控制方法;文章使用MATLAB和LIBSVM建立外骨骼下肢機(jī)器人的數(shù)學(xué)模型,并進(jìn)行仿真分析;仿真結(jié)果表明基于SVM的模型學(xué)習(xí)方法,能夠準(zhǔn)確計(jì)算出人體下肢外骨骼的動(dòng)力學(xué)模型,并簡(jiǎn)化建模過(guò)程;基于SVM的靈敏度放大控制,能夠有效計(jì)算出人體下肢外骨骼各關(guān)節(jié)(髖關(guān)節(jié)、膝關(guān)節(jié)、踝關(guān)節(jié))的輸出力矩,并控制外骨骼機(jī)器人跟隨人體運(yùn)動(dòng)。
外骨骼;支持向量機(jī);靈敏度放大控制
人體下肢外骨骼是一種模仿人體下肢結(jié)構(gòu)特點(diǎn)設(shè)計(jì),綜合傳感器技術(shù)、控制技術(shù)、信息融合技術(shù)等多學(xué)科技術(shù),結(jié)合穿戴者的智能和機(jī)械設(shè)備的“力量”,提供動(dòng)力來(lái)輔助正常人負(fù)重行走、跑步、上下樓梯、登山等,從而增強(qiáng)人們行走的負(fù)重能力和耐力。由于人體下肢外骨骼能夠負(fù)重、助力行走,所以能夠應(yīng)用在軍事、醫(yī)療、救災(zāi)、交通等多方面,具有廣闊的應(yīng)用前景。
目前,外骨骼技術(shù)是國(guó)內(nèi)外研究的熱點(diǎn),具有代表性的主要有:美國(guó)伯克利大學(xué)的下肢助力外骨骼BLEEX[1];在此基礎(chǔ)上,洛克希德·馬丁公司開(kāi)發(fā)了HULC外骨骼[2],它使士兵能夠背負(fù)大約90公斤重物,以10千米/小時(shí)的速度在多種地形中行進(jìn);雷神-薩克斯公司開(kāi)發(fā)的XOS[3]系列外骨骼,XOS2可以能夠大幅增強(qiáng)人類的力量;由RB3D法國(guó)工程公司研發(fā)的“大力神”(HERCULE)[4],可背負(fù)100公斤重物,可使穿戴者以4千米/小時(shí)的速度行進(jìn)大約20千米;日本的Cyberdyne公司推出HAL[5],用于醫(yī)療機(jī)構(gòu)的輔助負(fù)重工具或康復(fù)醫(yī)療;以色列的埃爾格醫(yī)學(xué)技術(shù)公司研發(fā)的“ReWalk”[6],主要用來(lái)助癱瘓者恢復(fù)行走能力;國(guó)內(nèi)的許多高校和研究單位也都開(kāi)展了外骨骼機(jī)器人的研究。
本文主要針對(duì)下肢外骨骼的智能控制進(jìn)行研究。下肢外骨骼作為一個(gè)人機(jī)交互系統(tǒng),在人體運(yùn)動(dòng)意圖識(shí)別等方面,具有許多困難[1]。BLEEX系統(tǒng)提出一種靈敏度放大的下肢外骨骼控制方法(sensitivity amplification control,SAC),不需要在人機(jī)之間安裝傳感器,實(shí)現(xiàn)控制外骨骼跟隨穿戴者運(yùn)動(dòng)。但SAC控制方法非常依賴系統(tǒng)的動(dòng)態(tài)模型[1],而下肢外骨骼又是一個(gè)多剛體、多自由度的非線性系統(tǒng),想要建立精確的數(shù)據(jù)模型非常困難。
本文使用三維運(yùn)動(dòng)捕獲與空間定位系統(tǒng)獲取人體的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)數(shù)據(jù),采用支持向量機(jī)來(lái)逼近外骨骼的動(dòng)態(tài)模型,提出了一種基于支持向量機(jī)的靈敏度放大控制方法,在保持SAC控制效果的基礎(chǔ)上,簡(jiǎn)化系統(tǒng)的建模過(guò)程,并通過(guò)仿真實(shí)驗(yàn),證明了控制方法的有效性。
支持向量機(jī)[6](Support Vector Machine,SVM)是由Vapnik與其合作伙伴,在1995年提出的機(jī)器學(xué)習(xí)算法。支持向量機(jī)具有很強(qiáng)的泛化能力,能夠較好的解決許多實(shí)際問(wèn)題[7]。支持向量機(jī)的基本思想是,將求最優(yōu)分類超平面的問(wèn)題轉(zhuǎn)化為求解一個(gè)凸二次規(guī)劃問(wèn)題。
首先,我們需要定義一個(gè)訓(xùn)練數(shù)據(jù)集T=<(x1,y1),(x2,y2),…,(x1,y1)>,每個(gè)xi∈Rn表示輸入樣本空間,并且對(duì)應(yīng)一個(gè)目標(biāo)值yi∈R(i=1,2,…,1),1為訓(xùn)練集的大小。那么一般的SVM目標(biāo)函數(shù)可以寫(xiě)作:
(1)
(2)
約束條件為:|<ω,x>+b-yi|≤εi=1,2,…,1
通常我們求解此問(wèn)題,利用Lagrange乘數(shù)法,將其轉(zhuǎn)化為對(duì)偶問(wèn)題[8-9]后求解,如下公式所示:
(3)
(4)
(5)
(6)
所以該問(wèn)題的對(duì)偶形式為:
(7)
滿足約束條件:
(8)
(9)
其中的向量xr和xs就是支持向量[8-9]。
把公式(8)帶入公式(1),就得到目標(biāo)函數(shù):
(10)
與求解線性可分問(wèn)題類似,非線性的問(wèn)題,通過(guò)支持向量機(jī)引入核函數(shù)φ(xi,xj),將樣本數(shù)據(jù)經(jīng)過(guò)非線性映射到高維空間中,從而轉(zhuǎn)化為能夠使用線性可分的算法求解的問(wèn)題。
2.1 靈敏度放大控制方法
圖1 靈敏度放大控制方框圖
(12)
當(dāng)驅(qū)動(dòng)器不工作時(shí)(Ta=0),穿戴者需要施加所有的力矩。按照SAC控制方法,設(shè)計(jì)控制器為:
(13)
其中:α是一個(gè)大于1的放大系數(shù)。此時(shí),驅(qū)動(dòng)器按照公式(14)施加大部分的控制力矩,則穿戴者施加的力矩變?yōu)椋?/p>
(14)
由公式(14)我們可知α越大,就是放大系數(shù)越大,人體驅(qū)動(dòng)外骨骼所需的力越小。這說(shuō)明靈敏度放大方法能夠有效的降低穿戴者施加的力矩,減少穿戴者的能量消耗。
2.2 基于支持向量機(jī)的靈敏度放大控制方法
如圖2所示,本文提出使用支持向量機(jī)的方式作為SAC控制器,預(yù)測(cè)驅(qū)動(dòng)器的輸出力矩,來(lái)控制外骨骼跟隨人體運(yùn)動(dòng)軌跡。
圖2 基于SVM的靈敏度放大控制框圖
對(duì)比圖1,使用SVM建立外骨骼的動(dòng)力學(xué)模型,使用SAC方法對(duì)外骨骼進(jìn)行控制。
人體下肢的典型運(yùn)動(dòng)步態(tài)可以分為支撐相和擺動(dòng)相[13],主要有髖關(guān)節(jié)、膝關(guān)節(jié)和踝關(guān)節(jié)運(yùn)動(dòng)完成人體下肢動(dòng)作,人體下肢外骨骼采用類擬人化的仿生結(jié)構(gòu)設(shè)計(jì)[14],跟隨人體下肢運(yùn)動(dòng)。所以,人體下肢外骨骼的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)參數(shù)與人體類似。人體下肢外骨骼的動(dòng)力學(xué)方程[15]可以表示為:
(15)
為了簡(jiǎn)單起見(jiàn),忽略運(yùn)動(dòng)摩擦力矩、剛性力矩和靜摩擦力矩的影響,根據(jù)公式(12)可得施加于關(guān)節(jié)處的力矩如下式:
(16)
采用SAC控制方法,設(shè)計(jì)控制器為:
(17)
則由操作者施加的力矩變?yōu)椋?/p>
(18)
同樣,α越大,Thm越小,即人體對(duì)外骨骼施加的力越小。
通過(guò)SVM學(xué)習(xí)構(gòu)建整個(gè)外骨骼系統(tǒng)的運(yùn)動(dòng)模型,根據(jù)輸入運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)參數(shù),得出驅(qū)動(dòng)器需要輸出的力矩信息。
在本模型中使用的SVM是支持向量回歸機(jī)(SVR),具體的處理步驟如下:
1)使用人體下肢外骨骼系統(tǒng)的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)參數(shù),作為離線數(shù)據(jù),利用SVR訓(xùn)練建立數(shù)據(jù)模型;
2)使用人體下肢外骨骼系統(tǒng)中運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)參數(shù)作為輸入數(shù)據(jù);
3)根據(jù)輸入數(shù)據(jù),使用離線訓(xùn)練出的模型進(jìn)行計(jì)算,得出驅(qū)動(dòng)器需要輸出的力矩。
3.1 模型建立
本文使用三維運(yùn)動(dòng)捕獲與空間定位系統(tǒng)獲取人體的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)參數(shù)數(shù)據(jù)。測(cè)試人員為男性,身高175 cm,體重63.5公斤。測(cè)試對(duì)象身上安裝二維人體姿態(tài)傳感器,并以正常步態(tài)行走,采集人體的運(yùn)動(dòng)學(xué)參數(shù),包括位置、速度、角速度、角加速度、關(guān)節(jié)處力矩等參數(shù)。
圖3 人體運(yùn)動(dòng)參數(shù)采集與處理圖
假設(shè)外骨骼具有和人體同樣地幾何尺寸和質(zhì)量特性,因此可以使用人體的參數(shù)作為下肢外骨骼的參數(shù)。仿真過(guò)程中,下肢運(yùn)動(dòng)模型的輸入為髖關(guān)節(jié)、膝關(guān)節(jié)和踝關(guān)節(jié)的角度、角速度和角加速度信號(hào),輸出為3個(gè)關(guān)節(jié)的力矩信號(hào)。圖4~6是髖關(guān)節(jié)、膝關(guān)節(jié)和踝關(guān)節(jié)在人體正常行走過(guò)程中力矩和角度變化曲線,圖中的每個(gè)時(shí)刻間隔為20 ms。
圖4 平地行走人體髖關(guān)節(jié)角度和力矩變化曲線
圖5 平地行走人體膝關(guān)節(jié)角度和力矩變化曲線
圖6 平地行走人體踝關(guān)節(jié)角度和力矩變化曲線
3.2 數(shù)據(jù)預(yù)處理
我們把實(shí)驗(yàn)采集到的人體下肢運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)數(shù)據(jù),作為離線數(shù)據(jù)輸入,通過(guò)支持向量機(jī)學(xué)習(xí)外骨骼系統(tǒng)的數(shù)學(xué)模型,并根據(jù)獲得的數(shù)學(xué)模型預(yù)測(cè),在當(dāng)前髖關(guān)節(jié)、膝關(guān)節(jié)和踝關(guān)節(jié)的運(yùn)動(dòng)學(xué)參數(shù)(角度、角速度、角加速度)下,外骨骼系統(tǒng)的輸出力矩。
為了提高支持向量機(jī)的預(yù)測(cè)準(zhǔn)確度,我們使用如下公式(19),把所有數(shù)據(jù)縮放到[0,1]區(qū)間內(nèi)。
(19)
其中:Xn是縮放后的值,Xmax和Xmin是輸入數(shù)據(jù)集的最大值和最小值,X是數(shù)據(jù)集的原始值。我們從正常行走步態(tài)下的多次實(shí)驗(yàn)數(shù)據(jù)中,選取相同時(shí)間范圍內(nèi)400條數(shù)據(jù)記錄,經(jīng)過(guò)線性縮放,按時(shí)間順序組合為400條數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。其中前320條數(shù)據(jù)作為訓(xùn)練集用于建立模型,后80條數(shù)據(jù)最為測(cè)試集對(duì)預(yù)測(cè)準(zhǔn)確度進(jìn)行評(píng)估。
3.3 實(shí)驗(yàn)結(jié)果分析
本次實(shí)驗(yàn)主要是使用“LIBSVM”庫(kù)[16]進(jìn)行仿真實(shí)驗(yàn)。為了使SVR的預(yù)測(cè)效果更好,我們使用粒子群優(yōu)化算法(PSO-SVR)來(lái)確定SVR的參數(shù)[17-18]。在這里,我們采用5折交叉驗(yàn)證機(jī)制,通過(guò)比較各組參數(shù)得出的均方差(MSE),其中MSE值最小的一組參數(shù),作為SVR的參數(shù)。
(20)
根據(jù)Lewis[19]等人的研究結(jié)果,模型預(yù)測(cè)的效果如何可以使用正則均方差(NMSE)和相關(guān)系數(shù)R來(lái)衡量。如下公式所示:
(21)
(22)
其中:ai是真實(shí)值,pi是預(yù)測(cè)值。支持向量回歸機(jī)模型NMSE值越小,就證明預(yù)測(cè)值與真實(shí)值比偏差越小,預(yù)測(cè)的效果越好。而R值越大,表示真實(shí)值與預(yù)測(cè)值相關(guān)性越大。
人體下肢外骨骼3個(gè)關(guān)節(jié)處的預(yù)測(cè)效果,如表1所示。
表1 預(yù)測(cè)結(jié)果
根據(jù)圖7~9所示,下肢外骨骼的髖關(guān)節(jié)、膝關(guān)節(jié)、踝關(guān)節(jié)預(yù)測(cè)輸出力矩與實(shí)際輸出力矩的曲線非常接近,能夠滿足人體下肢使用較小的力,來(lái)下肢外骨骼跟隨人體運(yùn)動(dòng)。表1中的NMSE和R值,也表明該模型的能夠較好的預(yù)測(cè)下肢外骨骼的輸出力矩。
圖7 髖關(guān)節(jié)預(yù)測(cè)數(shù)據(jù)與實(shí)際數(shù)據(jù)對(duì)比圖
圖8 膝關(guān)節(jié)預(yù)測(cè)數(shù)據(jù)與實(shí)際數(shù)據(jù)對(duì)比圖
1)使用三維運(yùn)動(dòng)捕捉與空間定位系統(tǒng),精確獲取人體下肢運(yùn)動(dòng)的運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)參數(shù);
2)運(yùn)用SVM學(xué)習(xí)外骨骼模型,建立外骨骼的狀態(tài)空間方程,該方法能夠?qū)崿F(xiàn)在線學(xué)習(xí)外骨骼模型;
3)基于支持向量機(jī)設(shè)計(jì)的靈敏度放大控制策略,仿真結(jié)果表明,該方法獲得的關(guān)節(jié)控制力矩較好地匹配實(shí)際測(cè)量的關(guān)節(jié)力矩。
[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ī)的物聯(lián)網(wǎng)安全預(yù)測(cè)方法計(jì)算機(jī)測(cè)量與控制[J].2015,23(8):2864-2867.
[8] 胡國(guó)圣. 基于遺傳算法和支持向量回歸的網(wǎng)格資源預(yù)測(cè)[D]. 長(zhǎng)春:吉林大學(xué),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] 楊智勇,顧文錦,張 靜,等.單兵負(fù)荷骨骼服的力控制理論與方法[M].北京:國(guó)防工業(yè)出版社,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] 楊智勇,張遠(yuǎn)山,顧文錦,等.骨骼服靈敏度放大控制方法研究[J].計(jì)算機(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] 趙廣宇. 無(wú)線傳感器網(wǎng)絡(luò)中基于預(yù)測(cè)模型的數(shù)據(jù)融合算法研究[D]. 長(zhǎng)春:吉林大學(xué),2012.
[18] 蘇昭斌,朱人杰,陳紅衛(wèi). 基于粒子群支持向量機(jī)的海雜波序列回歸預(yù)測(cè)[J].計(jì)算機(jī)測(cè)量與控制,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-),男,北京市人,碩士研究生,主要從事外骨骼機(jī)器人方向的研究。
1671-4598(2016)09-0211-04
10.16526/j.cnki.11-4762/tp.2016.09.059
TP13
A