999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于動作捕捉追蹤器及數據手套的VR拓展設備設計

2024-03-08 03:31:20王靈芝陳穎頻周云杰
長春師范大學學報 2024年2期
關鍵詞:動作系統

王靈芝,張 俊,陳穎頻,周云杰

(1.廈門城市職業學院人工智能學院,福建 廈門 361008;2.閩南師范大學物理與信息工程學院,福建 漳州 363000)

1 VR設備國內外發展現狀及前景

近年來,隨著體感設備及VR領域的興起,催生了元宇宙概念的誕生。為了更好地服務元宇宙應用中的交互問題,人們對虛擬設備提出更高的交互需求。虛擬現實設備除了能提供手部以及頭部的交互之外,還應拓展其他肢體及軀干的捕捉,使得虛擬形象更加靈活自然,增強在虛擬世界社交中的沉浸感。

目前家用VR的主流產品有基于LightHouse激光點陣定位的HTC Vive及Valve Index兩款產品。兩者都可捕捉頭部及手部運動,通過增加Tracker還能捕捉身體任意部位的運動。此外還有Oculus公司的Quest2產品,采用紅外灰度攝像頭與九軸IMU相結合,通過計算機視覺來進行姿態定位。但上述產品僅能捕捉有限角度,對超出攝像頭視角的手柄無法捕捉,且無官方途徑拓展除頭部手部外的捕捉。

我國對動作捕捉技術的研究起步較晚,但市場前景廣闊,眾多科研機構和學者對其展現出非常大的興趣[1]。其中比較有代表性的是中國科學院傳感網絡和應用聯合研究中心吳教授團隊研究的MMocap系統,該系統在IMU式動作捕捉的基礎上引入了步態分析等,增加了姿態分析與識別系統。此外還有諾亦騰(Noitom)的動捕系統及數據手套,提供了輕量的開發工具及Demo,但其多用于影視制作中為演員提供高精度的動作捕捉,以及在醫療研究中分析患者肢體運動特征。上述的商用產品因為其高昂的成本和技術需求,并不適用于家用VR場景。

本系統可實現動作捕捉并跟蹤記錄人體運動過程中的物理數據,用于生成3D模型,并在虛擬環境下還原人體動作。在開源項目OpenVR[2],SlimeVR[3]及OpenGloves[4]的基礎上設計滿足其規范的外設硬件。通過上述開源項目的支持,可在已有家用VR頭戴及其配套定位手柄的情況下,提供腰部、腿部、腳部及手指等部位的追蹤,最終在VR軟件實現全身追蹤效果。各下位機終端均具有完善的調試接口及電源設計。各設備利用Solidworks軟件建模并進行3D打印,數據手套控制舵機實現手指彎曲動態限位,可實現力反饋體感手套。圖1為系統整體示意圖。

圖1 系統整體示意圖

2 系統框圖

圖2為系統總框圖。OpenVR[2]是Valve公司開發的系列SDK及API規范,向下為VR硬件廠商提供驅動層的軟硬件支持,向上為VR應用提供統一的數據接口。SlimeVR Server為CrowdSupply上的開源項目,可以為基于網絡協議的追蹤器提供人體姿態解算及OpenVR Driver接口[3]。OpenGloves開源軟件支持動作捕捉手套的設備,并將其模擬為Valve Index的Knuckles控制器(即OpenVR Driver輸入設備),后接入OpenVR API使用[4]。在此框架之下,可實現VR拓展設備的設計。

圖2 系統總框圖

2.1 JY901S IMU模塊

追蹤器最核心的部件為慣性傳感器(IMU),通過其采集腰部、腿部、腳部的姿態數據。慣性傳感器一般分為六軸和九軸,其中六軸由三軸加速度計和三軸陀螺儀組成,九軸則是在六軸基礎上加入了三軸磁力計組成。數據融合和姿態解算系統是IMU的核心,目前主流IMU都帶有數字運動處理器(Digital Motion Processor,DMP)來預處理信息及數據融合。

