《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于四元數(shù)的前臂假肢手部自平衡的設(shè)計(jì)
基于四元數(shù)的前臂假肢手部自平衡的設(shè)計(jì)
2016年電子技術(shù)應(yīng)用第5期
樊炳輝1,張凱麗1,王傳江1,劉圭圭1,張芳麗2
1.山東科技大學(xué)機(jī)器人研究中心,山東 青島266590;2.友邦電力設(shè)備有限公司,黑龍江 哈爾濱150000
摘要: 針對(duì)殘疾人的前臂假肢在端水等運(yùn)動(dòng)過(guò)程中需要手部虎口一直與大地保持平行,即手部實(shí)現(xiàn)姿態(tài)自平衡問(wèn)題,提出采用四元數(shù)的姿態(tài)解算算法,并采用卡爾曼濾波融合MPU6050傳感器中陀螺儀和加速度計(jì)的輸出數(shù)據(jù),補(bǔ)償了陀螺儀輸出數(shù)據(jù)的隨機(jī)漂移誤差,得到前臂假肢手部姿態(tài)的正確估計(jì)。該系統(tǒng)由安卓手機(jī)、STM32單片機(jī)、MPU6050傳感器、高性能數(shù)字舵機(jī)組成,通過(guò)安卓手機(jī)語(yǔ)音識(shí)別向STM32單片機(jī)發(fā)送是否保持手部自平衡指令,由STM32實(shí)時(shí)采集MPU6050中陀螺儀和加速度計(jì)的數(shù)據(jù)并經(jīng)過(guò)算法處理后,通過(guò)串口向舵機(jī)發(fā)送信號(hào)。實(shí)驗(yàn)結(jié)果表明,這種姿態(tài)估計(jì)算法有效地解決了前臂假肢在運(yùn)動(dòng)過(guò)程中手部自平衡問(wèn)題,為前肢缺失的殘疾人提供了便利。
中圖分類號(hào): TP242.6
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.05.022
中文引用格式: 樊炳輝,張凱麗,王傳江,等. 基于四元數(shù)的前臂假肢手部自平衡的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2016,42(5):78-81.
英文引用格式: Fan Binghui,Zhang Kaili,Wang Chuanjiang,et al. Design of hand self-balance for the forearm prosthetic based on quaternion[J].Application of Electronic Technique,2016,42(5):78-81.
Design of hand self-balance for the forearm prosthetic based on quaternion
Fan Binghui1,Zhang Kaili1,Wang Chuanjiang1,Liu Guigui1,Zhang FangLi2
1.Science and Technology Robot Research Center of Shandong University,Qingdao 266590,China; 2.Youbang Electric Limited Company,Harbin 150000,China
Abstract: The forearm prosthetic hand designed for the disabled need achieve it′s first web keeping in parallel with the earth in the processing of movement like drinking and other actions. That is, the hand realizes the attitude self-balancing problem. Aiming at the estimation of the forearm prosthesis′s attitude angles, an attitude solution algorithm based on quaternion is used. Using Kalman filter to fuse the data from gyroscope and accelerometer in MPU6050, an optimal estimation for the attitude of forearm prosthesis is achieved after the compensation of the angular velocity drift error of gyroscope. The system consists of android phones, STM32 microcontroller、MPU6050、high performance of steering gear. Through the voice recognition, android mobile phone sends the instructions whether the forearm prosthetic hand need to keep the balance to STM32. Actuating signal can be send to steering gear through the serial port after data are collected and processed with algorithm from acceleration sensor and gyroscope in MPU6050 via STM32. The experimental results show that the attitude estimation algorithm is effective and the forearm prosthetic hand can keep balance during motion processes. This facilitates the disabled with the lack of the front arm.
Key words : the forearm prosthesis;attitude estimation;quaternion;Kalman filter

