欢迎阅读 AMR 导航聚焦系列的第四篇博客--与机器人系统对接,我们将重点关注将本地化数据导入机器人控制系统的技术考虑因素。 点击此处阅读本系列的上一篇博客讨论传感器定时和时钟同步。
到目前为止,在我们的机器人技术聚焦系列中,我们已经介绍了许多技术细节,包括如何为自主移动机器人的定位和感知收集数据。这一过程的最后一步,也是本博客的主题,是将各种传感器的数据输入 AMR 的控制系统。
与机器人系统连接的挑战
当您尝试使用传感器数据进行定位(实际上也包括感知)时,您不能仅仅将数据发送到机器人控制堆栈,然后就指望一切顺利。一旦你将传感器数据通过一个 传感器融合引擎这些数据必须以 AMR 控制系统能够理解和使用的格式提供。因此,您需要做一些工作来实现这一点。您需要建立或利用现有的接口。
该接口必须足够灵活,能够从各种传感器获取数据,并为各种用途做好准备。要建立一个有效的接口,您需要一个驱动程序,从传感器获取定位数据,并将其转换为机器人控制堆栈可以使用的格式。您可以自己制作一个驱动程序,不过根据您的网络设置,传感器制造商可能会提供驱动程序和/或解码器,您可以直接使用。
实际连接:OxTS ROS2 驱动程序
在使用OxTS INS 获取定位数据的 AMR 中,您可以使用我们的 ROS2 驱动程序来连接 INS 和使用 ROS2 框架构建的平台。ROS2 和较早的 ROS1 框架一样,都是用于移动机器人开发的通用框架,两者都用于整个机器人堆栈。
OxTS INS 使用一种名为 NCOM 的专有信息格式输出数据;ROS2 驱动程序对 NCOM 进行解码,并将其转换为机器人控制栈可以使用的 ROS 信息。
由于驱动程序使用的是 NCOM,因此可以向机器人传递多种数据类型,包括协方差(数据准确性的置信度)。它还能将各种参考帧转换为 ROS2 框架支持的格式。
此外,还有一个开源的 ROS1 桥接器,可以将我们驱动程序中的 ROS2 消息转换为 ROS1 消息。这意味着,你可以在 AMR 中同时包含 ROS1 和 ROS2 兼容组件,而且它们还能成功地相互通信。
因此,如果您没有使用OxTS INS,而且您的传感器也没有类似的 ROS2 驱动程序,那么您就需要自己编写类似的代码。
如果不使用 ROS2 呢?
如果您不使用 ROS2,那么我们所说的所有原则都是一样的--您只需找到或创建一个驱动程序,将传感器数据转换到您正在使用的任何框架中。例如,如果您使用的是OxTS ,您可以使用我们的 ROS1 驱动程序,我们还有一个 C 解码器,这样您就可以将 NCOM 数据包转换成可在 C 代码中使用的格式。
自主机器人导航解决方案简介
AMR 需要一个强大的机器人定位解决方案;一个不仅能记录机器人位置和方向,还能在室内外运行的工具。
本解决方案简介将介绍我们建议客户在决定自主移动机器人的定位来源时所考虑的各个方面。
阅读解决方案简介了解正确的机器人本地化解决方案如何帮助您的 AMR 项目,包括在开展项目前需要问自己的关键问题。
快乐界面
希望您喜欢这篇博客,并对刚刚开始 AMR 之旅的您有所帮助。
如果您想进一步了解我们目前能为 AMR 工程师做些什么、 查看我们的申请页面.
或者,如果您有具体项目想与我们讨论,请使用下面的表格与我们联系。我们随时欢迎您与我们讨论最新、最棒的机器人项目。
敬请关注我们的下一篇系列博客:超越本地化