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

基于C3D數據的人體模型逆向動力學仿真分析方法

2020-04-09 08:16:22李國成王亞平
計算機輔助工程 2020年1期
關鍵詞:模型

李國成 王亞平

摘要:基于AnyBody人體建模仿真分析軟件,采用試驗得到的動作捕捉格式數據C3D文件,研究人體逆向動力學仿真分析方法,給出C3D驅動AnyBody人體運動仿真分析時的操作步驟、報錯分析及其解決方案。仿真結果表明:人體模型基本參數設置、C3D參數設置、關鍵點的擬合和足底壓力板參數調節是實現人體模型動態分析的關鍵,其能有效提高人體模型逆向動力學仿真精度。

關鍵詞:

人體模型; AnyBody軟件; C3D文件; 逆向動力學; 仿真

中圖分類號:G804.63;T391.99

文獻標志碼:B

Reverse dynamics simulation method on human body model

based on C3D data

LI Guocheng, WANG Yaping

(School of Mechanical Engineering, Nanjing University of Science & Technology, Nanjing 210094, China)

Abstract:

Based on the simulation and analysis software AnyBody for human body modeling, the simulation and analysis method of human reverse dynamics is studied by using the test motion capture format data file C3D. The operation steps and the error analysis and its solution are presented for human motion simulation analysis of AnyBody driven by C3D. The simulation results show that the keys to realize dynamic analysis of human model are the basic parameters setting of human body model, the setting of C3D parameters, the fitting of key points, and the parameters adjustment of plantar pressure plate, and then the accuracy of inverse dynamics simulation of human body model can be improved.

Key words:

human body model; AnyBody software; C3D document; reverse dynamics; simulation

0?引?言

隨著逆向動力學研究的發展與深入,人體逆向動力學分析仿真技術已被廣泛使用,如歐美國家已使用于與人體生物力學相關的航空航天、康復醫療和汽車運輸等領域[1?3],國內在康復訓練、騎行駕駛、運動空降等方面也已開展相關研究[4?6]。

目前,常用的人體模型主要有3種:(1)多剛體人體模型;(2)有限元人體模型;(3)肌肉骨骼系統力學模型。

多剛體人體模型不涉及肌肉和軟組織結構,只從運動學的角度研究問題。該模型在工業上使用最廣泛,但其不能從肌肉力、關節力出發對人體的生物力學載荷給予定量評估。這類典型軟件有SIEMENS Tecnomatix Jack。

有限元人體模型擁有高度真實的人體肌肉和骨骼網格單元,具有求解肌肉力的實時優化計算功能,有較好的仿真精度,但該類模型更多地適用于研究某特定工況下的載荷分布和組織形變,且需要很大的計算量。這類典型軟件有美國愛荷華州立大學開發的數字人體模型Santos。[7]

肌肉骨骼系統力學模型包含筋骨肌腱與肌肉系統,可以經濟、有效、快速地求解試驗難以直接測量的人體關節力、肌肉負載,因此備受關注。[8]這類典型軟件主要有斯坦福大學的OpenSim[1]和丹麥的AnyBody[9]。OpenSim生物力學仿真平臺采用開源輸入,但操作繁雜;AnyBody人體建模仿真分析軟件擁有獨立的腳本語言AnyScript和模型庫,AnyScript與C語言、C++和Python有相似的結構,便于理解,且模型庫中包含成熟的實際應用案例,是目前使用最廣泛的人體逆向動力學仿真分析軟件之一。

目前,基于動作捕捉格式數據C3D文件驅動的AnyBody逆向動力學仿真分析方法尚未被廣泛掌握,未見相關文獻報道。本文以C3D文件驅動AnyBody人體逆向動力學仿真過程為研究對象,給出人體運動模擬仿真方法。針對此類仿真過程中流程不清晰、不齊全和分析報錯等問題,提供集中且具體的解決方案。仿真分析經驗對運用此類方法解決問題具有參考意義。

1?人體逆向動力學分析方法和步驟

驅動人體模型進行逆向動力學仿真分析的方式有2種,即驅動器代碼驅動和運動捕捉數據驅動。簡單運動可通過代碼直接驅動人體進行逆向動力學計算,但實際情況下人體運動復雜多樣,如行走、下蹲、匍匐、抬手等動作,若通過運動捕捉數據(C3D、BVH格式)驅動,對準確分析人體運動特性更有效。

