首页 > 文章中心 > 正文

模块化机器人构型视觉识别方法探析

模块化机器人构型视觉识别方法探析

模块化机器人系统具有较高的可拓展性和重构性,能够以多种构型应用在不同的领域之中。然而,模块化机器人系统的构型识别是一个耗费大量时间精力且准确率不高的任务,尤其对于缺少传感装置的模块化机器人系统而言。本文提供了一种基于视觉识别的方法,该方法采用了目标检测的思想,使用了深度学习的方法来获取给定图像中的机器人模块信息,并基于最邻近搜索的方式进行构型匹配,以找出当前的配置。我们通过实验验证了该方法的有效性。实验结果表明,我们的方法能够在无需给机器人安装额外检测组件的情况下实现机器人的运动链构型识别,且对于噪声环境具有较高的鲁棒性。

1模块识别方法

可重构模块化机器人RMRs是一种具有高度集成和集中控制系统的模块化机器人系统,目前针对于RMRs的构型检测方法大多是在单个模块上增加额外的辅助组件(如二维码等)来进行识别。在本章中,我们将详细描述基于视觉识别通用链式构型识别方法。如前文所述,我们使用了一种基于目标检测的深度学习算法来进行模块识别。受到的启发,我们使用了一种多任务学习的全卷积神经网络。该网络使用了深层特征融合(DeepLayerAggregation,DLA)作为特征提取模块,构建了三个独立的输出模块:一个用于预测图像中所有RRMS型机器人模块的中心点位置及模块的种类,其他两个分别用于预测图像中每个模块的包围框尺寸以及中心点位置的偏移量,见图1所示。

2运动链识别方法

通过上文的模块识别方法,我们得到了图中所有小模块的类别、中心点及包围框。本章中介绍的方法将会通过使用这三种信息来识别并构建出任意型号串联型RRMS机器人的运动学模型。

3实验

在实验中,我们将分为两个步骤:训练模块识别网络及搜索算法搭建。前者描述了我们收集数据及训练细节,并且提供了模型的训练结果与可视化过程;后者则是对我们提出的运动学链构型识别方法进行了验证。在训练模块识别网络之前,我们收集了包含了四种不同类型模块的526个样本作为数据集,其中每个样本中包含了由任意数目的RRMS模块组成的以任意姿态摆放的机器人,且每个样本中的机器人皆以主控模块作为起点,模块数目不小于3。由于我们的方法不涉及多个模块识别网络之间的比较,并且为了能够更充分地利用样本数据,因此我们仅按照7:3的比例划分了训练集与测试集,而忽略了测试集。为了进一步地提高样本量以增强模型的泛化性能,我们对数据集进行了增强处理,包括一定程度上的随机水平反转与随机平移。此外,由于收集到的样本图像尺寸存在着一定的差异,因此我们使用了零填充的方法来将每个样本图像填充为正方形。我们使用了Pytorch1.8框架并在GeForceRTX3090上进行训练,训练过程如图3所示。我们随机地选取一张照片并进行可视化处理,其结果如图4所示。

4总结

本文提出了一种基于视觉识别的链式模块化机器人构型识别方法,其中包括模块识别环节和运动链识别环节。我们的方法使用到了一种以DLA作为特征提取层的多任务学习神经网络,用于检测出图像中所有种类所有模块的中心点位置、包围框及模块的种类。随后,我们使用了一种最邻近搜索的方法来进行运动链构型识别,该方法基于广度优先搜索策略,以两两模块之间的中心点距离与交并比作为判断依据,启发式地在所有模块构成的强连通图中搜索出一条最佳的链表,该链表即为算法最终所预测的运动链构型。

作者:李伟昌 黄尚樱 单位:广东工业大学