剛接觸生物力學(xué)分析,面對(duì)各種生物力學(xué)分析軟件如何進(jìn)行選擇呢?只有真正使用過(guò)各種生物力學(xué)分析軟件的人才能給我們些許建議!
我最近在網(wǎng)上看到了查爾默斯科技大學(xué)-運(yùn)動(dòng)技術(shù)中心三位學(xué)者對(duì)他們使用過(guò)的生物力學(xué)分析軟件的評(píng)估,這篇文章最初發(fā)表在2016年國(guó)際體育工程協(xié)會(huì)第11屆會(huì)議,個(gè)人感覺(jué)文章中對(duì)生物力學(xué)分析軟件的評(píng)估是非?陀^的,值得我們借鑒。
查爾默斯科技大學(xué)-運(yùn)動(dòng)技術(shù)中心的生物力學(xué)分析是針對(duì)游泳運(yùn)動(dòng),使用了OpenSim、BoB、AnyBody和SWUM軟件,由于SWUM軟件沒(méi)有與運(yùn)動(dòng)捕捉系統(tǒng)的接口來(lái)導(dǎo)入運(yùn)動(dòng)數(shù)據(jù),所以我們暫且不將列入考慮之中。查爾默斯科技大學(xué)-運(yùn)動(dòng)技術(shù)中心的專家針對(duì)OpenSim、BoB、AnyBody的使用情況給出了如下描述:
1、OpenSim
OpenSim是一個(gè)免費(fèi)提供的軟件包,允許用戶建立、交換和分析肌肉骨骼系統(tǒng)的計(jì)算機(jī)模型以及運(yùn)動(dòng)的動(dòng)態(tài)模擬。肌肉模型、分析、接觸模型或控制器可以從頭開(kāi)始設(shè)計(jì)(C++),或者其他用戶已經(jīng)存在的模型可以縮放到新記錄的運(yùn)動(dòng)數(shù)據(jù)以進(jìn)行進(jìn)一步分析。
當(dāng)運(yùn)動(dòng)捕捉系統(tǒng)具有.trc格式時(shí),可以導(dǎo)入運(yùn)動(dòng)捕捉系統(tǒng)的運(yùn)動(dòng)學(xué)。當(dāng)力板測(cè)量值、壓力中心數(shù)據(jù)或關(guān)節(jié)角度具有.sto或.mot格式時(shí),可以將其添加到OpenSim分析中。EMG只能導(dǎo)入以與模擬進(jìn)行比較(.sto或.mot文件)。
生物力學(xué)數(shù)據(jù)可以通過(guò)以下特定步驟進(jìn)行分析:首先,將預(yù)定義肌肉骨骼模型的大小縮放為感興趣對(duì)象記錄的靜態(tài)標(biāo)記數(shù)據(jù)(圖1a)。縮放過(guò)程擬合了許多變量,如骨骼和肌肉長(zhǎng)度、每個(gè)骨骼的質(zhì)心位置和每個(gè)片段(包括骨骼和肌肉)的質(zhì)量,以記錄受試者。然后,可以進(jìn)行反向運(yùn)動(dòng)學(xué)或反向動(dòng)力學(xué)分析,從關(guān)節(jié)角度和外力計(jì)算關(guān)節(jié)力矩(圖1b)。通過(guò)殘差折減分析(RRA),將記錄的軌跡和記錄的地面反作用力之間的不匹配最小化。然后可以進(jìn)行靜態(tài)優(yōu)化,以進(jìn)一步將計(jì)算出的關(guān)節(jié)凈力矩分解為每個(gè)時(shí)間點(diǎn)的單獨(dú)肌力。然后,整個(gè)分析可以轉(zhuǎn)化為完整運(yùn)動(dòng)的模擬,包括相關(guān)肌肉的肌肉激活。
2.BoB-身體生物力學(xué)
三種評(píng)估工具中,BoB的界面最簡(jiǎn)單、最直接,可以直觀地了解關(guān)節(jié)接觸力、關(guān)節(jié)扭矩、運(yùn)動(dòng)軌跡和肌肉激活。它由36個(gè)骨骼段和666個(gè)運(yùn)動(dòng)肌肉單元組成。由于使用肌肉的方法不止一種,因此使用序列二次規(guī)劃優(yōu)化負(fù)荷分布。此外,角度、力、扭矩、肌肉特性或平衡動(dòng)作可以在視頻、圖表或列表中顯示(圖2)。該程序在Matlab中運(yùn)行,具有用于參數(shù)插入和輸入文件選擇的簡(jiǎn)單GUI。
反向動(dòng)力學(xué)計(jì)算器需要四個(gè)輸入文件(運(yùn)動(dòng)、力、骨骼屬性、肌肉屬性),用戶定義模擬的持續(xù)時(shí)間和時(shí)間增量。
為了定義模型的運(yùn)動(dòng),必須添加運(yùn)動(dòng)文件(.txt、.csv、.c3d)。每種文件格式都需要對(duì)解剖標(biāo)志進(jìn)行一定的命名,并且需要一定數(shù)量的解剖標(biāo)志,例如,c3d文件需要具有30個(gè)標(biāo)記排列(Vicon命名)。BoB將在缺少標(biāo)記的情況下運(yùn)行,但如果無(wú)法找到必要的標(biāo)記來(lái)定義關(guān)節(jié)兩側(cè)的節(jié)段,則關(guān)節(jié)將無(wú)法鉸接。如果調(diào)查缺少標(biāo)記,用戶可以通過(guò)將真實(shí)標(biāo)記偏移來(lái)創(chuàng)建虛擬標(biāo)記(例如,左前頭距離右前頭左側(cè)100mm)[20]。
必須知道外力或地面反作用力,并手動(dòng)將其插入.txt文件(振幅、速度/頻率、時(shí)間、應(yīng)用點(diǎn))。如果用戶不知道力,程序可以在一定程度上近似力。
骨架模型(.txt文件)可以根據(jù)生成運(yùn)動(dòng)文件的對(duì)象的高度/重量進(jìn)行調(diào)整。
也可以對(duì)肢體/骨骼的可能錯(cuò)位進(jìn)行建模。
有關(guān)所有考慮的肌肉的信息存儲(chǔ)在.mat文件中,該文件可以通過(guò)BoB界面訪問(wèn),并且可以添加/編輯/排除不同的肌肉。插入新肌肉需要全面了解其幾何形狀、插入點(diǎn)、力、纖維長(zhǎng)度等。
插入四個(gè)輸入文件后,BoB將計(jì)算模型的姿勢(shì),并求解逆動(dòng)力學(xué)問(wèn)題,以確定肌肉、關(guān)節(jié)和骨骼內(nèi)的載荷。反向動(dòng)力學(xué)解算器完成后,“播放”按鈕將為運(yùn)動(dòng)設(shè)置動(dòng)畫(huà),并允許觀察不同的肌肉激活。結(jié)果可以使用輸出下拉菜單顯示在電影、圖像、表格或圖形中。
3. AnyBody建模系統(tǒng)
AnyBody目前可用的最復(fù)雜功能最全的肌肉和骨骼模型軟件工具,但必須購(gòu)買后才能使用。
它將肌肉骨骼系統(tǒng)看作是剛體系統(tǒng),因而允許應(yīng)用多體動(dòng)力學(xué)的標(biāo)準(zhǔn)計(jì)算方法。默認(rèn)的人體模型可以很容易地適應(yīng)用戶的需要(身高、體重、段長(zhǎng)、強(qiáng)度、骨骼幾何形狀),此外,物體、載荷和運(yùn)動(dòng)條件可以補(bǔ)充所討論任務(wù)的條件(圖3)。如果使用全身模型,則需要考慮458塊肌肉[21,22]。
可以對(duì)模擬中的環(huán)境進(jìn)行建模(可以導(dǎo)入STL格式),例如,將自行車或健身機(jī)添加到建模設(shè)置中。肌電信號(hào)只能用作驗(yàn)證工具,不能作為驅(qū)動(dòng)模型的輸入。
與其他軟件(如SolidWorks、Ansys、Abaqus等)的接口存在并開(kāi)辟了新的可能性。模型本身可以由以下輸入驅(qū)動(dòng):
•運(yùn)動(dòng)輸入可以從.c3d或.bvh文件提供。每個(gè)身體節(jié)段至少使用三個(gè)標(biāo)記是有價(jià)值的。該模型需要來(lái)自三維運(yùn)動(dòng)跟蹤系統(tǒng)的輸入。
•力輸入
•環(huán)境輸入(將骨架連接到移動(dòng)表面)
•GUI合成運(yùn)動(dòng)(手動(dòng)移動(dòng)骨骼)
建模是在AnyScript語(yǔ)言中進(jìn)行的,該語(yǔ)言是一種聲明性的面向?qū)ο笳Z(yǔ)言。每個(gè)模型分為兩個(gè)主要部分:模型部分(機(jī)械系統(tǒng)、運(yùn)動(dòng)、環(huán)境)和包含(運(yùn)動(dòng)或動(dòng)力學(xué)分析等操作)的研究部分。AnyBodya利用逆動(dòng)力學(xué)方法,通過(guò)參考中樞神經(jīng)系統(tǒng)(CNS)解決肌肉招募的冗余問(wèn)題。所有肌肉和關(guān)節(jié)力都可以確定為一個(gè)優(yōu)化問(wèn)題的解決方案,該優(yōu)化問(wèn)題表示中樞神經(jīng)系統(tǒng)希望最小化肌肉上的負(fù)荷。AnyBody提供了七種不同的縮放方法,其中最先進(jìn)的方法還考慮了脂肪百分比[23]。使用該軟件的可能方法是改變簡(jiǎn)單參數(shù)(例如負(fù)荷、姿勢(shì))以計(jì)算該任務(wù)期間的肌肉反應(yīng),或通過(guò)重新定義標(biāo)記協(xié)議將現(xiàn)有肌肉骨骼運(yùn)動(dòng)捕捉模型之一調(diào)整為新的實(shí)驗(yàn)室設(shè)置、力平臺(tái)和實(shí)驗(yàn)室坐標(biāo)系的可用性,或從頭開(kāi)始完全設(shè)計(jì)人體模型及其環(huán)境。當(dāng)分析動(dòng)物或未經(jīng)研究的關(guān)節(jié)或姿勢(shì)時(shí),這可能是有益的。
我讀了整篇文章,初步可知,查爾默斯科技大學(xué)-運(yùn)動(dòng)技術(shù)中心的觀點(diǎn)是:對(duì)做學(xué)術(shù)項(xiàng)目的用戶來(lái)說(shuō),選擇OpenSim比較合適,由于它是免費(fèi)的,有大量用戶,同時(shí)還有一個(gè)大型社區(qū)與所有用戶分享使用經(jīng)驗(yàn)、開(kāi)發(fā)的代碼、擴(kuò)展的模型模板和論文,對(duì)于做學(xué)術(shù)來(lái)說(shuō),可以得到較多支持;對(duì)做運(yùn)動(dòng)分析和生物力學(xué)教學(xué)的用戶來(lái)說(shuō),選擇BOB比較合適,因?yàn)樗缑婧?jiǎn)單,操作容易,還有較多的內(nèi)置模型,并且可以直觀地了解關(guān)節(jié)接觸力、關(guān)節(jié)扭矩、運(yùn)動(dòng)軌跡和肌肉激活情況;對(duì)于要重點(diǎn)研究人與環(huán)境之間的交互或手術(shù)規(guī)劃的用戶來(lái)說(shuō),還是選擇比較貴的AnyBody更適合,雖然它需要專門再去學(xué)習(xí)AnyScript語(yǔ)言的使用,操作非常復(fù)雜,但是它功能更強(qiáng)大,可以根據(jù)用戶的需求對(duì)模型進(jìn)行詳細(xì)調(diào)整。
任何工具都其自己的優(yōu)點(diǎn)和缺點(diǎn),我們作為使用者,最關(guān)鍵在于知道自己要做什么,然后做出正確的選擇。BOB是性價(jià)比不錯(cuò)的產(chǎn)品,雖然不像OpenSim一樣是免費(fèi)的,目前也沒(méi)有很多資料介紹它的使用經(jīng)驗(yàn)或是作品分享,但是它容易上手,學(xué)習(xí)曲線短,可以輕松導(dǎo)入外部數(shù)據(jù),而且BOB包含600多個(gè)運(yùn)動(dòng)肌肉單元組成的模型,OpenSim據(jù)我所知好像也就140多個(gè)吧。
就如本文開(kāi)頭提到的,沒(méi)用過(guò),聽(tīng)別人描述,也只是建議,總會(huì)感覺(jué)不是很可靠,AnyBody有些昂貴,我們可以有機(jī)會(huì)再嘗試,但是對(duì)于BOB和OpenSim,我們就完全可以自己去嘗試呀!BOB是支持免費(fèi)試用的,OpenSim是免費(fèi)的,讓我們一起行動(dòng)起來(lái)吧!說(shuō)不定不久后,我們就是分享經(jīng)驗(yàn)的人啦!
BOB可以通過(guò)郵件申請(qǐng)免費(fèi)試用,提供以下信息發(fā)送到info@deanwell.com.cn:
1)Name(姓名)—— 必填
2)E-mail(電子郵箱)——必填,用于接收軟件下載鏈接及LICENSE等信息
3)Organisation(單位名稱)——必填
4)Country(國(guó)家)—— 如果不填,則默認(rèn)為中國(guó),BOB軟件有多語(yǔ)言版本,如有特殊需求一定要記得填寫(xiě)此項(xiàng)
5)For what application will you use BoB?
(您使用BOB軟件做何用途)—— 必填,會(huì)根據(jù)您此處的填寫(xiě)給您不同版本的BOB試用軟件;
6)How did you hear about BoB? (if on-line, please specify which site)
您是如何知道BOB軟件的?(如果是通過(guò)在線方式了解到BOB,敬請(qǐng)標(biāo)明網(wǎng)站名稱)——必填
7)PC or Mac version?(是選擇軟件運(yùn)行平臺(tái))—— 必選,一定要根據(jù)實(shí)際使用情況選擇
OpenSim可以直接在它們的官網(wǎng)上下載:https://simtk.org/projects/opensim
但是官網(wǎng)下載是需要注冊(cè)SimTK賬號(hào),如果不方便注冊(cè),就可以去https://github.com/opensim-org/opensim-gui/releases下載!