机器人的击球运动控制方法与流程

文档序号:12863039阅读:660来源:国知局
机器人的击球运动控制方法与流程

本发明实施例涉及机器人技术领域,尤其涉及一种机器人的击球运动控制方法。



背景技术:

乒乓球机器人是指能够完成将在本方半球台反弹之后的乒乓球击打到对方半球台的自动化装置,它能够实现乒乓球多回合的对打竞技,可以广泛地应用于专业运动员的训练和业余爱好者的互动。由于乒乓球是一项速度快、变化多、作业范围广的运动,实现大范围准确地击球就对乒乓球机器人的快速性、适应性和安全性提出了更高的要求,本发明在此基础上提出了一种乒乓球机器人的击球运动控制方法。

现阶段国内外不少研究机构实现了乒乓球机器人击球的目标,但是乒乓球机器人击球运动控制普遍存在配置击球面,击球范围较小的不足。现有专利201110136109.4公开了一种获取乒乓球机器人球拍击球姿态和击球速度的方法,该方法通过配置击球高度进行击球点的预测,乒乓球必须弹起达到一个固定高度才能实现击球,这无法应对低平球,而且专利中并未讨论机器人击球的运动控制;大多数乒乓球机器人,在前后方向配置一个击球面,乒乓球与机器人末端球拍的理论碰撞点就在这个平面内,这种方法的问题在于无法应对近台短球,使得乒乓球机器人能够击球的范围受限,适应性及鲁棒性较差。



技术实现要素:

针对上述技术问题,本发明实施例提供了一种机器人的击球运动控制方法,以提高乒乓球机器人的适应性及鲁棒性。

本发明实施例提供了一种机器人的击球运动控制方法,所述方法包括:

根据乒乓球的空中行进轨迹,估计乒乓球的击球点位置,其中,所述击球点位置是在预定的立方体空间范围内的击球点位置;

判断所述击球点位置所在的击球点区域;

选取与所述击球点区域相对应的运动控制模型,计算所述机器人击球运动中的运动参量;

根据所述运动参量,控制所述机器人进行击球动作。

本发明实施例提供的机器人的击球运动控制方法,通过根据乒乓球的空中行进轨迹,估计乒乓球的击球点位置,判断所述击球点位置所在的击球点区域,选取与所述击球点区域相对应的运动控制模型,计算所述机器人击球运动中的运动参量,根据所述运动参量,控制所述机器人进行击球动作,能够提高乒乓球机器人的适应性及鲁棒性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1是本发明实施例提供的机器人的击球运动控制方法的流程图;

图2是本发明实施例提供的击球状态机示意图;

图3是本发明实施例提供的4个击球策略的区间划分示意图;

图4是本发明实施例提供的近台击球示意图;

图5是本发明实施例提供的远台击球示意图;

图6是本发明实施例提供的左侧反手击球示意图;

图7是本发明实施例提供的右侧反手击球示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

本方法适用的对象是具有但不限于乒乓球桌短边方向上的导轨和至少5个自由度的串联机械臂的乒乓球机器人。导轨近似人类击球时的左右踏步,以解决机械臂的工作空间无法大范围覆盖乒乓球桌;机械臂则是模拟人类的手臂,以完成各种挥拍动作。定义乒乓球机器人坐标系的x轴与导轨的直线运动重合,y轴为乒乓球球桌的长边中线在导轨所在的水平面上的投影,x轴与y轴的交点确定坐标系原点o,z轴竖直向上,如图3所示。定义乒乓球机器人末端球拍坐标系的原点位于球拍的中心,z轴垂直拍面为球拍的一个法线方向,y轴指向球拍握柄,x轴由右手定则确定。球拍有正反两面,正面为指向法线的一侧,反面为背离法线的一侧,如图4所示。

乒乓球机器人击球运动控制方法是指机器人获取末端球拍运动参数,如何驱动各关节完成击球动作的过程,主要包含击球响应分析模块、击球策略选择模块和运动轨迹规划模块三部分,如图1所示,整个击球运动系统的流程分析如下:

击球响应分析模块中的球拍运动参数指的是实现目标击球控制所需要的击球点(xh,yh,zh),球拍速度(vxh,vyh,vzh),球拍法线(xzph,yzph,zzph)和剩余运动时间th,这些参数由预测系统获取,不在本发明的讨论范畴。击球点、球拍速度和球拍法线的坐标值都是在乒乓球机器人坐标系下的描述,剩余运动时间th指的是球拍从当前位置运动到与乒乓球预期碰撞的时间。