本文使用AnyBody 6.0及其AMMR 1.6.2模型庫,引用模型庫中的實例模板[10?11],建立人體環境模型。采用具有3塊力板的人體行走模型MoCapModel;輸入的C3D文件采用VICON三維運動捕捉系統和三維測力臺同步采集獲得,其中包含人體運動與足底三維力2部分數據。

基于C3D文件驅動的人體逆向動力學仿真分析基本步驟如下:

(1)輸入C3D文件。將C3D文件復制到Input文件夾下,更改代碼中的C3D文件名。

(2)調節人體參數與姿態。調節人體體節等基本參數,如身高、體重等,并將人體姿態調節到C3D文件所指示的方向,調整人體重力方向。

(3)關鍵點擬合。將C3D文件中的數據點與模型中的關鍵Marker點進行擬合,使之重合或充分接近。人體模型由C3D文件中點的坐標軌跡驅動,實現運動。

(4)調節壓力板參數。三維測力臺測得的足底三維力等數據用于人體受力平衡分析。按照試驗中三維測力臺的類型與數據進行壓力板參數設置和調節,有助于模型動態分析順利進行。

(5)運動與參數最優化運算。此運算在不包含任何力參與的情況下,獲得包含體位參數、更新后的標記點位置和運動信息的txt文件,用于運動驅動確認和參數優化。

(6)逆向動力學仿真。運用上一步得到的txt文件,在有力參與的情況下進行逆向動力學分析,得到關節受力、肌肉受力和肌肉激活度等信息。

2?人體體節比例調節

輸入C3D文件后,需要更新人體模型的基本尺寸參數,如被試者的身高、體重等,以保持模型與實際被試者的人體尺寸基本一致。

打開主文件框的Input/TrialSpecificDate. any,更改BodyMass與BodyHeight的值。若只更改上述2項參數,模型在參數優化時可能會出現體節比例失調的問題。因此,根據實際人體尺寸,

修改其他人體體節參數。人體體節參數修改代碼如下:

AnyFolder Anthropometrics={

AnyVar BodyMass=110;

AnyVar BodyHeight=1.80;

AnyVar ThighLength= 0.4405873526;

AnyVar ShankLength= 0.4287552139;

AnyVar FootLength=0.2184971098;

AnyVar PelvisWidth=0.1664739884;

AnyVar HeadHeight = 0.1456647399;

AnyVar TrunkHeight = 0.6453291329;

AnyVar UpperArmLength = 0.353839422;

AnyVar LowerArmLength =0.27990017688;

AnyVar HandLength = 0.1893641618;

AnyVar HandBreadth = 0.0884393064;

};

3?試驗運動數據與人體關鍵點擬合

用C3D文件中的試驗運動數據驅動人體模型完成指定動作,因此試驗運動數據與人體關鍵點的擬合是保證人體運動順利完成的關鍵。

3.1?系統參數設置

在試驗運動數據與人體關鍵驅動點擬合前,將主程序中的MotionAndParameterOptimizationModel改為1,InverseDynamicModel改為0,修改代碼如下:

#ifndef MotionAndParameterOptimizationModel

#define MotionAndParameterOptimizationModel 1

#endif

#ifndef InverseDynamicModel

#define InverseDynamicModel 0

#endif

3.2?人體姿態調節

初始狀態下人體模型的坐標系與C3D中的坐標系不一致,需要根據實際情況旋轉人體模型。本文所用C3D數據需要將人體模型繞x與z軸各旋轉90°,更改坐標系代碼如下:

AnyVar PelvisRotZ=90;

AnyVar PelvisRotY=0;

AnyVar PelvisRotX=90;

調節后的人體姿態模型見圖1。圖中的人體姿態出現異常,理論上應調節關節角度,但后期要進行模型運動與參數最優化運算,因此關節角度的更改對分析并無影響,此處可不更改。

代碼默認重力方向Gravity為{0,-9.81,0},需要更改Gravity為{0,0,-9.81},使軟件中重力的方向與C3D數據文件中的重力方向保持一致。

3.3?C3D參數設置定義

