搜索 Unity

Unity AI 2021实习生项目:应对机器人研发难题

2021年9月16日 类别 制造业 | 9 分 阅读
Blue robotics arm
Blue robotics arm

AI@Unity正致力于研究和开发机器人、计算机视觉及机器学习的相关产品,Unity的暑期AI实习生也在参与多个极具现实意义的AI项目。

在机器人结构越来越复杂的今天,机器人所能执行的任务也变得越来越复杂,研发对模拟的需求也越来越大。模拟技术可让开发者轻松地在每一种应用场景中展开测试,无须使用真正的机器人设备便能轻松拓展实验,并且还能模拟在实机部署之前,测试那些需要在机器人完全做好之后才能测试的任务。Unity Robotics团队的主要工作是借助Unity引擎的实时技术、资源和兼容性来实现机器人模拟,打造专门机器人研发工具和资源包,拓展引擎的模拟能力。Unity Robotics Hub集中了多个演示、教程和资源包,让你随时都能开始学习机器人模拟。

在今年夏天,Unity迎来了几位兢兢业业的实习生,他们为Unity的机器人研究做出了宝贵的贡献。本文将介绍这些实习生所参与的项目和总结的经验。

Unity中的反向动力学和机器人操控

Jacob Platin,机器人专业,宾夕法尼亚大学(Penn)

READY Robotics等机器人公司最重视的一块便是反向动力学,以下为项目的模拟场景

今年夏天,我有幸加入了Unity Robotics团队,参与了将反向动力学和机器人控制器整合进Unity引擎。 客户在模拟机械臂等机器人时,通常要求模拟机器人的操控使用与真实机器人相同或相近的API。 这些API被称为机器人控制器,它们负责实现移动功能,像是从某处移动到另一处、单关节运动(受关节约束),甚至是让机器人转圈。 机器人控制器的指令以关节约束为基础,即每次运动皆是相对于关节进行角度调整, 但人类更多关注的是终端效应器在笛卡尔坐标系上的位置和方向(即三维世界中的X、Y和Z坐标)。反向动力学所做的就是将某关节角度与坐标系上的位置和方向对应起来。 作为机器人模拟工具包一部分,反向动力学可让Unity的机器人模拟更强大,使用更简单。 

事实上整合这些功能到Unity中是一项巨大的挑战,我得重新拿起线性代数、物理学、微积分、计算机科学,甚至是微积分基础等知识,同时将软件设计得尽量对用户友好。 我还学会了在VR中模拟工业机器人的方法,并制作了一个演示项目,让机器人在VR中跟随用户手中的方块。 并且,挑战往往伴随着机遇,像这样单枪匹马地设计、编写和发布一段在Unity中模拟机器人的代码对我来说是一次非常出色的经历。 而Unity的员工每天都会在工作中遇到、处理许多新挑战,这种氛围在整个社会中都是极其罕见的,能加入这样的Unity我感到非常幸运!

多智能代理机器人模拟

Tiffany Yau,工学学士,机器人工程,多伦多大学

Simon Chamorro,工学学士,机器人工程,舍布鲁克大学

3D simulation of a green robot moving around a wood floor

在工业应用领域,同一项任务通常需要有多个职责不同的机器人分工协作。“多智能代理”项目使用了Unity辑器、机器人模拟资源包以及ROS 2创建了一个更为复杂的应用场景,让多台机器人在仓库中合作执行搜寻和运送任务。类似的多代理模拟在其它机器人模拟软件中制作起来较为困难,但Unity在这方面有着独特的优势。项目中包含两种机器人,分别称为Findbot和Ferrybot。数量众多的Findbot负责在仓库里寻找目标,而Ferrybot则负责运送、在指定地点捡起和放下方块。每个Findbot都配备了一个摄像头来检测目标,而Ferrybot则配备有一个机械臂用于装卸。机器人开发者和研究人员若想在模拟项目中用上Unity的机器人模拟工具,可以参考这个示例项目。 

本项目对我们来说是一次非常宝贵的经历,我们在开发期间亲自尝试和整合了许多Unity资源包。比如用于搜集数据、训练姿态调整算法的Computer Vision Perception Package,Ferrybot用于拾取方块的反向动力学软件包(即上方提到的Jacob项目)。作为与我们并行开发的项目,要采用其成果也是一招险棋,但这也是学习沟通协作的好机会。并且,我们的项目还将在ROSCon 2021研讨会上登场,这让我们感到非常高兴。

加入我们

如果你有兴趣参与Unity充满挑战的AI项目、积累项目经验,请查看我们的大学招聘页面。你也可以在Unity Robotics Hub上学习演示和教程,在家里构建自己的体验。

2021年9月16日 类别 制造业 | 9 分 阅读