高佩川 楊秋鋒
(南京工程學(xué)院 江蘇南京 211112)
乒乓球作為一種打法多樣且易于普及的運(yùn)動(dòng),受到了我國人民高度熱愛。在競技體育中,乒乓球運(yùn)動(dòng)更是占有十分重要的地位。隨著乒乓球運(yùn)動(dòng)員能力的不斷提高,乒乓球運(yùn)動(dòng)器械功能的提高也成為一個(gè)急需解決的問題。
乒乓球機(jī)器人一直是一個(gè)研究熱點(diǎn),雖然很早就有學(xué)者提出了乒乓球機(jī)器人的原型[1-2],并且近年來也不斷有學(xué)者在做乒乓球機(jī)器人的設(shè)計(jì)[3-4],但由于各種各樣的技術(shù)上的難題,乒乓球機(jī)器人還遠(yuǎn)沒有達(dá)到實(shí)戰(zhàn)的能力。
由于在比賽中乒乓球的飛行速度很快,乒乓球機(jī)器人需要提前到位,才能進(jìn)行下一步的接球動(dòng)作。為了能夠提前到位,乒乓球機(jī)器人就需要在對手擊出乒乓球后的一瞬間,準(zhǔn)確預(yù)測乒乓球的運(yùn)動(dòng)。
為了能夠完成這樣的任務(wù),一種思路是從實(shí)時(shí)跟蹤預(yù)測的角度進(jìn)行研究[5-6],有學(xué)者取得了一定的成果;另一種思路是從求解初值問題的角度進(jìn)行研究,也就是在知道乒乓球的初始條件下,利用一定的模型求得乒乓球的運(yùn)動(dòng)。
針對乒乓球飛行運(yùn)動(dòng)模型建立的這一問題,已有許多學(xué)者做出了一定的研究。有學(xué)者基于已經(jīng)開發(fā)的工業(yè)軟件預(yù)測了乒乓球的飛行運(yùn)動(dòng),也有學(xué)者利用物理模型和數(shù)學(xué)方法單獨(dú)建立了乒乓球的飛行模型,還有學(xué)者利用物理模型和數(shù)學(xué)方法單獨(dú)建立了乒乓球的碰撞模型。暫時(shí)還缺少一種基于物理模型和數(shù)學(xué)方法的融合乒乓球飛行和碰撞的預(yù)測方法。
首先,該文考慮了馬格努斯力,利用牛頓第二定律建立了乒乓球飛行模型,并且利用沖量定理和沖量矩定理建立了乒乓球碰撞模型。其次,利用數(shù)值方法進(jìn)行matlab 編程求解,最終得到仿真結(jié)果。該方法可以為乒乓球機(jī)器人的設(shè)計(jì)提供參考,同時(shí)也可以為乒乓球運(yùn)動(dòng)員的接球策略提供參考。
乒乓球在空中的飛行過程中,有不同的運(yùn)動(dòng)方式。復(fù)雜的運(yùn)動(dòng)方式可以由基本的運(yùn)動(dòng)方式疊加而成。最基本的飛行運(yùn)動(dòng)方式有六種,分別為左旋、側(cè)旋、上旋、下旋和順旋以及逆旋[7](見圖1)。
在乒乓球飛行過程中,由于乒乓球的變形基本為零,可以把乒乓球簡化成一個(gè)球狀剛體模型。在運(yùn)動(dòng)過程中,該剛體除了有隨質(zhì)心的平移運(yùn)動(dòng),還有繞質(zhì)心的旋轉(zhuǎn)運(yùn)動(dòng),因此形成了一個(gè)空間中的速度分布。由于速度分布不均勻,根據(jù)流體力學(xué)的伯努利方程可知,每點(diǎn)受到空氣的壓強(qiáng)也不一樣。不均勻的壓強(qiáng)分布使得運(yùn)動(dòng)中的乒乓球受到大氣對它的一種特有的力的作用,也就是馬格努斯力。而這樣一種空氣對在空中運(yùn)動(dòng)的類似剛性球體的力的作用效應(yīng)就稱為馬格努斯效應(yīng)[8](見圖2)。
1.2.1 乒乓球飛行模型
乒乓球飛行的過程中主要受到重力、空氣阻力以及馬格努斯力的作用。重力的大小與乒乓球的質(zhì)量和當(dāng)?shù)氐闹亓铀俣扔嘘P(guān),其方向是豎直向下。空氣阻力的大小和空氣黏滯系數(shù)與速度成正比,其方向與速度方向相反。馬格努斯力的大小與質(zhì)心速度和繞質(zhì)心角速度有關(guān),其方向是垂直于速度矢量和角速度矢量形成的平面。圖3為乒乓球在運(yùn)動(dòng)當(dāng)中的運(yùn)動(dòng)分析和受力分析圖[9]。
根據(jù)牛頓第二定律,可以得到乒乓球運(yùn)動(dòng)方程的矢量形式:ma=mg+Fd+Fm。其中,m是乒乓球的質(zhì)量,a是乒乓球的加速度矢量,g是當(dāng)?shù)刂亓铀俣?,是Fd為空氣阻力,F(xiàn)m是馬格努斯力。又有:
其中,S是乒乓球的面積,ν是乒乓球的運(yùn)動(dòng)速度,ω是乒乓球的角速度,ρ是空氣的密度,Cd和Cm分別是空氣阻力系數(shù)和馬格努斯力系數(shù)。θ1和φ1代表了矢量v的方向,θ2和φ2代表了矢量ω的方向。
把矢量形式的乒乓球運(yùn)動(dòng)方程轉(zhuǎn)換成矩陣形式的運(yùn)動(dòng)方程,具體如下:
1.2.2 乒乓球碰撞模型
根據(jù)規(guī)則,必須在乒乓球撞擊桌面反彈之后,運(yùn)動(dòng)員才可以擊打乒乓球。為了預(yù)測乒乓球彈起之后的運(yùn)動(dòng)軌跡,建立乒乓球與乒乓球桌的碰撞模型非常必要。圖4 展示了乒乓球碰撞過程中,三維碰撞過程的X-Z平面和Y-Z平面的投影[10]。
根據(jù)剛體沖量定理和沖量矩定理可以得到:
在X-Z平面帶入具體數(shù)值并且在二維形式下展開成分量形式,可以得到:
化簡后利用消元法可以解得最終結(jié)果:
其中,當(dāng)A 點(diǎn)速度大于零時(shí),取正號(hào);當(dāng)A 點(diǎn)速度小于零時(shí),取負(fù)號(hào)。
在Y-Z平面帶入具體數(shù)值并且在二維形式下展開成分量形式,經(jīng)過化簡可以得到:
其中,當(dāng)A 點(diǎn)速度大于零時(shí),取正號(hào);當(dāng)A 點(diǎn)速度小于零時(shí),取負(fù)號(hào)。
由于三維乒乓球運(yùn)動(dòng)方程較為復(fù)雜,求解其常微分線性方程組使用的方法也較為困難,所以采用由低維度到高維度的處理方法,在求得二維情況下運(yùn)動(dòng)方程解的情況之后,再考慮三維乒乓球運(yùn)動(dòng)方程的求解。同時(shí),在低維情況下求得乒乓球運(yùn)動(dòng)方程解的情況更加簡潔明了,易于獲得乒乓球飛行運(yùn)動(dòng)物理上直覺化的理解。
在二維情況下,乒乓球運(yùn)動(dòng)如圖5所示。
三維運(yùn)動(dòng)方程可化簡為:
將矩陣形式的乒乓球二維運(yùn)動(dòng)方程展開成常微分方程組形式可得:
由于在實(shí)際比賽中,下旋球和上旋球會(huì)對乒乓球的運(yùn)動(dòng)產(chǎn)生不同的影響。現(xiàn)分別在這兩種情況之下,考慮乒乓球的速度情況和軌跡情況。
二維空間中考慮下旋球的情況,ω0=2π,將上式代入運(yùn)動(dòng)方程中后化簡可得:
在得到上述質(zhì)心速度的表達(dá)式之后,將速度對時(shí)間積分,就可以得到坐標(biāo)關(guān)于時(shí)間t的參數(shù)方程:
其中,初始條件假設(shè)如下:
使用數(shù)值方法和Matlab 編程求解常微分方程組,得到如下乒乓球二維運(yùn)動(dòng)速度圖(見圖6)[11]。
首先考慮長度方向的速度vy,在乒乓球碰撞桌面前,它的速度不斷減慢,但減小的速率也在變慢,這是因?yàn)槭艿搅笋R格努斯力的作用。在乒乓球碰撞桌面中,前后兩點(diǎn)的速度發(fā)生了突變,是因?yàn)榕鲎矌淼臎_量矩的作用。在乒乓球碰撞桌面后,它的速度也不斷減慢,但此時(shí)減小的速率越來越快了,這是因?yàn)樵谂鲎仓?,乒乓球的角速度發(fā)生了改變,馬格努斯力的方向產(chǎn)生了變化,因此乒乓球運(yùn)動(dòng)速度的斜率發(fā)生了改變。
其次考慮高度方向的速度,在乒乓球碰撞桌面前,它的速度不斷減慢,同時(shí)由正值下降到負(fù)值,這也就意味著乒乓球從上升運(yùn)動(dòng)轉(zhuǎn)變到了下降運(yùn)動(dòng)。在乒乓球碰撞桌面中,前后兩點(diǎn)的速度也發(fā)生了突變,這是由于沖量的作用,并且乒乓球的速度由負(fù)值突變成了正值,這樣就意味著乒乓球從下落經(jīng)碰撞之后彈起,但碰撞后一點(diǎn)的速度的絕對值小于碰撞前一點(diǎn)的絕對值,這是因?yàn)榕鲎伯a(chǎn)生了能量的損失。在乒乓球碰撞桌面后,重力成為主導(dǎo)的作用力,從而乒乓球高度方向的速度不斷減小。
在將乒乓球兩個(gè)方向的速度對時(shí)間積分之后,可以得到如下二維乒乓球運(yùn)動(dòng)軌跡(見圖7)。
由圖7 分析可知,乒乓球經(jīng)歷了兩次飛行運(yùn)動(dòng)和一次碰撞運(yùn)動(dòng)。在第一次飛行運(yùn)動(dòng)中,由下旋運(yùn)動(dòng)帶來的斜向上的馬格努斯力使得乒乓球有更大的弧線,這也就解釋了乒乓球運(yùn)動(dòng)員在擊打近網(wǎng)且弧度較低的球時(shí)經(jīng)常使用削球的原因。在碰撞之后,由于能量的損失,明顯可以注意到乒乓球的最大高度沒有碰撞前高,同時(shí)由乒乓球的疏密可以看出碰撞之后的速度明顯小于碰撞之前的速度。
接下來考慮在二維空間中考慮上旋球的情況,假設(shè)角速度ω0=-2π,將角速度帶入二維乒乓球運(yùn)動(dòng)方程后化簡得到:
在得到上述質(zhì)心速度的表達(dá)式之后,將速度對時(shí)間積分,就可以得到坐標(biāo)關(guān)于時(shí)間t的參數(shù)方程:
其中,初始條件假設(shè)如下:
使用數(shù)值方法和Matlab 編程求解常微分方程組,得到如下乒乓球二維運(yùn)動(dòng)速度(見圖8)。
相對于一般的拋體運(yùn)動(dòng)而言,乒乓球、網(wǎng)球等球類的飛行運(yùn)動(dòng)除了重力、空氣阻力和浮力還會(huì)產(chǎn)生一種馬格努斯力。而影響馬格努斯力的因素主要是乒乓球質(zhì)心速度和繞質(zhì)心的角速度?,F(xiàn)在采用控制變量法,在其他的物理量相同的情況下,考慮角度想法的兩種情況,分析這兩種情況下運(yùn)動(dòng)速度和運(yùn)動(dòng)軌跡的差別來考慮馬格努斯效應(yīng)影響方式和影響大小。
由圖9 可知,下旋球的球速明顯高于上旋球的球速,同時(shí)可以觀察到下旋球的最大高度和碰撞前長度距離都明顯大于上旋球的最大高度和碰撞前長度距離。從考慮馬格努斯力的角度可以得出原因:下旋球的馬格努斯力斜向上,而上旋球的馬格努斯力斜向下,下旋球能獲得更多的升力,走出更大的弧度,到達(dá)更遠(yuǎn)的距離。
這樣的一種現(xiàn)象也給控制乒乓球機(jī)器人接球算法和策略產(chǎn)生了一定的啟發(fā),如果來球是靠近球網(wǎng)且弧度較低的球,機(jī)器人可以使用下旋球也就是削球擊打回去。
如果來球是遠(yuǎn)離球網(wǎng)且弧度較高的球,機(jī)器人可以使用上旋球也就是拉球擊打回去。這樣的策略使得乒乓球越過球網(wǎng)并且落在臺(tái)內(nèi)的可能性大大增大。
在三維空間情況下,由于此時(shí)乒乓球運(yùn)動(dòng)方程過于復(fù)雜,為了在滿足求解精度的情況下更加方便求得乒乓球運(yùn)動(dòng)方程的數(shù)值解,現(xiàn)在做出這樣的化簡:將阻力系數(shù)簡化成常數(shù),將馬格努斯力系數(shù)也簡化成常數(shù)??梢缘玫剑?/p>
將上式帶入三維乒乓球運(yùn)動(dòng)方程可得:
將乒乓球的質(zhì)量,當(dāng)?shù)刂亓铀俣?,空氣密度,空氣密度,空氣黏性系?shù)等參數(shù)帶入上述線性常微分方程組中可以得到:
將已經(jīng)獲得的乒乓球質(zhì)心速度對時(shí)間積分得到乒乓球質(zhì)心關(guān)于時(shí)間t的參數(shù)方程:
考慮乒乓球上下旋的情況,同時(shí)使用Matlab 仿真求解。
其中,數(shù)值條件如下所示:
使用數(shù)值方和matlab 編程求解常微分方程組,得到如下乒乓球三維運(yùn)動(dòng)速度(見圖10)。
將已經(jīng)得到的速度曲線對時(shí)間積分,便可以得到乒乓球的軌跡線(見圖11)。
分析圖11 可以發(fā)現(xiàn),右側(cè)的旋轉(zhuǎn)可以使乒乓球飛出更大的X-Y平面的弧線,這樣的弧線有利于乒乓球在寬度方向上落在乒乓桌的范圍上,減少失誤的可能性。
為了分析不同大小的角速度ωz對乒乓球飛行軌跡的影響,取ωz分別等于-2π、0和2π。圖12展示了不同角速度ωz的乒乓球軌跡線。
分析圖12可以發(fā)現(xiàn),在角速度ωz由負(fù)值到正值的變化過程中,右側(cè)的旋轉(zhuǎn)使乒乓球在X-Y平面弧線的二階導(dǎo)數(shù)從負(fù)值到正值變化。正的角速度有利于乒乓球落在寬度范圍內(nèi),負(fù)的角速度有利于打出反斜線的弧線,不同的角速度可以使乒乓球的打法更加多樣。
為了觀察不同角速度在X-Y平面的軌跡產(chǎn)生的影響,取不同角速度ωz,得到三維乒乓球左右旋的俯視軌跡(見圖13),發(fā)現(xiàn)在寬度方向的距離為0 到0.7 左右時(shí),不同的角速度對弧線的影響較小,但在寬度方向的距離大于0.7 之后不同角速度ωz的弧線發(fā)生了極大的差別。這表明不同旋轉(zhuǎn)的球在剛開始運(yùn)動(dòng)時(shí)不容易被發(fā)現(xiàn)差別,但在某個(gè)距離之后弧線發(fā)生了急劇變化,這給運(yùn)動(dòng)員擊打不同旋轉(zhuǎn)的乒乓球增加了許多困難。
該文求解的思路是先建立數(shù)學(xué)模型,再使用數(shù)值方法和matlab進(jìn)行求解。這樣的思路必定存在一定的誤差。為了驗(yàn)證上述模型和數(shù)值方法的可靠性,一般有兩種方法可以選擇:第一種是實(shí)驗(yàn)驗(yàn)證;第二種是工業(yè)軟件仿真驗(yàn)證。由于實(shí)驗(yàn)室設(shè)備有限,難以精確測量乒乓球的初矢徑、初速度和初角速度,所以該文選擇第二種方法來驗(yàn)證模型的正確性。同時(shí),由于這款工業(yè)軟件ODE 已經(jīng)受到許多學(xué)者的使用和驗(yàn)證,它的準(zhǔn)確性和可靠性可以受到保障。所以在該小節(jié)中考慮乒乓球上下旋的情況,用同時(shí)使用Open Dynamic Engineering仿真軟件求解[5]。其中,數(shù)值條件設(shè)為:
同時(shí)引用其他學(xué)者已經(jīng)完成的工作,結(jié)果如圖14所示。
通過比較ODE 仿真結(jié)果和matlab 數(shù)值結(jié)果,可以發(fā)現(xiàn)兩種結(jié)果十分相似。這也就間接證明了該文求解思路的正確性。
在考慮重力、空氣阻力和馬格努斯力的情況下,利用空氣動(dòng)力學(xué)和剛體動(dòng)力學(xué)的知識(shí)構(gòu)建了乒乓球飛行運(yùn)動(dòng)和碰撞運(yùn)動(dòng)的物理模型和數(shù)學(xué)方程。
利用數(shù)值方法中的常微分方程組解法和數(shù)值積分,仿真了乒乓球在二維和三維情況下的運(yùn)動(dòng)。
該研究為深入構(gòu)建乒乓球機(jī)器人的接球策略和控制方法提供了一定的參考。同時(shí),也為乒乓球運(yùn)動(dòng)員的訓(xùn)練方法和技術(shù)打法的提高提供了一定的理論依據(jù)。