[发明专利]一种用于乒乓球机器人的击球动作产生方法在审
申请号: | 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.vipzhuanli.com/pat/books/202210177581.0/1.html,转载请声明来源钻瓜专利网。