掌桥专利:专业的专利平台
掌桥专利
首页

基于阶段奖励的端到端机器人强化学习击球策略实现方法

文献发布时间:2023-06-19 19:27:02


基于阶段奖励的端到端机器人强化学习击球策略实现方法

技术领域

本发明涉及机器人的控制技术领域,特别是涉及一种基于阶段设置奖励的端到端机器人击球策略实现方法、装置及介质。

背景技术

目前基于强化学习的机器人击球策略主要通过以下方法实现:

1、采用数据驱动或基于模型的方法直接预测出乒乓球运动轨迹,并依据预测结果设定击球位置;强化学习仅负责控制机器人球拍的击球姿态,其典型代表为图宾根大学的KUKA机器人。这种方法需要多个不同的系统(乒乓球轨迹预测,机器人关节轨迹规划)多方协调,这会导致多个不同的系统间存在更多的通信延迟,以及对各个系统自身的鲁棒性也提出了更高的要求。

2、直接读取乒乓球位置,通过强化学习得到击球位置以及击球姿态。采用机器人学实现轨迹规划,控制机器人在目标时刻抵达目标位姿,其典型代表为新松机器人。这种方法在一定程度上减轻了多系统的耦合度,但仍需轨迹规划系统与击球策略进行协调。并且,如何保障击球策略产生的目标位姿具有较好的连续性以及可行性也是一个难题。此外,新松公司所研发的机器人是一款并联机器人,这导致其工作空间较小,因此实际展示的过程中,需采用特制的缩小版乒乓球桌,这增加了机器人部署于现实中的成本,降低了机器人的通用性。

3、直接读取乒乓球位置,并直接输出机器人关节角度,构建端到端的击球策略模型。但为了降低机器人强化学习的实现难度,需在机器人结构上进行特殊改造,如采用气动肌肉方式控制的机器人,其典型代表为马克思普朗克系统智能研究所。这种方式通过对机器人的结构进行特殊改造的方式,降低强化学习训练难度,虽然可以更容易的实现机器人的击球策略。但是更加复杂的结构,不仅会大大增加机器人实体的建造成本,控制难度也会大幅度提升。

申请人的在先申请CN115120949A公开了一种机器人灵活击球策略的实现方法、系统及存储介质,其中公开了针对组成一个完整乒乓球轨迹的四个轨迹阶段分别设置奖赏,第一轨迹阶段与第二轨迹阶段分别为对手发球轨迹阶段与机器人接球轨迹,第三轨迹阶段与第四轨迹阶段分别为机器人反击轨迹与对手接球轨迹,具体地,四个轨迹阶段的奖赏具体为:使第一轨迹阶段与第二轨迹阶段的奖赏和球与机器人球拍的距离成反比;使第三轨迹阶段的奖赏和球与目标点的距离成反比。该专利中,对奖赏设置得较为简单,实际进行强化学习中,得到的击球策略较为初级,难以应付复杂的场景。

发明内容

发明目的:为了克服现有技术中存在的不足,本发明提供一种任务设置与任务奖励设置更合理,能够使机器人能够进行复杂的打乒乓球任务的基于阶段奖励的端到端机器人强化学习击球策略实现方法。

技术方案:为实现上述目的,本发明的基于阶段奖励的端到端机器人强化学习击球策略实现方法,所述方法包括:

获取机器人的状态信息与乒乓球的状态信息作为强化学习的观察项;

基于第一阶段的训练目标以及学习任务奖励进行接球训练的强化学习,得到第一预训练模型;其中,所述第一阶段的训练目标为使球拍与球接触;

基于所述第一预训练模型、第二阶段的训练目标以及学习任务奖励进行打球训练的强化学习,得到第二预训练模型;其中,所述第二阶段的训练目标为球拍击出的球朝向对手桌面且乒乓球可以飞过网;

基于所述第二预训练模型、第三阶段的训练目标以及学习任务奖励,进行目标点击打训练的强化学习,得到输出结果,所述输出结果包括机器人各关节的关节参数,所述关节参数包括关节位置与关节速度;其中,所述第三阶段的训练目标为机器人打回的乒乓球的落点处于预设目标区域内。

进一步地,所述第一阶段的学习任务奖励为:

所述第二阶段的学习任务奖励为:

所述第三阶段的学习任务奖励为:

其中:τ

r为稀疏奖励,d为连续奖励;

r

r

r

进一步地,所述机器人包括两个滑动导轨以及一个四自由度机械臂。

进一步地,所述机器人的状态信息包括关节位置、关节速度、球拍位置、球拍线速度以及球拍角速度。

进一步地,所述乒乓球的状态信息包括乒乓球位置、乒乓球线速度、目标点位置、轨迹状态以及通过one-hotvector表达的轨迹状态。