0 引言

    世界上每年因戰(zhàn)爭(zhēng)、自然災(zāi)害、交通事故等原因引起的殘疾人數(shù)多達(dá)千萬(wàn)人以上,其中大部分為肢體殘疾,而目前市場(chǎng)上的大部分假肢都是作為裝飾性用品,真正實(shí)現(xiàn)功能代償?shù)募僦珨?shù)量較少。為滿足殘疾人日常生活的需求,本系統(tǒng)對(duì)前臂假肢做了姿態(tài)規(guī)劃,即控制前臂旋轉(zhuǎn)和手腕俯仰兩個(gè)電機(jī),使得假肢末端手爪的虎口平面與大地水平面始終保持平行,如圖1所示。這樣假肢在抓取和移動(dòng)目標(biāo)物體的過(guò)程中,可以保證運(yùn)動(dòng)平穩(wěn),對(duì)移動(dòng)水杯等類似操作尤其重要。在前臂假肢的平衡控制過(guò)程中,姿態(tài)傳感器將檢測(cè)到的前臂假肢的姿態(tài)信號(hào)送入STM32,經(jīng)算法運(yùn)算得到控制量驅(qū)動(dòng)舵機(jī)來(lái)控制前臂的扭轉(zhuǎn)和手部的俯仰,從而使前臂假肢的手部恢復(fù)到平衡狀態(tài)??梢钥闯?,獲取實(shí)時(shí)的前臂假肢的姿態(tài)是保持手部平衡的前提。因此,實(shí)現(xiàn)一種實(shí)時(shí)可靠的前臂假肢姿態(tài)估計(jì)算法尤為重要,它直接影響其手部自平衡性能。

ck5-t1.gif

    姿態(tài)解算的算法有多種,常用的算法有歐拉角法、方向余弦法與四元數(shù)法,由于歐拉角法求解時(shí),方程中存在奇點(diǎn),方向余弦法計(jì)算量大,因此現(xiàn)在常用的方法為四元數(shù)法,其計(jì)算量小,無(wú)奇點(diǎn)[1-2]。姿態(tài)估計(jì)算法必須考慮到傳感器容易受溫度及噪聲的影響而產(chǎn)生不同程度的漂移,它會(huì)影響姿態(tài)估計(jì)的準(zhǔn)確性。針對(duì)這一問(wèn)題,本文采用卡爾曼濾波的方法來(lái)融合陀螺儀和加速度計(jì)輸出的數(shù)據(jù),修正了陀螺儀輸出量中的隨機(jī)漂移分量[3]。

1 系統(tǒng)硬件設(shè)計(jì)

    隨著安卓智能手機(jī)的發(fā)展與普及,為了讓前臂假肢的控制更加方便和標(biāo)準(zhǔn)化,提出了以安卓手機(jī)離線識(shí)別語(yǔ)音及應(yīng)用藍(lán)牙通信技術(shù)實(shí)現(xiàn)安卓手機(jī)無(wú)線控制假肢運(yùn)動(dòng)的方案。本文介紹的前臂假肢可實(shí)現(xiàn)手部平衡,除此之外,在不需要手部保持平衡的環(huán)境下,安卓手機(jī)通過(guò)語(yǔ)音識(shí)別可控制前臂假肢關(guān)閉手部自平衡功能和實(shí)現(xiàn)手部上抬、下落、內(nèi)轉(zhuǎn)、外轉(zhuǎn)和張合等動(dòng)作。該系統(tǒng)由安卓手機(jī)、藍(lán)牙模塊、MPU6050、STM32微控制器、MX-28高性能舵機(jī)組成,系統(tǒng)的控制流程如圖2所示。

ck5-t2.gif

    其中,選用MPU6050做為前臂假肢的姿態(tài)檢測(cè)系統(tǒng),MPU6050在單個(gè)產(chǎn)品封裝內(nèi)集成了3軸陀螺儀和3軸加速度計(jì)。由于前臂假肢不需獲知偏航角,所以本文采用了MPU6050來(lái)獲取前臂假肢的俯仰角和橫滾角。整個(gè)控制過(guò)程由MPU6050測(cè)量姿態(tài)變化,并通過(guò)前臂扭轉(zhuǎn)以及手腕俯仰來(lái)根據(jù)姿態(tài)變化實(shí)時(shí)進(jìn)行調(diào)整,使其達(dá)到自平衡狀態(tài)。ck5-t3.gif

    MPU6050安裝在假肢的腕部,其安裝位置如圖3所示。將MPU6050安裝在控制前臂旋轉(zhuǎn)關(guān)節(jié)的上部并固定在連桿上,左右位置可以變化,但要確保其所在的平面與手爪虎口所在平面平行。安裝完成后,前臂繞MPU6050的X軸旋轉(zhuǎn),手腕繞MPU6050的Y軸俯仰。