若C3D文件中有數據,但在模型視圖窗口中始終無法觀察到標記點的移動,則需注意以下2點:(1)C3D文件里點的坐標單位與軟件中默認的單位是否一致,若要將單位mm改為m,則需在C3DSettings.any中設置PointScaleFactor= 1/1000;(2)C3D文件是否被其他軟件處理過并將標記點的數據放入已處理數據部分,可設置C3DSettings.any中MarkerUseAllPointsOnOff=On解決問題[12]。

若不希望在模型視圖窗口中顯示C3D中點的三維軌跡,可將C3DSettings.any中的ConstructChartOnOff設置為Off即可。

3.4?關鍵點的擬合和最優化運算

RunMotionAndParameterOptimizationSequence可進行模型運動與參數最優化運算。

若在運算過程中報錯,且提示Marker點容差過大,則是由關鍵Marker點與C3D驅動數據點距離過大造成的。此時,可在樹狀窗口中點擊InitialConditions并運行,模型將移動到C3D文件的初始位置。在模型視圖窗口中可觀察到人體模型上關鍵Marker點與C3D驅動數據點之間的距離,見圖2。更改人體模型關鍵點的位置偏移量sRelOpt,將Marker點與關鍵點靠近至重合或充分接近。為工作簡便,可只運行Kinematics,直至分析成功。

RunMotionAndParameterOptimizationSequence運行成功后,系統將自動保存txt文件,其中包含更新后的體位參數、更新后的標記點位置和運動信息。

4?壓力板設置

人體足底壓力數據保持人體受力平衡,壓力板提供人體足底壓力和力矩等數據。

4.1?壓力板類型

模型庫中自帶的壓力板有3種類型,可設置為基本版本或AutoDetection版本,見圖3。

基本版本沒有自動檢測功能,需要手動設置人體與特定壓力板接觸的部分。AutoDetection版本可自動檢測足底與特定壓力板的接觸。

軟件中默認壓力板類型為4型AutoDetection力板,其設置代碼如下:

ForcePlateType4AutoDetection Plate1 (

PlateName = Plate1,

Folder =Main.ModelSetup.C3DFileData,

Limb1=.BodyModelRef.Right.Leg.Seg.Foot,

Limb2=.BodyModelRef.Left.Leg.Seg.Foot,

No=0,

VerticalDirection ="Y",

HeightTolerance=0.07,

VelThreshold=2.2,

Fx=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fx1,

Fy=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fy1,

Fz=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Fz1,

Mx=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Mx1,

My=Main.ModelSetup.C3DFileData.Analog.DataFiltered.My1,

Mz=Main.ModelSetup.C3DFileData.Analog.DataFiltered.Mz1,FootPresent=HumanModelPresent)

={

Cal=Main.ModelSetup.C3DFileData.Groups.FORCE_PLATFORM.CAL_MATRIX.Data[0];

Switch_DrawForceVectorFromCOP = On;

};

4.2?壓力板參數定義

實際試驗測試場景下的壓力板位置見圖4。總共設有6塊壓力板,人體左、右腳分別站在第3和第4塊壓力板上。

C3D文件中的壓力板類型見圖5,查詢可知Date={2,2,2,2,2,2},表示6塊壓力板的類型均為2。

軟件中的壓力板類型應與C3D文件中的壓力板類型保持一致。將軟件中的壓力板改為2型AutoDetection力板,即

第4.1節代碼

中ForcePlateType4AutoDetection應改為ForcePlate?Type2AutoDetection。VerticalDirection表示壓力板所在地平面的法線方向,默認為y,應修改為z,使其與人體重力方向保持一致。

常見問題處理方式如下。

(1)出現壓力板提示報錯。原因可能是C3D文件中力和力矩命名與默認命名存在差異,按原文件力和力矩的路徑修改名稱即可。注意此時使用的是經軟件處理過的C3D文件,應使用DateFiltered下的力和力矩數據,而不是Date內的原始數據。

(2)出現Cal行報錯。Cal為壓力板的校準矩陣,如果試驗使用的壓力板不存在校準矩陣,那么將Cal行注銷即可。