进一步地,所述强化学习基于PPO算法。

基于阶段奖励的端到端机器人强化学习击球策略实现装置,其包括:

获取模块,其用于获取机器人的状态信息与乒乓球的状态信息作为强化学习的观察项;

第一训练模块,其用于基于第一阶段的训练目标以及学习任务奖励进行接球训练的强化学习,得到第一预训练模型;其中,所述第一阶段的训练目标为使球拍与球接触;

第二训练模块,其用于基于所述第一预训练模型、第二阶段的训练目标以及学习任务奖励进行打球训练的强化学习,得到第二预训练模型;其中,所述第二阶段的训练目标为球拍击出的球朝向对手桌面且乒乓球可以飞过网;

第三训练模块,其用于基于所述第二预训练模型、第三阶段的训练目标以及学习任务奖励,进行目标点击打训练的强化学习,得到输出结果,所述输出结果包括机器人各关节的关节参数,所述关节参数包括关节位置与关节速度;其中,所述第三阶段的训练目标为机器人打回的乒乓球的落点处于预设目标区域内。

有益效果:本发明的基于阶段奖励的端到端机器人强化学习击球策略实现方法具有如下有益效果:(1)提出了单个端到端的策略系统即可实现的乒乓球机器人强化学习,并且采用了PD伺服控制替代了轨迹规划系统,这种方法相比于多系统协调的方案将具有更低的系统延迟以及更高的鲁棒性;(2)采用了传统的机械结构作为机器人本体,而非采用气动肌肉等特殊结构,而串联机械臂的存在也可以大大的提升机器人的工作空间,从而不需要采用特殊定制的乒乓球桌。上述做法可显著降低机器人于现实环境中的部署成本,大大提升了机器人的可部署性;(3)本发明提出了轨迹状态的定义,以及分阶段的强化学习奖励函数的设置,这种做法可以保证机器人不仅能学会复杂的打乒乓球任务,还可以将打回的乒乓球落点控制在一定范围内,从而更好的与人进行互动。

附图说明

图1为基于阶段奖励的端到端机器人强化学习击球策略实现方法的流程示意图;

图2为机器人的结构图以及各轨迹阶段的示意图;

图3为PPO算法的网络结构图;

图4为基于阶段奖励的端到端机器人强化学习击球策略实现装置的构成示意图。

具体实施方式

下面结合附图对本发明作更进一步的说明。

如图1所示的基于阶段奖励的端到端机器人强化学习击球策略实现方法,所述方法包括如下步骤S101-S104:

步骤S101,获取机器人的状态信息与乒乓球的状态信息作为强化学习的观察项;

步骤S102,基于第一阶段的训练目标以及学习任务奖励进行接球训练的强化学习,得到第一预训练模型;其中,所述第一阶段的训练目标为使球拍与球接触;

本步骤中,接球训练即为第一阶段的训练,其训练目标是使机器人的球拍尽可能多的去接中对手所打过来的乒乓球,然而机器人学会接中乒乓球,却往往由于球拍与乒乓球接触时,球拍速度不会朝对手方向,导致无法将球击打致对手台面,因此需要引入第二阶段的训练任务。机器人基于第一预训练模型进行打球,可有效提升球拍打中球的概率。

步骤S103,基于所述第一预训练模型、第二阶段的训练目标以及学习任务奖励进行打球训练的强化学习,得到第二预训练模型;其中,所述第二阶段的训练目标为球拍击出的球朝向对手桌面且乒乓球可以飞过网;

本步骤中,打球训练即为第二阶段的训练,其训练目标要求机器人击出的乒乓球能够飞向对方桌面并过网,就要求球拍的击球速度不能过小,也即赋予乒乓球的初速度不能过小,球拍应当朝对手桌面有一个足够大的速度,从而确保乒乓球可以飞过网,抵达对手桌面。然而第二阶段的训练任务却往往存在拍面速度过大,导致大部分被打回的乒乓球会出界的问题,因此需要引入第三阶段的训练任务。机器人基于本步骤训练得到的第二预训练模型进行打球,可有效提升球成功向对手侧回球并过网的概率。

步骤S104,基于所述第二预训练模型、第三阶段的训练目标以及学习任务奖励,进行目标点击打训练的强化学习,得到输出结果,所述输出结果包括机器人各关节的关节参数,所述关节参数包括但不限于关节位置与关节速度;其中,所述第三阶段的训练目标为机器人打回的乒乓球的落点处于预设目标区域内。

本步骤中,目标点击打训练即为第三阶段的训练,预设目标区域即为对方桌面范围,使打回的乒乓球落到该区域内,可以确保机器人击打回的球不会出界,即可完成一次有效的回球。

