100%打赢新手!谷歌推出乒乓球机器人,要挑战马龙、樊振东?

添加书签

专注AIGC领域的专业社区,关注微软&OpenAI、百度文心一言、讯飞星火等大语言模型(LLM)的发展和应用落地,聚焦LLM的市场研究和AIGC开发者生态,欢迎关注!

2016年3月谷歌DeepMind的AlphaGo击败了当时世界顶尖九段围棋高手-李世石,第一次让世人看到AI强大的一面。现在,谷歌又整了一个大活,正在训练实体机器人打乒乓球,这是要准备挑战大魔王马龙、樊振东嘛~

但与数字AI相比,训练、开发实体AI机器人的难度要高好几倍。因为除了算法和高质量训练数据之外,还需要考虑物理交互、动态环境、指令调用速率、模拟到现实差距、实际动作融合等重要因素

例如,乒乓球机器人需要实时地进行物理环境识别、预测,然后进行高精准分析,再对球拍控制、走位进行反击,这一系列动作可能在1—3秒就需要全部完成,对物理硬件、算法要求极高。

乒乓球机器人与真人对打

硬件方面,该乒乓球机器人是一个6自由度的ABB 1100机械臂,安装在两个Festo线性龙门架上,可以在二维平面运动。

x轴导轨长达4米,可以覆盖整个乒乓球桌的宽度,确保机器人可以在桌边任何位置进行回球。y轴导轨则有2米长,允许机械臂在距离桌子不同远近的位置进行击球,增加灵活性和感应范围。

机械臂末端装配了一个3D打印的拍柄,连接着一个装有短胶粒橡胶的轻量级球拍,这对于需要频繁高速挥动的乒乓球拍而言至关重要。

在环境建模方面,研究人员将乒乓球运动建模为一个单智能体顺序决策问题,其中人类对手被视为环境的一部分。通过使用马尔可夫决策过程(MDP)来描述这个问题,包括状态空间、动作空间、奖励函数和转移动力学。

在实际环境中,包括神经感知系统、运动捕捉系统、状态机和观察模块,用于跟踪球和人类玩家的球拍姿势,并为策略提供数据,例如,球的位置、速度、机器人的位置等。此外,还构建了一个基于MuJoCo物理引擎的模拟环境,用于训练和测试机器人的策略。

在机器人的算法核心由低级别控制器和高级别控制器两大块组成:低级别控制器主要负责提出不同乒乓技术策略,包括正手击球、反手击球、发球等,它们被训练以50Hz的频率产生速度命令。

在训练时,首先训练两个通用基础策略,一个用于正手,一个用于反手,并将其添加到低级别控制器集合中。再通过添加奖励函数组件或调整训练数据混合来专门化策略,以适应不同的技能,例如,针对特定的回球位置、最大化回球速度或专门处理上旋或下旋发球等。

评估新策略并确定其是否表现出所需的特征。如果一个策略被训练用于瞄准桌子上的特定位置,则计算球落地位置与目标位置之间的平均误差。如果成功,则将该策略添加到低级别控制器集合中。

高级别控制器则用于控制低级别控制器,相当于机器人的“大脑”。当对手击球后,高级别控制器会在一个时间步后做出决策,这能更好地判断球的状态。会根据对手的打球风格来决定用正手或反手回球,同时会考虑了诸多战略因素,以弥补现实中噪声和球旋转捕捉不全的问题。

在确定了对手打球的风格和旋转后,高级别控制器会参考控制低级别控制器的技术描述,包括初始球的位置和速度、击球后的中位击球速度、球的落地位置和标准偏差以及球的落地率等,做出最终的决策然后使用对应的技术进行回击。

简单来说,就是机器人先摸透对手的打球套路和习惯,进行深度分析之后,再去找对应的策略进行回击。例如,机器人的对手是樊振东,那么它可能会使用战胜过他的马龙、王楚钦等打法去应对

为了评估乒乓球机器人的性能,研究人员将其与29名不同技术水平的用户进行了比赛。比赛规则使用了国际乒乓球联合会的规则,机器人和人类进行三局比赛,先达到11分且领先两分的一方获胜。

比赛结果显示,机器人在所有比赛中赢得了45%的比赛、46%的局数和49%的分数。按技能水平细分,机器人赢得了100%与初学者的比赛、55%与中级选手的比赛,但与更高级选手的比赛并不理想

目前,这个乒乓球机器人已经达到中级选手的水平。如果进行海量高质量数据训练和硬件优化,战胜职业选手甚至奥运冠军只是时间问题。

因为相比人类,机器人不存在体力、伤病等问题,他们可以集中精神时时刻刻保持高效率专注度。

本文素材来源谷歌论文,如有侵权请联系删除

END

本篇文章来源于微信公众号: AIGC开放社区