亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于九軸慣性傳感器的人體動(dòng)作捕捉系統(tǒng)*

        2017-04-16 05:14:57成,冀,
        上海電氣技術(shù) 2017年4期
        關(guān)鍵詞:關(guān)節(jié)點(diǎn)慣性骨骼

        楊 成, 冉 冀, 吳 鐘

        1. 武漢商學(xué)院 體育學(xué)院 武漢 430056 2. 華中科技大學(xué) 電子信息與通信學(xué)院 武漢 430074

        基于九軸慣性傳感器的人體動(dòng)作捕捉系統(tǒng)*

        楊成1,冉冀2,吳鐘1

        1. 武漢商學(xué)院 體育學(xué)院武漢430056 2. 華中科技大學(xué) 電子信息與通信學(xué)院武漢430074

        傳統(tǒng)動(dòng)作捕捉與分析采用機(jī)械、光學(xué)及聲學(xué)方式,所占空間大,價(jià)格昂貴,操作也較為復(fù)雜。研究了基于九軸慣性傳感器的人體動(dòng)作捕捉系統(tǒng),將慣性傳感技術(shù)與人體科學(xué)相結(jié)合,在人體上抽象出17個(gè)關(guān)節(jié)點(diǎn),通過這17個(gè)關(guān)節(jié)點(diǎn)采集人體運(yùn)動(dòng)數(shù)據(jù)。數(shù)據(jù)通過無線保真方式發(fā)送至計(jì)算機(jī),在計(jì)算機(jī)上對(duì)數(shù)據(jù)進(jìn)行處理,得到驅(qū)動(dòng)人體模型運(yùn)動(dòng)的姿態(tài)數(shù)據(jù),從而控制虛擬模型進(jìn)行運(yùn)動(dòng)展示。這一動(dòng)作捕捉系統(tǒng)具有經(jīng)濟(jì)、便利、不受場(chǎng)地和天氣因素影響等多種優(yōu)勢(shì),實(shí)現(xiàn)了對(duì)人體運(yùn)動(dòng)姿態(tài)的實(shí)時(shí)采集與分析,可以使運(yùn)動(dòng)訓(xùn)練更加科學(xué)與高效。

        慣性傳感器;動(dòng)作捕捉;設(shè)計(jì)

        1 動(dòng)作捕捉概述

        動(dòng)作捕捉是利用機(jī)械裝置、光學(xué)或傳感器等設(shè)備獲取人體或其它物體運(yùn)動(dòng)數(shù)據(jù),并將這些運(yùn)動(dòng)姿態(tài)重現(xiàn)的技術(shù)[1]。在日常生活中,較為常見的應(yīng)用動(dòng)作捕捉技術(shù)是在動(dòng)畫電影及體感游戲中,首先由表演者穿戴上能夠采集運(yùn)動(dòng)數(shù)據(jù)的相關(guān)設(shè)備,然后利用軟件建模,再結(jié)合之前所得到的運(yùn)動(dòng)數(shù)據(jù)使建立的模型能夠與表演者同步運(yùn)動(dòng)或展現(xiàn)出表演者的動(dòng)作。如今,主流的動(dòng)作捕捉技術(shù)見表1。

        慣性式動(dòng)作捕捉通過九軸慣性傳感器航姿參考系統(tǒng)和慣性測(cè)量單元測(cè)量表演者運(yùn)動(dòng)加速度、方位、傾斜角等參數(shù),不受環(huán)境干擾影響,不怕遮擋,捕捉精確度高,采樣頻率可達(dá)每秒1000次或更高。由于采用高集成芯片及模塊,設(shè)備體積小、質(zhì)量輕,性價(jià)比高。將九軸慣性傳感器直接佩戴在表演者頭上,或?qū)?7個(gè)九軸慣性傳感器組成數(shù)據(jù)服穿戴在表演者身上,再通過Zigbee、藍(lán)牙、無線保真等方式與主機(jī)相聯(lián),可以分別跟蹤頭部和全身動(dòng)作,并實(shí)時(shí)顯示完整的動(dòng)作信息。

        2 系統(tǒng)總體設(shè)計(jì)

        2.1 設(shè)計(jì)框架

        一套完整的動(dòng)作捕捉系統(tǒng)可以劃分為三個(gè)主要部分。第一個(gè)部分是數(shù)據(jù)采集模塊,這是整個(gè)動(dòng)作捕捉系統(tǒng)的根基,所有其它模塊都需要用到九軸慣性傳感器所采集的人體姿態(tài)數(shù)據(jù),如果采集的數(shù)據(jù)不準(zhǔn)確,將會(huì)使最后的虛擬人體模型顯示效果大打折扣。第二部分是數(shù)據(jù)發(fā)送模塊,如果發(fā)出的數(shù)據(jù)出現(xiàn)大量丟包現(xiàn)象,無疑也會(huì)對(duì)動(dòng)作捕捉的準(zhǔn)確性造成致命影響。第三部分是建立一個(gè)標(biāo)準(zhǔn)的人體骨骼模型,并且將所采集到的表演者每個(gè)節(jié)點(diǎn)的數(shù)據(jù)綁定到人體模型的相應(yīng)節(jié)點(diǎn)上,同時(shí)在正反向運(yùn)動(dòng)學(xué)算法的幫助下使虛擬模型的運(yùn)動(dòng)更加貼近于真人[3]。

        系統(tǒng)框架可分為硬件及軟件兩個(gè)部分,如圖1所示。

        圖1 動(dòng)作捕捉系統(tǒng)框架

        人體主要由身體軀干、左右上肢、左右下肢及頭頸部等構(gòu)成,因此,在以上部位放置適當(dāng)數(shù)量的九軸慣性傳感器,可以獲取人體運(yùn)動(dòng)的全部信息。由于人體中的很多骨骼是剛性的,無法曲折,因此只需在連接剛性骨骼的關(guān)節(jié)點(diǎn)處放置九軸慣性傳感器。經(jīng)過對(duì)人體骨骼模型的簡(jiǎn)單抽象,可以在人體上抽象出17個(gè)關(guān)節(jié)點(diǎn),通過這17個(gè)關(guān)節(jié)點(diǎn)的數(shù)據(jù)可以基本完整地采集人體運(yùn)動(dòng)姿態(tài)的所有主要數(shù)據(jù),然后將采集到的數(shù)據(jù)通過無線保真方式發(fā)送至計(jì)算機(jī),再在計(jì)算機(jī)上對(duì)采集到的數(shù)據(jù)進(jìn)行處理,即可得到驅(qū)動(dòng)人體模型運(yùn)動(dòng)的姿態(tài)數(shù)據(jù),從而控制虛擬模型展示相同的運(yùn)動(dòng)。另外,還可以將人體運(yùn)動(dòng)的數(shù)據(jù)保存下來,以便其它軟件或平臺(tái)調(diào)用[4]。

        硬件系統(tǒng)的框架主要包括三個(gè)部分。第一個(gè)部分是傳感器硬件,主要功能是收集數(shù)據(jù)。第二個(gè)部分是數(shù)據(jù)匯集及發(fā)送,作用是匯集之前各節(jié)點(diǎn)的數(shù)據(jù),再將數(shù)據(jù)打包發(fā)送。第三個(gè)部分是電源,為各個(gè)芯片供電以確保系統(tǒng)正常運(yùn)轉(zhuǎn)。系統(tǒng)的硬件框架如圖2所示。

        圖2 動(dòng)作捕捉系統(tǒng)硬件框架

        整個(gè)系統(tǒng)的軟件框架如圖3所示。

        圖3 動(dòng)作捕捉系統(tǒng)軟件框架

        2.2 設(shè)計(jì)方案

        根據(jù)軟硬件框架,便可得到整個(gè)系統(tǒng)的設(shè)計(jì)方案,如圖4所示。

        圖4 動(dòng)作捕捉系統(tǒng)設(shè)計(jì)方案

        系統(tǒng)中,需要設(shè)計(jì)17個(gè)九軸慣性傳感器。所有九軸慣性傳感器都由JY901模塊采集運(yùn)動(dòng)數(shù)據(jù),然后通過串口通信傳送至STM32微控制器,STM32微控制器與SP3485半雙工收發(fā)器之間也通過串口進(jìn)行通信。之后,再將全部SP3485半雙工收發(fā)器串聯(lián)起來,并由最后一個(gè)SP3485半雙工收發(fā)器將數(shù)據(jù)傳送至串口轉(zhuǎn)無線保真發(fā)送。圖4中為了使框架簡(jiǎn)潔明了,將 1~17號(hào)九軸慣性傳感器全部串聯(lián)在一起,實(shí)際上若單條線上掛載了過多的九軸慣性傳感器,將會(huì)導(dǎo)致接收不到數(shù)據(jù),所以最后實(shí)際應(yīng)用中共分為5條線,每條線上掛載了2~4個(gè)九軸慣性傳感器不等。這些九軸慣性傳感器分別固定在影響人體運(yùn)動(dòng)的17個(gè)核心關(guān)節(jié)點(diǎn)上。當(dāng)數(shù)據(jù)匯集及發(fā)送部分接收數(shù)據(jù)完成后,便通過無線保真方式將數(shù)據(jù)打包再經(jīng)路由器發(fā)送至計(jì)算機(jī)。計(jì)算機(jī)上的三維模型軟件調(diào)用程序獲取數(shù)據(jù),將采集到的節(jié)點(diǎn)數(shù)據(jù)和三維模型的相應(yīng)節(jié)點(diǎn)進(jìn)行綁定,并經(jīng)過一系列融合計(jì)算后作為驅(qū)動(dòng)數(shù)據(jù)來控制虛擬人體模型進(jìn)行運(yùn)動(dòng)[5]。在演示完成后可以保存運(yùn)動(dòng)數(shù)據(jù),作為資料備份或提供給其它計(jì)算機(jī)圖形軟件使用。

        3 算法設(shè)計(jì)

        3.1 捷聯(lián)式慣性導(dǎo)航算法

        捷聯(lián)式慣性導(dǎo)航系統(tǒng)在幾十年前就開始應(yīng)用于各類飛行器上,它的工作原理與平臺(tái)式慣性導(dǎo)航系統(tǒng)頗為相似,但又有不同之處[6]。捷聯(lián)式慣性導(dǎo)航系統(tǒng)去掉了傳統(tǒng)的實(shí)體平臺(tái),直接利用安裝于機(jī)體上的加速度計(jì)及陀螺儀通過計(jì)算機(jī)數(shù)學(xué)平臺(tái)來獲取飛行器的位置速度及姿態(tài)信息。

        動(dòng)作捕捉系統(tǒng)利用數(shù)學(xué)平臺(tái),將傳感器坐標(biāo)系軸向加速度信息變換為地理坐標(biāo)系絕對(duì)加速度,對(duì)加速度做二次積分得到位移信息[7]。系統(tǒng)同時(shí)將陀螺儀測(cè)量的角速度減去地理坐標(biāo)系中相對(duì)慣性空間的角速度,從而得到傳感器坐標(biāo)系相對(duì)地理坐標(biāo)系的角速度。

        捷聯(lián)式慣性導(dǎo)航的基本原理框架如圖5所示。

        圖5 捷聯(lián)式慣性導(dǎo)航原理框架

        由圖5可知,加速度計(jì)和陀螺儀的原始數(shù)據(jù)經(jīng)過誤差補(bǔ)償和修正之后可以得出四元數(shù),由四元數(shù)可轉(zhuǎn)化為由傳感器坐標(biāo)系到地理坐標(biāo)系的方向余弦矩陣,得出絕對(duì)加速度,再經(jīng)過二次積分,得到相關(guān)位置信息[8]。由四元數(shù)還可轉(zhuǎn)化為歐拉角,獲取載體的姿態(tài)信息。將以上兩部分合并輸入三維模型軟件進(jìn)行融合,并加入運(yùn)動(dòng)學(xué)算法進(jìn)行進(jìn)一步處理,即可達(dá)到動(dòng)作還原的目的。

        3.2 運(yùn)動(dòng)學(xué)算法

        雖然傳感器采集的數(shù)據(jù)經(jīng)過捷聯(lián)式慣性導(dǎo)航算法的融合解算已經(jīng)比較準(zhǔn)確,但是由于傳感器綁在人體關(guān)節(jié)點(diǎn)上的具體位置有可能會(huì)有輕微偏差,加之傳感器本身測(cè)量數(shù)據(jù)的輕微誤差會(huì)導(dǎo)致虛擬人體模型的運(yùn)動(dòng)姿態(tài)與真實(shí)表演者相比產(chǎn)生一定失真度,以及設(shè)計(jì)采取收集表演者17個(gè)關(guān)節(jié)點(diǎn)的運(yùn)動(dòng)數(shù)據(jù),一些細(xì)節(jié)部位的運(yùn)動(dòng)數(shù)據(jù)并沒有采集到,因此會(huì)使虛擬人體模型的運(yùn)動(dòng)顯得僵硬。利用運(yùn)動(dòng)學(xué)算法對(duì)模型進(jìn)行約束,將使人體的運(yùn)動(dòng)變得更加自然和逼真[9-10]。

        運(yùn)動(dòng)學(xué)算法分為正向運(yùn)動(dòng)學(xué)算法和反向運(yùn)動(dòng)學(xué)算法。簡(jiǎn)單而言,正向運(yùn)動(dòng)學(xué)由父骨骼的旋轉(zhuǎn)運(yùn)動(dòng)帶動(dòng)一級(jí)子骨骼的旋轉(zhuǎn)運(yùn)動(dòng),一級(jí)子骨骼的旋轉(zhuǎn)運(yùn)動(dòng)再帶動(dòng)二級(jí)子骨骼的旋轉(zhuǎn)運(yùn)動(dòng),依次類推,層層遞進(jìn)直到最后一個(gè)子骨骼。反向運(yùn)動(dòng)學(xué)則由子骨骼的旋轉(zhuǎn)運(yùn)動(dòng)帶動(dòng)上一級(jí)骨骼的旋轉(zhuǎn)運(yùn)動(dòng)[11]。就三維建模軟件而言,一般由一個(gè)末端效應(yīng)器(一條關(guān)節(jié)鏈上的最后一個(gè)關(guān)節(jié)點(diǎn))、中間若干關(guān)節(jié)點(diǎn)和一個(gè)目標(biāo)位置(一條關(guān)節(jié)鏈上的起始關(guān)節(jié)點(diǎn))所構(gòu)成,當(dāng)末端效應(yīng)產(chǎn)生運(yùn)動(dòng)或旋轉(zhuǎn)時(shí),會(huì)帶動(dòng)整條關(guān)節(jié)鏈一步步運(yùn)動(dòng),直至目標(biāo)位置[12]。

        4 軟件設(shè)計(jì)

        4.1 數(shù)據(jù)傳輸軟件

        忽略STM32初始化程序,則整個(gè)程序主要包含讀取JY901數(shù)據(jù)程序和發(fā)送數(shù)據(jù)程序,以下對(duì)程序設(shè)計(jì)做詳細(xì)說明。

        主程序的設(shè)計(jì)流程如圖6所示。

        圖6 主程序設(shè)計(jì)流程

        主程序首先對(duì)STM32進(jìn)行初始化,然后需要加入一個(gè)延時(shí)函數(shù),該函數(shù)與九軸慣性傳感器數(shù)據(jù)采集速率相關(guān)。由于采用串口通信,因此要對(duì)串口進(jìn)行初始化。本設(shè)計(jì)主要用到了兩個(gè)串口USART1和USART2,USART2是STM32與JY901相連的串口,USART1是STM32發(fā)送給SP3485所用的串口。之后還要設(shè)置中斷優(yōu)先級(jí)分組,對(duì)應(yīng)函數(shù)是NVIC_Configuration。此外,為了判斷STM32是否處于正常工作狀態(tài),還在電路中加入了發(fā)光二極管,所以程序中還要對(duì)發(fā)光二極管進(jìn)行初始化。當(dāng)USART1發(fā)送標(biāo)志開時(shí),開始發(fā)送數(shù)據(jù)至SP3485。查閱JY901用戶手冊(cè),發(fā)送的數(shù)據(jù)共28Byte,以*號(hào)開頭,然后是傳感器地址,之后是24Byte的數(shù)據(jù),加速度、角速度、角度、磁場(chǎng)強(qiáng)度每項(xiàng)數(shù)據(jù)占6Byte,即每項(xiàng)數(shù)據(jù)的X、Y、Z軸各占 2Byte,最后以#號(hào)結(jié)尾。

        接收部分的程序放入了主中斷服務(wù)例程中,函數(shù)名為USART2_IRQHandler,即使用USART2來接收數(shù)據(jù)。首先需要判斷是否產(chǎn)生中斷,即JY901是否有數(shù)據(jù)傳送[13],若有,則由函數(shù) USART_ReceiveData 接收數(shù)據(jù),并由回調(diào)函數(shù)jyCal將數(shù)據(jù)放入數(shù)據(jù)緩沖區(qū)ucRxBuffer,讀取完畢后再由函數(shù)USART_ClearFlag來清零標(biāo)志位。

        不論接收還是發(fā)送,都使用了串口,所以如何初始化串口及滿足何條件才可以發(fā)送數(shù)據(jù)至關(guān)重要。串口的程序設(shè)計(jì)流程如圖7所示。

        圖7 串口程序設(shè)計(jì)流程

        由圖7可知,首先對(duì)串口進(jìn)行初始化,在主程序中將其波特率設(shè)為115200Baud。在初始化時(shí),先使用函數(shù)GPIO_InitTypeDefGPIO_InitStructure對(duì)通用輸入輸出端口進(jìn)行初始化設(shè)置,再使用函數(shù)USART_InitTypeDefUSART_InitStructure對(duì)具體串口進(jìn)行初始化設(shè)置[14]。

        另外,由于USART1_TX對(duì)應(yīng)的引腳為PA.9,USART1_RX對(duì)應(yīng)的引腳為PA.10,因此還要對(duì)這兩個(gè)引腳進(jìn)行初始化,PA.9為復(fù)用推挽輸出(GPIO_Mode_AF_PP),PA.10為浮空輸入(GPIO_Mode_IN_FLOATING),USART2類似。

        初始化設(shè)置串口時(shí),需要設(shè)置串口波特率和數(shù)據(jù)格式[15],并設(shè)置一個(gè)停止位,不需要設(shè)置奇偶校驗(yàn)位。此外,還需設(shè)為無硬件數(shù)據(jù)流控制,并設(shè)置收發(fā)模式。

        需要注意USART1的中斷服務(wù)程序USART1_IRQHandler,這一函數(shù)的主要作用是接收中斷和讀取數(shù)據(jù)緩沖區(qū)數(shù)據(jù)[16],并在數(shù)據(jù)讀取完畢后開發(fā)送標(biāo)志位,使數(shù)據(jù)可以發(fā)送。中斷服務(wù)程序的設(shè)計(jì)流程如圖8所示。

        圖8 USART1中斷服務(wù)程序設(shè)計(jì)流程

        由圖8可見,接收到中斷后開始讀取數(shù)據(jù),此處需要做判斷數(shù)據(jù)是否以*號(hào)開頭,防止數(shù)據(jù)混亂。如果滿足條件,則開始讀取之前置于數(shù)據(jù)緩沖區(qū)的數(shù)據(jù),遇到#號(hào)則停止讀取。此時(shí)需要判斷地址是否匹配,如果匹配才開USART1數(shù)據(jù)發(fā)送標(biāo)志位。開數(shù)據(jù)發(fā)送標(biāo)志位后,可以由STM32向SP3485發(fā)送數(shù)據(jù)[17]。至此,傳感器數(shù)據(jù)傳輸?shù)能浖糠志褜?shí)現(xiàn),下一步需要考慮如何在三維模型軟件端接收無線保真方式發(fā)送來的數(shù)據(jù)。

        路由器要將數(shù)據(jù)傳輸至三維模型軟件,需要用到套接字編程(Socket)[18]。Socket的實(shí)現(xiàn)框架如圖9所示。

        圖9 Socket實(shí)現(xiàn)框架

        整段代碼較為冗長(zhǎng),此處對(duì)主要函數(shù)進(jìn)行簡(jiǎn)要說明。本設(shè)計(jì)將Socket置于線程中,并通過線程來管理Socket。在線程函數(shù)中,第一步是對(duì)WinSock進(jìn)行初始化,如果初始化失敗則輸出錯(cuò)誤信息[19]。第二步是使用函數(shù)jy->m_sock=Socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)來創(chuàng)建服務(wù)器Socket,如果創(chuàng)建異常,同樣會(huì)輸出錯(cuò)誤信息。第三步需要對(duì)相關(guān)信息進(jìn)行聲明。第四步是端口綁定,由函數(shù)iErrorMsg=Bind(jy->m_sock,(sockaddr*)&serverAddr,sizeof(serverAddr))來實(shí)現(xiàn)。第五步是由函數(shù)Listen(jy->m_sock,1)進(jìn)行監(jiān)聽,當(dāng)監(jiān)聽到有數(shù)據(jù)傳來時(shí),便調(diào)用函數(shù)Accept(jy->m_sock,(sockaddr*)&tcpAddr,&len)。

        以上流程完成后便可以進(jìn)行數(shù)據(jù)交換。在進(jìn)行數(shù)據(jù)交換時(shí),服務(wù)器端依次發(fā)送每個(gè)九軸慣性傳感器的地址指令,匹配的傳感器接收后解析指令,再發(fā)送最新的采集數(shù)據(jù)。服務(wù)器端接收到最新數(shù)據(jù)后發(fā)送下一個(gè)九軸慣性傳感器的地址指令,如此周而復(fù)始獲取所有九軸慣性傳感器的數(shù)據(jù)[20]。本部分功能由函數(shù)GetData()完成。

        當(dāng)所有數(shù)據(jù)交換完成后,可由函數(shù)CloseSocket(jy->m_sock)關(guān)閉Socket。

        4.2 三維模型軟件

        在Motion Builder軟件的文件夾中有一個(gè)OpenRealitySDK文件夾,里面包含了開發(fā)所需的所有頭文件、庫文件、腳本及一些基本示例。本設(shè)計(jì)主要使用其中的Devices文件夾,該文件夾中包含了像機(jī)跟蹤、輸入輸出、錄制播放列表及同步鎖定等多種控件[21],每個(gè)控件都有Device、Hardware、Layout三個(gè)文件及相對(duì)應(yīng)的頭文件。Device文件的作用相當(dāng)于控制器,Hardware文件的作用相當(dāng)于模型、Layout文件的作用相當(dāng)于視圖[22]。Device文件主要負(fù)責(zé)操作模型相關(guān)內(nèi)容,如錄制保存幀數(shù)據(jù)、調(diào)整骨骼、調(diào)節(jié)攝像機(jī)角度等。Hardware文件在本設(shè)計(jì)中主要負(fù)責(zé)建立骨骼、獲取相應(yīng)關(guān)節(jié)點(diǎn)數(shù)據(jù)和刷新數(shù)據(jù)等工作。Layout文件主要負(fù)責(zé)與頁面布局及用戶可視相關(guān)的內(nèi)容。

        三維模型軟件的設(shè)計(jì)流程如圖10所示,主要有三個(gè)關(guān)鍵環(huán)節(jié): 數(shù)據(jù)接收、骨骼構(gòu)造,以及將數(shù)據(jù)傳送至相應(yīng)的虛擬骨骼關(guān)節(jié)點(diǎn)。由于單一的骨骼會(huì)使虛擬人體模型視覺效果不佳,因此需要對(duì)骨骼進(jìn)行蒙皮處理,這樣得到的人體模型逼真度更高,也更有利于觀察三維模型的動(dòng)作是否和表演者一致。三個(gè)關(guān)鍵環(huán)節(jié)主要在Ordeviceskeleton_hardware.cpp中實(shí)現(xiàn)[23],程序中對(duì)Socket的加載、創(chuàng)建,以及傳輸控制協(xié)議連接請(qǐng)求的發(fā)送、接收等操作都進(jìn)行了封裝。

        圖10 三維模型軟件設(shè)計(jì)流程

        5 數(shù)據(jù)測(cè)試

        5.1 數(shù)據(jù)傳輸測(cè)試

        數(shù)據(jù)測(cè)試?yán)脗鬏斂刂茀f(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議測(cè)試工具,設(shè)置好網(wǎng)際協(xié)議及相關(guān)端口后,創(chuàng)建服務(wù)器并啟動(dòng),若連接成功便會(huì)自動(dòng)出現(xiàn)客戶端界面。以16進(jìn)制發(fā)送命令2A0123,其中01代表地址,亦即傳感器的編號(hào)。發(fā)送命令之后,若連接通暢,則會(huì)接收到以16進(jìn)制表示的回傳數(shù)據(jù)2A-01-XXX-23,其中XXX為加速度、角速度及磁場(chǎng)強(qiáng)度的原始數(shù)據(jù),每個(gè)軸向的數(shù)據(jù)占2Byte。數(shù)據(jù)傳輸測(cè)試截圖如圖11所示。

        5.2 單節(jié)點(diǎn)測(cè)試

        在確定數(shù)據(jù)能夠正常發(fā)送和傳輸后,結(jié)合三維模型軟件進(jìn)行單節(jié)點(diǎn)測(cè)試,目的是測(cè)試數(shù)據(jù)可否正常被三維模型軟件解算及測(cè)試數(shù)據(jù)采集模塊的靈敏度與準(zhǔn)確度。在測(cè)試中,數(shù)據(jù)采集模塊將采集到的原始數(shù)據(jù)以無線保真方式發(fā)送至三維模型軟件中,然后由捷聯(lián)式慣性導(dǎo)航算法對(duì)數(shù)據(jù)進(jìn)行處理,得到較為準(zhǔn)確的位移和角度信息,再建立骨骼,進(jìn)行數(shù)據(jù)綁定,并利用運(yùn)動(dòng)學(xué)算法對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步融合解算[24],這樣就可以利用所采集的姿態(tài)數(shù)據(jù)來驅(qū)動(dòng)控制模型同步運(yùn)動(dòng)。單節(jié)點(diǎn)測(cè)試效果如圖12所示,三維模型運(yùn)動(dòng)姿態(tài)與表演者基本一致。

        6 結(jié)果顯示

        由于節(jié)點(diǎn)綁定、端口號(hào)及網(wǎng)際協(xié)議設(shè)置等操作都已在代碼中完成,因此在軟件中只需將修改完成后的骨骼添加至視圖界面進(jìn)行角色化,再對(duì)骨骼進(jìn)行蒙皮等操作即可。在表演者身上佩戴傳感器時(shí)需要注意,由于傳感器體積及人體自身身體構(gòu)造等原因,不可將傳感器佩戴至手腕、手肘、膝蓋、腳踝等部位,而是將傳感器置于這些關(guān)節(jié)點(diǎn)向前1~2cm 處。此外,需要注意佩戴至同一軀干的傳感器位置需盡量保持在同一直線上,以保證初始化時(shí)三維模型和表演者同姿態(tài)[25]。

        完成上述操作后,便可收集表演者的運(yùn)動(dòng)數(shù)據(jù)來控制三維模型同步運(yùn)動(dòng)。如圖13所示,當(dāng)表演者展現(xiàn)出不同的運(yùn)動(dòng)姿態(tài)時(shí),創(chuàng)建的三維模型會(huì)隨即運(yùn)動(dòng)呈現(xiàn)出相同的姿態(tài),由此實(shí)現(xiàn)設(shè)計(jì)的基本目的,即將捕捉到的真實(shí)人體運(yùn)動(dòng)數(shù)據(jù)用于控制虛擬人體模型運(yùn)動(dòng)。為盡可能用到所有關(guān)節(jié)點(diǎn),采取了雙手平伸、跑步、扎馬步及搏擊等動(dòng)作。

        圖11 數(shù)據(jù)傳輸測(cè)試截圖

        圖12 單節(jié)點(diǎn)測(cè)試效果圖

        圖13 動(dòng)作捕捉系統(tǒng)結(jié)果顯示

        三維模型的動(dòng)作與表演者的動(dòng)作幾乎一致,證明了動(dòng)作捕捉系統(tǒng)的設(shè)計(jì)正確性與實(shí)現(xiàn)有效性。

        7 設(shè)計(jì)小結(jié)

        利用傳感器進(jìn)行動(dòng)作捕捉,設(shè)計(jì)了人體動(dòng)作捕捉系統(tǒng),包括整個(gè)系統(tǒng)的設(shè)計(jì)框架及軟硬件實(shí)現(xiàn)的詳細(xì)方案,考慮了數(shù)據(jù)的采集、傳輸、處理及圖像顯示等內(nèi)容。選用JY901作為數(shù)據(jù)采集的核心,并以其為基礎(chǔ)完成一個(gè)可采集、可發(fā)送、可接收的單傳感器節(jié)點(diǎn)。對(duì)傳感器的連接方式及如何在人體上布置傳感器進(jìn)行了設(shè)計(jì)和實(shí)現(xiàn)。將各傳感器與節(jié)點(diǎn)通過RS485連接,以匯集模塊中的SP3485作為主機(jī),以各傳感器節(jié)點(diǎn)中的SP3485作為從機(jī)。主SP3485連接串口轉(zhuǎn)無線保真模塊后,由該模塊將數(shù)據(jù)打包并發(fā)送至三維模型軟件,軟件中利用Socket來接收。對(duì)三維模型軟件設(shè)計(jì)了整體框架,實(shí)現(xiàn)了建立骨骼、獲取數(shù)據(jù)及數(shù)據(jù)綁定等功能。

        基于九軸慣性傳感器的人體動(dòng)作捕捉系統(tǒng)已基本建立,下一步將通過采用更高精度芯片、優(yōu)化代碼等手段,提升平臺(tái)的性能。相信隨著科技的發(fā)展,動(dòng)作捕捉技術(shù)將會(huì)得到越來越深入的研究和應(yīng)用。

        8 未來展望

        基于九軸慣性傳感器的人體動(dòng)作捕捉系統(tǒng)基本滿足了課題的既定要求和目標(biāo),能夠進(jìn)行人體動(dòng)作的捕捉,但仍有不足之處,需要從以下幾方面進(jìn)行改進(jìn)。

        (1) 人體模型基于動(dòng)力學(xué)人體骨骼模型建立,只能表征人體的基本運(yùn)動(dòng)特征,對(duì)人體的細(xì)微動(dòng)作,如面部表情、肌肉抖動(dòng)等都不能進(jìn)行捕捉,因此需要提高傳感器的數(shù)據(jù)采集精度。

        (2) 由于設(shè)備的限制,沒有采用光學(xué)設(shè)備對(duì)傳感器的運(yùn)動(dòng)姿態(tài)進(jìn)行精確測(cè)量,因此沒有準(zhǔn)確的參考數(shù)據(jù)以供研究分析。下一步,需要采購光學(xué)設(shè)備進(jìn)行姿態(tài)測(cè)量。

        (3) 目前由于計(jì)算人體軌跡的方式比較復(fù)雜,系統(tǒng)只能捕捉人體靜止不動(dòng)時(shí)的動(dòng)作姿態(tài),還不能捕捉人體運(yùn)動(dòng)時(shí)的姿態(tài),這將是以后研究的重點(diǎn)。

        [1] WITTMANN F, LAMBERCY O, GONZENBACH R R, et al. Assessment-driven Arm Therapy at Home Using an IMU-based Virtual Reality System[C]. Rehabilitation Robotics(ICORR),2015 IEEE International Conference on, Singapore, 2015.

        [2] COSTA R, GUO R K, QUARLES J. Towards Usable Underwater Virtual Reality Systems[C]. Virtual Reality(VR),2017 IEEE, Los Angeles, 2017.

        [3] MUMTAZ N, ARIF S, QADEER N, et al. Development of a Low Cost Wireless IMU Using MEMS Sensors for Pedestrian Navigation[C]. Communication, Computing and Digital Systems(C-CODE), International Conference on, Islamabad, 2017.

        [4] KANG C W, YOO Y M, PARK C G, et al. Performance Improvement of Attitude Estimation Using Modified Euler Angle Based Kalman Filter[J]. Journal of Institute of Control, Robotics and Systems,2008,14(9): 881-885.

        [5] 孫克誠(chéng).三軸飛行仿真平臺(tái)控制系統(tǒng)的設(shè)計(jì)與研究[D].南昌: 南昌航空大學(xué),2016.

        [6] 王偉棟.基于微慣性技術(shù)的數(shù)據(jù)手套研究[D].上海: 上海交通大學(xué),2014.

        [7] HSU Y L, WANG J S, CHANG C W. A Wearable Inertial Pedestrian Navigation System with Quaternion-Based Extended Kalman Filter for Pedestrian Localization[J]. IEEE Sensors Journal,2017,17(10): 3193-3206.

        [8] SIMON D. Optimal State Estimation: Kalman, H∞ and Nonlinear Approaches[M]. Hoboken: Wiley-Interscience, 2006.

        [9] 向澤銳,支錦亦,徐伯初,等.運(yùn)動(dòng)捕捉技術(shù)及其應(yīng)用研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2013,30(8): 2241-2245.

        [10] 黃波士,陳福民.人體運(yùn)動(dòng)捕捉及運(yùn)動(dòng)控制的研究[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(7): 60-63.

        [11] 李佳.多視角三維人體運(yùn)動(dòng)捕捉的研究[D].北京: 北京交通大學(xué),2013.

        [12] NOIUMKAR S, TIRAKOAT S. Use of Optical Motion Capture in Sports Science: A Case Study of Golf Swing[C]. Informatics and Creative Multimedia(ICICM),2013 International Conference on, Kuala Lumpur, 2013.

        [13] 劉賢梅,李冰,吳瓊.基于運(yùn)動(dòng)捕獲數(shù)據(jù)的虛擬人動(dòng)畫研究[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(8): 113-119.

        [14] 姚旭東.基于運(yùn)動(dòng)捕捉數(shù)據(jù)的虛擬人建模及運(yùn)動(dòng)仿真[J].計(jì)算機(jī)仿真,2010,27(6): 225-229.

        [15] 劉博.基于MEMS傳感器的動(dòng)作捕捉系統(tǒng)開發(fā)設(shè)計(jì)[D].北京: 北京理工大學(xué),2011.

        [16] 杜曉明,陳巖.無線傳感器網(wǎng)絡(luò)研究現(xiàn)狀與應(yīng)用[J].北京工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,26(1): 41-44.

        [17] 王建閣,李娟,丁波,等.基于JN5139的無線溫濕度監(jiān)控系統(tǒng)[J].計(jì)算機(jī)測(cè)量與控制,2013,21(4): 904-906.

        [18] 李啟雷,金文光,耿衛(wèi)東.基于無線慣性傳感器的人體動(dòng)作捕獲方法[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2012,46(2): 280-285.

        [19] 李春霞,楊克儉,李波.人體骨架模型的建立及IK問題的一種解決方式[J].武漢理工大學(xué)學(xué)報(bào)(交通科學(xué)與工程版),2013,27(6): 815-818.

        [20] 陳明志,陳健,許春耀.基于兩段式IK與關(guān)鍵幀的虛擬人運(yùn)動(dòng)控制[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(7): 2760-2765.

        [21] 沈娟,李建微.動(dòng)作捕捉中的動(dòng)畫驅(qū)動(dòng)及運(yùn)動(dòng)編輯技術(shù)綜述[J].計(jì)算機(jī)與數(shù)字工程,2008,36(3): 103-106.

        [22] 唐文彥.傳感器[M].5版.北京: 機(jī)械工業(yè)出版社,2014.

        [23] KHOSHNOUD F, DE SILVA C W. Recent Advances in MEMS Sensor Technology-mechanical Applications[J]. IEEE Instrumentation & Measurement Magazine,2012,15(2): 14-24.

        [24] 秦勇,臧希喆,王曉宇,等.基于MEMS慣性傳感器的機(jī)器人姿態(tài)檢測(cè)系統(tǒng)的研究[J].傳感技術(shù)學(xué)報(bào),2007,20(2): 298-301.

        [25] YADAV A, NAIK N, ANANTHASAYANAM M R, et al. A Constant Gain Kalman Filter Approach to Target Tracking in Wireless Sensor Networks[C]. Industrial and Information System(ICIIS),2012 7th IEEE International Conference on, Chennai, 2012.

        (編輯: 啟德)

        Traditional motion capture and analysis are conducted in mechanical, optical or acoustic modes, however theses modes occupy large space and cost with complicated operations. A human body motion capture system based on 9-axis inertial sensor was studied, the inertial sensing technique was combined with human science to abstract 17 articulation points from human body, human motion data were collected through the 17 joints while the data were sent to the computer by Wi-Fi. The data was processed on the computer to obtain the posture data that drove the model motion in order to control the virtual model to show the motion. This motion capture system has the advantages of economy, convenience with no affects from other factors such as site and weather. Due to that it is possible to realize real-time acquisition and analysis of the posture as the human body is moving it can make sports training more scientific and more efficient.

        InertialSensor;MotionCapture;Design

        TM743;TP391.4

        A

        1674-540X(2017)04-001-08

        *2016年湖北省高等學(xué)校優(yōu)秀中青年科技創(chuàng)新團(tuán)隊(duì)計(jì)劃項(xiàng)目(編號(hào): T201628)

        2016年武漢市屬高校產(chǎn)學(xué)研項(xiàng)目(編號(hào): CXY201612)

        2017年8月

        楊成(1985—),男,博士研究生,講師,主要研究方向?yàn)檫\(yùn)動(dòng)人體仿真與運(yùn)動(dòng)訓(xùn)練,E-mail: 506860650@qq.com

        猜你喜歡
        關(guān)節(jié)點(diǎn)慣性骨骼
        你真的了解慣性嗎
        沖破『慣性』 看慣性
        做家務(wù)的女性骨骼更強(qiáng)壯
        中老年保健(2021年5期)2021-12-02 15:48:21
        三減三健全民行動(dòng)——健康骨骼
        中老年保健(2021年5期)2021-08-24 07:06:28
        基于深度學(xué)習(xí)和視覺檢測(cè)的地鐵違規(guī)行為預(yù)警系統(tǒng)研究與應(yīng)用
        關(guān)節(jié)點(diǎn)連接歷史圖與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的雙人交互動(dòng)作識(shí)別
        無處不在的慣性
        骨骼和肌肉
        小布老虎(2017年1期)2017-07-18 10:57:27
        搞好新形勢(shì)下軍營(yíng)美術(shù)活動(dòng)需把握的關(guān)節(jié)點(diǎn)
        普遍存在的慣性
        国产精品蝌蚪九色av综合网| 亚洲中文字幕亚洲中文| 一本色道精品亚洲国产一区| 精品高朝久久久久9999| 国产免费av片在线播放 | 国产在线视频91九色| 婷婷色香五月综合激激情| 亚洲日韩欧美国产另类综合| 中文一区二区三区无码视频| 国产女人精品一区二区三区| 中文人妻熟女乱又乱精品| 精品无码国产自产野外拍在线| 亚洲一区二区三区在线观看播放| 久久久噜噜噜噜久久熟女m| 久久99精品久久久久麻豆| 图片区小说区激情区偷拍区| 人妻丰满熟妇AV无码片| 日本熟妇裸体视频在线| 五月色丁香婷婷网蜜臀av| 国产成人亚洲精品无码mp4| 日韩中文字幕一区二区高清| 亚洲乱码中文字幕第一页| 奇米影视色777四色在线首页| 爱情岛永久地址www成人| 亚洲欧美日韩国产综合专区| 国产一区资源在线播放| av无码国产在线看免费网站| 少妇人妻在线视频| 精品黑人一区二区三区| 粉嫩极品国产在线观看免费一区| 老太脱裤子让老头玩xxxxx| 亚洲综合色一区二区三区另类| 国产精品污一区二区三区在线观看 | 精品久久久久久蜜臂a∨| 精品国产av一区二区三四区| 国产精品免费看久久久无码| 大学生被内谢粉嫩无套| 亚洲一区二区三区在线中文| 精品国产一区二区三区久久女人| 国产影院一区二区在线| 中文字幕亚洲综合久久菠萝蜜|