(3)軟件中壓力板的顯示不在人體腳部正下方(見圖6),而在圖4中1、2位置處。打開壓力板的底層代碼文件ForcePlateType2AutoDetection.any,查看壓力板的位置組成參數。No值是壓力板的空間位置坐標組成元素,調節No值可以更改壓力板的空間位置。將兩塊壓力板的No值分別改為2和3,壓力板將顯示為圖4中的正確位置3和4上,結果見圖7。

5?逆向動力學分析

RunMotionAndParameterOptimizationSequence運

行成功后,將主程序中的MotionAnd

Parameter

OptimizationModel參數改為0,將InverseDynamic

Model參數改為1,點擊InverseDynamicAnalysis

Sequence,可以進行逆向動力學計算。

逆向動力學計算結束后,依次點擊Window→Chart2D/3D,可查看計算結果。若肌肉激活度大于1,排除模型姿勢不正確的原因外,可能是由于肌肉強度定義不正確,可在HumanModel.any中根據被試者實際情況適當調節人體肌肉強度SpecificMuscleTensionSpine、StrengthIndexLeg和SpecificMuscleTensionShoulderArm的值。

6?分析實例

根據實驗室VICON三維運動捕捉系統和三維測力臺測得的真實C3D數據文件,進行舉重運動員抓舉杠鈴動作的逆向動力學仿真分析。添加必要的環境條件,模擬人體雙手受杠鈴質量載荷的受力情況,最終得到人體腰椎關節的受力情況。仿真結果見圖8,其中L1~L5分別表示第1~5腰椎。

(1)腰椎關節在上下方向上的受力趨勢基本一

致,且上下方向上受力最為明顯,最大受力位于L5與骶骨之間,此處上下方向上的力約為6 kN。

腰椎關節前后方向上受力趨勢差異明顯,具體表現為腰椎上端受力向后,下端受力向前,中間部分逐漸過渡;左右方向上的受力趨勢基本一致,且受力均較小。

(2)L1關節處上下方向上受力約為5.4 kN,與杠桿原理得出的L1腰椎受垂直壓縮力量級[5]一致。因文獻[5]中計算的是靜態人體腰椎關節受力,且只考慮豎脊肌力,與本文動態分析、考慮全身肌肉協同工作不同,故存在數值結果上的差異。

7?結束語

介紹基于運動捕捉數據C3D文件驅動人體模型運動的方法,結果認為:人體姿態調節時,各關節角度調節與否對仿真分析的結果并無影響;通過調節人體參數與擬合關鍵點,可極大地提高模型逆向動力學仿真分析的精度;足底數據保持人體模型受力平衡,是模型逆向動力學分析成功的重要因素。本文逆向動力學仿真操作步驟、研究重點、代碼釋義、報錯分析及其問題解決方案等,對實現C3D文件驅動的人體逆向動力學分析和提高仿真分析精度具有參考意義。

參考文獻:

[1]?SETH A, SHERMAN M, REINBOLT J A, et al. OpenSim: A musculoskeletal modeling and simulation framework for in silico investigations and exchange[J]. Procedia IUTAM, 2011(2): 212?232. DOI: 10.1016/j.piutam.2011.04.021.

[2]?LEMIEUX P O, NATALIA N, NICOLA H, et al. Mechanical analysis of cuff tear arthropathy during multiplanar elevation with AnyBody shoulder model[J]. Clinical Biomechanics, 2012, 27(8): 801?806. DOI: 10.1016/j.clinbiomech.2012.04.008.

[3]?TITO B, ELENA S, QIAN Z H, et al. Validation of AnyBody full body musculoskeletal model in computing lumbar spine loads at L4L5 level[J]. Journal of Biomechanics, 2017, 58(14): 89?96. DOI: 10.1016/j.jbiomech.2017.04.025.

[4]?丁晨, 王君澤, 高瞻. 基于AnyBody的汽車駕駛中人體腿部逆向動力學仿真[J]. 中國生物醫學工程學報, 2013, 32(1): 124?128. DOI: 10.3969/j.issn.0258?8021.2013.01.019.

[5]?鮑春雨, 孟慶華. 有限元法分析舉重運動員預備提鈴動作過程中腰椎節段的受力變化[J]. 中國組織工程研究與臨床康復, 2010, 14(35): 6517?6519. DOI: 10.3969/j.issn.1673?8225.2010.35.014.

