利用ROS 2实施AMR部署需要注意的事项
时间:2022-04-29 23:42:01 | 来源:行业动态
时间:2022-04-29 23:42:01 来源:行业动态
ROS 2将ROS 1从学术界带入了工业领域。ROS 2允许通过多机器人之间的协作以及可靠的、容错的实时通信在工业中使用。ROS 2采用DDS做为通信主干,提供了一个统一的数据交换环境,就像一条数据之河,因此,机群AMR可以相互通信。其他采用分布式数据服务(DDS)技术的设备,也可以使用数据之河来共享数据。
DDS是ROS 2的一个关键组件,其技术核心是以数据为中心的发布-订阅(Data-Centric Publish-Subscribe, DCPS)模式,提供了一个所有独立应用均可访问的全局数据空间。美国海军使用ROS 2解决了舰船在复杂的网络环境下大规模进行软件升级的兼容性问题。自2004年对象管理组(Object Management Group, OMG)发布以来,DDS被广泛用作数据发布和订阅的标准解决方案,在自主和要求苛刻的系统中,实现分布式的实时通信。
在寻找合适的基于ROS 2的AMR解决方案时,需要考虑以下几个因素。
- 首先,开发人员必须确定系统是否针对AMR导航进行了优化(包括硬件和软件集成),以避免耗时的依赖性、版本问题和编译错误。
- 为了利用传感器的融合实现高精度,以及多个集成传感器之间的时间同步,例如GMSL图像(千兆多媒体串行链路),惯性测量单元(IMU)至关重要。
- 为了优化数据的内部处理,需要考虑系统是否具有共享内存的机制(见图3)。在传统的实现方法中,系统中的进程需要透过操作系统网络层传递消息,这样就会导致延迟的现象。访问共享内存并直接执行传输是一种经过优化的解决方法,可以显着降低延迟。
- 找到一种可以提供分布式通信的解决方案,在确保容错和冗余的同时支持机群自主。
图3. 使用共享内存的机制优化进程间的的通信最后要考虑解决方案是否易于实施。一些供应商提供了软件开发工具包(SDK),通过优化DDS的性能,支持机群架构并确保通信的稳定可靠。Eclipse Cyclone DDS 是一种快速可靠的 DDS 实现,被 ROS 2 技术指导委员会 (TSC) 选为 ROS 2 Galactic Geochelone 版本的默认 ROS 中间件 (RMW)。 此默认配置适用于大多数开发人员。 或者,他们也可以使用非默认 RMW进行配置。
为了更轻松地实施和更快地部署,请寻找能够提供集成开发环境 (IDE)、经过测试和验证的软件包的应用,以及提供参考设计示例代码的供应商。为了帮助开发人员轻松地从 ROS 1 迁移到 ROS 2,一些供应商还提供了迁移指南,其中包括不同的方法并描述了与迁移过程相关的好处和问题。