击球响应分析模块中的击球状态机指的是当前乒乓球机器人可能的三种状态:保持等待、前往击球和返回等待,如图2所示。保持等待指的是乒乓球机器人处于某个配置的等待点并保持静止,等待预测系统的球拍运动参数;前往击球指的是乒乓球机器人正在驱动球拍从等待点或者上一次击球返回等待的某个姿态前往击球点的过程,在此期间,获取预测系统新的击球请求被关闭,也就是新的击球点信息不会被响应;返回等待指的是乒乓球机器人末端球拍抵达击球点与乒乓球完成碰撞之后,返回到等待点的过程,在此期间,击球请求被重新开启,新的击球点信息会被响应。获取球拍运动参数之后需要向击球状态机提出击球申请,如果此时机器人处于前往击球状态机,击球请求被拒绝,输出节拍提示信息;如果机器人处于保持等待或者返回等待2种状态机,则允许处理此次击球请求。通俗来讲,在慢节拍的击球任务时,乒乓球机器人将会有足够的时间每次从等待点的静止状态前往击球点再回到等待点保持静止,而在较快节拍的击球任务时,乒乓球机器人可能会还处于从击球点前往等待点的过程中又收到一组新的击球请求,此时乒乓球机器人将会尝试放弃前往等待点而是直接转向击球点的运动目标以实现击球,当节拍快到一定程度,乒乓球机器人还处在前往击球的过程又收到一组新的击球请求时,乒乓球机器人将会忽视新的击球请求而是继续完成此次运动规划,采用这种击球状态机的方式能够有效地适应快节奏的击球任务的同时确保较高的有效击球成功率,提高系统的鲁棒性。

击球响应分析模块中的工作空间分析指的是初步判断球拍击球点位置(xh,yh,zh)是否在机器人的工作空间内,即xmin≤xh≤xmax,ymin≤yh≤ymax和zmin≤zh≤zmax是否同时满足,如果不满足,放弃此次球拍运动参数,输出超限提示信息,其中xmin,xmax,ymin,ymax,zmin和zmax分别代表击球点在乒乓球机器人坐标系x,y,z三个方向上的所允许的最小值和最大值。

乒乓球机器人击球策略选择模块的主要功能是根据球拍击球点的位置所属的击球区间,选择不同击球策略完成逆运动学求解,获得击球时刻各关节的角度qih和角速度如图3所示,在击球策略选择模块中依据击球点相对乒乓球机器人坐标系前后左右的位置包含近台击球、远台击球、反手击球和正手击球4种策略。利用特定目标的冗余优化,4种击球策略的逆运动学略有不同。

击球策略选择模块中的远近判断指的是配置一个远近距离值ycfg,当击球点|yh|>ycfg时,进入前后判断,当|yh|≤ycfg时,进入左右判断。前后判断指的是分析击球点yh的符号,当yh>0时,击球点处于乒乓球机器人前方较远位置,此时乒乓球轨迹一般为近台短球,采用近台击球策略,如图4所示,配置球拍坐标系y轴单位向量在世界坐标系下的z值大于0,即zyph>0,这样能有效地减少乒乓球机器人碰撞到球桌的风险;当yh<0时,击球点处于机器人后方较远位置,此时乒乓球一般为高远球,采用远台击球策略,如图5所示,配置球拍坐标系y轴单位向量在乒乓球机器人坐标系下的z值小于0,即zyph<0,这样能有效地减小乒乓球在与球拍碰撞之前与乒乓球机器人碰撞导致击球失败的风险。左右判断指的是分析击球点xh的符号,当xh<0时,击球点处于机器人左侧位置,采用反手击球策略,如图6所示,配置球拍法线向量zph在乒乓球机器人坐标系下的y值小于0即yzph<0,使用球拍反面完成击球;当xh≥0时,击球点处于机器人右侧位置,采用正手击球策略,如图7所示,配置球拍法线向量zph在乒乓球机器人坐标系下的y值大于0即yzph>0,使用球拍正面完成击球。

