科学家开发了一种用于实时机器人运动计划的芯片

图片

如果您曾经观看过机器人演示版本的工作方式,那么您可能会注意到机器人可以“冻结”很长时间才能继续移动。您可能会认为,机器人会思考在什么点和沿着什么路径移动。这个假设与事实相差不远:目前,处理器处理运动计划操作,这通常需要很多时间。杜克大学的

研究人员找到了一种方法,可以通过使用当今所需功率的二十分之一来加快机器人运动计划三倍。他们解决方案的核心是专用处理器,它可以执行工作中最耗时的部分-高效检查机器人整个运动范围内所有可能的碰撞。

例如,针对机械手臂的运动计划主要涉及概率路线图的创建。它是由无障碍空间中的点组成的图形,并通过肋线连接这些点,以使它们之间的每次运动都不会导致碰撞。实际上,运动计划者选择图表上的起点和终点,然后确定从一个点到另一个点移动的最有效方法。

图片
运动计划算法正在寻找从一个点到另一个点的最佳路径,这使您可以避免障碍物(左图)。概率路线图,其边线连接自由空间中的点(右)。

从理论上讲,这听起来很简单,但是在实践中,您需要考虑到您正在使用机械臂的事实。当刷子从一个点移动到另一个点时,前臂可能会与障碍物碰撞。机械臂移动的区域称为“工作空间”。

图片
工作空间是机器人将位置从一个位置更改为另一个位置的空间。

研究结果表明,障碍物的检测花费了超过99%的计算时间。配置机器人后,将进行初步计算。您创建了一张地图,该地图由大约15万条边组成,描述了机器人的可能轨迹,同时避免了自碰撞和与不改变其位置的事物(例如性别)的碰撞。

15万根肋骨对于杜克大学团队系统的原型来说实在是太多了。一个更合理的数字接近1000,因此研究人员必须找到一种减少其数量的方法。

为了加快并简化整个过程,研究人员首先对大约一万个场景进行了建模,这些场景具有不同数量的大小随机分布的障碍物,然后检查系统使用地图上的哪些边缘来计划移动。从地图上删除了很少使用的肋骨。在一个示例中,经过几次迭代以减少并重新检查结果,结果是边的数量少于一千。同时,这种减少并没有影响解决运动计划器两个主要问题的能力,即处理速度慢和功耗高。

将地图上的边数限制为可接受的值非常重要,因为处理规划操作的处理器的功能受到限制。在这种情况下,处理器-可编程逻辑集成电路(FPGA)-用碰撞检测电路阵列编程,每个碰撞检测电路对应于地图上的一个边。因此,卡的大小受FPGA上可容纳的此类电路的数量限制-最多数千个。

杜克大学的科学家通过将工作空间分解为数千个体素来工作。然后,该算法确定是否将预编程的对象轨迹嵌入到其中一个体素中。借助FPGA,该技术可同时检查数千条路由,然后使用其余的安全选项缝制最短路径。机器人只能执行它。


在输出时,科学家获得了巨大的加速:无论卡上有多少条边,整个卡的FPGA处理速度为每像素50纳秒。在一个特别复杂的示例中,处理花费了略大于0.6毫秒的时间。该调度程序基于时钟频率为3.5 GHz的四核Intel Xeon处理器工作,在2.738 ms内完成了此任务。传统处理器在运动计划期间消耗大约200-300瓦的电,而杜克大学的科学家发展的能量还不到10瓦。

现在,工业机器人不再使用运动计划器。例如,在使用机器人进行汽车的流水线组装时,环境的规划应使机器人可以一遍又一遍地盲目重复相同的动作。他们根本没有机会犯错:每次汽车的零件都摆在同一个地方,而机器人则被放在特殊的盒子里,将它们与人隔离。但是,如果机器人使用实时运动计划算法,那么它将不会受到徘徊的人或传送带故障的阻碍-机器人将以通常的精度完成工作。

实时交通规划可以节省时间和成本,以对机器人环境进行工程设计。过去30年来,科学家一直在研究计划技术,最近的进展使在几秒钟内创建改进的行动计划成为可能。现有的方法(除某些例外)依赖于中央处理器或更快,但能耗更高的GPU的功能。根据科学家的说法,中央处理器擅长解决不同类型的任务,但不能与专门为一项特定任务设计的处理器竞争。

Dinesh Manocha,北卡罗来纳大学教堂山分校教授使用GPU上的实时运动计划器的工程师一致认为FPGA具有提高运动计划效率的潜力。他充满信心,科学家的发展将在不久的将来找到实际应用:机器人正越来越多地在新的,不确定的条件下使用,交通规划的作用只会随着时间的推移而增加。

初创公司Realtime Robotics将技术科学家商业化。作为该项目的一部分,FPGA将被专用集成电路(ASIC取代,该集成电路可以结合超过10万条边。这样的升级将使机器人可以在各种各样的环境中工作。

Source: https://habr.com/ru/post/zh-CN400079/


All Articles