AI@Unity正在致力于机器人、计算机视觉和机器学习领域的深入研究和产品开发。而Unity为暑期实习生们提供的人工智能项目则更加具有真正的产品影响力。
随着机器人构造与任务的越来越复杂,机器人行业对仿真的需求也越来越大。机器人模拟技术能够帮助开发人员对机器人进行扩展,因此在他们需要测试的每个场景中他们并不需要真实的机器人。另外机器人模拟技术还能够在开发过程中开发和测试某些任务,尤其是那些在机器人完全部署之前无法执行的任务。
Unity的机器人团队正专注于通过利用Unity引擎的能力、资产和可集成性来进一步推动机器人仿真技术更加成熟,同时构建和扩展具有仿真能力的机器人模拟专用工具与相关软件包。而在Unity Robotics Hub中也提供演示、教程和软件包,可以帮助用户立即开始模拟他们自己的机器人。
2021年夏天,Unity机器人团队的实习生们迎来了他们的首次工作,这为他们在Unity的工作中积攒了宝贵的经验。在下面的文章中我们将向大家分享他们所开发的项目和所获得的一些经验。
Unity中的逆运动学与控制
雅各布·普拉特(Jacob Platin),宾夕法尼亚大学机器人学专业
逆运动学对于像READY Robotics这样的客户来说至关重要。
今年夏天,我得到了一个非常难得的机会——加入到Unity机器人团队中来。作为机器人团队的一员,将反向运动学和机器人控制器集成到Unity中成为了我们首个项目。当用户需要模拟机器人,尤其是机械臂时,他们需要使用并控制与真实机器人相同或相似的API来控制机器人。这些应用编程接口被称为机器人控制器,它们提供了各种功能,包括将机器人从一个位置移动到另一个位置,移动单个关节(在关节空间中),甚至移动机器人转一圈等。机器人控制器主要控制节空间工作,我们可以发送给每个关节执行目标角度的命令。然而,人们只关心末端执行器在笛卡尔空间中的位置和方向(即,我们的3D世界中的X、Y和Z坐标)。因此,反向运动学的目标是确定笛卡尔空间中给定位置和方向对应的关节角度。反向运动学是机器人专家工具包中至关重要的一部分,因此这个包使Unity作为机器人仿真平台更有权威,也更容易使用。
事实证明,在Unity中集成这些功能是一个巨大的挑战,要求我复习线性代数、物理、微积分、计算机科学,甚至微积分这些前的知识,同时以最用户友好的方式设计软件。我还通过创建项目演示学习了如何在虚拟现实中模拟工业机器人,在这个演示中,用户可以在虚拟现实中移动一个由机器人手臂跟随的立方体。然而,伴随着挑战而来的是巨大的机遇,有效地独自设计、构建和运输这样基本的代码来支持Unity中的机器人给我们带来了全新的可能性。令人难以置信的是,人们很少发现自己每天都在期待工作,并不断受工作中的挑战,我很幸运地说,我在Unity找到了这种体验!
多智能体机器人仿真
蒂芬妮·尤(Tiffany Yau),多伦多大学机器人工程学士
西蒙·查莫罗(Simon Chamorro),舍布鲁克大学机器人工程学士
在工业应用中,具有不同专业能力的多个机器人必须协同工作来执行复杂的任务。该项目展示了如何通过Unity编辑器和机器人仿真包以及ROS 2实现多个机器人之间的协调,以在仓库中执行查找和转移任务。该演示还强调了使用Unity相对于其他机器人仿真工具的优势,在其他工具中,像这样的多智能体仿真很难完成。我们的模拟由两种类型的机器人组成,我们称之为Findbot和Ferrybot。多个Findbots负责使用机器学习在仓库环境中查找目标多维数据集,单个Ferrybot导航、拾取并在指定位置放下这些多维数据集。为了实现这一点,每个Findbot都配备了一个摄像头来检测立方体,而Ferrybot则有一个机械臂来拾取立方体。这个示例项目对于希望在自己的模拟中使用Unity机器人工具的机器人开发人员和研究人员来说非常有用。
总的来说,这是一次很好的体验,因为我们能够在我们的项目中使用和集成大量的Unity软件包。例如,我们使用了计算机视觉感知包用于数据收集以训练我们的姿态预估模型。我们还在费里波特上使用了一个反向运动学包(在上面雅各布的项目中提到过)来拾取立方体。依赖与我们并行开发的项目也是一个重大挑战,但这对于我们来说也是学习协作和沟通的绝佳机会。
领取专属 10元无门槛券
私享最新 技术干货