2 四元數(shù)姿態(tài)解算算法

    四元數(shù)的數(shù)學(xué)概念是1843年由哈密頓首先提出的。它是由一個(gè)實(shí)部單位和3個(gè)虛部單位i、j、k組成,其形式為:q=q0+q1i+q2j+q3k。四元數(shù)可以表示旋轉(zhuǎn),其標(biāo)量部分表示旋轉(zhuǎn)角度的大小,矢量部分表示轉(zhuǎn)軸的方向[4-5],應(yīng)用四元數(shù)時(shí)必須進(jìn)行歸一化,也就是令其模值為1。

    前臂假肢的定位由固定的內(nèi)部的三維坐標(biāo)確定,一個(gè)坐標(biāo)系到另一個(gè)坐標(biāo)系的變換,可以通過(guò)繞不同坐標(biāo)軸的3次連續(xù)轉(zhuǎn)動(dòng)來(lái)實(shí)現(xiàn)。順時(shí)針繞橫滾軸,即繞載體坐標(biāo)系的X軸旋轉(zhuǎn),得到橫滾角φ;順時(shí)針繞俯仰軸,即繞載體坐標(biāo)系的Y軸旋轉(zhuǎn),得到俯仰角θ;順時(shí)針繞偏航軸,即繞載體坐標(biāo)系的?爪軸旋轉(zhuǎn),得到偏航角γ[6]。

    四個(gè)參數(shù)的初始值是由歐拉角的初始值經(jīng)過(guò)以下計(jì)算得到的[6-9]

    ck5-gs1-3.gif

    利用四元數(shù)微分方程可以實(shí)現(xiàn)四元數(shù)的更新,其中,ω是陀螺儀測(cè)量的角速度。

    應(yīng)用四階龍格—庫(kù)塔算法解微分方程,得到4個(gè)參數(shù)的更新值。具體過(guò)程如下[12-14]

    設(shè):

    ck5-gs4.gif

    則:

    ck5-gs5.gif

其中,T為更新周期,q(t)為初始四元數(shù),q(t+T)為更新后的四元數(shù),K1是時(shí)間段T開始時(shí)的斜率,K2是時(shí)間段中點(diǎn)的斜率,K3也是中點(diǎn)的斜率,K4是時(shí)間段終點(diǎn)的斜率。

    計(jì)算得到這4個(gè)參數(shù)之后,可由姿態(tài)矩陣T更新歐拉角[15]:

    ck5-gs6-8.gif

    得到姿態(tài)角,即可得到前臂假肢的姿態(tài)估計(jì)。

    前臂假肢在平衡的情況下,歐拉角的理想輸出值應(yīng)該是0°,但由于陀螺儀有隨機(jī)漂移誤差,歐拉角會(huì)一直積累[16]。實(shí)驗(yàn)結(jié)果圖4所示。

ck5-t4.gif

    針對(duì)這一問(wèn)題,提出了應(yīng)用卡爾曼濾波的數(shù)據(jù)融合算法來(lái)解決??柭鼮V波可以將陀螺儀的輸出數(shù)據(jù)和加速度計(jì)的輸出數(shù)據(jù)融合起來(lái)。陀螺儀用于測(cè)量角速度,動(dòng)態(tài)跟蹤性能好,但陀螺儀受溫度、不穩(wěn)定力矩等因素的影響,會(huì)產(chǎn)生隨機(jī)漂移誤差;加速度計(jì)可用于測(cè)量加速度,通過(guò)測(cè)得的加速度值與重力加速度的比值得到傾角值,加速度計(jì)靜態(tài)性能好,但是動(dòng)態(tài)跟蹤性能差??梢钥闯?,陀螺儀和加速度計(jì)優(yōu)缺點(diǎn)互補(bǔ),結(jié)合起來(lái)會(huì)有好的效果[17-18]。