設計中使用了JY901S九軸慣性傳感器模塊,其內置32位單片機[5]。通過自帶的高動態卡爾曼濾波算法,可將3個傳感器的數據融合輸出,輸出格式為東-北-天坐標系下的歐拉角或是四元數[6]。由于現有的OpenVR應用所需的人體骨骼旋轉向量輸入均為四元數表示,所采用的人體姿態解算的引擎也采用了四元數輸入輸出及運算;此外四元數對比歐拉角具有計算量小、不存在無萬向節死鎖及姿態描述等問題,故系統內的所有旋轉均用四元數表示[7]。

2.2 人體姿態解算原理

人體姿態的解算可以通過運動學知識來解決,在運動學中,解算人體模型運動的方法有兩種,分別是正向運動學和反向運動學。本設計基于正向運動學進行人體捕捉,即在已知人體各關節的旋轉角度時,人體任何關節的位置可以通過人體的關節連接、關節長度和旋轉角度來計算,一般正向運動學的解是唯一的[8]。

人體姿態的解算大都使用棒狀模型對人體進行簡化,將人體的主要關節抽象成一個節點,關節之間的骨骼抽象成一條連桿。本設計為家用VR設備的衍生,額外捕捉軀干及下半身。故考慮頭(Head)、頸(Neck)、胸(Chest)、腰(Waist)、髖(Hip)、臀(分為左右臀:Left Hip,Right Hip)、膝(Knee)、踝(Ankle)、腳(Foot)這幾個關節點。

jMonkeyEngine是一款開源的游戲引擎,通過jMonkeyEnginer可創建節點及節點關系以實現正向運動學的人體姿態解算模型。節點間的關系與數據結構中樹的定義類似,當前節點的上位節點即為當前節點的父節點[9]。

根據圖3設置各節點之間關系,可得到人體的骨骼模型。項目基于真實人體參數設置兩節點間初始坐標距離偏移,當父節點發生旋轉后將遞歸帶動所有子節點旋轉,從而更新所有節點的絕對旋轉(角度)。各節點的IMU模塊輸出在全局坐標系下的位置并旋轉(角度)至游戲引擎,即可完成人體姿態解算。

圖3 正向運動學人體姿態解算原理

2.3 系統通信方案

ESP32內部集成2.4 GHz Wi-Fi和藍牙通信功能,故追蹤器節點和數據手套與PC間通信采用的是Wi-Fi和藍牙兩種通信方式。由于系統追蹤器節點多,且對數據實時性、通信速率均有一定要求,故追蹤器部分采用2.4 G Wi-Fi方式通信,傳輸控制協議為UDP。數據手套部分采用藍牙通信,省電且傳輸穩定足以滿足通信要求,如圖4所示。

圖4 系統通信示意圖

3 硬件部分

3.1 追蹤器節點設計

追蹤器節點硬件結構如圖5所示。追蹤器節點與人體關節綁定,實現人體關節運動信息的實時采集。其包括JY901S模塊、ESP32、3.3 V DC-DC電源、鋰電池管理、USB-TTL雙串口及自動下載等部分。ESP32內部集成Wi-Fi+藍牙方案[10],ESP32可兼做主控與無線收發。

圖5 追蹤器節點硬件結構圖 圖6 數據手套硬件結構圖

3.2 數據手套節點設計

數據手套為穿戴設備,可實現手指彎曲度的采集。數據手套的硬件原理如圖6所示,包括ESP32、MG90S舵機、電位器、電池管理及串行通信等部分。ESP32通過內部的ADC采集經電位器分壓后的電壓,經編碼后發送;同時接收來自PC的手指限位數據,輸出相應的PWM信號控制舵機的動作。

3.3 鋰電池管理

本系統為穿戴式設備,需通過鋰電池實現供電。由于追蹤器節點和數據手套所需的電源功率不同,選用不同的電源管理芯片以滿足需求。

