为了在不同环境中高效、安全地移动,机器人系统通常会在尝试安全导航并避开附近障碍物时同时监控自身的运动和周围环境。他们收集的测量值通常对于给定的参考系(也称为坐标系)有意义。
例如,在三维 (3D) 坐标系中,如果不知道该位置所指的坐标系,机器人的位置是无关紧要的。由于机器人通常采用模块化设计,它们的不同部件通常具有不同的框架(例如,相机框架、车身框架等),并且与一个框架相关的测量需要从一个框架来回转换到另一个框架才能使用进行计算。
大多数机器人系统都基于通用语言,例如 C/C++,它们本质上不支持与使用多个框架相关的复杂性。即使某些软件工具(例如机器人操作系统 (ROS))提供了简化帧之间转换的策略,最终还是由开发人员来确定各个程序变量的参考帧、识别需要转换的实例并实施转换。
然而,跨不同帧手动转换测量值可能非常具有挑战性,并且这些转换通常容易出错。因此,一些开发人员一直在尝试设计方法来简化此翻译过程并最大限度地减少与翻译相关的错误。
普渡大学和弗吉尼亚大学的研究人员最近开发了 PHYSFRAME,该系统可以自动检测变量的帧类型并识别现有基于 ROS 的代码中可能与帧相关的不一致。他们的系统在 arXiv 上预先发表的一篇论文中介绍,可以帮助提高机器人技术中框架翻译实践的有效性和可靠性。
“由于任何状态变量都可以与某个框架相关,因此参考框架可以自然地建模为变量类型,”Sayali Kate、Michael Chinn、Hongjun Choi、Xiangyu Zhang 和 Sebastian Elbaum 在他们的论文中写道。“因此,我们开发了一种新型系统,可以自动推断变量的框架类型,进而检测任何类型的不一致和违反框架约定的情况。”
Kate 和她的同事开发的系统 PHYSFRAME 是一种全自动类型推断和检查技术,可以检测基于 ROS 的程序中的帧不一致和约定违规。研究人员在 GitHub 上发布的 180 个基于 ROS 的项目上评估了他们的系统。
研究人员在论文中写道:“评估表明,我们的系统可以检测到 190 个不一致性,其中 154 个为真阳性(81.05%)。” “到目前为止,我们向开发人员报告了 52 条,收到了 18 条回复,其中 15 条已修复/已确认。我们的技术还发现了 45 条违反常规做法的情况。”
使用他们开发的系统,Kate 和她的同事已经在现有的基于 ROS 的项目中发现了一些不一致和违规行为。未来,PHYSFRAME 可能因此被证明是一种非常有价值的工具,用于检查现有机器人代码并识别与跨不同帧的测量转换相关的错误。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!