强化学习教机器人打乒乓球

强化学习(RL)是机器学习的一个分支学科,是由代理人的行动反馈驱动的自我学习,以在环境中获得最大的回报。它涉及到代理人通过反复的试错行动来学习环境中的任务,使用行动的反馈来告知未来的行动,以产生更多的奖励和最小的惩罚。通过更多的迭代,代理人学会了更好的表现,为行动制定了越来越多的最佳政策。

强化学习模型框架

让我们考虑下面的Table Tennis(乒乓)结构。代理人是机器人手臂,环境是球被球拍击中后落地的更大空间,而奖励表明它是多么好的一个动作。状态是球拍的当前实例。代理人会因为消极的结果而受到惩罚–错过了球,球打到了网上,或者球在被球拍击中后落在了桌子外面。

一个球的发射器和一个机械臂

像这样的动态任务对机器人来说要比人类难得多。与教机器人打乒乓球有关的主要挑战是感知球的位置所需的快速反应时间,环境的不断变化,将球落在特定的产生奖励的位置所需的精确动作,以及可能用于_砸球_ 或快速机动打球的高度加速动作。

气动人工肌肉(PAMs)被用于构建握住球拍的手臂。它们用于执行高速击球动作,同时具有在不超过关节角度范围的情况下使手臂减速的能力。PAMs涉及软执行器,是将能量转换为运动的装置,具有高力敏感性和高抗冲击性,这样手臂就能机械地适应快速的外力。在PAM中可以调整压力范围,使运动减速。

机器人从头开始学习如何粉碎–你不需要为它编程。这是通过偏向于高度加速的击球来实现的,这是在奖励函数中最大化回球的速度。利用模拟,机器人可以在不与物理球互动的情况下学习。

为了最大限度地实现所需的行动–以最高的速度将球送到所需的落点–应该在奖励函数中规定,代理人努力学习。首先,球拍需要击球,然后必须优化回击,以适应奖励函数中指定的期望行为。

奖励函数评估了球的轨迹,这取决于球的落点和速度。在其中,代理人因球和球拍轨迹之间的差异而受到惩罚。因此,代理人不断受到关于球离球拍有多远的反馈的激励。这就引导球拍在击球时尽可能地靠近球的位置。

奖励功能

在乒乓球(tt)球拍奖励函数的数学表示中,期望落点和实际落点之间的差异决定了代理人获得的奖励。归一化常数_c_旨在将奖励值按比例转换为0和1之间,指数3/4是为了在最佳值周围引入轻微的差异。这在一定程度上解决了因球打到球拍边缘导致意外结果的异常情况。

在击球任务中,奖励涉及速度的最大化,用_b_ 表示,同时最小化期望和真实着陆位置之间的差异。砸球的高速度伴随着对落地精度的妥协,这也是人类球员的情况。在粉碎任务中,速度平均为12米/秒,而返回任务的速度平均为5米/秒。

训练从代理人对空间的随机探索开始,作为对球的模拟的反应。它反复地对球的运动变得更加适应。它从头开始自我学习,是强化学习的缩影。奇怪的是,它还能在击球前学会如何定位球拍,为击球做准备。

自我学习的球拍系统准备应对

砸球比简单的回球更难学习。这就需要在最初的随机空间中进行更大的探索。在训练模拟中,它正在进行更多的探索,因为它旨在最大限度地提高奖励的两个组成部分–高速和期望的落地位置–同时也学习这两者之间的权衡。

这两项任务–返回和粉碎–涉及的训练时间都略多于14小时。训练时间是返回率收敛的结果。这意味着测试的返回和粉碎率在几次迭代或政策更新后趋于平稳。在183次政策更新后(反映在下面的X轴上),更新被认为是徒劳的。

值得注意的是,代理可以从乒乓球的软件模拟中学习,并将学习结果转移到真实世界的乒乓球中。当测试回球时,代理人打出了96%的球,其中75%的球回到了对手的身边。当测试击球时,球拍有77%的时间击中了球,而只有29%的测试球能到达对手那边。

球被击中后的落点分布

研究人员用PAM机器人完成了值得称赞的准确率。该智能系统从头开始学习,并在没有真球的情况下进行训练。该系统克服了与动态精度、加速运动和即时反应有关的问题。

这篇稿子是对这篇论文的提炼性概述。在这里可以找到一个简化研究的YouTube视频。


强化学习教机器人打乒乓球》最初发表在《Nerd For Tech》杂志上,人们通过强调和回应这个故事继续对话。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享