[6]?付理強. 基于AnyBody模擬空降兵半蹲式著陸脊柱生物力學分析: 脊柱力矩、關節反作用力、肌肉激活度相關研究[D]. 大連: 大連醫科大學, 2017.

[7]?RASMUSSEN J, CHRISTENSEN S T. Musculoskeletal modeling of egress with AnyBody modeling system[C]// Proceedings of 2005 Digital Human Modeling for Design and Engineering Symposium. Iowa: SAE International, 2015: 519?522. DOI: 10.4271/2005?01?2721.

[8]?CHOI H Y, SAH S J, NA S, et al. Human body modeling for virtual seat comfort testing[C]// Proceedings of 2006 Digital Human Modeling for Design and Engineering Conference. Lyon: SAE International, 2016: 20588?20594. DOI: 10.4271/2006?01?2335.

[9]?孟祥杰. 基于肌肉骨骼生物力學載荷的駕駛人腰部舒適性研究[D]. 北京: 北京大學, 2015.

[10]?劉書朋, 司文, 嚴壯志, 等. 基于AnyBodyTM技術的人體運動建模方法[J]. 生物醫學工程學進展, 2010, 31(3): 131?134. DOI: 10.3969/j.issn.1674?1242.2010.03.002.

[11]?DAMSGAARD M, RASMUSSEN J, CHRISTENSEN S T, et al. Analysis of musculoskeletal systems in AnyBody modeling system[J]. Simulation Modelling Practice and Theory, 2006, 14(8): 1100?1111. DOI: 10.1016/j.simpat.2006.09.001.

(編輯?武曉英)

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产无码网站在线观看| 婷婷成人综合| 国产色爱av资源综合区| 国产91av在线| 中国美女**毛片录像在线| 国产亚洲欧美在线中文bt天堂| 欧美成人午夜影院| 自拍偷拍欧美| 精品一区二区三区无码视频无码| 九九九久久国产精品| 日韩欧美国产成人| 国产日本一线在线观看免费| 少妇露出福利视频| 日韩福利在线观看| 狠狠亚洲五月天| 青青青视频91在线 | 国产女同自拍视频| 国产av色站网站| 亚洲色无码专线精品观看| 免费av一区二区三区在线| 成年看免费观看视频拍拍| 亚洲日韩在线满18点击进入| 日韩精品无码免费一区二区三区| 天堂亚洲网| 99热这里只有精品免费| 88av在线| 凹凸精品免费精品视频| 亚洲欧美一区二区三区麻豆| 国产精品三级专区| 国产精品欧美在线观看| 老司国产精品视频| 美女视频黄频a免费高清不卡| 亚洲欧洲天堂色AV| 免费看黄片一区二区三区| 色吊丝av中文字幕| 伊人AV天堂| 女人天堂av免费| 国产91视频观看| 在线国产你懂的| 麻豆国产精品视频| 久久成人国产精品免费软件 | 97国内精品久久久久不卡| 中文字幕欧美日韩高清| 国产精品短篇二区| 成人在线天堂| 韩国福利一区| 丁香五月激情图片| 97超碰精品成人国产| 69av在线| 国产视频a| 91小视频版在线观看www| 99久久99视频| 国产自在自线午夜精品视频| 亚洲一区二区黄色| 在线一级毛片| 久久性视频| 毛片在线播放a| 日韩经典精品无码一区二区| 成人午夜亚洲影视在线观看| 99精品视频在线观看免费播放| 青青操视频免费观看| 四虎影视库国产精品一区| 亚洲黄色网站视频| 亚洲三级影院| 欧美特黄一免在线观看| 日本欧美中文字幕精品亚洲| 亚洲无码久久久久| 视频一区视频二区中文精品| 欧美日韩一区二区三区四区在线观看| 亚洲永久色| 97se亚洲综合在线| 久久无码免费束人妻| 日本国产一区在线观看| 夜夜操国产| 亚洲精品欧美重口| 国产精品久久精品| 国产精品久久国产精麻豆99网站| 激情亚洲天堂| 91午夜福利在线观看精品| 欧美a网站| 米奇精品一区二区三区| 亚洲欧美不卡中文字幕|