3.3.1 ETA6093鋰電池管理方案

追蹤器模塊的電源管理采用ETA6093開關型的鋰電池充放電管理芯片。其電源效率高達95%,能夠給電池提供1.2 A 的充電電流,可工作在充電模式或升壓模式[11]。

模塊電路部分如圖7所示,IC的OUT引腳既為5 V電壓輸入,也為5 V電壓輸出端。當USB Type-C接入OUT引腳時,SW引腳通過電感L2接入BAT引腳實現反饋,此時電路工進入Buck充電狀態。當OUT引腳未接入電源時,鋰電池從BAT引腳送入經電感L2接入SW引腳,構成Boost電路。OUT引腳提供5 V電壓輸出。LED引腳由IC控制,指示充放電狀態。

圖7 ETA6093鋰電池管理電路

3.3.2 IP5306_CK鋰電池管理電路

數據手套模塊鋰電池管理采用IP5306_CK芯片來設計。相較前一種方案,IP5306-CK支持邊充邊放,自適應充電電流調節。還能提供2.4 A的同步5 V升壓轉換。考慮到控制板需要控制5個MG90S舵機,大約需要2 A的電流輸出,故采用此方案[12]。模塊電路部分如圖8所示,IC的VIN引腳為5 V電壓輸入,VOUT引腳為5 V電壓輸出,SW引腳為控制端,BAT引腳為反饋引腳。LED1/2/3引腳用于指示電量及充放電狀態。KEY引腳接獨立按鍵即可實現升壓輸出與充電模式的切換。

圖8 IP5306_CK鋰電池管理電路

3.4 DC-DC電源與USB轉串口模塊

本系統中主控及大部分傳感器都需要3.3 V供電,設計中采用SY8008 DC-DC芯片來設計,能夠提供高達1.2 A的輸出電流,模塊電路部分如圖9所示[13]。ESP32及JY901S都需串口調試及下載電路,系統采用CH342F實現USB轉雙串口方案,電路部分如圖10所示[14]。串口A實現ESP32的自動下載和串行通信,串口B接入JY901S模塊用于上位機調試。D+、D-引腳對應接入USB的Data信號線的USB_DP/USB_DN。VIO引腳為I/O端口電源輸入,使用IC內部電源供電,外部須接退耦電容C1。

圖9 SY8008 DC-DC電路

圖10 USB轉串口電路

4 軟件部分

4.1 ESP32開發部分

在軟件設計中ESP32搭載官方定制版FreeRTOS,提高系統運行的實時性和運行效率。在追蹤器的軟件設計上,由于主程序僅包含初始化硬件,IMU數據的輪詢與發送,故不用設計多任務系統,僅需調用AsyncUDP庫即可實現UDP客戶端異步收發功能。在數據手套的軟件設計上,因為輸入硬件多,且優先級各不相同,還涉及接收數據進行舵機動態限位的控制,故采用多任務,主要設計啟動了6個任務,如表1所示。系統閑時任務流程如圖11所示。

表1 FreeRTOS任務名稱及內容

圖11 系統閑時任務流程

4.2 手指手勢識別原理

手指手勢識別原理就是基于真實情況下手指彎曲度的特征判斷。硬件上通過電位器纏繞一線軸,通過手指拉扯線軸,就能獲得手指彎曲的幅度。按照OpenVR的交互設備輸入規范,可識別抓取手勢、捏取手勢及扳機手勢。

4.2.1 抓取手勢

在抓取手勢下,食指、中指、無名指以及小指都是處于彎曲度超過50%的狀態,也可以是多指彎曲超過50%,故對于此種手勢的判斷僅需將對應4指的彎曲度進行平均,若超過50%即可判定為抓取手勢。

4.2.2 捏取手勢

當處于捏取手勢下,食指及拇指的彎曲是區別于其他手勢的主要特征,當食指和拇指平均彎曲超過50%即可判定為捏取。

4.2.3 扳機手勢

