资讯
展览资讯 大型展会 灯光节 大型盛典 赛事 中标捷报 产品快讯 热门话题 艺术节 活动 演出 新闻 数艺报道 俱乐部签约
观点
大咖专访 观点洞察 书籍推荐 吐槽 设计观点 企业访谈 问答 趋势创新 论文 职场方法 薪资报价 数艺专访
幕后
幕后故事 团队访谈 经验分享 解密 评测 数艺访谈
干货
设计方案 策划方案 素材资源 教程 文案资源 PPT下载 入门宝典 作品合集 产品手册 电子书 项目对接
  • 0
  • 0
  • 0

分享

如何使用ML-Agents教机器人踢足球

原创 2021-11-29

Unity Machine Learning Agents Toolkit(简称ML-Agents)工具套能帮助用户在 Unity 中轻松入门强化学习(RL)。ML-Agents 本身带有多种样例环境和模型架构,可让用户利用现成的环境和架构上手 RL,再通过调整超参数来测试和改进结果模型。所有这些都毋须新建 Unity 场景或导入资源,且初期不涉及任何编程。


ML-Agents:

https://plastichub.unity.cn/unity-tech-cn/ml-agents


本文介绍的项目由日本公司 Ghelia Inc. 创立,他们使用了 ML-Agents 的 soccer 训练环境来训练智能代理踢足球。训练出的 RL 模型随后被部署到了索尼的 toio 机器人上,在真实世界中踢起了足球。这是一个用 ML-Agent 训练机器人、从“虚拟到现实”的绝佳实例。


我们采访了 Ghelia 的 CEO 兼总裁清水亮,创新和品牌战略办公室的首席程序员布留川英一及创新部经理 Masatoshi Uchida,来了解该项目的灵感。请在下文中了解公司怎样使用 ML-Agents Toolkit 来训练一个真实机器人踢足球,及高尔夫球在场景中的作用。



请问是什么启发了你们呢?


Ghelia 是一家专注于强化学习应用的公司。Ghelia 的创始人北野弘明在索尼任职期间创办了 Robocup Soccer 足球赛,并开发出了 AIBO 机器人。我们的团队曾制作过一个空气曲棍球演示,但过于繁杂的部件使其变得不够轻便。接着为了向客户们解释强化学习的概念,我们开始讨论制作另一个便于展示的演示场景。鉴于 ML-Agents 已经有了一个足球训练环境,我们完全可以用轻便小巧的索尼 toio 机器人来开发一个足球游戏,游戏甚至有可能被病毒式传播。



你们是怎样将 ML-Agent 模型移植到真正的机器人上的?

为了将强化学习应用到真正的机器人上,我们需要将机器人本身导入到模拟环境中。幸好,toio 已经有一个称为 toio SDK for Unity 的模拟程序。我们能直接将程序与 ML-Agents 软件包结合使用,即刻开始培训。toio SDK 仅包含了机器人模型,而足球需要另外制作。

我们使用了 Unity 的物理引擎模拟程序中重现了逼真的足球,还在现实中搜寻能准确还原模拟情景的小球。结果,高尔夫球的运动可准确匹配训练的成果。球的位置在 Unity 中以 transform 值表示,在现实里则使用相机进行拍摄、用 OpenCV 进行识别。



实机运行的硬件配置是?


我们使用一个高尔夫球来代表足球,并将其涂成红色以提高辨识度。不可思议的是,我们仅用一部 iPhone 就能完成足球的探测,控制所有八个机器人(这是一场四对四的足球比赛),再使用 ML-Agents 模型进行推导。



你们是如何设置奖励的?


期限,代理们都各自为政,只顾自己进球,于是我们试着给个人进球设置了负面奖励,但这又导致了守门员不会去主动防守球门。而如果为运球设置积极奖励,两队又只会来回运球,不会积极射门,基本上就是在拖时间。最后,我们决定把奖励设置为进球得一分,被进球则扣一分。


项目中最具挑战的地方在哪里?


有时实机机器人并不会像模拟的那样行动,其背后原因有时让人捉摸不透。比方说,如果机器人在一个稍微倾斜的地板上运动时,有时会导致推导失败;另外,如果球的反弹与模拟不同,机器人也无法做出训练好的反应。并且,机器人对摄像机位置的要求十分严苛,需要达到毫米级的精度,这使得每次线下活动的镜头调整异常困难。在每一次大型修改后,模型还需要三天左右的训练时间来适应,我们总共进行了约六次的训练环节来实现如今的成果。



虚拟机器人在相互碰撞时不会有太大的影响,但真正的机器人相撞可能会引发意外。你们是如何解决这个问题的呢?


在 ML-Agents 的演示里,智能代理在进球后会自行回到原位站好,但这一步对真正的机器人来说没这么简单。问题在于,仅靠强化学习很难避免 toio 机器人相撞。最初我们试图为避免相撞设立奖励,但最终还是找到了一种机智的解决方法。


对于那些想在项目中用上机器学习的 Unity 创作者,你有什么建议?


AI,特别是深度学习是让人痴迷,但人们尚未充分理解它。除非亲手尝试过,否则你将无法欣赏技术的美和复杂度,当个半桶水可不光彩,所以我们鼓励全球 Unity 开发者亲自上手 AI 技术。我想特别指出机器学习非常有趣,而 Unity ML-Agents 工具能帮你轻松地上手或整合机器学习到项目中。



长按关注

Unity 官方微信

第一时间了解Unity引擎动向,学习最新开发技巧

阅读原文

* 文章为作者独立观点,不代表数艺网立场转载须知

本文内容由数艺网收录采集自微信公众号Unity官方平台 ,并经数艺网进行了排版优化。转载此文章请在文章开头和结尾标注“作者”、“来源:数艺网” 并附上本页链接: 如您不希望被数艺网所收录,感觉到侵犯到了您的权益,请及时告知数艺网,我们表示诚挚的歉意,并及时处理或删除。

数字媒体艺术 新媒体艺术 科技艺术 作品分享 科技前沿

17982 举报
  0
登录| 注册 后参与评论