3 實(shí)驗(yàn)結(jié)果分析

3.1 四元數(shù)法和卡爾曼濾波實(shí)驗(yàn)結(jié)果分析

    將MPU6050靜止平放在桌上,采集其經(jīng)四元數(shù)姿態(tài)解算和卡爾曼濾波后輸出的數(shù)據(jù),通過(guò)MATLAB工具對(duì)實(shí)測(cè)數(shù)據(jù)進(jìn)行仿真分析,如圖5所示,俯仰角和橫滾角都在附近,對(duì)比圖4發(fā)現(xiàn)卡爾曼濾波有效解決了陀螺儀的隨機(jī)漂移誤差,可以準(zhǔn)確地獲取靜態(tài)時(shí)前臂假肢的姿態(tài)。

ck5-t5.gif

    將MPU6050安裝到前臂假肢上,令前臂假肢繞MPU6050的X軸從平衡位置順時(shí)針逐步旋轉(zhuǎn)到-40°,一段時(shí)間后,回到平衡位置,再沿X軸逆時(shí)針逐步旋轉(zhuǎn)到40°,采集這一過(guò)程MPU6050經(jīng)四元數(shù)姿態(tài)解算和卡爾曼濾波后輸出的數(shù)據(jù),通過(guò)MATLAB工具對(duì)實(shí)測(cè)數(shù)據(jù)進(jìn)行仿真分析,橫滾角發(fā)生相應(yīng)的變化,俯仰角基本保持不變,如圖6(a)所示。令前臂假肢繞MPU6050的Y軸重復(fù)以上實(shí)驗(yàn),根據(jù)圖6(b)可以看出,俯仰角發(fā)生相應(yīng)的變化,橫滾角基本保持不變。由于實(shí)驗(yàn)過(guò)程中手動(dòng)旋轉(zhuǎn)前臂假肢,操作者偶有抖動(dòng)和難做到勻速轉(zhuǎn)動(dòng),因此,圖6中的波形中偶有小的波動(dòng)。實(shí)驗(yàn)表明,本文采用的姿態(tài)估計(jì)可以實(shí)現(xiàn)前臂假肢動(dòng)作時(shí)姿態(tài)的正確估計(jì),經(jīng)過(guò)STM32運(yùn)算處理后,實(shí)現(xiàn)前臂假肢在運(yùn)動(dòng)過(guò)程中保持手部平衡。

ck5-t6.gif

3.2 前臂假肢手部自平衡實(shí)驗(yàn)結(jié)果分析

    對(duì)前臂假肢系統(tǒng)組裝并調(diào)試,通過(guò)安卓手機(jī)軟件向假肢發(fā)出保持手部平衡的命令。具體測(cè)試步驟:連接好線路,打開電源,觀察指示燈正常亮起,觸擊控制界面的藍(lán)牙連接按鈕,觀察指示燈,以確保手機(jī)藍(lán)牙和藍(lán)牙模塊的配對(duì)連接成功;否則,檢查系統(tǒng)的連接是否正確。藍(lán)牙配對(duì)成功后,向安卓手機(jī)喊出“平衡”指令,手機(jī)通過(guò)藍(lán)牙將指令傳到單片機(jī),從而控制前臂假肢運(yùn)動(dòng)。實(shí)驗(yàn)結(jié)果如圖7、圖8所示。

ck5-t7.gif

ck5-t8.gif

    圖7(a)~圖7(e)展示了前臂假肢從下往上轉(zhuǎn)動(dòng)過(guò)程中,其手部可以實(shí)現(xiàn)自平衡,手部虎口一直保持與大地平行。

    圖8中以箭頭指向的地點(diǎn)為參考點(diǎn),可以看出圖8(a)~圖8(c)為前臂假肢由內(nèi)往外轉(zhuǎn)動(dòng)過(guò)程,同樣假肢手部能實(shí)現(xiàn)自平衡。