近台击球策略和远台击球策略均采用逆运动学1进行关节角求解,这是一种基于运动分解的逆运动学,为了充分地发挥机械臂在前后方向上的工作空间,配置导轨在击球点时刻的位移q1h=xh,速度即击球点左右方向上的位移仅由导轨实现,机械臂实现剩余的末端约束(yh,zh,xzph,yzph,zzph,vxh,vyh,vzh),利用冗余优化逆运动学算法完成机械臂各关节的角度qih和角速度下标i表示各关节的编号。正手击球策略和反手击球策略均采用逆运动学2进行关节角求解,这是一种基于可操作度优化的逆运动学,通过配置机械臂在击球方向上的可操作度最大,获取乒乓球机器人在击球点各关节的角度qih和角速度下标i表示各关节的编号,采用这种方式能够有效地解决逆运动学1中击球点离机械臂基座过近而导致的限位安全问题,利用导轨增加击球点与机械臂基座之间的距离,较大的可操作度使机械臂能够实现更加灵活的击球。击球速度方向可操作度βp的计算表达式为其中p为击球速度方向的单位列矢量,θ为机械臂各关节角,j(θ)表示机械臂的雅克比矩阵。如果逆运动学1或逆运动学2出现求解失败的情况,输出求解错误的提示信息并终止击球请求。

乒乓球机器人运动轨迹规划模块的主要功能是规划乒乓球机器人从当前点到击球点再前往等待点的关节运动。运动轨迹规划模块中机器人等待点状态指的是配置一组关节角qie,使处于保持等待的状态机时,乒乓球机器人以这组关节角保持静止,即等待点就是当前击球结束后的目标停止点,所以在等待点对应的关节角速度角加速度下标i表示各关节的编号。运动轨迹规划模块中机器人当前点状态指的是获取乒乓球机器人当前各关节的角度qic、角速度和角加速度下标i表示各关节的编号,特别的,当乒乓球机器人处于保持等待状态机时,则有qic=qie,运动轨迹规划模块中的关节空间轨迹规划指的是依据乒乓球机器人当前tc时刻各关节的角度qic,角速度和角加速度击球点th时刻各关节的角度qih,角速度击球之后返回机器人等待点te时刻各关节的角度qie,角速度和角加速度采用7次多项式插值算法获得乒乓球机器人完成此次击球请求的各关节的运动轨迹,即每个控制周期对应的各关节的角度qij,角速度和角加速度其中te是依据实际节拍要求配置的时间参数,下标i表示各关节的编号,j表示各控制周期。

依据当前点、击球点和等待点的角度、角速度和角加速度的约束条件,可以通过如下线性方程组求解各关节的7次多项式插值的多项式系数(bi7,bi6,bi5,bi4,bi3,bi2,bi1,bi0),其中下标i表示各关节的编号。

在上式中,qic、分别表示第i个关节当前时间点的角度、角速度以及角加速度,qih、分别表示第i个关节在击球点的角度、角速度以及角加速度,qie、以及分别表示第i个关节在等待时间段的角度、角速度以及角加速度,amn表示所述运动控制模型的预设常数,bi7至bi0则表示多项式的插值系数。

运动轨迹规划模块中的关节限位及碰撞分析指的是判断各关节在各周期规划的关节角,角速度和角加速度是否超出限制以及球拍是否会碰撞到球桌,即qimin≤qij≤qimax,和zpj≥zpmin是否同时满足,其中qimin,qimax,分别为各关节的角度,角速度和角加速度所允许的最小值和最大值,zpj为正运动学计算获取的击球运动球拍在乒乓球机器人坐标系下的z值轨迹,zpmin为球拍所允许的最小高度值。如果不满足,输出安全错误的提示信息并终止击球请求;如果满足,乒乓球机器人执行击球请求,驱动各关节完成击球任务。

与现有的技术比较,本发明的优点在于:

1、击球状态机中的返回等待状态对新的击球请求的响应,实现在线修改运动规划轨迹,能够有效地提高乒乓球机器人对快速节拍击球的适应性;

2、击球运动控制方法依据击球点所属不同区域选择采用近台击球、远台击球、正手击球和反手击球4种策略,相比传统配置击球面的方法,有效地增大了乒乓球机器人的灵活性和击球范围;

3、击球运动控制方法采用7次多项式插值完成当前点、击球点和等待点的关节轨迹规划,在保证击球运动的连续和平稳的前提下,减小了关节角加速度值的最大值。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1