顯然,食指扣動扳機的手勢的唯一特征為食指彎曲度超過50%,僅判斷食指單指彎曲大于50%即可認為處于扳機手勢。

4.3 追蹤器節點與SlimeVR Server通信

利用ESP32內部集成2.4 GHz Wi-Fi通信功能,多個追蹤器節點可實時將IMU獲取的人體姿態四元數送入PC端SlimeVR Server進行姿態解算,通信采用UDP協議。追蹤器節點通過Broadcast在指定端口廣播握手數據包,服務器監聽端口上的所有信息。追蹤器接收信息后執行Bind指令,綁定服務器IP地址。完成握手與綁定后便可以發送與接收數據。程序能實現多個追蹤器同時與Server通信。SlimeVR開源接口基本幀數據格式如表2所示。數據幀內涉及多字節變量,以大端方式即高字節在前方式發送。客戶端發送數據包類型包括心跳數據、握手數據、加速度、四元數、電池電量等。

表2 追蹤器節點通訊數據格式

4.4 數據手套與OpenGlove通信

數據手套與OpenGloves開源軟件基于藍牙實現通信,在PC上搜索并連接名字為opengloves-left或opengloves-right的藍牙設備,即可分別建立有效穩定的通信連接。數據幀內涉及多字節變量,以大端方式即高字節在前方式發送。客戶端基本發送幀數據格式如表3所示。

表3 數據手套發送幀數據格式

為了制作了VR力反饋體感手套。設計中利用SteamVR驅動軟件,根據VR游戲中各種3D物體的尺寸,計算出手指限位的數據并發送給下位機。客戶端接收幀數據格式如表4所示。

表4 數據手套接收幀數據格式

5 驗證及測試

上文對本系統的原理及技術實現進行了闡述,下面對系統關鍵指標進行測試、驗證與分析。追蹤器是動作捕捉的基礎,而精度及延遲會大幅影響VR下的沉浸感,若動作捕捉精度不佳或延遲較高,則動作捕捉的效果會大打折扣。故此部分的測試從精度、吞吐量及延遲入手。

5.1 動作捕捉系統精度

整體的動作捕捉系統精度來自于單個節點的精度,又分為靜態精度和動態精度,靜態指在節點保持不動時其自身傳感器產生的誤差,動態精度指運動特定角度后IMU輸出姿態與實際姿態的誤差。由于人體捕捉多為運動狀態,故精度測試以動態精度為主。

測量方法:將節點平放于桌面,從上位機中連續讀出其9軸數據以及運動融合后的歐拉角數據。精確地分別沿X軸、Y軸、Z軸軸隨機方向旋轉45°、90°、180°,讀取每次手動旋轉后傳感器輸出的數據,進行對比和分析。從表5可知,X軸、Y軸的精度較高;Z軸精度低于X軸和Y軸,根據方差來看,Z軸數據較X軸、Y軸波動更大,符合9軸IMU的特性。追蹤器捕捉精度滿足動作捕捉需求,可以實現較好的捕捉效果且提供不錯的一致性。

表5 不同轉角的精度測試數據

5.2 吞吐量及延遲

吞吐量及延遲可以通過SlimeVR Server上位機讀出,經記錄及運算得到結果如表6所示。從表6可知,平均延遲僅6.33 ms,最小延遲2 ms,最大延遲11 ms,實時性相當好。該系統的延遲完全可以做到無感,吞吐量也完全足夠應對5個追蹤器的輸入。所以延遲和吞吐量也能滿足動作捕捉需求,可以實現較好的實時捕捉效果且提供不錯的沉浸感。

表6 吞吐量及延遲測試數據

5.3 數據手套測試