4 結(jié)論

    此前臂假肢采用四元數(shù)法的姿態(tài)解算算法,并利用卡爾曼濾波融合MPU6050中陀螺儀和加速度計(jì)的數(shù)據(jù),得到其正確的姿態(tài)估計(jì)。經(jīng)實(shí)驗(yàn)測(cè)試,該系統(tǒng)運(yùn)行穩(wěn)定、可靠,所設(shè)計(jì)的姿態(tài)估計(jì)算法能夠很好地跟蹤前臂假肢的真實(shí)姿態(tài),實(shí)現(xiàn)了假肢手部的姿態(tài)自平衡控制。此前臂假肢可以輔助殘疾人完成喝水等動(dòng)作,方便了他們的生活,也減輕了家屬的負(fù)擔(dān)。

參考文獻(xiàn)

[1] 杜海龍,張榮輝,劉平,等.捷聯(lián)慣導(dǎo)系統(tǒng)姿態(tài)解算模塊的實(shí)現(xiàn)[J].光學(xué)精密工程,2008,16(10):1956-1962.

[2] 張榮輝,賈宏光,陳濤,等.基于四元數(shù)法的捷聯(lián)式慣性導(dǎo)航系統(tǒng)的姿態(tài)解算[J].光學(xué)精密工程,2008,16(10):1963-1970.

[3] 楊凌霄,李曉陽(yáng).基于卡爾曼濾波的兩輪自平衡車姿態(tài)解算方法[J].計(jì)算機(jī)仿真,2014,31(6):406-409.

[4] 葉锃鋒,馮恩信.基于四元數(shù)和卡爾曼濾波的兩輪車姿態(tài)穩(wěn)定方法[J].傳感技術(shù)學(xué)報(bào),2012,25(4):524-528.

[5] 呂印新,肖前貴,胡壽松.基于四元數(shù)互補(bǔ)濾波的無(wú)人機(jī)姿態(tài)解算[J].燕山大學(xué)學(xué)報(bào),2014,38(2):175-180.

[6] 張思奇,趙憶文.便攜式移動(dòng)機(jī)器人姿態(tài)解算方法[J].微計(jì)算機(jī)信息,2007,23(10-2):188-190.

[7] 祝喬,汪旭東,崔家瑞.基于四元數(shù)的航天器姿態(tài)非線性控制器[J].信息與控制,2012,41(2):170-179.

[8] 賈秋玲,閆建國(guó),王建民.空間多剛體系統(tǒng)姿態(tài)的協(xié)同控制[J].信息與控制,2005,34(4):385-388.

[9] 趙國(guó)文.機(jī)器人運(yùn)動(dòng)學(xué)中的四元數(shù)矩陣和基變換矩陣[J].機(jī)器人,1993,15(2):59-64.

[10] 張?zhí)旃猓跣闫?,王麗霞,等,譯.捷聯(lián)慣性導(dǎo)航技術(shù)(第二版)[M].北京:國(guó)防工業(yè)出版社,2007:29-33.

[11] 秦永元.慣性導(dǎo)航[M].北京:科學(xué)出版社,2006:287-305.

[12] 崔璐璐.基于MEMS器件的姿態(tài)測(cè)量系統(tǒng)研究與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2009.

[13] 王勵(lì)揚(yáng),霍昆明,何文濤,等.四階龍格庫(kù)塔算法在捷聯(lián)慣性導(dǎo)航中的應(yīng)用[J].計(jì)算機(jī)仿真,2014,31(11):56-59.

[14] 張慧春,吳簡(jiǎn)彤,何昆鵬,等.四階龍格-庫(kù)塔法在捷聯(lián)慣導(dǎo)系統(tǒng)姿態(tài)解算中的應(yīng)用[J].應(yīng)用科技,2005,32(6):37-39.

[15] 鄧正隆.慣性技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2006:14-164.

[16] 金光明,張國(guó)良,陳林鵬.MEMS陀螺儀靜態(tài)漂移模型與濾波方法研究[J].傳感器與微系統(tǒng),2007,26(11):48-50.

[17] 馮智勇,曾瀚,張力,等.基于陀螺儀及加速度計(jì)信號(hào)融合的姿態(tài)角度測(cè)量[J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,36(4):137-141.

[18] 劉星.多維MEMS慣性傳感器的姿態(tài)解算算法研究[D].哈爾濱:哈爾濱工程大學(xué),2013.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。