国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于雙彈簧負載倒立擺模型的步態(tài)模擬

2021-02-25 07:42趙炳炎陳宗華劉偉俊
關(guān)鍵詞:觸地單腿質(zhì)點

趙炳炎,陳宗華,劉偉俊

(1.玉林師范學(xué)院 物理與電信工程學(xué)院,廣西 玉林 537000;2.玉林師范學(xué)院 體育健康學(xué)院,廣西 玉林 537000)

0 引 言

1989年Blickha提出了彈簧負載倒立擺模型(spring-loaded inverted pendulum,SLIP)。如圖1所示,該模型由一根輕質(zhì)彈簧和一個質(zhì)點組成,只需合理設(shè)置初始條件和少量參數(shù),就能夠模擬人、袋鼠、青蛙等生物的跑跳前進運動[1]。彈簧負載倒立擺模型在前進時只有2個狀態(tài)(相),即單腿相和飛行相,所模擬的步態(tài)只能在2個相之間切換,可模擬的步態(tài)較少[2-5]。

圖1 彈簧負載倒立擺模型

雙彈簧負載倒立擺模型比SLIP模型多一根彈簧,雖然運動模式更復(fù)雜多變,但是可以模擬出更多的步態(tài),且更符合人在體育運動過程中走、跑和跳的規(guī)律[6-7]。雙彈簧負載倒立擺在前進運動時,可以出現(xiàn)單腿相、飛行相和雙腿相,而多出的雙腿相意味著更多的步態(tài)形式(圖2)。

圖2 雙彈簧負載倒立擺模型

通過建立該模型前進時的動力學(xué)方程,并利用MATLAB計算模擬出該模型在不同步態(tài)下的穩(wěn)定前進,不但可以更好理解人在各種步態(tài)運動時的生物力學(xué)原理,也為研發(fā)雙足行走機器人提供參考。

1 雙彈簧負載倒立擺模型分析

1.1 雙彈簧負載倒立擺模型的動力學(xué)方程

如圖2所示,雙彈簧負載倒立擺模型是由一個質(zhì)量為m的質(zhì)點連接兩根勁度系數(shù)為k的輕質(zhì)彈簧構(gòu)成,彈簧原長均為l0。只考慮模型前進運動,質(zhì)點的運動范圍限制在矢狀面(前進方向和豎直方向構(gòu)成的平面)內(nèi),且機械能守恒。根據(jù)運動狀態(tài)的不同,模型可分為3個階段:①單腿相,即兩根彈簧中只有一根彈簧觸地,另一根彈簧在空中擺動;②雙腿相,即兩根彈簧都觸地;③飛行相,即兩根彈簧都沒有觸地,質(zhì)點在空中只受到重力作用。倒擺在前進的時候,模型會在3個相之間不斷切換,切換模式的不同,決定了步態(tài)的不同。例如走路步態(tài)前進時,單腿相和雙腿相的不斷切換;跑步步態(tài)前進時,單腿相和飛行相的不斷切換;跳躍步態(tài)前進時,則單腿相、飛行相、雙腿相都會出現(xiàn)。彈簧自重忽略不計,所以在未觸地時彈簧的擺動對質(zhì)點的動力學(xué)方程沒有影響。

在矢狀面內(nèi)建立直角坐標系,令模型前進的方向為x方向,豎直方向為y方向,根據(jù)牛頓定律分別建立3個相的動力學(xué)方程。單腿相時,系統(tǒng)受到重力和一根觸地彈簧的反作用力:

(1)

雙腿相時,系統(tǒng)受到重力和兩根觸地彈簧的反作用力:

(2)

飛行相時,系統(tǒng)只受到重力的作用:

(3)

3個相的動力學(xué)方程中,(1)和(2)為非線性常微分方程,無法求得解析解,但可以利用MATLAB中的4、5階龍格庫塔方程函數(shù)ode45對動力學(xué)方程求數(shù)值解。

1.2 各相之間的切換條件

倒擺在前進過程中,模型在3個相之間的不斷切換。根據(jù)不同步態(tài),將切換規(guī)律歸納在表1中。

表1 三種典型步態(tài)前進時的相位切換規(guī)律

模型處于不同的相,需求解的動力學(xué)方程也不同,模型在3個相之間切換,則求解的動力學(xué)方程也需在方程(1)~(3)之間切換。所以必須確立相切換的觸發(fā)條件,當滿足觸發(fā)條件時,則立即終止當前動力學(xué)方程的求解,切換到下一個相的動力學(xué)方程繼續(xù)求解。設(shè)兩根彈簧的支撐點坐標為(0,0)和(x0,0),倒擺質(zhì)點的位置坐標為(x,y)。

觸發(fā)條件①:單腿相→飛行相,此刻觸地彈簧正要離開地面與地面壓力剛好為零,彈簧保持原長,即

(4)

觸發(fā)條件②:飛行相→單腿相,此刻質(zhì)點的高度剛好讓一根彈簧觸地。α1為單腿觸地時與地面的夾角,即

y=l0sinα1

(5)

觸發(fā)條件③:單腿相→雙腿相,此刻懸空的高度可以剛好讓另外一根彈簧觸地。α2為第二只觸地的彈簧與地面的夾角。

y=l0sinα2

(6)

觸發(fā)條件④:雙腿相→單腿相,兩根觸地彈簧中,其中一根剛好達到彈簧原長。

(7)

觸發(fā)條件⑤:終止計算,當數(shù)值解滿足y=0時,質(zhì)點已經(jīng)觸地,倒立擺倒地不再前進。當vx≤0時,倒立擺向后運動,不再前進。滿足上述兩種情況,表示運動結(jié)束,終止計算。

