郭仓库
(河南工业职业技术学院,河南 南阳 473000)
农业是支撑国民经济建设和发展的基础产业,为了促进现代农业发展,进一步提升我国粮食水果种植产业,推动我国农业朝智能化方向发展已经成为大势所趋。随着人工智能和控制技术的发展,机器人等高新技术产品逐渐被应用到农业生产中。为此,基于卷积神经网络技术,设计了一套采摘机械臂无碰撞运动规划算法,旨在实现对采摘机械臂的精确控制。
卷积神经网络(Convolutional Neural Network,CNN)是一种特殊的网络结构,可用于处理计算机视觉,其主要通过神经元间的局部连接,可通过自适应地进行逐层学习网格的空间特征,用于解决图像的分类和识别问题。CNN主要包括输入、卷积、池化、全连接和输出等5层网络,其卷积层和池化层用于图像特征的提取和降维,全连接层则用于将提取到的特征映射到输出层。卷积神经网络的结构框架如图1所示。
在数学推导求解中,卷积是一种复杂的运算,其离散的表达形式为
(1)
在图像处理中,通常利用离散卷积运算方法,进行图像的增强、去噪和突出特征部分,方便进行图像分析和处理。实际卷积运算过程中,往往都是对一个卷积核的像素点进行加工和分析,其具体步骤为:
1)对图像的某个位置覆盖二维数字矩阵的滤波器;
2)将二维数字矩阵中的值与图像中的对应像素的值进行相乘处理;
3)把上面的乘积加起来,得到的和是输出图像中目标像素的值;
4)对图像的所有位置重复此操作。
图像卷积处理过程如图2所示。具体的计算表达式为
(2)
图2 图像卷积处理过程示意图Fig.2 The schematic diagram of image convolution processing process
图像相邻像素若存在相似值,通过卷积处理后输出像素也会有相似之处,表示卷积层会存在一部分冗余的信息。因此,对卷积操作后,需要再对图像进行一次池化处理,这个过程被称为下采样。池化层可以通过减小输入特征矩阵的大小降低输出值的数量,大幅降低算法计算时间,提高算法运算效率。池化包括均值和最大值两种运算方法,本文采用最大值池化方法,其操作流程示意如图3所示。
图3 最大值池化操作流程示意图Fig.3 The schematic diagram of maximum pooling operation flow
激活函数是运行在神经网络神经元上的一种函数,可以将神经元的输入参数映射至输出端,对卷积神经网络意义重大。实际应用中,往往会通过在神经网络引入非线性因素,再通过激活函数使得卷积神经网络拟合出不同的曲线。在神经网络算法中,经常使用的激活函数有Sigmoid、Tanh和Relu 3种。其中,Relu函数具备计算简单、效率高和速度快等特点,选择为卷积神经网络的激活函数,其计算表达式为
Relu(x)=max(0,x)
(3)
Relu激活函数的图像如图4所示。
图4 Relu激活函数的图像Fig.4 The image of Relu activation function
采摘机械臂是一个串联的机械臂,由多个连杆和运动副组成,通过对运动副的连接,A连杆可以实现对B连杆的相对运动。为了实现采摘机械臂的路径规划,首先需要建立各关节的坐标关系,本文采用DH参数法搭建采摘机械臂模型。DH参数法是对机械臂的每个关节都制定一个独立的坐标系A1、A2和A3,如图5所示;然后,以每个关节点为原点,建立对应的X、Y和Z3轴坐标;最后,通过建立相关关节对应的坐标变化关系,将所有的关节联系起来,建立机械臂各关节之间的坐标关系。
图5 采摘机械臂DH参数模型Fig.5 DH parameter model of picking manipulator
DH参数法需要确定采摘机械臂的连杆长度、转角范围、偏距和关节角的参数,单连杆运动需要采用连杆长度及其转角进行表示,而连杆间的关系则采用偏距和关节角进行表示。为了描述各个连杆之间的关系,需要对连杆建立坐标系。本文采用以下原则建立坐标系:
1)Z轴确定原则。根据关节轴线和转角,根据右手定则确定Z轴的方法。
2)原点方法。若相邻轴线Z轴没有发生相交行为,则相邻轴线Z的公垂线和Z的交点为原点。
3)X轴确定原则。若相邻轴线Z不相交,Z轴与公垂线发生重合,那么方向会指向下一轴线;反之,Z轴为相邻轴线Z所形成平面的法线。
4)Y轴确定原则。根据X和Z轴方向,采用右手定则进行确定。
由DH建模得到的采摘机械臂具备腰、肩、肘、腕部俯仰、腕部旋转和腕部轴线旋转6个自由度。
为了实现对采摘机械臂的精准控制,需要对坐标之间的转换进行分析,采摘机械臂多个杆件的坐标变换表达式为
T=A1·A2…An-1·An
(4)
A矩阵表示的方程式为
(5)
其中,关节i为杆件i和i-1的连接处;θi、αi和di分别为关节变量、杆件长度和相邻杆件的偏置量。
根据DH参数模型,可以得到采摘机械臂的坐标方程式为
T=A1·A2·A3·A4·A5·A6
(6)
根据式(4)可以计算出各杆件的坐标矩阵,即
(7)
(8)
(9)
其中,Ci=cosθi,Si=sinθi,i=1,2,3,4,5,6。
利用以上采摘机械臂各关节之间的变换关系,就可以得到末端执行器的实时坐标变换关系。
采摘机械臂无碰撞运动规划主要是对机械臂的运动环境实时检测和判断,然后规划出机械臂从起点到终点的最优路径,使得机械手在移动过程中,不会产生碰撞行为。采摘机械臂运动规划分为点式和连续式两种作业模式,二者的最终目的都是控制机械臂实现路径避让和目标跟踪任务。在此,根据采摘机械臂的移动特性,基于卷积神经网络强化学习算法对其轨迹规划进行设计。
采摘机械臂的有效作业区域包括横轴、纵轴、垂直轴组成的部分,根据空间立体几何可以看成是一个三维空间坐标系,机械臂的有效作业空间是特定的,可以根据不同的作业任务发生变化。采摘机械臂的有效作业区域示意图如图6所示。
采摘机械臂路径规划过程中起点至终点的机械臂动作可以看成是将整个路线平均分割,将每个路径点看成机械臂的动作分解,而从上一个点到下一点的实现可以看成是机械臂的动作完成。点式的路径规划不仅可以优化采摘机械臂移动轨迹,还可以提高其工作效率和精确度。
图6 采摘机械臂的有效作业区域示意图Fig.6 The schematic diagram of effective working area of picking manipulator
在此,采用卷积神经网络对采摘机械臂路径规划进行拟合计算,先确定机械臂的起点和终点。假设采摘机械臂的三维空间中有n个顶点坐标,那么利用卷积神经网络进行n次拟合计算的表达式为
(10)
其中,p和k分别为顶点在空间坐标的矢量位置和参数系数。Bn(k)的表达式为
(11)
其中,d为机械臂的硬件参数。
将采摘机械臂拟合算法以参数的形式展示出来,可以方便工作人员更加直观地展示算法曲线图像,方便作业人员由低维度操控过渡到高维度操。三维空间的路径矢量曲线如图7所示。
图7 三维空间的路径矢量曲线图Fig.7 The path vector graph in three-dimensional space
在空间曲线的运动规划中,需要在采摘机械臂的作业目标中制定一系列的轨迹坐标点,作业人员可以通过对这些坐标点的定位控制,带入卷积神经网络算法的表达函数计算各个工作点,并将坐标点通过向量形式表示,确定适当的向量长度和位置作为采摘机械臂的必经点,从而控制函数运算的参数从0~1更新,实际计算出精准的坐标点位置,并通过长度较短的直线实现曲线的连接。采摘机械臂运动规划流程如图8所示。
图8 采摘机械臂运动规划流程图Fig.8 The flow chart of picking manipulator motion planning
为了验证基于卷积神经网络的采摘机械臂无碰撞运动规划算法是否符合设计要求,为了检测算法的稳定性和可靠性,采用MatLab进行了仿真试验。试验中,采摘机械臂需要从起点S运动到目标点P,实际测试结果如图9所示。
图9 实际测试结果Fig.9 The actual test results
图9中,黑色圆点S为采摘机械臂的起点,阴影圆点为目标点,阴影曲线和实线分别表示采摘机械臂运动的参考路径和实际路径。MatLab仿真结果表明:采摘机械臂在系统的驱动控制下,能够准确从起点移动到目标点,轨迹比较圆滑,且能以最优的圆弧路径避开障碍物,优化效果明显,能够满足采摘机器人作业需求。
为了实现对采摘机械臂运动轨迹的精确控制,实现采摘机器人的自主作业,将卷积神经网络技术引入到采摘机械臂无碰撞运动规划中,实现了对采摘机械臂的无碰撞控制。为了验证算法的稳定性和可靠性,采用MatLab进行了仿真试验,结果表明:采摘机械臂在系统的驱动控制下,能够准确从起点移动到目标点,轨迹比较圆滑,且能以最优的圆弧路径避开障碍物,优化效果明显,能够满足采摘机器人作业需求,证实了该算法的稳定性和可靠性。