CN110458281A - 乒乓球机器人的深度强化学习旋转速度预测方法及*** - Google Patents
乒乓球机器人的深度强化学习旋转速度预测方法及*** Download PDFInfo
- Publication number
- CN110458281A CN110458281A CN201910713089.9A CN201910713089A CN110458281A CN 110458281 A CN110458281 A CN 110458281A CN 201910713089 A CN201910713089 A CN 201910713089A CN 110458281 A CN110458281 A CN 110458281A
- Authority
- CN
- China
- Prior art keywords
- table tennis
- rotation speed
- neural network
- deeply
- estimating depth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B67/00—Sporting games or accessories therefor, not provided for in groups A63B1/00 - A63B65/00
- A63B67/04—Table games physically beneficial for the human body, modelled on outdoor sports, e.g. table tennis
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B69/00—Training appliances or apparatus for special sports
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/06—Indicating or scoring devices for games or players, or for other sports activities
- A63B71/0605—Decision makers and devices using detection means facilitating arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2102/00—Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
- A63B2102/16—Table tennis
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/10—Positions
- A63B2220/13—Relative positions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/30—Speed
Landscapes
- Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physical Education & Sports Medicine (AREA)
- Feedback Control In General (AREA)
- Manipulator (AREA)
Abstract
本申请提供了一种乒乓球机器人的深度强化学习旋转速度预测方法及***,预测方法包括将等时间间隔的乒乓球来球位置序列归一化;将归一化序列输入到深度LSTM网络中;将得到的LSTM的状态向量输入到入射旋转估计深度神经网络中,得到入射旋转速度;计算深度强化学习的奖励反馈;将当前次击球过程的乒乓球来球位置序列、乒乓球入射旋转速度和奖励反馈组合成一次击球记忆,存入记忆库中;从记忆库中随机选取至少一条记忆,将LSTM的状态向量和乒乓球入射旋转速度输入到奖励反馈估计深度神经网络中,输出奖励反馈估计,并对入射旋转估计深度神经网络和奖励反馈估计深度神经网络进行反向传播和参数更新。本申请应对旋转球时能够准确回球。
Description
技术领域
本申请属于乒乓球机器人技术领域,具体涉及一种乒乓球机器人的深度强化学习旋转速度预测方法及***。
背景技术
乒乓球机器人是指能够将本方半球台反弹之后的乒乓球击打到对方半球台的自动化装置,它能够实现乒乓球多回合的对打竞技,可以广泛地应用于专业运动员的训练和业余爱好者的互动。
现阶段,国内外不少研究机构已经实现了乒乓球机器人击球的目标,然而,乒乓球机器人仍然普遍存在对转速较快的旋转球不能准确回球的不足。现有关于乒乓球机器人的击球运动控制很少考虑乒乓球的旋转速度,乒乓球机器人更多的是直接利用无旋转的模型进行回球,这使得乒乓球机器人难以对转速较快的旋转球进行准确回球。
现有对乒乓球旋转速度的预测方法,通过复杂的辅助***(如云台加高速相机)捕捉乒乓球的局部特征(如商标),进而计算得到乒乓球的旋转速度。这类依赖辅助的云台***较为复杂,对相机的帧率要求很高,且在局部特征不能被相机采集时(如商标在乒乓球背面)不能有效做出旋转速度估计。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供了一种乒乓球机器人的深度强化学习旋转速度预测方法及***。
根据本申请实施例的第一方面,本申请提供了一种乒乓球机器人的深度强化学习旋转速度预测方法,用于对乒乓球的入射旋转速度进行深度强化学习预测,其包括以下步骤:
将等时间间隔的乒乓球来球位置序列归一化,得到归一化序列;
将归一化序列输入到深度LSTM网络中,得到LSTM的状态向量;
将LSTM的状态向量输入到入射旋转估计深度神经网络中,得到入射旋转速度;
采集机器人根据乒乓球入射旋转速度完成击球动作后的乒乓球实际回球落点空间位置和乒乓球实际回球过网高度,并根据采集到的乒乓球实际回球落点空间位置和乒乓球实际回球过网高度,以及预设的回球落点空间位置和预设的过网高度,计算得到深度强化学习的奖励反馈;
将当前次击球过程的乒乓球来球位置序列、乒乓球入射旋转速度和奖励反馈组合成一次击球记忆,存入记忆库中;
每次击球完成后,从记忆库中随机选取至少一条记忆,将LSTM的状态向量和乒乓球入射旋转速度输入到奖励反馈估计深度神经网络中,输出奖励反馈估计,并对入射旋转估计深度神经网络和奖励反馈估计深度神经网络进行反向传播和参数更新。
上述乒乓球机器人的深度强化学习旋转速度预测方法中,所述将等时间间隔的乒乓球来球位置序列归一化的过程为:
Pin_normed[n]=-1+2*(Pin[n]-Pmin)/(Pmax-Pmin),
式中,Pin_normed[n]表示归一化序列,Pin[n]表示n点乒乓球来球位置序列,Pmin表示乒乓球在x、y和z轴三个方向上位置最小值的向量,Pmax表示乒乓球在x、y和z轴三个方向上位置最大值的向量。
上述乒乓球机器人的深度强化学习旋转速度预测方法中,所述入射旋转估计深度神经网络包括m层,具体为:
m层入射旋转估计深度神经网络的最后一层不使用激活函数,其余层使用Relu函数作为激活函数;
式中,Weighti和biasi均为第i+1层网络参数,Layer(i)为第i+1层网络输出,Win为入射旋转估计深度神经网络输出的乒乓球入射旋转速度。
上述乒乓球机器人的深度强化学习旋转速度预测方法中,所述深度强化学习的奖励反馈为:
式中,distance_loss表示实际回球落点空间位置的偏差损失,height_loss表示过网高度的偏差损失。
进一步地,所述实际回球落点空间位置的偏差损失distance_loss通过下式计算得到:
系数a0,a1,a2,b1,b2以及取值范围的边界c1,c2满足以下约束:
进一步地,所述过网高度的偏差损失height_loss通过下式计算得到:
系数d0,d1,d2,e1,e2以及取值范围的边界f1,f2满足以下约束:
上述乒乓球机器人的深度强化学习旋转速度预测方法中,所述奖励反馈估计深度神经网络包括k层,具体为:
k层奖励反馈估计深度神经网络的最后一层不使用激活函数,其余层使用Relu函数作为激活函数;
式中,Weight2s、Weight2w和bias20均为第1层网络参数,Weight2j和bias2j为第j+1层网络参数,layer(j)为第j+1层网络输出。
上述乒乓球机器人的深度强化学习旋转速度预测方法中,所述入射旋转估计深度神经网络的反向传播和参数更新的目标函数为:最小化-R_predict,Minimize:-R_predict(θ1),θ1表示m层入射旋转估计深度神经网络的所有网络参数;
所述奖励反馈估计深度神经网络的反向传播和参数更新的目标函数为:最小化R_predict和R的均方误差,
Minimize:MSE(R_predict-R)(θ2),
θ2表示k层奖励反馈估计深度神经网络的所有网络参数。
进一步地,所述网络参数θ1和θ2使用软更新方式进行更新,具体为:
式中,θ1'表示网络参数θ1的目标值,θ2'表示网络参数θ2的目标值,τ表示软更新参数。
根据本申请实施例的第二方面,本申请还提供了一种乒乓球机器人的深度强化学习旋转速度预测***,其包括:
归一化模块,用于将等时间间隔的乒乓球来球位置序列归一化,得到归一化序列;
LSTM网络,用于根据获取的归一化序列得到状态向量;
入射旋转估计深度神经网络,用于根据获取的状态向量得到入射旋转速度;
奖励反馈计算模块,用于根据采集到的乒乓球实际回球落点空间位置和乒乓球实际回球过网高度,以及预设的回球落点空间位置和预设的过网高度计算得到深度强化学习的奖励反馈;
记忆库,用于存储至少一次击球记忆,其中,一次击球记忆包括前次击球过程的乒乓球来球位置序列、乒乓球入射旋转速度和奖励反馈;
奖励反馈估计深度神经网络,用于根据从记忆库中随机选取的至少一条记忆中的状态向量和乒乓球入射旋转速度得到奖励反馈估计;
网络参数更新模块,利用从记忆库中随机选取的至少一条记忆对入射旋转估计深度神经网络的网络参数和奖励反馈估计深度神经网络的网络参数进行更新。
根据本申请实施例的第三方面,本申请还提供了一种乒乓球机器人,其包括:
视觉预测模块,通过采集若干乒乓球的轨迹点,预测乒乓球的飞行轨迹,并获取乒乓球进入机器人作业空间后的最佳击球点的位置、入射速度、入射旋转速度和剩余时间;其中,入射旋转速度采用上述任一项所述的乒乓球机器人的深度强化学习旋转速度预测方法得到;
落点控制模块,用于根据预设的击打之后乒乓球在对方半球台的落点空间位置和飞行时间,计算得到击打之后乒乓球的反射速度和反射旋转速度;
击球状态计算模块,利用乒乓球与球拍的碰撞模型,根据乒乓球在击球点位置处的入射速度、反射速度、入射旋转速度和反射旋转速度,计算得到球拍的速度和姿态;
运动规划模块,用于驱动机器人末端球拍以计算得到的速度和姿态在剩余时间完成击球动作。
根据本申请的上述具体实施方式可知,至少具有以下有益效果:本申请采用深度强化学习,利用乒乓球的空间轨迹位置对乒乓球的入射旋转速度进行预测,无需引入复杂的辅助***去识别可能被遮挡的局部特征,使乒乓球机器人应对旋转球时能够准确回球。
本申请将归一化后的乒乓球来球位置序列输入到深度LSTM网络中,得到LSTM的状态向量,用来表征深度强化学习的状态空间,***简单可靠,且不存在局部特征在视野盲区的问题,鲁棒性更强。
利用回球落点空间位置与过网高度和预设值的偏差设计深度强化学习的奖励反馈,通过巧妙地设计奖励反馈函数,使得机器人回球与预设值偏差越大时,奖励反馈下降的越快,从而使深度强化学习网络能更有效地收敛。
本申请巧妙地设计了奖励反馈估计深度神经网络和入射旋转估计深度神经网络,将无法得到真实值的入射旋转速度估计问题转换为奖励反馈的估计问题和最大化奖励反馈估计的问题,利用旋转速度引起的空间轨迹位置差异来训练模型,避免了辅助***对局部特征的采集,使***更简单可靠;利用记忆库存储过往的数据序列,参数更新时在记忆库中随机采样,打乱了数据序列的相关性,使深度神经网络更容易收敛;利用软更新的方式更新网络参数,使网络训练过程更加稳定,收敛更有保障。
应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本申请所欲主张的范围。
附图说明
下面的所附附图是本申请的说明书的一部分,其示出了本申请的实施例,所附附图与说明书的描述一起用来说明本申请的原理。
图1为本申请具体实施方式提供的一种乒乓球机器人的深度强化学习旋转速度预测方法的流程图。
图2为本申请具体实施方式提供的一种乒乓球机器人的控制原理图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本申请所揭示内容的精神,任何所属技术领域技术人员在了解本申请内容的实施例后,当可由本申请内容所教示的技术,加以改变及修饰,其并不脱离本申请内容的精神与范围。
本申请的示意性实施例及其说明用于解释本申请,但并不作为对本申请的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。
关于本文中所使用的“第一”、“第二”、…等,并非特别指称次序或顺位的意思,也非用以限定本申请,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。
关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以细微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的细微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。
某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。
现有技术中大多数机器人默认乒乓球为无旋球,即不考虑入射旋转速度Win和反射旋转速度Wout。
如图1所示,本申请乒乓球机器人的深度强化学习旋转速度预测方法对乒乓球的入射旋转速度Win进行深度强化学习预测,其具体过程为:
S1、将等时间间隔的n点乒乓球来球位置序列Pin[n]归一化,得到归一化序列Pin_normed[n]:
Pin_normed[n]=-1+2*(Pin[n]-Pmin)/(Pmax-Pmin) (1)
式(1)中,Pmin表示乒乓球在x、y和z轴三个方向上位置最小值的向量,乒乓球在x、y和z轴三个方向上位置最小值即实际击打乒乓球过程中所有可能出现的且能够被视觉***捕捉到的乒乓球空间位置在x、y和z轴上的最小值,该最小值为所有数据的统计最小值;Pmax表示乒乓球在x、y和z轴三个方向上位置最大值的向量,乒乓球在x、y和z轴三个方向上位置最大值即实际击打乒乓球过程中所有可能出现的且能够被视觉***捕捉到的乒乓球空间位置在x、y和z轴上的最大值,该最大值为所有数据的统计最大值;Pin[n]表示n点乒乓球位置序列,其中每个点包含x、y和z轴三个方向坐标,Pin_normed[n]表示将n点乒乓球位置序列x、y和z轴三个方向坐标归一化到[-1,1]区间内的结果。
S2、将归一化后的n点乒乓球来球位置序列Pin_normed[n]输入到深度LSTM网络(LongShort-TermMemory,长短期记忆网络)中,得到LSTM的状态向量S:
S=LSTM_State(Pin_normed[n]) (2)
S3、将LSTM的状态向量S输入到m层入射旋转估计深度神经网络中,得到入射旋转速度Win。
其中,m层入射旋转估计深度神经网络的最后一层不使用激活函数,除最后一层外,全部使用Relu函数作为激活函数。从LSTM的状态向量S到入射旋转速度Win的m层入射旋转估计深度神经网络可以表示为:
式(3)中,Weighti和biasi均为第i+1层网络参数,Layer(i)为第i+1层网络输出,Win为入射旋转估计深度神经网络输出的乒乓球入射旋转速度。m层入射旋转估计深度神经网络的所有网络参数记为θ1。
S4、采集机器人根据乒乓球入射旋转速度Win完成击球动作后的乒乓球实际回球落点空间位置Prebound_real和乒乓球实际回球过网高度Hreal,并根据采集到的乒乓球实际回球落点空间位置Prebound_real和乒乓球实际回球过网高度Hreal,以及预设的回球落点空间位置Prebound_set和预设的过网高度Hset,通过下式计算得到深度强化学习的奖励反馈R:
式(4)中,distance_loss表示实际回球落点空间位置的偏差损失,height_loss表示过网高度的偏差损失。
实际回球落点空间位置的偏差损失distance_loss通过以下表达式计算得到:
且满足如下约束:
式(6)中,a0,a1,a2,b1,b2表示系数且均为标量常数;c1,c2表示取值范围的边界,且均为标量常数。
过网高度的偏差损失height_loss通过以下表达式计算得到:
且满足如下约束:
式(8)中,d0,d1,d2,e1,e2表示系数且均为标量常数;f1,f2表示取值范围的边界,且均为标量常数。
S5、将当前次击球过程的n点乒乓球来球位置序列Pin_normed[n]、乒乓球入射旋转速度Win和奖励反馈R组合成一次击球记忆memory,存入记忆库Memory[memory_size,memory]。
memory=[Pin_normed[n],Win,R] (9)
当记忆库存满后,新的击球记忆会覆盖记忆库中最原始的一次击球记忆。
S6、每次击球完成后,从记忆库中随机选取至少一条记忆,将LSTM的状态向量S和乒乓球入射旋转速度Win输入到k层奖励反馈估计深度神经网络中,输出奖励反馈估计R_predict。
其中,k层奖励反馈估计深度神经网络的最后一层不使用激活函数,除最后一层外,全部使用Relu函数作为激活函数。从LSTM的状态向量S和乒乓球入射旋转速度Win到奖励反馈估计R_predict的k层奖励反馈估计深度神经网络可以表示为:
式(10)中,Weight2s、Weight2w和bias20均为第1层网络参数,Weight2j和bias2j为第j+1层网络参数,layer(j)为第j+1层网络输出,R_predict为奖励反馈估计。
式(10)中,k层奖励反馈估计深度神经网络的所有网络参数记为θ2。
S7、对式(3)表示的入射旋转估计深度神经网络和式(10)表示的奖励反馈估计深度神经网络进行反向传播和参数更新。
其中,式(3)表示的入射旋转估计深度神经网络的反向传播和参数更新的目标函数为最大化式(10)表示的奖励反馈估计深度神经网络的输出,即最小化-R_predict:
Minimize:-R_predict(θ1) (11)
式(10)表示的奖励反馈估计深度神经网络的反向传播和参数更新的目标函数为最小化R_predict和R的均方误差:
Minimize:MSE(R_predict-R)(θ2) (12)
利用m层入射旋转估计深度神经网络的所有网络参数θ1对式(11)进行一次更新,得到网络参数目标值θ1'。
利用k层奖励反馈估计深度神经网络的所有网络参数θ2对式(11)进行一次更新,得到网络参数目标值θ2'。
使用如下的软更新方式更新网络参数θ1和θ2:
式(13)中,τ为软更新参数。
经过击球训练后,式(10)表示的奖励反馈估计深度神经网络可以通过LSTM的状态向量S和乒乓球入射旋转速度Win估计出与奖励反馈R均方误差最小的反馈估计R_predict;式(3)表示的入射旋转估计深度神经网络则可以通过LSTM的状态向量S估计出使奖励反馈估计R_predict最大的入射旋转速度Win,从而实现利用乒乓球来球位置序列Pin[n]预测入射旋转速度Win的目的。
在以上乒乓球机器人的深度强化学习旋转速度预测方法的基础上,本申请还提供了一种乒乓球机器人的深度强化学习旋转速度预测***,其包括:
归一化模块,用于将等时间间隔的n点乒乓球来球位置序列Pin[n]归一化,得到归一化序列Pin_normed[n];
LSTM网络,用于根据获取的归一化序列Pin_normed[n]得到状态向量S;
入射旋转估计深度神经网络,用于根据获取的状态向量S得到入射旋转速度Win;
奖励反馈计算模块,用于根据采集到的乒乓球实际回球落点空间位置Prebound_real和乒乓球实际回球过网高度Hreal,以及预设的回球落点空间位置Prebound_set和预设的过网高度Hset计算得到深度强化学习的奖励反馈R;
记忆库,用于存储至少一次击球记忆,其中,一次击球记忆包括前次击球过程的n点乒乓球来球位置序列Pin_normed[n]、乒乓球入射旋转速度Win和奖励反馈R;
奖励反馈估计深度神经网络,用于根据状态向量S和乒乓球入射旋转速度Win得到奖励反馈估计R_predict;
网络参数更新模块,利用从记忆库中随机选取的至少一条记忆对入射旋转估计深度神经网络的网络参数和奖励反馈估计深度神经网络的网络参数进行更新,使得奖励反馈估计与计算得到的奖励反馈无限接近,并且使入射旋转估计得到更大的奖励反馈估计,从而获得更接近真实入射旋转的入射旋转估计。
需要说明的是:上述实施例提供的乒乓球机器人的深度强化学习旋转速度预测***仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将旋转速度预测***的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的旋转速度预测***与旋转速度预测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述旋转速度预测***中各模块的硬件实现,为了实现本申请实施例提供的旋转速度预测方法,本申请实施例还提供了一种乒乓球机器人的深度强化学习旋转速度预测装置,其包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器。其中所述处理器用于运行所述计算机程序时,执行如下步骤:
对等时间间隔的n点乒乓球来球位置序列Pin[n]进行归一化,得到归一化序列Pin_normed[n];
根据归一化序列Pin_normed[n]得到LSTM网络的状态向量S;
采用入射旋转估计深度神经网络,根据状态向量S得到入射旋转速度Win;
根据采集到的乒乓球实际回球落点空间位置Prebound_real和乒乓球实际回球过网高度Hreal,以及预设的回球落点空间位置Prebound_set和预设的过网高度Hset计算得到深度强化学习的奖励反馈R;
对至少一次击球记忆进行存储,其中,一次击球记忆包括前次击球过程的n点乒乓球来球位置序列Pin_normed[n]、乒乓球入射旋转速度Win和奖励反馈R;
利用存储的至少一条记忆,采用奖励反馈估计深度神经网络,根据状态向量S和乒乓球入射旋转速度Win得到奖励反馈估计R_predict,并对入射旋转估计深度神经网络的网络参数和奖励反馈估计深度神经网络的网络参数进行更新。
在示例性实施例中,本申请实施例还提供了一种计算机存储介质,是计算机可读存储介质,例如,包括计算机程序的存储器,上述计算机程序可由旋转速度预测装置中的处理器执行,以完成上述旋转速度预测方法中的所述步骤。
其中,计算机可读存储介质可以是磁性随机存取存储器、只读存储器、可编程只读存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器、快闪存储器、磁表面存储器、光盘、或只读光盘等存储器。
基于本申请提供的乒乓球机器人的深度强化学习旋转速度预测方法,本申请还提供了一种乒乓球机器人,该乒乓球机器人根据乒乓球的入射旋转速度Win进行回球,能够对转速较快的旋转球进行准确回球。
如图2所示,本申请提供的乒乓球机器人包括视觉预测模块1、落点控制模块2、击球状态计算模块3和运动规划模块4。
其中,视觉预测模块1通过采集若干乒乓球的轨迹点,预测乒乓球的飞行轨迹,并获取乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度Vin、入射旋转速度Win和剩余时间t。
具体地,剩余时间t指的是,从视觉预测模块完成乒乓球的飞行轨迹预测以及最佳击球点的位置Phit、入射速度Vin和入射旋转速度Win的获取,到机器人完成击球动作(即球拍接触乒乓球)的时间,即留给运动规划模块驱动机器人末端球拍完成击球动作的时间。
落点控制模块2根据预设的击打之后乒乓球在对方半球台的落点空间位置和飞行时间,计算得到击打之后乒乓球的反射速度VOut和反射旋转速度Wout。
击球状态计算模块3利用乒乓球与球拍的碰撞模型,根据乒乓球在击球点位置处的入射速度Vin、反射速度VOut、入射旋转速度Win和反射旋转速度Wout,计算得到球拍的速度VR和姿态WTR。
运动规划模块4驱动机器人末端球拍以速度VR和姿态WTR在剩余时间t完成击球动作。
本申请采用深度强化学习,利用乒乓球的空间轨迹位置对乒乓球的入射旋转速度进行预测,无需引入复杂的辅助***(如云台)去识别可能被遮挡的局部特征,使乒乓球机器人应对旋转球时能够准确回球。
本申请将归一化后的乒乓球来球位置序列输入到深度LSTM网络中,得到LSTM的状态向量,用来表征深度强化学习的状态空间;与使用辅助***(如云台)采集局部特征来估计旋转的乒乓球机器人相比,本申请的机器人***更简单可靠,且不存在局部特征在视野盲区的问题,鲁棒性更强。
利用回球落点空间位置与过网高度和预设值的偏差设计深度强化学习的奖励反馈,通过巧妙地设计奖励反馈函数,使得机器人回球与预设值偏差越大时,奖励反馈下降的越快,从而使深度强化学习网络能更有效地收敛。
本申请巧妙地设计了奖励反馈估计深度神经网络和入射旋转估计深度神经网络,将无法得到真实值的入射旋转速度估计问题转换为奖励反馈的估计问题和最大化奖励反馈估计的问题,利用旋转速度引起的空间轨迹位置差异来训练模型,避免了辅助***对局部特征的采集,使***更简单可靠;利用记忆库存储过往的数据序列,参数更新时在记忆库中随机采样,打乱了数据序列的相关性,使深度神经网络更容易收敛;利用软更新的方式更新网络参数,使网络训练过程更加稳定,收敛更有保障。
以上所述仅为本申请示意性的具体实施方式,在不脱离本申请的构思和原则的前提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本申请保护的范围。
Claims (11)
1.一种乒乓球机器人的深度强化学习旋转速度预测方法,用于对乒乓球的入射旋转速度进行深度强化学习预测,其特征在于,包括以下步骤:
将等时间间隔的乒乓球来球位置序列归一化,得到归一化序列;
将归一化序列输入到深度LSTM网络中,得到LSTM的状态向量;
将LSTM的状态向量输入到入射旋转估计深度神经网络中,得到入射旋转速度;
采集机器人根据乒乓球入射旋转速度完成击球动作后的乒乓球实际回球落点空间位置和乒乓球实际回球过网高度,并根据采集到的乒乓球实际回球落点空间位置和乒乓球实际回球过网高度,以及预设的回球落点空间位置和预设的过网高度,计算得到深度强化学习的奖励反馈;
将当前次击球过程的乒乓球来球位置序列、乒乓球入射旋转速度和奖励反馈组合成一次击球记忆,存入记忆库中;
每次击球完成后,从记忆库中随机选取至少一条记忆,将LSTM的状态向量和乒乓球入射旋转速度输入到奖励反馈估计深度神经网络中,输出奖励反馈估计,并对入射旋转估计深度神经网络和奖励反馈估计深度神经网络进行反向传播和参数更新。
2.根据权利要求1所述的乒乓球机器人的深度强化学习旋转速度预测方法,其特征在于,所述将等时间间隔的乒乓球来球位置序列归一化的过程为:
Pin_normed[n]=-1+2*(Pin[n]-Pmin)/(Pmax-Pmin),
式中,Pin_normed[n]表示归一化序列,Pin[n]表示n点乒乓球来球位置序列,Pmin表示乒乓球在x、y和z轴三个方向上位置最小值的向量,Pmax表示乒乓球在x、y和z轴三个方向上位置最大值的向量。
3.根据权利要求1所述的乒乓球机器人的深度强化学习旋转速度预测方法,其特征在于,所述入射旋转估计深度神经网络包括m层,具体为:
m层入射旋转估计深度神经网络的最后一层不使用激活函数,其余层使用Relu函数作为激活函数;
式中,Weighti和biasi均为第i+1层网络参数,Layer(i)为第i+1层网络输出,Win为入射旋转估计深度神经网络输出的乒乓球入射旋转速度。
4.根据权利要求1或2或3所述的乒乓球机器人的深度强化学习旋转速度预测方法,其特征在于,所述深度强化学习的奖励反馈为:
式中,distance_loss表示实际回球落点空间位置的偏差损失,height_loss表示过网高度的偏差损失。
5.根据权利要求4所述的乒乓球机器人的深度强化学习旋转速度预测方法,其特征在于,所述实际回球落点空间位置的偏差损失distance_loss通过下式计算得到:
系数a0,a1,a2,b1,b2以及取值范围的边界c1,c2满足以下约束:
6.根据权利要求4所述的乒乓球机器人的深度强化学习旋转速度预测方法,其特征在于,所述过网高度的偏差损失height_loss通过下式计算得到:
系数d0,d1,d2,e1,e2以及取值范围的边界f1,f2满足以下约束:
7.根据权利要求1或2或3所述的乒乓球机器人的深度强化学习旋转速度预测方法,其特征在于,所述奖励反馈估计深度神经网络包括k层,具体为:
k层奖励反馈估计深度神经网络的最后一层不使用激活函数,其余层使用Relu函数作为激活函数;
式中,Weight2s、Weight2w和bias20均为第1层网络参数,Weight2j和bias2j为第j+1层网络参数,layer(j)为第j+1层网络输出。
8.根据权利要求1或2或3所述的乒乓球机器人的深度强化学习旋转速度预测方法,其特征在于,所述入射旋转估计深度神经网络的反向传播和参数更新的目标函数为:最小化-R_predict,Minimize:-R_predict(θ1),θ1表示m层入射旋转估计深度神经网络的所有网络参数;
所述奖励反馈估计深度神经网络的反向传播和参数更新的目标函数为:最小化R_predict和R的均方误差,
Minimize:MSE(R_predict-R)(θ2),
θ2表示k层奖励反馈估计深度神经网络的所有网络参数。
9.根据权利要求8所述的乒乓球机器人的深度强化学习旋转速度预测方法,其特征在于,所述网络参数θ1和θ2使用软更新方式进行更新,具体为:
式中,θ1'表示网络参数θ1的目标值,θ2'表示网络参数θ2的目标值,τ表示软更新参数。
10.一种乒乓球机器人的深度强化学习旋转速度预测***,其特征在于,包括:
归一化模块,用于将等时间间隔的乒乓球来球位置序列归一化,得到归一化序列;
LSTM网络,用于根据获取的归一化序列得到状态向量;
入射旋转估计深度神经网络,用于根据获取的状态向量得到入射旋转速度;
奖励反馈计算模块,用于根据采集到的乒乓球实际回球落点空间位置和乒乓球实际回球过网高度,以及预设的回球落点空间位置和预设的过网高度计算得到深度强化学习的奖励反馈;
记忆库,用于存储至少一次击球记忆,其中,一次击球记忆包括当前次击球过程的乒乓球来球位置序列、乒乓球入射旋转速度和奖励反馈;
奖励反馈估计深度神经网络,用于根据从记忆库中随机选取的至少一条记忆中的状态向量和乒乓球入射旋转速度得到奖励反馈估计;
网络参数更新模块,利用从记忆库中随机选取的至少一条记忆对入射旋转估计深度神经网络的网络参数和奖励反馈估计深度神经网络的网络参数进行更新。
11.一种乒乓球机器人,其特征在于,包括:
视觉预测模块,通过采集若干乒乓球的轨迹点,预测乒乓球的飞行轨迹,并获取乒乓球进入机器人作业空间后的最佳击球点的位置、入射速度、入射旋转速度和剩余时间;其中,入射旋转速度采用如权利要求1~9任一项所述的乒乓球机器人的深度强化学习旋转速度预测方法得到;
落点控制模块,用于根据预设的击打之后乒乓球在对方半球台的落点空间位置和飞行时间,计算得到击打之后乒乓球的反射速度和反射旋转速度;
击球状态计算模块,利用乒乓球与球拍的碰撞模型,根据乒乓球在击球点位置处的入射速度、反射速度、入射旋转速度和反射旋转速度,计算得到球拍的速度和姿态;
运动规划模块,用于驱动机器人末端球拍以计算得到的速度和姿态在剩余时间完成击球动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910713089.9A CN110458281B (zh) | 2019-08-02 | 2019-08-02 | 乒乓球机器人的深度强化学习旋转速度预测方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910713089.9A CN110458281B (zh) | 2019-08-02 | 2019-08-02 | 乒乓球机器人的深度强化学习旋转速度预测方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110458281A true CN110458281A (zh) | 2019-11-15 |
CN110458281B CN110458281B (zh) | 2021-09-03 |
Family
ID=68484778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910713089.9A Active CN110458281B (zh) | 2019-08-02 | 2019-08-02 | 乒乓球机器人的深度强化学习旋转速度预测方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110458281B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111546332A (zh) * | 2020-04-23 | 2020-08-18 | 上海电机学院 | 一种基于嵌入式设备的乒乓球机器人***及应用 |
CN111866192A (zh) * | 2020-09-24 | 2020-10-30 | 汉桑(南京)科技有限公司 | 一种基于宠物球的宠物互动方法、***、装置及存储介质 |
CN112085761A (zh) * | 2020-09-10 | 2020-12-15 | 上海庞勃特科技有限公司 | 乒乓球轨迹捕捉分析方法及分析*** |
CN113386126A (zh) * | 2020-03-13 | 2021-09-14 | 欧姆龙株式会社 | 旋转推断装置及方法、轨迹预测装置及方法、回球机器人 |
CN113393495A (zh) * | 2021-06-21 | 2021-09-14 | 暨南大学 | 基于强化学习的高空抛物轨迹识别方法 |
CN113524200A (zh) * | 2021-09-07 | 2021-10-22 | 季华实验室 | 机械臂调度***、方法、替换方法、装置、设备及介质 |
CN113942009A (zh) * | 2021-09-13 | 2022-01-18 | 苏州大学 | 机器人仿生手抓取方法和*** |
CN115120949A (zh) * | 2022-06-08 | 2022-09-30 | 乒乓动量机器人(昆山)有限公司 | 乒乓球机器人灵活击球策略的实现方法、***及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200760A (zh) * | 2011-05-25 | 2011-09-28 | 中国科学院自动化研究所 | 一种获取乒乓球机器人球拍击球姿态和击球速度的方法 |
CN106390409A (zh) * | 2016-11-17 | 2017-02-15 | 中科新松有限公司 | 一种乒乓球机器人的击球方法及装置 |
CN106669125A (zh) * | 2016-12-31 | 2017-05-17 | 安徽工业大学 | 基于肌电信号的陪练乒乓球机器人回球方式的预测***及方法 |
CN107481270A (zh) * | 2017-08-10 | 2017-12-15 | 上海体育学院 | 乒乓球目标跟踪和轨迹预测方法、装置、存储介质和计算机设备 |
CN108197648A (zh) * | 2017-12-28 | 2018-06-22 | 华中科技大学 | 一种基于lstm深度学习模型的水电机组故障诊断方法与*** |
CN108255182A (zh) * | 2018-01-30 | 2018-07-06 | 上海交通大学 | 一种基于深度强化学习的服务机器人行人感知避障方法 |
CN109964237A (zh) * | 2016-09-15 | 2019-07-02 | 谷歌有限责任公司 | 图像深度预测神经网络 |
-
2019
- 2019-08-02 CN CN201910713089.9A patent/CN110458281B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200760A (zh) * | 2011-05-25 | 2011-09-28 | 中国科学院自动化研究所 | 一种获取乒乓球机器人球拍击球姿态和击球速度的方法 |
CN109964237A (zh) * | 2016-09-15 | 2019-07-02 | 谷歌有限责任公司 | 图像深度预测神经网络 |
CN106390409A (zh) * | 2016-11-17 | 2017-02-15 | 中科新松有限公司 | 一种乒乓球机器人的击球方法及装置 |
CN106669125A (zh) * | 2016-12-31 | 2017-05-17 | 安徽工业大学 | 基于肌电信号的陪练乒乓球机器人回球方式的预测***及方法 |
CN107481270A (zh) * | 2017-08-10 | 2017-12-15 | 上海体育学院 | 乒乓球目标跟踪和轨迹预测方法、装置、存储介质和计算机设备 |
CN108197648A (zh) * | 2017-12-28 | 2018-06-22 | 华中科技大学 | 一种基于lstm深度学习模型的水电机组故障诊断方法与*** |
CN108255182A (zh) * | 2018-01-30 | 2018-07-06 | 上海交通大学 | 一种基于深度强化学习的服务机器人行人感知避障方法 |
Non-Patent Citations (6)
Title |
---|
DONGHYUN PARK 等: "LiReD: A Light-Weight Real-Time Fault Detection System for Edge Computing Using LSTM Recurrent Neural Networks", 《SENSORS》 * |
MARTINO MENSIO 等: "A Multi-layer LSTM-based Approach for Robot Command Interaction Modeling", 《ARXIV:1811.05242V1 [CS.CL]》 * |
TAKESHI NISHIDA 等: "Robot Path Training and Planning Usign LSTM Network", 《THE PROCEEDINGS OF JSME ANNUAL CONFERENCE ON ROBOTICS AND MECHATRONICS (ROBOMEC)》 * |
季云峰 等: "乒乓球精确旋转、速度及落点数据的人工神经网络模型研究", 《上海体育学院学报》 * |
张威威 等: "基于深度学习的城市道路旅行时间预测", 《***仿真学》 * |
戴亮亮: "基于视觉的乒乓球及击球识别***研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113386126A (zh) * | 2020-03-13 | 2021-09-14 | 欧姆龙株式会社 | 旋转推断装置及方法、轨迹预测装置及方法、回球机器人 |
CN111546332A (zh) * | 2020-04-23 | 2020-08-18 | 上海电机学院 | 一种基于嵌入式设备的乒乓球机器人***及应用 |
CN112085761A (zh) * | 2020-09-10 | 2020-12-15 | 上海庞勃特科技有限公司 | 乒乓球轨迹捕捉分析方法及分析*** |
CN111866192A (zh) * | 2020-09-24 | 2020-10-30 | 汉桑(南京)科技有限公司 | 一种基于宠物球的宠物互动方法、***、装置及存储介质 |
CN113393495A (zh) * | 2021-06-21 | 2021-09-14 | 暨南大学 | 基于强化学习的高空抛物轨迹识别方法 |
CN113524200A (zh) * | 2021-09-07 | 2021-10-22 | 季华实验室 | 机械臂调度***、方法、替换方法、装置、设备及介质 |
CN113524200B (zh) * | 2021-09-07 | 2021-12-14 | 季华实验室 | 机械臂调度***、方法、替换方法、装置、设备及介质 |
CN113942009A (zh) * | 2021-09-13 | 2022-01-18 | 苏州大学 | 机器人仿生手抓取方法和*** |
CN113942009B (zh) * | 2021-09-13 | 2023-04-18 | 苏州大学 | 机器人仿生手抓取方法 |
CN115120949A (zh) * | 2022-06-08 | 2022-09-30 | 乒乓动量机器人(昆山)有限公司 | 乒乓球机器人灵活击球策略的实现方法、***及存储介质 |
CN115120949B (zh) * | 2022-06-08 | 2024-03-26 | 乒乓动量机器人(昆山)有限公司 | 乒乓球机器人灵活击球策略的实现方法、***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110458281B (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110458281A (zh) | 乒乓球机器人的深度强化学习旋转速度预测方法及*** | |
US10456653B2 (en) | Swing quality measurement system | |
US10974121B2 (en) | Swing quality measurement system | |
US20170147872A1 (en) | Method of identifying a movement by quantified recursive bayesian filtering | |
JP2005507722A5 (zh) | ||
Smeeton et al. | Postural cues, biological motion perception, and anticipation in sport | |
Tastan et al. | Learning to intercept opponents in first person shooter games | |
KR100907704B1 (ko) | 인공지능형 캐디를 이용한 골퍼자세교정시스템 및 이를이용한 골퍼자세교정방법 | |
Gao et al. | Markerless racket pose detection and stroke classification based on stereo vision for table tennis robots | |
Schwab et al. | Learning skills for small size league robocup | |
US20210331057A1 (en) | Swing analysis system that calculates a rotational profile | |
Beernaerts et al. | Analysing team formations in football with the static qualitative trajectory calculus | |
Lai et al. | Self-learning for a humanoid robotic ping-pong player | |
Kumada et al. | Golf swing tracking and evaluation using Kinect sensor and particle filter | |
Ding et al. | Learning high speed precision table tennis on a physical robot | |
Fahami et al. | A reinforcement learning approach to score goals in RoboCup 3D soccer simulation for nao humanoid robot | |
Bai et al. | Wrighteagle and UT Austin villa: RoboCup 2011 simulation league champions | |
Altaf et al. | Extended case-based behavior control for multi-humanoid robots | |
CN110711368B (zh) | 一种乒乓球机器人的击球方法及装置 | |
Jansson | Predicting trajectories of golf balls using recurrent neural networks | |
Landry et al. | A heuristic-based planner and improved controller for a two-layered approach for the game of billiards | |
Schiffer et al. | Akbaba—An Agent for the Angry Birds AI Challenge Based on Search and Simulation | |
Liu et al. | RETRACTED: Design and implementation of badminton robot perception and control system | |
Hao | Research on the Applications of Artificial Intelligence in Golf | |
Dong et al. | Sports Analytics Using Probabilistic Model Checking and Deep Learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210908 Address after: 257 jinzang Road, Pudong New Area, Shanghai, 201206 Patentee after: Shanghai Chuangyi Technology Co.,Ltd. Address before: Room 101, 201, West, building 11, No. 351 jinzang Road, Pudong New Area, Shanghai Patentee before: SIASUN Co.,Ltd. |