圖3所示的是編程計算的流程圖。令倒立擺起始階段為單腿相,在設(shè)定好初始參數(shù)后,利用ODE45函數(shù)對方程(1)降階求解??捎肙DESET函數(shù)的‘Events’選項確定觸發(fā)條件①~⑤,如果解一旦滿足相應(yīng)的觸發(fā)條件則立即停止當前相的求解,保存數(shù)據(jù)并跳入下一個相應(yīng)相的方程繼續(xù)求解,初始值由前次已得解確定。接下來的動力學(xué)方程求解過程中,繼續(xù)判斷觸發(fā)條件‘Events’,根據(jù)不同的觸發(fā)事件終止當前相的計算并選擇進入下一個相對應(yīng)的相,繼續(xù)計算,以此類推,不斷切換循環(huán),直到計算時間終止或者所得解滿足了觸發(fā)條件(5)。觸發(fā)條件(5)表示系統(tǒng)前進失敗,停止計算,程序終止。

圖3 程序求解流程

3 計算模擬的結(jié)果和討論

模型前進的穩(wěn)定性嚴重依賴于模型參數(shù)和初始條件的設(shè)定。不合理的模型參數(shù)或初始條件都會導(dǎo)致倒擺失穩(wěn)倒地或倒退。我們通過對人在前進運動時的觀測,預(yù)估出大致的模型參數(shù)和初始條件,代入程序后對參數(shù)進行大量的調(diào)試,模擬出倒擺走路、跑步和跳躍的步態(tài)。

3.1 模型參數(shù)和初始條件

模型參數(shù)設(shè)定大致參照成年人體特征,兩根彈簧原長為l0=1 m,彈力系數(shù)為k=30 kN·m-1,重力加速度為g=9.81 m·s-2,模型質(zhì)點即質(zhì)點質(zhì)量為m=80 kg。初始條件包括質(zhì)心的起始位置(x,y),初速度(vx,vy),彈簧每次觸地時的夾角為α1和α2。初始條件(x,y,vx,vy,α1,α2)對前進的穩(wěn)定性至關(guān)重要,需將預(yù)估初始條件代入求解程序后,并加以大量的調(diào)試得到。這里分別模擬出了雙彈簧倒立擺的三種前進步態(tài),走路步態(tài)、跑步步態(tài)和跳躍步態(tài)。將穩(wěn)定前進時循環(huán)計算所得的數(shù)值解,利用MATLAB的animation函數(shù)動畫演示出來,可直觀顯示出步態(tài),如圖4所示。

圖4 前進時的步態(tài)模擬動畫

3.2 走路步態(tài)

圖5 走路步態(tài)時質(zhì)心速度隨時間的變化曲線

圖6 走路步態(tài)時質(zhì)心高度隨前進方向的變化圖像

3.3 跑步步態(tài)

圖7 跑步步態(tài)時質(zhì)心速度隨時間變化曲線

圖8 跑步步態(tài)時質(zhì)心高度隨前進方向的變化圖像

3.4 跳躍步態(tài)

圖9 跳躍步態(tài)時質(zhì)心速度隨時間變化曲線

圖10 跳躍步態(tài)時質(zhì)心速度隨時間變化曲線

4 結(jié)論與討論

1)雙彈簧負載倒立擺模型可以模擬出體育運動過程中行走步態(tài)、跑步步態(tài)和跳躍步態(tài)。給出適當范圍的模型參數(shù)和初始條件,模型可以經(jīng)過很短時間自動調(diào)整出穩(wěn)定的步態(tài)。

2)倒立擺前進步態(tài)的穩(wěn)定性嚴重依賴于模型參數(shù)和初始條件,例如把3.3中的跳躍步態(tài)的攻角α1從85.2°微調(diào)到83.5°,其他條件不變,則倒立擺只能前進17.7 m就會倒地,導(dǎo)致程序計算終止。因此,合適模型參數(shù)和初始條件只能從仿生學(xué)角度獲得一個大致范圍,然后經(jīng)過大量調(diào)試才能獲得。

3)對獲得穩(wěn)定步態(tài)設(shè)定合理的模型參數(shù)和初始條件可以考慮利用一些優(yōu)化算法得到,這也是未來工作方向的重點。

猜你喜歡
觸地單腿質(zhì)點
巧用“搬運法”解決連續(xù)質(zhì)點模型的做功問題
基于重心動力學(xué)及虛擬模型的單腿平臺運動控制*
掃路車掃刷自適應(yīng)觸地壓力調(diào)節(jié)系統(tǒng)
火烈鳥單腿站立更“節(jié)能”
觸地跳起的下肢動作特征
質(zhì)點的直線運動
質(zhì)點的直線運動
減震跑鞋真的能防止運動傷害嗎?
單腿跳治頭暈
單腿跳治頭暈
通渭县| 本溪| 镇沅| 奎屯市| 和平县| 南开区| 宁化县| 灵石县| 渝中区| 三河市| 龙海市| 那曲县| 阿尔山市| 射洪县| 嵩明县| 股票| 社会| 葵青区| 彰化市| 永善县| 济源市| 河津市| 曲松县| 安陆市| 阳城县| 阳春市| 临夏县| 阿拉善右旗| 万州区| 洛浦县| 大连市| 武城县| 益阳市| 修文县| 贵南县| 扎兰屯市| 罗源县| 如东县| 海兴县| 林周县| 鄄城县|