如果您正在设计机器人导航系统,例如用于自动真空吸尘器,那么重要的是它能够准确地找到自己的方式。在确定正确的传感器并将系统组装在一起后,有必要进行测试以证明导航算法并确保一致的高性能。
但是,您如何进行此测试并衡量性能呢?
对于地面机器人,其定位算法必须准确跟踪其位置,而其他算法则有助于其实现更大的功能。为导航而设计的算法和实现机器人目标的算法在没有正确方向的情况下是没有意义的。
对于需要覆盖整个表面才能完成其工作的清洁机器人尤其如此。其映射越准确,完成工作的速度就越快,最终用户就越满意。同样的原理也适用于任何地面机器人:例如,大型仓库机器人的精确移动意味着客户可以更快地获得产品,从而提高效率。
由于轮式机器人倾向于直线移动,因此航向精度和航向漂移(航向误差如何随时间变化)是重要的指标。虽然航向是机器人前进方向的一个组成部分,但最重要的是它最终到达的地方。测量轨迹误差,或者我们的机器人到达的距离,将有助于我们了解我们的系统到底有多准确。
测试环境
在这个例子中,我们选择了航向误差和轨迹误差作为我们要研究的两个最重要的标准。现在,我们需要一个参考点或事实,来与机器人的输出进行比较。为了通过跟踪机器人的运动来实现这一目标,基于红外的摄像头系统可以提供灵活性,准确性和精确性。基于红外的相机系统与用于电影动作捕捉和全球机器人实验室的技术相同。
图 1:机器人动作捕捉。
机器人应该在预期的部署环境等条件下进行测试 - 无论是模拟仓库,模拟医院还是模拟客厅。环境在许多方面各不相同,例如房间大小、物体所在的位置、地板、磁场和温度的变化。确保您的测试环境能够涵盖这些类型的更改,可以构建更强大的解决方案。
例如,CEVA的机器人真空测试是在基于国际标准的模拟客厅中完成的。该标准非常具体,包含多件家具,地板的变化,倾斜度,颠簸,甚至对墙壁上内容的要求(与VSLAM机器人相关)。通过使用这组障碍物和设置,我们可以收集在使用过程中看到的相同场景的航向和轨迹数据。
图2:机器人真空测试室。
保持真实
我们的测试需要调查当我们以类似于现实世界的方式改变环境时会发生什么。例如,我们知道航向误差是由于温度变化引起的惯性传感器不准确而引入的。然后,我们应该验证机器人在其预期温度范围内的操作。
与我们组织良好的测试环境相比,我们知道现实世界是混乱的。我们的机器人经常会受到意外变化的影响:人或动物会撞到它,我们的测试设置中可能还有其他障碍物,或者地板材料可能是意想不到的。
测试需要反映这些方案才能可靠。迭代次数越多,我们的图片就越完整,我们就越能更好地调整算法以提高系统性能。
例如,我们可以包括以下测试:
基线 – 在测试环境中的预期范围内变化温度
颠簸 – 添加突然的方向变化或位移以模拟偶然的颠簸
障碍 – 增加物体数量和中断
使用寿命 – 增加测试运行时间,以模拟在工业环境中的使用
理想情况下,我们应该在多个测试平台上多次运行这些测试,以收集尽可能多的数据。如果您正在测试整个机器人,这显然更加昂贵和复杂。
CEVA专注于传感器,测试骑在同一机器人上的多个传感器,以获取尽可能多的数据。这使我们能够使用多个数据点跟踪相对于事实的航向,并更深入地了解基础和外部因素如何影响其性能。
分析此
如果没有适当的分析,数据就什么都不是,通过精心的管理,我们可以优化机器人的跟踪性能。例如,通过我们全面的测试计划,我们可以查看机器人的感知航向偏离我们的运动捕捉系统测量的航向的速度有多快。
如果您只用几个数字(例如每个试验结束时的标题差)来汇总航向准确性,您可能会错过有价值的见解,因为有时可能会有大错误,后来被其他大错误抵消,或者也许除了最后的短暂故障外,一个测试基本上是准确的。
因此,相反,我们检查每个时刻的错误增长率(例如,在滚动的15秒窗口内),并将每个错误都视为单独的数据点。然后,我们在 CDF(累积分布函数)中绘制每次试验的这些误差增长值的分布,如图 3 所示。查看图(此处越靠近左侧的线条越好),我们可以轻松地将中位数性能与最坏情况或其他百分位数进行比较,并确定异常值。
图 3:不同条件下多种算法的 CDF。
这有助于我们确定哪些传感器和算法的运行航向漂移比其他传感器和算法少,并向我们展示如何调整这些值以获得更高的精度。
我们可以在查看轨迹误差的同时执行类似的分析。它可以通过多种方式进行测量:
绝对误差独立比较感知轨迹和实际轨迹的终点。这使我们能够在长时间的试验中看到航向和距离误差的积累。
相对误差将两个数据集调整到每个测量窗口上的相同起点。这将先前误差的累积与标题误差引起的误差增长隔离开来。
重新定向的相对误差考虑了每个测量窗口开始时的平移和旋转差异。这会将单位距离的整体误差增长与先前累积的误差隔离开来。这是识别轨迹误差源的最有用指标,轨迹误差在重新定向的相对误差中显示为“热点”。
结论
设计和测试机器人导航系统似乎是一项艰巨的任务,但通过将其分解成其组成部分,它变得更加易于管理。使用正确的传感器和正确的软件来组合其数据,机器人可以在项目规格范围内尽可能准确。
本文中描述的测试方法可用于确定机器人的准确性及其在典型真实条件下的行为。通过在合适的环境中进行测试,并适当地分析测试数据,我们可以确保完成的机器人无论遇到什么条件,都能按预期运行。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !