张松林
(安徽信息工程学院 信息系,安徽 芜湖 241000)
自20世纪中期开始,机器人系统逐步得到发展。从简单的机械结构到具有感知识别功能的智能机器人系统,已经在多个领域广泛应用。其中,物体抓取操作是机器人的重要功能。随着硬件技术的不断成熟,机器人系统通过传感器实现环境感知,并通过智能算法的设计来实现物体的任意抓取。由于机器人系统应用领域的复杂化,对机器人的控制算法提出了更高的要求。目前,工业机器人的抓取算法设计需要依赖预先建立好的物体抓取模型并整理为数据库,但对于在非结构化的环境中进行抓取的机器人来说,建立准确的数学模型难以实现。因此,要建立起能够对环境实时预测并快速整定的抓取规划算法。为优化这一问题,引入基于卷积神经网络的机器人规划算法。机器人通过传感器获取的环境信息,建立对应的抓取位姿映射关系,即通过环境模型库来存储机器人抓取经验,相比与传统的抓取控制算法而言,基于卷积神经网络的算法可以实现对未知物体的抓取经验迁移。
机器人物体抓取可以视为机械臂对物体表面上一组接触点的施加力,以防止物体在外界扰动下发生运动。为提高机器人对物体抓取的控制性能,首先,需要建立机器人物体抓取的接触力数学模型[1]。
图1 物体与末端执行器接触模型的坐标系关系
(1)
式中,fi∈R3为机械臂在点ci点上的接触力(N);τi∈R3为机械臂在点ci点上的接触力矩(N/m)。由于接触力和接触力矩所处的维度不同,特引入参数ρ进行调整,因此得式(2):
(2)
通过引入参数ρ可使wi的所有成分都采取力单位。确定参数ρ的方法有两种,一种为质心与物体间任意一点最远的距离,使在所抓取的物体上施加最大力矩;另一种是将参数ρ定义为回转半径,但该方法计算较为复杂、用途不多。接触模型由两个接触面的几何形态和材料的特性决定,并能通过接触施加在物体上的力映射成为相对于物体的力旋量。一般情况下,定义了8种接触模型,其中最为常用的接触模型为有摩擦的点接触模型和无摩擦的点接触模型。点接触模型为刚性接触模型,即假定机械臂爪手与所抓物体都为刚体,且物体间的碰撞具有即时性和不连续性的特点,通过系统在平衡碰撞后动量变化可以推到出运动方程。在无摩擦的点接触模型中,接触力是沿着法向量方向作用在物体表面,而假定爪手与物体表面不变形。这两种模型主要应用于接触面小且接触面光滑的场景。
建立了机器人与物体之间的接触力模型g={x,y,d,θ}后,又设计了抓取物体的卷积网络模型。为提高机器人抓取物体的准确性,将传感器获得的深度图像作为卷积网络的输入。以全卷积的形式设计网络输出层,可以减少网络的训练参数。为提高网络底层数据的利用,本设计利用残差单元作为网络的基础,而对于网络的输出,进行了归一化的处理。卷积网络模型中需要处理的参数包括抓取概率、抓取角度、抓取宽度和抓取位置,其中,抓取概率需要先将传感器传出的图片进行二进制标记,再对相应区域内的值进行设置。机械手的抓取角度范围为在[-90,90]之间,且设置sin2θ,cos2θ来确定抓取角度。为了保证卷积输出层的值不超过1,在求取抓取宽度时,要求深度相机二指夹持器间的最大宽度为50像素。
为保证抓取物体的稳定性,机器手末端不应始终垂直于物体所处于的平面。这样有利于在抓取位置较高且圆形的物体时,在很多角度下都不能准确抓起物体,此时需要对物体末端的位置和姿态进行调整,再进行抓取。本设计基于主成分分析法进行末端姿态调整。首先,求取接触点处的法向量,将其作为末端姿态调整的一部分,具有计算精度高、计算速度快和计算时间复杂度低的特点。该方法的应用原理就是通过遍历,计算出距离目标点k个欧式距离最小的点,通过最小二乘法拟合出局部领域平面,再通过计算领域内的协方差得到去面特性。在确定一个表面的法线时,需要估计表面上的一个相切面的法线,就可以将末端姿态调整问题转化为一个基于最小二乘法的平面拟合估计问题。由于法线正负向问题无法确定,因此,通过主成分分析法计算出的表面法向量具有二义向,在特殊情况下无法实现对抓取点法向量一致性统一。本文定义一个法线方向,并将空间中的点vp作为法线的朝向,并满足:ni·(vp-pi)>0。
为保证机械爪物体抓取的实时性,需要在每个控制时刻将末端执行器与目标位置的图像作为卷积层的输入。由于卷积神经网络具有强大的图像处理功能,在策略搜索算法的监督下,通过训练过程调整网络权重与偏置,可获得执行器与目标之间的相对位置。由于机械臂的各关节信息无法通过图像实时获取,在搭建卷积神经网络策略时,将关节角和角速度作为神经网络连接层进行输入。基于卷积神经网络的机械爪控制结构如图2所示。
图2 基于卷积神经网络机器人控制框图
在构建卷积神经网络视觉层时,为保证对图像中特征的及时重组,对输入图像进行处理后,在视觉层的最后加入一层全连接层,同时还可降低图像特征的维度,并对图像特征的数值进行缩放,使其与机械臂关节状态的数值相近。电机控制层的输入为视觉层输出的图像特征和关节状态信息,通过两层全连接层对拟合策略搜索控制器,电机控制层后由卷积神经网络输出该时刻的关节控制量。在电机控制层设计过程中,若直接将特征图与关节状态信息进行组合,由于相机图像的特征数量过于庞大,会发生卷积神经网络控制策略无法收敛的问题,使关节状态信息被提取的特征被淹没,进而很难获取输入特征与关节控制量之间准确的映射关系。为解决上述问题,在进行卷积神经网络视觉层设计时,增加一个全连接层。该方法一方面可以有效降低电机控制层的输入维度,保证了关节状态信息不被淹没;另一方面,卷积层输出的特征图在经过全连接层后会下降,并与关节状态信息的数量上较为匹配,使卷积神经网络在随机梯度下降时能更好优化电机控制层的相关参数。
卷积神经网络的损失函数是评价网络输出结果优劣的重要指标。损失函数设计直接决定卷积神经网络各层权重与偏置的优化方向,进而影响卷积神经网络训练后的泛化能力。本设计中的损失函数,是为了保证在策略搜索算法监督下进行网络训练,既可以保证完成规定的放置任务,也对陌生物体抓取产生一定的是影响。在训练过程中,卷积神经网络算法能使受训的机械系统向提供监督的机械控制器方向进行规范,保证该系统的控制效果,使视觉层、电机控制层的优化具有较好的泛化能力。在进行卷积神经网络函数设计时,可以从相似度的KL散度项和L2正则化项两个方向同时展开,其中,KL散度项主要反映卷积神经网络控制策略与机械臂控制器两者之间的相似程度,而L2正则化项的主要功能,是防止数据发生过度拟合的问题。在设计损失函数前,首先假定优化的神经网络处于多元高斯分布的情况下,实现与策略搜索算法后控制值输出的线性形式的多元高斯分布的均值处于相同区域,从而保证了KL散度可以准确描述卷积神经网络控制策略与机械臂控制器两者之间的相似程度。损失函数设计的第二部分是L2正则化项,其设计思路是使卷积神经网络的权重矩阵元素都处于较小,以避免数据发生过度拟合的问题。通过在实际数据中对权重衰减系数进行检验,最后将其取值为0.005。此外,分析所设计的损失函数后发现,由于协方差矩阵的迹项和对数项中都不包括卷积神经网络策略的实际输出数据,因此,在利用反向传播的方法求取损失函数时,输入梯度时以上协方差项不会影响到神经网络权重以及偏置的更新,在计算损失函数时可以对其进行忽略。基于上述的考虑,设计的卷积神经网络策略最终的损失函数为:
训练卷积神经网络时,保证控制器控制效果的重要内容,是在正式训练开始前,对卷积神经网络的视觉层进行预训练。这样既可以在一定程度上缩短网络的训练时间,使神经网络各层的权重和偏置都能在正式训练之前得到较好的初始化,也能避免在训练过程中局部最优解的结果。本文选取迁移学习的方法,以实现对卷积神经网络的预训练。该方法可以有效简化卷积神经网络结构设计过程中的步骤和难度。在对卷积神经网络电机控制层进行训练时,需要对该层参数进行初始训练,避免在预训练后的正式训练时造成数据的大量丢失。本文采取端对端训练方法,使卷积神经网络可以满足机械手对于物体抓取的准确性和稳定性,并完成对初次探取物品放置位姿的适应性。在正式进行卷积神经网络策略设计过程中,需要设计有效的策略搜索监督算法来保证训练结果的准确性[3],使得受训的卷积神经网络具有良好的泛化能力。考虑到上述的卷积神经网络策略训练要求,在进行正式训练和测试过程中,将物品的放置任务都限制在规定的正方形区域中。本实验设计了边长为38cm的正方形,从而避免进入到较大区域。一方面是考虑到卷积神经网络泛化能力提升的需求;另一方面是考虑对网络深度和采样位置以及数量的提升要求。该方法经过试验验证后发现,它有效优化了卷积神经网络策略的训练时间以及对神经网络参数调整时间,机器人在进行物品放置过程中对面积的要求也具有较好的适应性能。在卷积神经网络策略正式训练过程中,电机控制层参数的差异会导致卷积神经网络在训练的初始阶段因参数梯度过大,使卷积神经网络的各层权重与偏置都处于大幅度的更新状态,并引起卷积神经网络视觉层在参数更新过程中所挖掘的特征信息会大量丢失的问题。本文引入的视觉层参数的预训练以及电机控制层参数的初始化,就可以有效解决上述问题。在对卷积神经网络的电机控制层进行相应训练时,需要固定卷积神经网络视觉层的参数,并根据训练位置所获得的数据采样信息,基于随机梯度下降理论的方法,对卷积神经网络的电机控制层参数进行更新和迭代。
传统的工业机器人的抓取算法设计,主要依赖预先建立起来的物体抓取模型并整理为数据库。对于仓储物流、家庭服务等非结构化的应用环境进行抓取的机器人来说,建立准确的数学模型难以实现。这就要求在控制器中建立一个能够对环境实时预测并快速整定的抓取规划算法。为解决该问题,本文设计了基于卷积神经网络的机器人规划算法。该方法是指实时采集机器人通过传感器获取的环境信息,建立对应的抓取位姿映射关系,即通过环境模型库来存储机器人抓取经验,与传统的抓取控制算法而言基于卷积神经网络的算法相比,这个方法可以实现对未知物体的抓取经验迁移。卷积神经网络的实用性主要依靠对网络的训练效果,而卷积神经网络又受到多种因素的直接影响,本文引入的视觉层参数的预训练以及电机控制层参数的预初始化,提高了卷积神经网络的控制效果,建立完整的机器人自动抓取规划系统,并通过实践,验证了自动抓取规划方法是可行的。