郑州|使用Unity创造并快速训练数字孪生机器人( 二 )


ML-agent工具包的用法
“强化学习(RL)训练是一个强大的机器人框架 , 而Unity ML-agent也是一个很棒的工具包 , 它使我们的数字孪生机械臂能够学习和执行复杂的任务 。 由于竞赛的时间有限 , 目标是实现一个简单的RL“接触”任务 , 并将生成的模型转换为在OAK-D设备上运行推理 。 通过使用ML-agent工具包 , 机器人使用IK控制学习的最佳路径 , 以动态接触检测接触到的3D对象 。 ”Gerard Espon说道 。
为了实现这一点 , Kauda Team首先使用了spatial tiny YOLO , 这帮助他们实现了三维物体检测 。 RL模型(PPO)使用结果检测和IK控制点的位置作为输入观察 。 关于输出动作 , IK控制点的能够实现3轴移动 。 奖励系统基于每一步的小惩罚和机器人接触物体时的大奖励(1.0)而制定 。 为了加快训练速度 , Kauda Team利用多代理同时学习来开发虚拟spatial tiny YOLO , 其输出动作与真实spatial tiny YOLO相同 。
当模型训练完成后 , 他们使用OpenVino工具包将其转换为OpenVino IR和Myriad Blob格式 , 将模型加载到OAK-D设备上并运行推理 。 最后管道中是一个spatial tiny YOLO加RL模型 。 这里他们使用了Unity插件 , 因为Unity插件能够帮助他们在Unity中同时使用ML-Agents和OAK-D代理来比较推理 。
合成数据
管道的第一阶段是3D对象检测器 , 这是一个基于人工智能的计算机视觉和机器人任务的一个非常常见的起点 。 在案例中 , Kauda Team使用了一个预先训练好的小型YOLO v3模型Unity感知包 , 这让他们能够为机器人的训练定制类别 。 这让Kauda Team能够在几分钟内生成一个带有自动地面真实边界框标记的大型3D模型合成数据集 。 通常 , 收集和标记过程是非常耗时的 。 拥有生成丰富数据集的能力是一大进步 , 该数据集具有大量随机化选项 , 拥有不同的角度、打光情况、纹理变化等 。
开发中的困难
“同步虚拟项目和现实世界项目所需的时间有时会有些偏离 。 我们认为这可以通过在未来使用ROS来解决 , 让我们很高兴的是Unity现在正式支持ROS了!”Gerard Espon说道 。

相关经验推荐