CN106390409B - 一种乒乓球机器人的击球方法及装置 - Google Patents

一种乒乓球机器人的击球方法及装置 Download PDF

Info

Publication number
CN106390409B
CN106390409B CN201611025559.5A CN201611025559A CN106390409B CN 106390409 B CN106390409 B CN 106390409B CN 201611025559 A CN201611025559 A CN 201611025559A CN 106390409 B CN106390409 B CN 106390409B
Authority
CN
China
Prior art keywords
racket
table tennis
velocity
speed
coordinate system
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.)
Active
Application number
CN201611025559.5A
Other languages
English (en)
Other versions
CN106390409A (zh
Inventor
杨跞
张文
张海波
钟颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Chuangyi Technology Co ltd
Original Assignee
Siasun Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siasun Co Ltd filed Critical Siasun Co Ltd
Priority to CN201611025559.5A priority Critical patent/CN106390409B/zh
Publication of CN106390409A publication Critical patent/CN106390409A/zh
Application granted granted Critical
Publication of CN106390409B publication Critical patent/CN106390409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B67/00Sporting games or accessories therefor, not provided for in groups A63B1/00 - A63B65/00
    • A63B67/04Table games physically beneficial for the human body, modelled on outdoor sports, e.g. table tennis

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Manipulator (AREA)

Abstract

本发明实施例公开了一种乒乓球机器人的击球方法及装置。该方法包括:采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;计算击打之后的乒乓球的反射速度vo;根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态wTR;根据所述球拍速度vr和姿态wTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。从而能够通过配置球拍速度方向,利用乒乓球与球拍的碰撞模型,计算球拍速度与姿态,实现乒乓球机器人击球之后乒乓球在对方半台上的精确落点控制。

Description

一种乒乓球机器人的击球方法及装置
技术领域
本发明实施例涉及控制的技术领域,尤其涉及一种乒乓球机器人的击球方法及装置。
背景技术
现阶段主要存在二种击球方法,第一种方式为:基于乒乓球与球拍碰撞模型的击球方法,包括镜面反射模型和非线性碰撞模型,均利用模型解析获取球拍的姿态和速度;第二种方式为:通过大量的数据采样进行机器学习来获取球拍的姿态和速度。
第一种方法中的镜面反射模型,击球方法相对比较简单,容易实现,但是也因为忽略乒乓球与球拍的碰撞特性,镜面反射模型与真实的碰撞模型存在比较大的偏差,因此使用这种击球方法的乒乓球机器人的击球质量比较差,不利于精确的落点控制;而第一种方法中的非线性碰撞模型,采用的是乒乓球与球拍的三维非完全弹性碰撞模型,碰撞模型相对比较准确,但是在击球方法上采用限定击球速度方向为Y方向,Z和X方向的速度分量为0,同时采用了较为复杂的L-M优化算法获取2个球拍姿态参数和球拍速度大小,这种击球方法能在一定程度上实现落点控制,但是计算较复杂,击球方式单一,不灵活。
第二种方法是通过机器学习获取球拍的姿态和速度,这种方法受限于机器学习的训练量,对于训练采样数据集之内的数据,乒乓球机器人能够较好的完成击球动作,而对于学习采样数据集以外的数据,乒乓球机器人的击球质量会大打折扣,无法满足我们的落点控制的精度要求,此外,机器学习这种击球方法对乒乓球机器人的训练要求比较高,不利于实现。
发明内容
本发明实施例的目的在于提出一种乒乓球机器人的击球方法及装置,旨在解决如何精确的获取球拍速度与姿态的问题。
为达此目的,本发明实施例采用以下技术方案:
第一方面,一种乒乓球机器人的击球方法,所述方法包括:
采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;
根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo
根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR
根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。
优选地,所述根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR之前,还包括:
在球拍坐标系建立所述乒乓球与球拍的碰撞模型,所述球拍坐标系的坐标原点O为所述乒乓球与所述球拍的接触点,所述球拍坐标系的Z轴垂直所述球拍面指向来球方向,所述球拍坐标系的X轴和Y轴在所述球拍面上面相互垂直,所述球拍坐标系满足约束关系,所述约束关系为:
rvoz=kf rviz+krf rvrz
rvox=kq rvix+krq rvrx
rvoy=kq rviy+krq rvry
其中,所述kf和所述kq分别表示所述乒乓球在球拍的法线方向和半径方向上的碰撞恢复系数;所述krf和所述krq分别表示所述球拍在所述法线方向和所述半径方向上对所述乒乓球的碰撞作用系数;所述rvox、所述rvoy和所述rvoz分别表示所述乒乓球的反射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rviy、所述rvix和所述rviz分别表示所述乒乓球的入射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rvrx、所述rvry和所述rvrz分别表示在所述球拍坐标系下的球拍速度。
优选地,所述在球拍坐标系建立所述乒乓球与球拍的碰撞模型之后,还包括:
将所述乒乓球的入射速度vi、反射速度vo以及所述球拍速度vr转换到所述球拍坐标系下(rvirvorvr),转换方程为:
配置所述球拍速度的矢量为vr=vr·nr=vr·[nrx;nry;nrz];
其中,所述wTr为所述球拍坐标系相对世界坐标系的姿态矩阵;所述nr=[nrx;nry;nrz]为表示球拍速度方向的单位向量;所述vr为待求解的球拍速度大小。
优选地,所述
优选地,所述根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR,包括:
将所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到法线向量上,法线投影后的方程为(vo+kfvi-krfvr)·n=0;
对所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到径向向量上,径向投影后的方程为(-vo+kqvi+krqvr)×n=0;
所述向量-vo+kqvi+krqvr和所述向量vo+kfvi-krfvr是垂直的,垂直的方程为(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0;
将vr=vr·nr代入所述(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0并获取所述球拍速度大小vr
根据所述球拍速度大小获取表示球拍姿态的法线单位向量为
其中,所述正负号根据所述球拍坐标系的建立和实际应用情景进行选取。
第二方面,一种乒乓球机器人的击球装置,所述装置包括:
获取模块,用于采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;
第一计算模块,用于根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo
第二计算模块,用于根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR
驱动模块,用于根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。
优选地,所述装置还包括:
建立模块,用于在根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR之前,在球拍坐标系建立所述乒乓球与球拍的碰撞模型,所述球拍坐标系的坐标原点O为所述乒乓球与所述球拍的接触点,所述球拍坐标系的Z轴垂直所述球拍面指向来球方向,所述球拍坐标系的X轴和Y轴在所述球拍面上面相互垂直,所述球拍坐标系满足约束关系,所述约束关系为:
rvoz=kf rviz+krf rvrz
rvox=kq rvix+krq rvrx
rvoy=kq rviy+krq rvry
其中,所述kf和所述kq分别表示所述乒乓球在球拍的法线方向和半径方向上的碰撞恢复系数;所述krf和所述krq分别表示所述球拍在所述法线方向和所述半径方向上对所述乒乓球的碰撞作用系数;所述rvox、所述rvoy和所述rvoz分别表示所述乒乓球的反射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rviy、所述rvix和所述rviz分别表示所述乒乓球的入射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rvrx、所述rvry和所述rvrz分别表示在所述球拍坐标系下的球拍速度。
优选地,所述装置还包括:
配置模块,用于在在球拍坐标系建立所述乒乓球与球拍的碰撞模型之后,将所述乒乓球的入射速度vi、反射速度vo以及所述球拍速度vr转换到所述球拍坐标系下(rvirvorvr),转换方程为
配置所述球拍速度的矢量为vr=vr·nr=vr·[nrx;nry;nrz];
其中,所述wTr为所述球拍坐标系相对世界坐标系的姿态矩阵;所述nr=[nrx;nry;nrz]为表示球拍速度方向的单位向量;所述vr为待求解的球拍速度大小。
优选地,所述
优选地,所述第二计算模块,具体用于:
将所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到法线向量上,法线投影后的方程为(vo+kfvi-krfvr)·n=0;
对所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到径向向量上,径向投影后的方程为(-vo+kqvi+krqvr)×n=0;
所述向量-vo+kqvi+krqvr和所述向量vo+kfvi-krfvr是垂直的,垂直的方程为(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0;
将vr=vr·nr代入所述(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0并获取所述球拍速度大小vr
根据所述球拍速度大小获取表示球拍姿态的法线单位向量为
其中,所述正负号根据所述球拍坐标系的建立和实际应用情景进行选取。
本发明实施例提供的一种乒乓球机器人的击球方法及装置,采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo;根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vr,计算所述球拍速度vr和姿态WTR;根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。从而能够通过配置球拍速度方向,利用乒乓球与球拍的碰撞模型,计算球拍速度与姿态,实现乒乓球机器人击球之后乒乓球在对方半台上的精确落点控制。
附图说明
图1是本发明实施例提供的一种乒乓球机器人的击球方法的流程示意图;
图2是本发明实施例提供的另一种乒乓球机器人的击球方法的流程示意图;
图3是本发明实施例提供的另一种乒乓球机器人的击球方法的流程示意图;
图4是本发明实施例提供的一种乒乓球机器人的击球装置的功能模块示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
参考图1,图1是本发明实施例提供的一种乒乓球机器人的击球方法的流程示意图。
如图1所示,所述乒乓球机器人的击球方法包括:
步骤101,采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;
步骤102,根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo
步骤103,根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR
步骤104,根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。
具体的,乒乓球机器人完成击打乒乓球任务的整体控制策略主要包括视觉预测、落点控制、击球方法和机器人运动规划4个部分。视觉预测模块通过采集若干乒乓球轨迹点,预测乒乓球的飞行轨迹,并获取乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;落点控制模块依据人为配置的击打之后乒乓球在对方半台的落点位置和飞行时间,计算得到击打之后乒乓球的反射速度vo;击球方法模块利用乒乓球与球拍的碰撞模型,通过乒乓球在击球点位置处的入射速度和反射速度,计算得到球拍的速度vr和姿态WTR;机器人运动规划模块驱动机器人末端球拍在剩余时间完成击球动作。
本发明实施例提供的一种乒乓球机器人的击球方法,采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo;根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR;根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。从而能够通过配置球拍速度方向,利用乒乓球与球拍的碰撞模型,计算球拍速度与姿态,实现乒乓球机器人击球之后乒乓球在对方半台上的精确落点控制。
参考图2,图2是本发明实施例提供的另一种乒乓球机器人的击球方法的流程示意图。
如图2所示,所述乒乓球机器人的击球方法包括:
步骤201,采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;
步骤202,根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo
步骤203,在球拍坐标系建立所述乒乓球与球拍的碰撞模型,所述球拍坐标系的坐标原点O为所述乒乓球与所述球拍的接触点,所述球拍坐标系的Z轴垂直所述球拍面指向来球方向,所述球拍坐标系的X轴和Y轴在所述球拍面上面相互垂直,所述球拍坐标系满足约束关系,所述约束关系为:
rvoz=kf rviz+krf rvrz
rvox=kq rvix+krq rvrx
rvoy=kq rviy+krq rvry
其中,所述kf和所述kq分别表示所述乒乓球在球拍的法线方向和半径方向上的碰撞恢复系数;所述krf和所述krq分别表示所述球拍在所述法线方向和所述半径方向上对所述乒乓球的碰撞作用系数;所述rvox、所述rvoy和所述rvoz分别表示所述乒乓球的反射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rviy、所述rvix和所述rviz分别表示所述乒乓球的入射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rvrx、所述rvry和所述rvrz分别表示在所述球拍坐标系下的球拍速度;
具体的,对于击球方法模块,它的输入参数为乒乓球入射速度vi,反射速度vo;输出参数为球拍速度vr和球拍姿态矩阵WTR,输入参数与输出参数通过乒乓球与球拍的碰撞模型建立相关的约束关系。乒乓球与球拍的碰撞模型建立在球拍坐标系(坐标原点O为乒乓球与球拍的接触点,Z轴垂直球拍面指向来球方向,X轴和Y轴在球拍面上面,相互垂直),它们满足如下约束关系:
rvoz=kf rviz+krf rvrz
rvox=kq rvix+krq rvrx
rvoy=kq rviy+krq rvry (1)
表达式(1)中的kf和kq分别表示乒乓球在球拍法线方向和半径方向上的碰撞恢复系数,krf和krq分别表示球拍在法线方向和半径方向上对乒乓球的碰撞作用系数,这四个系数与乒乓球和球拍的材质等息息相关,可以通过实验标定获取;rvoxrvoyrvoz分别表示乒乓球反射速度在球拍坐标系x,y和z轴三个方向上的分量,同样的道理rviyrvixrviz分别表示乒乓球入射速度在球拍坐标系x,y和z轴三个方向上的分量,rvrxrvryrvrz分别表示球拍速度在球拍坐标系下的表示。正如前面描述的那样,视觉预测模块和落点控制模块获取的乒乓球入射速度和反射速度均在固定的世界坐标系下描述,而表达式(1)需要在球拍坐标系下描述,因此我们通过如下转换关系,将乒乓球入射速度vi、反射速度vo以及球拍的速度vr转换到球拍坐标系下(rvirvorvr):
其中wTr为球拍坐标系相对世界坐标系的姿态矩阵,只有转换到球拍坐标系才能代入到表达式(1)。
步骤204,根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR
步骤205,根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。
参考图3,图3是本发明实施例提供的另一种乒乓球机器人的击球方法的流程示意图。
如图3所示,所述乒乓球机器人的击球方法包括:
步骤301,采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;
步骤302,根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo
步骤303,在球拍坐标系建立所述乒乓球与球拍的碰撞模型,所述球拍坐标系的坐标原点O为所述乒乓球与所述球拍的接触点,所述球拍坐标系的Z轴垂直所述球拍面指向来球方向,所述球拍坐标系的X轴和Y轴在所述球拍面上面相互垂直,所述球拍坐标系满足约束关系,所述约束关系为:
rvoz=kf rviz+krf rvrz
rvox=kq rvix+krq rvrx
rvoy=kq rviy+krq rvry
其中,所述kf和所述kq分别表示所述乒乓球在球拍的法线方向和半径方向上的碰撞恢复系数;所述krf和所述krq分别表示所述球拍在所述法线方向和所述半径方向上对所述乒乓球的碰撞作用系数;所述rvox、所述rvoy和所述rvoz分别表示所述乒乓球的反射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rviy、所述rvix和所述rviz分别表示所述乒乓球的入射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rvrx、所述rvry和所述rvrz分别表示在所述球拍坐标系下的球拍速度;
步骤304,将所述乒乓球的入射速度vi、反射速度vo以及所述球拍速度vr转换到所述球拍坐标系下(rvirvorvr),转换方程为:
配置所述球拍速度的矢量为vr=vr·nr=vr·[nrx;nry;nrz];
其中,所述wTr为所述球拍坐标系相对世界坐标系的姿态矩阵;所述nr=[nrx;nry;nrz]为表示球拍速度方向的单位向量;所述vr为待求解的球拍速度大小;
其中,
具体的,不难发现,击球方法的求解目标为球拍姿态wTr和球拍速度vr,共有6个未知数而约束条件只有表达式(1)中三个,因此击球方法存在3个冗余,需要额外的优化或者约束进行限定求解。因此本发明提出了一种用于乒乓球机器人的配置球拍运动方向的击球方法,即配置球拍速度矢量为vr=vr·nr=vr·[nrx;nry;nrz],其中nr=[nrx;nry;nrz]为已知的表示球拍速度方向的单位向量,vr为待求解的球拍速度大小。此外,球拍沿自身法线方向的旋转自由度对击球效果是没有影响的,这个自由度是冗余的,因此对于乒乓球机器人击球效果的一个关键因素在于球拍法线矢量的求解,不妨设待求解的球拍法线单位为在这样的限定和优化下待求解的未知数为3个(vr,xn和yn),约束方程也是3个(表达式(1)),约束方程能够得到有效的求解。
步骤305,根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR
优选地,所述根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR,包括:
将所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到法线向量上,法线投影后的方程为(vo+kfvi-krfvr)·n=0;
对所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到径向向量上,径向投影后的方程为(-vo+kqvi+krqvr)×n=0;
所述向量-vo+kqvi+krqvr和所述向量vo+kfvi-krfvr是垂直的,垂直的方程为(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0;
将vr=vr·nr代入所述(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0并获取所述球拍速度大小vr
根据所述球拍速度大小获取表示球拍姿态的法线单位向量为
其中,所述正负号根据所述球拍坐标系的建立和实际应用情景进行选取。
具体的,在利用约束表达式(1)进行方程求解前,需要进行表达式(2)的坐标变换,这些坐标变换会引入待求解的非线性三角函数,不利于方程的求解。本发明方法巧妙的利用空间矢量的方法表示碰撞模型,首先将乒乓球的入射速度、反射速度以及球拍速度投影到法线向量上,它们满足碰撞模型表达式(1)中的第一个方程,即
vo·n=-kfvi·n+krfvr·n (3)
整理一下则有
(vo+kfvi-krfvr)·n=0 (4)
这就说明向量vo+kfvi-krfvr与球拍的法线向量n垂直。接着对乒乓球的入射速度、反射速度以及球拍速度在球拍面(径向)的分量进行分析,则有
vo×n=kqvi×n+krqvr×n (5)
整理一下得到
(-vo+kqvi+krqvr)×n=0 (6)
这就说明向量-vo+kqvi+krqvr与法线向量n平行,也就意味着法线向量可以用向量-vo+kqvi+krqvr的单位化表示。
结合表达式(4)和表达式(6),可知向量-vo+kqvi+krqvr和向量vo+kfvi-krfvr是垂直的,即
(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0 (7)
展开并将vr=vr·nr带入表达式(7),则有
表达式(8)是一个关于球拍速度大小vr的一元二次方程,只有vr一个未知数,kf、kq、krf和krq为碰撞模型参数,vi和vo表示乒乓球的入射速度和反射速度,nr是配置的击球方向矢量。表达式中利用的是向量的点积与模计算不受具体某个坐标系下的约束,只要vi、vo和nr在同一个坐标系下描述即可,因此这里可以计算方便的选择世界坐标系下描述。
利用一元二次方程的通用求根公式可以计算得到球拍速度大小vr,不过这里需要对根进行分析与讨论,因为存在无解、1个解和2个解的情况。无解只能说明约束球拍速度在这个方向,无法完成期望落球点的击球动作;存在唯一解时,如果解大于等于0,就以这种球拍速度完成击球,如果小于0,则与客观事实不符,舍弃击球方式;2个解的时候选择速度较小的正解作为球拍的击球速度大小。
获取球拍速度之后,依据表达式(6)可以得到表示球拍姿态的法线单位向量为
表达式中的正负号依据球拍坐标系的建立和实际应用情景进行选取,如取n的Z值为正的时候实现正拍接球,Z值为负的时候实现翻拍接球。
本发明通过配置球拍速度方向,采用向量点积和叉乘的特性建立碰撞模型,求解获得球拍速度大小和球拍法向矢量,完成了击球方法的求解。
步骤306,根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。
参考图4,图4是本发明实施例提供的一种乒乓球机器人的击球装置的功能模块示意图。
如图4所示,所述乒乓球机器人的击球装置包括:
获取模块401,用于采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;
第一计算模块402,用于根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo
第二计算模块403,用于根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR
驱动模块404,用于根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。
优选地,所述装置还包括:
建立模块,用于在根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR之前,在球拍坐标系建立所述乒乓球与球拍的碰撞模型,所述球拍坐标系的坐标原点O为所述乒乓球与所述球拍的接触点,所述球拍坐标系的Z轴垂直所述球拍面指向来球方向,所述球拍坐标系的X轴和Y轴在所述球拍面上面相互垂直,所述球拍坐标系满足约束关系,所述约束关系为:
rvoz=kf rviz+krf rvrz
rvox=kq rvix+krq rvrx
rvoy=kq rviy+krq rvry
其中,所述kf和所述kq分别表示所述乒乓球在球拍的法线方向和半径方向上的碰撞恢复系数;所述krf和所述krq分别表示所述球拍在所述法线方向和所述半径方向上对所述乒乓球的碰撞作用系数;所述rvox、所述rvoy和所述rvoz分别表示所述乒乓球的反射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rviy、所述rvix和所述rviz分别表示所述乒乓球的入射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rvrx、所述rvry和所述rvrz分别表示在所述球拍坐标系下的球拍速度。
优选地,所述装置还包括:
配置模块,用于在在球拍坐标系建立所述乒乓球与球拍的碰撞模型之后,将所述乒乓球的入射速度vi、反射速度vo以及所述球拍速度vr转换到所述球拍坐标系下(rvirvorvr),转换方程为
配置所述球拍速度的矢量为vr=vr·nr=vr·[nrx;nry;nrz];
其中,所述wTr为所述球拍坐标系相对世界坐标系的姿态矩阵;所述nr=[nrx;nry;nrz]为表示球拍速度方向的单位向量;所述vr为待求解的球拍速度大小。
优选地,所述
优选地,所述第二计算模块403,具体用于:
将所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到法线向量上,法线投影后的方程为(vo+kfvi-krfvr)·n=0;
对所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到径向向量上,径向投影后的方程为(-vo+kqvi+krqvr)×n=0;
所述向量-vo+kqvi+krqvr和所述向量vo+kfvi-krfvr是垂直的,垂直的方程为(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0;
将vr=vr·nr代入所述(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0并获取所述球拍速度大小vr
根据所述球拍速度大小获取表示球拍姿态的法线单位向量为
其中,所述正负号根据所述球拍坐标系的建立和实际应用情景进行选取。
本发明实施例提供的一种乒乓球机器人的击球装置,采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo;根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR;根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。从而能够通过配置球拍速度方向,利用乒乓球与球拍的碰撞模型,计算球拍速度与姿态,实现乒乓球机器人击球之后乒乓球在对方半台上的精确落点控制。
以上结合具体实施例描述了本发明实施例的技术原理。这些描述只是为了解释本发明实施例的原理,而不能以任何方式解释为对本发明实施例保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明实施例的其它具体实施方式,这些方式都将落入本发明实施例的保护范围之内。

Claims (8)

1.一种乒乓球机器人的击球方法,其特征在于,所述方法包括:
采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo
在球拍坐标系建立所述乒乓球与球拍的碰撞模型,所述球拍坐标系的坐标原点O为所述乒乓球与所述球拍的接触点,所述球拍坐标系的Z轴垂直所述球拍面指向来球方向,所述球拍坐标系的X轴和Y轴在所述球拍面上面相互垂直,所述球拍坐标系满足约束关系,所述约束关系为:
,其中,所述kf和所述kq分别表示所述乒乓球在球拍的法线方向和半径方向上的碰撞恢复系数,所述krf和所述krq分别表示所述球拍在所述法线方向和所述半径方向上对所述乒乓球的碰撞作用系数,所述rvox、所述rvoy和所述rvoz分别表示所述乒乓球的反射速度在所述球拍坐标系x,y和z轴三个方向上的分量,所述rviy、所述rvix和所述rviz分别表示所述乒乓球的入射速度在所述球拍坐标系x,y和z轴三个方向上的分量,所述rvrx、所述rvry和所述rvrz分别表示在所述球拍坐标系下的球拍速度;
根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR
根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。
2.根据权利要求1所述的方法,其特征在于,所述在球拍坐标系建立所述乒乓球与球拍的碰撞模型之后,还包括:
将所述乒乓球的入射速度vi、反射速度vo以及所述球拍速度vr转换到所述球拍坐标系下(rvirvorvr),转换方程为:
配置所述球拍速度的矢量为vr=vr·nr=vr·[nrx;nry;nrz];
其中,所述wTr为所述球拍坐标系相对世界坐标系的姿态矩阵;所述nr=[nrx;nry;nrz]为表示球拍速度方向的单位向量;所述vr为待求解的球拍速度大小。
3.根据权利要求2所述的方法,其特征在于,所述球拍法线单位向量为
4.根据权利要求3所述的方法,其特征在于,所述根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR,包括:
将所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到法线向量上,法线投影后的方程为(vo+kfvi-krfvr)·n=0;
对所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到径向向量上,径向投影后的方程为(-vo+kqvi+krqvr)×n=0;
向量-vo+kqvi+krqvr和向量vo+kfvi-krfvr是垂直的,垂直的方程为(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0;
将vr=vr·nr代入所述(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0并获取所述球拍速度大小vr
根据所述球拍速度大小获取表示球拍姿态的法线单位向量为
其中,所述正负号根据所述球拍坐标系的建立和实际应用情景进行选取。
5.一种乒乓球机器人的击球装置,其特征在于,所述装置包括:
获取模块,用于采集预设个数的乒乓球的轨迹点,预测所述乒乓球的飞行轨迹,并获取所述乒乓球进入机器人作业空间后的最佳击球点的位置Phit、入射速度vi和剩余时间t;
第一计算模块,用于根据预先配置的击打之后的乒乓球在对方半台的落点位置和飞行时间,计算击打之后的乒乓球的反射速度vo
建立模块,用于在球拍坐标系建立所述乒乓球与球拍的碰撞模型,所述球拍坐标系的坐标原点O为所述乒乓球与所述球拍的接触点,所述球拍坐标系的Z轴垂直所述球拍面指向来球方向,所述球拍坐标系的X轴和Y轴在所述球拍面上面相互垂直,所述球拍坐标系满足约束关系,所述约束关系为:,其中,所述kf和所述kq分别表示所述乒乓球在球拍的法线方向和半径方向上的碰撞恢复系数,所述krf和所述krq分别表示所述球拍在所述法线方向和所述半径方向上对所述乒乓球的碰撞作用系数,所述rvox、所述rvoy和所述rvoz分别表示所述乒乓球的反射速度在所述球拍坐标系x,y和z轴三个方向上的分量;所述rviy、所述rvix和所述rviz分别表示所述乒乓球的入射速度在所述球拍坐标系x,y和z轴三个方向上的分量,所述rvrx、所述rvry和所述rvrz分别表示在所述球拍坐标系下的球拍速度;
第二计算模块,用于根据所述乒乓球与球拍的碰撞模型,通过所述乒乓球在所述最佳击球点的位置Phit的入射速度vi和反射速度vo,计算所述球拍速度vr和姿态WTR
驱动模块,用于根据所述球拍速度vr和姿态WTR驱动所述机器人末端球拍在所述剩余时间完成击球动作。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
配置模块,用于在在球拍坐标系建立所述乒乓球与球拍的碰撞模型之后,将所述乒乓球的入射速度vi、反射速度vo以及所述球拍速度vr转换到所述球拍坐标系下(rvirvorvr),转换方程为
配置所述球拍速度的矢量为vr=vr·nr=vr·[nrx;nry;nrz];
其中,所述wTr为所述球拍坐标系相对世界坐标系的姿态矩阵;所述nr=[nrx;nry;nrz]为表示球拍速度方向的单位向量;所述vr为待求解的球拍速度大小。
7.根据权利要求6所述的装置,其特征在于,所述球拍法线单位向量为
8.根据权利要求7所述的装置,其特征在于,所述第二计算模块,具体用于:
将所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到法线向量上,法线投影后的方程为(vo+kfvi-krfvr)·n=0;
对所述乒乓球的入射速度vi、所述反射速度vo以及所述球拍速度vr投影到径向向量上,径向投影后的方程为(-vo+kqvi+krqvr)×n=0;
向量-vo+kqvi+krqvr和向量vo+kfvi-krfvr是垂直的,垂直的方程为(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0;
将vr=vr·nr代入所述(-vo+kqvi+krqvr)·(vo+kfvi-krfvr)=0并获取所述球拍速度大小vr
根据所述球拍速度大小获取表示球拍姿态的法线单位向量为
其中,所述正负号根据所述球拍坐标系的建立和实际应用情景进行选取。
CN201611025559.5A 2016-11-17 2016-11-17 一种乒乓球机器人的击球方法及装置 Active CN106390409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611025559.5A CN106390409B (zh) 2016-11-17 2016-11-17 一种乒乓球机器人的击球方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611025559.5A CN106390409B (zh) 2016-11-17 2016-11-17 一种乒乓球机器人的击球方法及装置

Publications (2)

Publication Number Publication Date
CN106390409A CN106390409A (zh) 2017-02-15
CN106390409B true CN106390409B (zh) 2018-10-02

Family

ID=58068589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611025559.5A Active CN106390409B (zh) 2016-11-17 2016-11-17 一种乒乓球机器人的击球方法及装置

Country Status (1)

Country Link
CN (1) CN106390409B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315349B (zh) * 2017-07-31 2020-08-21 中科新松有限公司 机器人的击球运动控制方法
CN108579080A (zh) * 2018-05-11 2018-09-28 杨晓春 混合现实环境下实体球拍与虚拟球的交互实现方法及系统
CN108525268B (zh) * 2018-06-04 2023-10-31 四川大学 一种能够自由控制乒乓球旋转状态的发球机
CN110458281B (zh) * 2019-08-02 2021-09-03 中科新松有限公司 乒乓球机器人的深度强化学习旋转速度预测方法及系统
CN110711368B (zh) * 2019-10-12 2021-03-30 中科新松有限公司 一种乒乓球机器人的击球方法及装置
CN111283700B (zh) * 2020-05-11 2020-08-14 上海庞勃特科技有限公司 一种乒乓球发球机器人、乒乓球发球方法和计算机可读存储介质
CN113041587B (zh) * 2021-03-22 2021-11-09 中国地质大学(武汉) 一种基于感应台面和球拍面采集兵乓球击打轨迹的方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011056641A2 (en) * 2009-10-28 2011-05-12 Newgy Industries, Inc. Table tennis robot and method of operation
CN102200760A (zh) * 2011-05-25 2011-09-28 中国科学院自动化研究所 一种获取乒乓球机器人球拍击球姿态和击球速度的方法
CN103364579A (zh) * 2013-07-02 2013-10-23 北京理工大学 一种用于乒乓球机器人的乒乓球自旋角速度的预测方法
CN103389738A (zh) * 2013-06-25 2013-11-13 北京理工大学 一种用于乒乓球机器人预测乒乓球轨迹的方法和装置
KR20150067689A (ko) * 2013-12-10 2015-06-18 김경도 횡방향 이동이 가능한 탁구공 발사장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011056641A2 (en) * 2009-10-28 2011-05-12 Newgy Industries, Inc. Table tennis robot and method of operation
CN102200760A (zh) * 2011-05-25 2011-09-28 中国科学院自动化研究所 一种获取乒乓球机器人球拍击球姿态和击球速度的方法
CN103389738A (zh) * 2013-06-25 2013-11-13 北京理工大学 一种用于乒乓球机器人预测乒乓球轨迹的方法和装置
CN103364579A (zh) * 2013-07-02 2013-10-23 北京理工大学 一种用于乒乓球机器人的乒乓球自旋角速度的预测方法
KR20150067689A (ko) * 2013-12-10 2015-06-18 김경도 횡방향 이동이 가능한 탁구공 발사장치

Also Published As

Publication number Publication date
CN106390409A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN106390409B (zh) 一种乒乓球机器人的击球方法及装置
US10716989B2 (en) Swing analysis method using a sweet spot trajectory
US10456653B2 (en) Swing quality measurement system
US10974121B2 (en) Swing quality measurement system
CN101964047B (zh) 一种基于多跟踪点的人体动作识别方法
CN102200760B (zh) 一种获取乒乓球机器人球拍击球姿态和击球速度的方法
US20160059120A1 (en) Method of using motion states of a control device for control of a system
CN103364579B (zh) 一种用于乒乓球机器人的乒乓球自旋角速度的测量方法和测量装置
CN107638689A (zh) 获得用于控制游戏程序的运行的输入
CN111283700B (zh) 一种乒乓球发球机器人、乒乓球发球方法和计算机可读存储介质
CN103721398A (zh) 击球结果推论与姿势修正的方法与装置
Ji et al. Model-based trajectory prediction and hitting velocity control for a new table tennis robot
Serra et al. An optimal trajectory planner for a robotic batting task: the table tennis example
JP2002331060A (ja) ゴルフスイングシミュレーション方法及び該シミュレーション方法を用いたゴルフクラブ設計システム
US11577142B2 (en) Swing analysis system that calculates a rotational profile
Zaidi et al. Athletic mobile manipulator system for robotic wheelchair tennis
CN113386126B (zh) 旋转推断装置及方法、轨迹预测装置及方法、回球机器人
Yang et al. Varsm: Versatile autonomous racquet sports machine
CN101299279A (zh) 基于关键帧时刻优化的空中运动仿真方法
CN107315349B (zh) 机器人的击球运动控制方法
CN110711368B (zh) 一种乒乓球机器人的击球方法及装置
US10258851B2 (en) System and method for calculating projected impact generated by sports implements and gaming equipment
EP3378542B1 (en) System and method of modeling the behavior of game elements during a remote game
Zhang et al. The design and physical implementation of tennis training robots
Shih Analyzing and comparing shot planning strategies and their effects on the performance of an augment reality based billiard training system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210907

Address after: 257 jinzang Road, Pudong New Area, Shanghai, 201206

Patentee after: Shanghai Chuangyi Technology Co.,Ltd.

Address before: Room 101, West, building 11, 351 jinzang Road, Pudong New Area, Shanghai, 201206

Patentee before: SIASUN Co.,Ltd.

TR01 Transfer of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A hitting method and device for a table tennis robot

Granted publication date: 20181002

Pledgee: Industrial Bank Co.,Ltd. Shanghai Branch

Pledgor: Shanghai Chuangyi Technology Co.,Ltd.

Registration number: Y2024310000016

PE01 Entry into force of the registration of the contract for pledge of patent right