由于手套部分運動大多體現交互,對精度、吞吐量及延遲的要求不高,故該部分測試主要針對整體可行性及續航能力。系統使用了SolidWorks建模設備的外殼部分,建模設備的外殼可保證配合緊密且有良好的結構強度。外形及佩戴效果如圖12所示。經測試,手套全重約450 g,與3D打印部件接觸部分有泡沫膠帶作為緩沖,用戶佩戴舒適性較好,短時間(30~90 min)佩戴無不適感。電池續航與動態限位使用的舵機動作的頻次有關,完全關閉舵機續航約為120 min,開啟舵機且動作頻繁續航約為30 min。系統對手指彎曲的捕獲靈敏,手勢觸發快速,能滿足用戶正常的交互需求。

圖12 手套外形及佩戴效果

6 結語

本文設計了一種基于動作捕捉追蹤器及數據手套的VR拓展設備。通過開源項目的支持,本設計可在已有家用VR頭戴及其配套定位手柄的情況下,提供腰部、腿部、腳部及手指等部位的追蹤,最終實現在VR軟件中擁有全身追蹤效果。本設計仍然存在不足之處,后續可增加自行校準磁力計的功能,解決磁場環境大幅變化時姿態解算不精準的問題;另外,數據手套的體積、重量還需要進一步優化。

猜你喜歡
動作系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
下一個動作
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
動作描寫要具體
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
畫動作
讓動作“活”起來
主站蜘蛛池模板: 国产精品林美惠子在线观看| 欧美激情第一欧美在线| 国产亚洲视频播放9000| 美女视频黄又黄又免费高清| 欧美国产综合色视频| 国产午夜精品一区二区三| 一区二区三区国产精品视频| 成年午夜精品久久精品| 亚洲精品国产首次亮相| 国产成人艳妇AA视频在线| 久久国产精品夜色| 午夜激情婷婷| 欧美怡红院视频一区二区三区| 99热这里只有成人精品国产| 园内精品自拍视频在线播放| 小说 亚洲 无码 精品| 午夜欧美在线| 亚洲天堂自拍| 无码日韩精品91超碰| 亚洲一级无毛片无码在线免费视频| аⅴ资源中文在线天堂| 国产亚洲视频中文字幕视频| 一区二区在线视频免费观看| 亚洲欧洲日韩综合色天使| 国产午夜不卡| 国产高清不卡视频| 国产91视频免费观看| 免费不卡视频| 视频二区欧美| 动漫精品中文字幕无码| 2024av在线无码中文最新| 日本欧美一二三区色视频| 伊人久久婷婷| 精品亚洲欧美中文字幕在线看| 午夜精品一区二区蜜桃| 无码国产偷倩在线播放老年人| 99精品热视频这里只有精品7| 亚洲V日韩V无码一区二区| 亚洲天堂网在线播放| 国产精品视频公开费视频| 9cao视频精品| 色呦呦手机在线精品| 国产欧美日韩另类精彩视频| 久久久精品久久久久三级| 欧美a√在线| 国产又色又刺激高潮免费看| 欧美中文字幕一区| 毛片基地视频| 亚洲综合国产一区二区三区| 久久久久亚洲AV成人网站软件| 国产成人毛片| 亚洲国产精品人久久电影| 亚洲国产清纯| 久久久久国色AV免费观看性色| 99国产精品一区二区| 波多野结衣视频网站| 97人人做人人爽香蕉精品| 国产91av在线| 国产一级毛片yw| 亚洲综合色婷婷中文字幕| 男人天堂伊人网| 亚洲中文在线视频| 无码国产偷倩在线播放老年人| 国产精品视频白浆免费视频| 99久久精品免费看国产免费软件| 97se亚洲综合不卡| 国产亚洲精久久久久久久91| 国产精品自在在线午夜| 欧美在线中文字幕| 日韩无码真实干出血视频| 综合色区亚洲熟妇在线| 国产精品国产主播在线观看| 国产在线自乱拍播放| 九九热精品在线视频| 欧美日本视频在线观看| 亚洲一道AV无码午夜福利| 91色综合综合热五月激情| 国产精品亚洲一区二区三区在线观看| 毛片久久久| 国产鲁鲁视频在线观看| 成年人国产视频| 不卡无码h在线观看|