[發明專利]一種用于乒乓球機器人的擊球動作產生方法在審
| 申請號: | 202210177581.0 | 申請日: | 2022-02-25 |
| 公開(公告)號: | CN114547898A | 公開(公告)日: | 2022-05-27 |
| 發明(設計)人: | 宋博;張海波;王昱欣;張文;孫智涌;張強;賀琪欲 | 申請(專利權)人: | 上海創屹科技有限公司 |
| 主分類號: | G06F30/20 | 分類號: | G06F30/20;A63B69/00;A63B67/04;G06F119/14 |
| 代理公司: | 安徽省合肥新安專利代理有限責任公司 34101 | 代理人: | 陸麗莉;何梅生 |
| 地址: | 201206 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 乒乓球 機器人 擊球 動作 產生 方法 | ||
1.一種用于乒乓球機器人的擊球動作產生方法,其特征是,所述方法包括:
步驟1、基于滾動優化的思想估計乒乓球飛行過程中的空氣阻力系數和旋轉角速度,并作為飛行參數;
步驟2、基于乒乓球的飛行參數預測擊球點;
步驟3、基于所述擊球點,通過有約束優化的方法得到乒乓球機器人的擊球動作。
2.根據權利要求1中所述的擊球動作產生方法,其特征在于,所述步驟1包括:
步驟1.1,根據空氣動力學和牛頓第二定律,利用式(1)得到乒乓球的飛行軌跡模型:
式(1)中,V(k)=[vx(k),vy(k),vz(k)]為第k個采樣時刻乒乓球的線速度,vx(k),vy(k),vz(k)分別表示線速度V(k)在x軸、y軸和z軸上的分量,vx(k+1),vy(k+1),vz(k+1)分別表示第k+1個采樣時刻乒乓球的線速度V(k+1)在x軸、y軸和z軸上的分量,x(k),y(k),z(k)分別表示第k個采樣時刻乒乓球的位置矢量在x軸、y軸和z軸上的分量,x(k+1),y(k+1),z(k+1)分別表示第k+1個采樣時刻乒乓球的位置矢量在x軸、y軸和z軸上的分量,ωx,ωy,ωz分別表示旋轉角速度ω在x軸、y軸和z軸上的分量;Ts為采樣間隔;g表示重力加速度,Cd表示空氣阻力系數,Cm表示馬格努斯力系數;kd表示Cd與球性質參數相乘的空氣阻力中間系數,km表示Cm與球性質參數相乘的馬格努斯力中間系數,并有:
式(2)和式(3)中,mb表示乒乓球的質量,Cd表示空氣阻力系數,Cm表示馬格努斯力系數,ρ表示空氣密度,A表示乒乓球的橫截面積,r表示乒乓球的半徑;
步驟1.2,對乒乓球軌跡進行采樣:
a、按照采樣間隔Ts,利用雙目相機獲取乒乓球在飛行過程中第k個采樣時刻的位置矢量P(k),且P(k)=[x(k),y(k),z(k)];
b、判斷y(k)∈[Δ1,+∞]是否成立,若成立,記錄P(k)到緩沖區中,并將k+1賦值給k,返回步驟a,否則,對緩沖區中前k-1個采樣時刻的位置坐標P(1),P(2),P(3)…P(k-1)進行切比雪夫多項式擬合,得到當前采樣時刻下擬合后的乒乓球位置坐標Pf(1),Pf(2),Pf(3)…Pf(k-1),其中,Pf(1)=[xf(1),yf(1),zf(1)],Pf(2)=[xf(2),yf(2),zf(2)],Pf(k-1)=[xf(k-1),yf(k-1),zf(k-1)]表示擬合過的第1,第2,第k-1個采樣時刻乒乓球的位置矢量,xf(1),yf(1),zf(1)表示擬合過的第1個采樣時刻乒乓球的位置矢量在x軸、y軸、z軸上的分量,xf(2),yf(2),zf(2)表示擬合過的第2個采樣時刻乒乓球的位置矢量在x軸、y軸、z軸上的分量,xf(k-1),yf(k-1),zf(k-1)表示擬合過的第k-1個采樣時刻乒乓球的位置矢量在x軸、y軸、z軸上的分量,Δ1表示y軸方向上擬合開始閾值;
步驟1.3,對乒乓球的飛行參數u=[kd,ωx,ωy,ωz]進行在線估計:
a、初始化估計次數的計數器m=1和預測步長Np;定義變量i;
b、根據空氣的物理性質,令Cd∈[0,1],令ωx,ωy,ωz∈[ωmin,ωmax],其中,ωmin,ωmax分別表示預設的角速度分量下限和上限,并利用式(4)和式(5)求解飛行參數u的初值
式(4)和式(5)中,為一與V(m)有關的中間變量,表示系數kd的第m-1次估計值,V(m)=[vx(m),vy(m),vz(m)]表示第m個采樣時刻乒乓球的線速度;且令表示ωx的第m-1次估計值,表示ωy的第m-1次估計值,表示ωz的第m-1次估計值,且xf(m+2),xf(m+1),xf(m)分別表示擬合后的第m+2,第m+1,第m個采樣時刻乒乓球的位置矢量在x軸上的分量,yf(m+2),yf(m+1),yf(m)分別表示擬合后的第m+2,第m+1,第m個采樣時刻乒乓球的位置矢量在y軸上的分量,zf(m+2),zf(m+1),zf(m)分別表示擬合后的第m+2,第m+1,第m個采樣時刻乒乓球的位置矢量在z軸上的分量;vx(m),vx(m+1)表示第m,第m+1個采樣時刻球的速度矢量在x軸上的分量;vy(m),vy(m+1)表示第m,第m+1個采樣時刻球的速度矢量在y軸上的分量;vz(m),vz(m+1)表示第m,第m+1個采樣時刻乒乓球的速度矢量在z軸上的分量;
c、判斷m+Np是否等于緩沖區的元素個數,若成立,執行步驟h;若不成立,則將m賦值給i,令第i個預測時刻乒乓球的狀態值為xp(i)=[xp(i),yp(i),zp(i),vxp(i),vyp(i),vzp(i)],其中,xp(i)、yp(i)、zp(i)分別表示乒乓球在第i個預測時刻的位置矢量在x軸、y軸、z軸的分量;vxp(i),vyp(i),vzp(i)分別表示乒乓球在第i個預測時刻速度矢量在x軸、y軸、z軸的分量;將xf(i)賦值給xp(i),將yf(i)賦值給yp(i),將zf(i)賦值給zp(i),將賦值給vxp(i),將賦值給vyp(i),將賦值給vzp(i);
d、判斷i是否小于等于m+Np,若成立,利用式(6)得到第i+1個預測時刻乒乓球的狀態值,若不成立,進入步驟f;
式(6)中,xp(i+1)、yp(i+1)、zp(i+1)分別表示乒乓球在第i+1個預測時刻的位置矢量在x軸、y軸、z軸的分量;vxp(i+1),vyp(i+1),vzp(i+1)分別表示乒乓球在第i+1個預測時刻速度矢量在x軸、y軸、z軸的分量;Vp(i)=[vxp(i),vyp(i),vzp(i)]表示第i個預測時刻乒乓球的線速度矢量;
e、將i+1賦值給i后,返回步驟d;
f、利用Nelder Mead Simplex算法求解式(7)所示的優化問題,并得到第m次飛行參數u的估計結果
式(7)中,表示加權陣為Q的二次型;表示系數kd的第m次估計值,表示ωx的第m次估計值,表示ωy的第m次估計值,表示ωz的第m次估計值;Pp(m)=[xp(m+1)yp(m+1)zp(m+1),xp(m+2),yp(m+2),zp(m+2)…xp(m+Np),yp(m+Np),zp(m+Np)]表示步驟d中Np個預測時刻的球位置矢量,xp(m+2),yp(m+2),zp(m+2)表示乒乓球在第m+2個預測時刻的位置矢量在x軸、y軸、z軸的分量,xp(m+Np),yp(m+Np),zp(m+Np)表示乒乓球在第m+Np個預測時刻的位置矢量在x軸、y軸、z軸的分量,Pf(m)=[xf(m+1),yf(m+1),zf(m+1),xf(m+2),yf(m+2),zf(m+2)…xf(m+Np),yf(m+Np),zf(m+Np)]表示第m+1到m+Np個預測時刻擬合后的乒乓球的位置矢量,xf(m+1),yf(m+1),zf(m+1)表示擬合后的第m+1個預測時刻乒乓球的位置矢量在x軸、y軸、z軸的分量,xf(m+2),yf(m+2),zf(m+2)表示擬合后的第m+2個預測時刻乒乓球的位置矢量在x軸、y軸、z軸的分量,xf(m+Np),yf(m+Np),zf(m+Np)表示擬合后的第m+Np個預測時刻乒乓球的位置矢量在x軸、y軸、z軸的分量;
g、將m+1賦值給m后,返回步驟c;
h、得到最終的估計結果并作為乒乓球的飛行參數其中,為系數kd的最終估計值,為ωx,ωy,ωz的最終估計值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海創屹科技有限公司,未經上海創屹科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210177581.0/1.html,轉載請聲明來源鉆瓜專利網。