上述步骤S101-S104中,将实现机器人击球任务的学习划分为了三个阶段,依次为上述接球训练、打球训练以及目标点击打训练,通过设置每个阶段的训练目标与学习任务奖励,可以依次完成能接到球、能将球回给对手侧并成功过网、以及使乒乓球落到对手台面区域,层层递进地完成击球策略模型的构建。

将训练任务划分为三个阶段,而不是直接进行第三阶段的任务训练,是由于在初期,机器人不会打乒乓球时,机器人能成功接到乒乓球或将乒乓球击打至对手桌面是小概率事件,这会导致机器人的奖励过于稀疏,导致训练失败。

上述方法中,采用构建端到端的击球策略系统,即输入为乒乓球的状态信息与机器人的状态信息,输出为乒乓球机器人的关节位置。采用该方法构建的乒乓球机器人训练算法,由于仅需考虑单个端到端系统的影响,故多系统间的通信延迟问题将不存在。而单系统也相比于多系统具有更低的发生错误的可能。为解决强化学习直接给出球拍的位姿可能存在超出工作空间以及目标球拍位姿突变导致的轨迹不连续的问题,本发明不考虑采用轨迹规划的方法来规划机器人关节轨迹。作为替代,本发明采用直接给出关节位置的方法来控制机器人,从而解决了上述提及的问题。

进一步地,所述第一阶段的学习任务奖励为:

所述第二阶段的学习任务奖励为:

所述第三阶段的学习任务奖励为:

其中:τ

r为稀疏奖励,d为连续奖励;

r

r

r

上述奖励策略中,不仅沿用了在先申请中的τ

优选地,所述机器人包括两个滑动导轨构成的直角坐标机器人02以及一个四自由度机械臂01,图示机械臂有5个自由度,实际使用中用到其中4个自由度,其中1个自由度锁死;直角坐标机器人02能够带着机械臂01在横纵方向上移动以增加机械臂01的活动面积,球拍固定在机械臂01的执行末端。如此可有效增加机器人的工作空间,实际采用五自由度的刚体机械臂不仅具有易于控制的特性,还可以大幅度的降低机器人建造成本,而双自由度滑轨可以大幅度提升机器人工作空间,使其击球范围可以覆盖整个乒乓球桌。

优选地,步骤S101中所述机器人的状态信息包括关节位置(7项参数,机器人可以动的自由度有6个,但是实际的机械臂为五自由度,其被锁定的自由度也被算在其中,基于同一原因,下面涉及的机器人其他关节参数也均为7项参数)、关节速度(7项参数)、球拍位置(3项参数)、球拍线速度(3项参数)以及球拍角速度(3项参数)。

优选地,步骤S101中所述乒乓球的状态信息包括乒乓球位置(3项参数)、乒乓球线速度(3项参数)、目标点位置(2项参数)、轨迹状态τ

上述机器人的状态信息与乒乓球的状态信息统称为观察项,也即观察项共由37维构成,上述的输出数据为机器人各关节的关节参数,其是一个7维数据。

优选地,所述强化学习基于PPO算法,其网络结构中Actor与Critic在最后一层前均共用参数,其网络结构大体为谷歌提出的D2RL网络结构,整体网络结构如图3所示(图示为Actor故输出为Action),该网络结构为现有技术,此处不多介绍。图3中左侧虚线框内的内容代表一个D2RL块,右侧的每个D2RL块均为简化形式,实际上右侧每个D2RL块均可以用左侧虚线款内的内容形式表示。

本发明还公开了一种基于阶段奖励的端到端机器人强化学习击球策略实现装置,击球策略实现装置可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述击球策略实现方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述击球策略实现装置在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能,如图4所示,其包括:

获取模块201,其用于获取机器人的状态信息与乒乓球的状态信息作为强化学习的观察项;

第一训练模块202,其用于基于第一阶段的训练目标以及学习任务奖励进行接球训练的强化学习,得到第一预训练模型;其中,所述第一阶段的训练目标为使球拍与球接触;

第二训练模块203,其用于基于所述第一预训练模型、第二阶段的训练目标以及学习任务奖励进行打球训练的强化学习,得到第二预训练模型;其中,所述第二阶段的训练目标为球拍击出的球朝向对手桌面且乒乓球可以飞过网;

第三训练模块204,其用于基于所述第二预训练模型、第三阶段的训练目标以及学习任务奖励,进行目标点击打训练的强化学习,得到输出结果,所述输出结果包括机器人各关节的关节参数,所述关节参数包括但不限于关节位置与关节速度;其中,所述第三阶段的训练目标为机器人打回的乒乓球的落点处于预设目标区域内。

其他基于击球策略实现装置实现上述击球策略实现方法的内容在之前实施例中已经详细介绍,可参考之前实施例中的对应内容,此处不再赘述。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术分类

06120115918021