范贤博俊,陈立家*,李珅,王晨露,王敏,王赞,刘名果
(1.河南大学 物理与电子学院,河南 开封 475004;2.开封平煤新型炭材料科技有限公司,河南 开封 475002)
智能机器人作为一种极具前景的技术,对工业和制造业的发展具有重要意义,受到国内外学者的广泛关注[1]。目前,机械臂在工业场合的应用离不开人工示教,整个过程低效且不能自动执行。一旦工作环境或硬件精度发生改变,机械臂的重新部署需要一系列的测量、分析和验证,增加了制造成本。一个有效的解决方法是在机械臂上集成一个视觉传感器[2],但视觉机械臂系统的整体精度不高。
影响视觉机械臂系统性能的因素有三点。1)视觉传感器易受外部环境因素影响,造成工作区域内目标物体的定位信息不准确。文献[3]中提出使用双轴倾角仪和激光测距仪,结合蒙特卡洛方法,分析了双目相机在视场内的任意位置和姿态的误差水平,整体定位精度小于2 mm。文献[4]中使用改进的Canny 边缘检测算法对目标定位,并通过三角测量法确定目标物体的坐标,实验结果表明,这种方法的平均定位误差为2.4%。2)机械臂运动学模型误差。文献[5]中通过用测量数据拟合空间圆以构建坐标系,提出一种基于D-H(Denavit-Hartenberg)框架的定轴不变原则,通过空间几何约束关系提高机械臂的绝对定位精度。文献[6]中提出一种基于双神经网络近似结构的动态编程算法以实现动态连续时间非线性系统的自适应优化控制。文献[7]中将遗传算法用于工业机械手的参数识别,避免了传统运动学雅可比矩阵的逆运算,使机械手末端的精度提高了39.29%。3)手眼标定误差。传统方法通过三维空间的几何约束配合校准算法求解手眼变换矩阵,以提高外参矩阵精度[8-9]。鉴于传统手眼变换矩阵求解的局限性和不稳定性,文献[10]中采用神经网络训练的方法对手眼标定模型进行了补偿。还有一种基于混合视觉检测的机器人手眼关系标定方法,使用三个激光传感器配合单目相机进行标定[11]。
通常视觉机械臂需要分开标定以上三个模型,再集成到整个系统。文献[12]的研究表明,视觉机械臂的相机和机械臂是两个完全独立的系统,将单个模块校准并集成到系统中会引入新的误差,造成误差传播,因此提出一种用于手眼串联机器人系统的全自动校准方法,同时校准了机器人本体、手眼矩阵。该方法只需要一面镜子和一些由机械臂末端的相机拍摄的棋盘图案实现自动校准,而不需要借助任何额外的昂贵的测量仪器。文献[13]中提出了一个手眼标定框架,使用标准的棋盘校准网格,可对由机器人和可变数量的三维摄像机组成的系统进行自动手眼标定。文献[14]中提出了一种基于视觉的机器人自我校准方法,利用安装在机器人末端执行器上的视觉传感器评估机器人的运动参数误差。该方法在线结构激光传感器的结构模型中定义了一个机器人工具中心点(Tool Center Point,TCP),与机器人工作空间中固定的参考点对齐。基于固定点的约束,使用迭代算法确定运动学参数误差和TCP 位置误差。文献[15]中将系统误差因素融入Baxter 机械臂识别算法,采用动态规划算法使运动学参数在有限时间内收敛到真实值,提高了计算效率;此外,将其扩展到视觉机械臂系统,模拟具有一定强度高斯噪声的相机定位误差,验证了辨识算法对各种误差的适应性。
通常现有的研究需要一个或多个设备(如标定板、激光跟踪仪或高精度陀螺仪)进行模型测量和校准。然而,系统越复杂,引入的误差就越大。本文提出了一种鲁棒的视觉机械臂联合建模优化方法,可以在不使用额外测量设备的情况下减少误差。通过一种具有分层优化机制的自适应多精英引导复合差分进化算法(Adaptive Multiple-Elites-guided Composite Differential Evolution algorithm with shift mechanism and Layered Optimization mechanism,AMECoDEs-LO)对系统进行整体建模,避免了单独标定子系统在集成到整个系统时引入额外的误差,校准系统自动且高效;同时,系统的收敛速度极快,可以完成视觉机械臂的快速部署。实验结果表明,本文方法可避免系统中其他测量设备造成的误差,降低部署成本;与六种主流算法相比,本文算法提高了整个系统的收敛速度和精度。本文方法不仅可以完成正常机械臂的自动标定,还可以对有缺陷部件的机械臂进行有效建模,并将缺陷部件的扰动限制在合理范围内;同时,在高斯白噪声扰动实验中验证了方法的鲁棒性。
视觉机械臂系统整体优化的目的是提高抓取精度,因此需要从抓取流程中分析误差来源,抓取流程如图1 所示。
图1 视觉机械臂系统抓取流程Fig.1 Grab process of visual manipulator system
由图1 可知,首先,相机获取目标物体位置信息,通过手眼转换矩阵获得对应的世界坐标,然后通过机械臂运动学获得关节转角,最后控制机械臂完成抓取。在抓取过程中,误差存在于系统的各个部分,误差来源分为两类:第一类是由外部环境引起的误差,包括光照、温度和湿度;第二类是系统内部误差,包括手眼标定误差、零件加工测量误差、装配间隙误差、伺服电机磨损等。
视觉机械臂联合建模优化方法的硬件安装方式采用手眼分离式,系统整体优化方案如图2 所示,分为数据采集和模型优化。
图2 系统整体优化策略Fig.2 Overall system optimization strategy
具体步骤如下:首先使用双目相机辅助定位,完成数据采集;然后建立联合系统校准模型,模型由伺服电机补偿模型、机械臂运动学模型和手眼标定外参模型组成;最后使用AMECoDEs-LO 以参数辨识的手段将影响视觉机械臂抓取的误差因素补偿到模型参数中。具体优化方案如下。
步骤1 在机械臂运动空间内随机生成1 组伺服电机转角,通过串口控制机械臂运动。
步骤2 机械臂运动完成后延时2 s,等待双目相机定位机械臂夹具中心点位置(即机械臂末端位置)。
步骤3 重复执行N次步骤1、2(视精度要求而定),最终保存N组伺服电机转角和对应的机械臂末端相机坐标作为参数辨识系统的输入。
步骤4 建立机械臂伺服电机补偿、运动学、手眼标定外参模型作为辨识系统的求解目标,配置优化算法参数。
步骤5 使用AMECoDEs-LO 对模型参数进行迭代更新,满足精度收敛条件或到达给定迭代次数时,终止算法,完成联合系统模型的求解。
通过运动学模型可以建立机械臂各连杆之间的关系,D-H 法是一种常用的建模方法。如图3 所示,相邻连杆由伺服电机相连,每个伺服电机的位置可以建立一个坐标系。
图3 关节坐标系Fig.3 Joint coordinate system
相邻坐标系的转换通过包含4 种参数的齐次变换矩阵实现,相邻连杆之间的转换关系为:
最终关系矩阵的形式为:
其中:第1~3 列表示末端坐标系的姿态;第4 列表示机械臂末端在基座坐标系中的位置;最后一行是为了满足齐次变换矩阵的需要而构建的。机械臂的正向运动学可以表示为:
根据式(5),当给定一组关节旋转角度时,能相应地得到机械臂末端的位置。
相机和世界坐标系之间的转换通常是多次拍摄同一标定板,然后求解AX=XB以确定手眼转换矩阵X。在本文方法的系统模型中,无需使用标定板,而是通过参数化旋转和平移矩阵建立空间约束。
两个坐标系之间的旋转关系可以表示为:
其中:λ、β、γ分别是世界坐标系中的点Xworld(Px,Py,Pz)围绕x、y和z轴旋转的角度。
两个坐标系之间的平移关系表示为:
其中:dx、dy、dz分别代表世界坐标系原点沿x、y、z轴平移的距离。对于同一个点,世界坐标系中的点Xworld(Px,Py,Pz)和相机坐标系中的点Xcam(Cx,Cy,Cz)之间的对应关系如下:
伺服电机在机械臂高负载运转的过程中容易造成精度下降,进而导致伺服电机的名义转角和实际转角存在差异。一般情况下,可以通过曲线拟合理论进行伺服电机的前馈补偿,以降低两者之间的误差。因此需要在求解机械臂运动学模型前获得伺服电机的实际旋转角度;然而,额外的测量设备(陀螺仪等)容易向系统中引入测量误差。为此,设计了伺服电机软补偿模型。假设控制第i个伺服电机转动到实际到达的角度为为了减小两者的差值,对第i个伺服电机建立一个参数化的补偿函数ψi,优化ψi使是一个包含m0、m1、m2的高斯函数,如式(9)所示:
综合式(5)、(8)、(9),系统的输入和输出可以表示为:
具有转移机制的多精英引导复合差分进化算法(Adaptive Multiple-Elites-guided Composite Differential Evolution algorithm with a shift mechanism,AMECoDEs)[16]是在差分进化(Differential Evolution,DE)算法的基础上采用自适应参数调整方法实现的。在AMECoDEs 中,每个个体在两个精英个体的引导下,产生两种候选方案,有效地增加了个体被局部最优解误导的容错率。同时,为了平衡算法的收敛性和多样性,引入了转移机制(Shift Mechanism,SM),有效地防止算法早期收敛和停滞。
主成分分析(Principal Components Analysis,PCA)技术采用降维的思想,可以将多指标问题转化为少数综合指标的优化问题。在高维优化问题中,每一个维度分量都包含着一种数据信息,经PCA 技术处理后,数据信息损失较少的成分称为主成分。主成分正交、不相关,由原始成分衍生。通常使用贡献度衡量主成分保留数据集所含信息的程度。主成分的贡献度降序排列,主成分贡献度的总和称为累积贡献度。当累积贡献度大于设定的阈值时,这些计算出的贡献度相对应的主成分可以近似代表整个数据集的信息量。
进化算法本质上是一类随机搜索的算法,它在探索解空间的过程中具有一定的盲目性[17]。为了保证种群多样性,提高算法的搜索效率和收敛精度,本文采用PCA 方法挖掘种群中具有代表性的隐藏信息,在分层优化机制的指导下,挖掘出更具代表性的维度分量进行动态优化。本文定义支配度概念,表示每个原始分量所蕴含数据信息的重要程度。种群在解空间中的分布显示了当前最优解的搜索情况。种群的历史数据包含解空间的特征信息。支配度较大的维度分量代表了更优的搜索方向和更快的收敛趋势。
AMECoDEs-LO 中分层优化策略的设计旨在动态地优化支配度较大的维度分量。支配度较大的维度分量构成的集合称为支配集,其他维度分量构成非支配集。
假设种群中的每个个体都包含D个分量,用向量N表示,样本数据集由100 代个体组成。对所有个体的D维分量使用PCA 方法,得到主成分Yi和特征值Ei。主成分的贡献度Ci和相应的特征向量ui可分别表示为式(11)、(12):
其中:uji表示第j个维度分量在第i个主成分中的权重。主成分与各维度分量之间的关系可以表示为:
贡献度Ci表示Yi承载的数据信息量,将贡献度降序排列,并计算出累积贡献度:
根据式(14)选择m个主成分,筛选条件为Zi>Tc,0<Tc<1。这些主成分可以代表当前样本数据集Tc倍以上的信息。为了方便地筛选出最重要的维度分量,将主成分的特征向量和贡献度重新组合成一个矩阵V:
其中:Ci>Ci+1(i=1,2,…,m),每个维度分量对主成分的贡献不同。维度分量的支配度gi计算如下:
其中:支配度gi代表第i个维度分量对整个数据集的贡献,支配度大于Td,0 <Td<1 的所有维度分量构成支配集P,其他维度分量构成非支配集Q。
分层优化机制采用降维处理的思想,在全局收敛的过程中,将所有的维度分量动态地划分为P和Q两个集合。P和Q中的所有维度分量分布在个体编码中。个体以实数编码,在本文的联合系统模型中包含伺服电机补偿参数、D-H 参数和手眼标定外参三个部分。P和Q各分量在个体中分布的示意图如图4 所示。
图4 AMECoDEs-LO个体编码结构Fig.4 Individual coding structure of AMECoDEs-LO
前100 代种群中的个体组成数据集,AMECoDEs-LO 优先优化支配集中的成分。定义三个状态Ss、So、Sn分别对应支配集筛选、优化和回归到正常的AMECoDEs 优化。Ss状态下采用PCA 进行P集合中成分的筛选;So状态下对P集合中的成分进行动态优化,优化过程中Q集合中的成分固定不变;Sn状态下,开放Q中所有成分,进行整体优化。算法的优化过程就是这三种状态之间的切换过程。Ss和So在合适的条件下不断切换,同时,数据集不断被更新,支配集和非支配集随着优化过程不断变化。当达到稳定状态时,优化状态将被更新为Sn,释放Q中的所有成分,回到正常的AMECoDEs 优化过程。定义趋平率Δf和切换率Δs控制三种状态的切换时机,其中:Δf代表当前和上一代种群中最优个体的适应度函数值的比值;Δs指20 代内Ss和So状态之间的切换频率。
图5 显示了三种优化状态之间切换的触发条件。在So状态下,如果Δf≤ε,则意味着支配集中的成分有被优化的空间,状态保持不变。Δf≥ε,当Δs>η时,这意味着Ss和So两种状态频繁切换,当前的优化过程已经得到了最终结果,状态更新为Sn;当Δs≤η时,意味着优化的潜力仍然存在,状态更新为Ss。一般来说,当有优化潜力时,状态Ss和So有序地切换。当优化过程陷入瓶颈时,状态被更新为Sn,开放所有参数,回到AMECoDEs 的算法优化机制。
图5 三种优化状态的切换Fig.5 Switching between three optimization states
分层优化机制对算法收敛的加速作用体现在P中的成分很大程度上代表了当前数据集中的信息。换句话说,它可以尽可能地迎合解空间中适应度函数值的下降趋势。
适应度函数(Fitness Function,FF)用于评价种群中个体的优劣程度。在本文参数辨识系统中,AMECoDEs-LO 种群设置为100,每个种群包含100 个个体,每个个体代表一种候选模型方案。适应度函数的设计如下:
其中:适应度函数表示两点之间的欧氏距离;(Cx,Cy,Cz)是采集的机械臂末端相机坐标;(X,Y,Z)是采集的机械臂伺服电机转角在当前模型下通过式(10)计算的坐标。Fitness越小,则机械臂末端实际坐标与模型预测坐标的误差越小,系统精度越高。算法的更新迭代使Fitness不断降低。
AMECoDEs-LO 的流程见图6,具体步骤如下。
图6 AMECoDEs-LO流程Fig.6 Flowchart of AMECoDEs-LO
步骤1 初始化种群大小NP、包含所有维度成分的非支配集Q,令支配集P为空集,设置趋平率阈值ε和切换率阈值η,分层优化机制状态Ss。
步骤2当Fitness满足收敛条件或达到给定的迭代次数时,输出全局最优解,算法终止;否则,立即执行AMECoDEs的多精英引导的突变策略和SM 机制。
步骤3 判断三种优化状态Ss,So和Sn,对应跳转步骤4、步骤5 和步骤6。
步骤4 使用PCA 方法计算整个数据集中每个维度参数的支配度。如果P中的参数数量少于总参数数量,则将Q中支配度高于阈值的参数从Q中转移到P中,同时状态更新为So并启动SM 机制;在其他情况下,直接启动SM 机制。跳转步骤2。
步骤5 固定Q中所有参数的值,进入SM 机制,优化P中的成分,跳转步骤2。
步骤6 释放P和Q中的所有参数,进入SM 机制。跳转步骤2。
AMECoDEs-LO 种群数量为NP,参数空间维度为D。在优化的过程中对种群中排名靠前的个体排序,该过程时间复杂度为O((NP) · log(NP));判断优化状态,这一过程时间复杂度远小于原算法转移机制时间复杂度O(NP·D);对种群中所有维度进行主成分分析并排序,时间复杂度为O(D2);当分层优化机制陷入瓶颈时,开放所有参数进行整体优化操作的时 间复杂 度小于O(NP·D)。综上所 述,当log(NP) ≪D时,算法每一代计算的时间复杂度为O(NP·D)。
机械臂的主体由连杆和伺服电机组成,工业机械臂不宜拆装。为探究本文方法,在3D 打印机械臂上进行实验,视觉机械臂系统由intel D435 双目相机、相机支架和机械臂组成。
数据采集阶段,在机械臂伺服电机转动有效范围内随机生成100 组角度。依次控制机械臂运动,运动完成后系统休眠1 s,等待双目相机采集机械臂末端位置。采集过程中相机分辨率设置为420 像素×240 像素,机械臂运动空间内无障碍物,得到100 组(角度,位置)样本数据,用于校准系统模型。由于双目相机产生的深度信息直接影响目标物体的相机坐标,本文使用Intel 官方标定方法对双目相机进行内参标定,2 m 内定位误差在2%以内[18]。数据采集阶段使用的深度范围是400~600 mm,定位精度约为2.5 mm。
联合建模优化方法通过同时调整系统的模型参数以提高系统整体精度。AMECoDEs-LO 为优化不同构型的机器人系统参数提供了可能性,可变的个体编码结构可以方便地表示各种系统参数。本文在正常机械臂和受损机械臂两种硬件配置下探究不同个体配置对系统精度的影响。5 种个体配置如表1 所示。其中:ψ表示伺服电机补偿模型的参数矩阵;T表示手眼标定外参矩阵;Φ表示D-H 模型参数矩阵。对于T的前馈测量,通过连续拍摄机械臂手持标定板的照片,使用张正友标定法[19]确定。ψ的前馈测量通过高精度陀螺仪采集伺服电机转动角度,使用拟合曲线的方法实现。算法在运行过程中对不同个体配置的参数进行迭代优化,产生的Fitness值即为整个视觉机械臂系统的精度。
表1 5种个体配置Tab.1 Five individual configurations
为了有效地评估不同个体配置对系统精度的影响,优化算法的参数设置为:趋平率0.90、切换率0.5、种群规模100,收敛停滞的条件为达到给定的迭代次数或Fitness在1 000 代保持不变。评价算法收敛性能的三个指标为:1)算法收敛时的迭代次数;2)算法收敛所用时间;3)系统Fitness。为公平起见,同种硬件配置的输入保持一致。
4.1.1 正常机械臂
一般情况下,传统校准方法不需要对伺服电机系统进行补偿。因此,为了验证本文方法,选用Type 0、Type 3、Type 4这3 种个体配置。
传统方法的个体编码结构是Type 0。首先,需要前馈测量手眼外参矩阵T,将其预先加入校准算法,通过校准参数矩阵Φ提高整个视觉机械臂系统的精度。Type 3、Type 4 没有额外的测量仪器及人工参与,不单独处理各子系统,不同的是Type 4 配置额外增添了参数矩阵ψ的校准。
图7 显示了3 种个体配置下系统的收敛情况。从算法收敛结果可以看出,相较于Type 0,Type 3 和Type 4的Fitness分别减小了0.37 mm、0.36 mm,两者都有效地降低了前馈校准手段产生的误差影响。
图7 正常机械臂环境下的3种个体配置的收敛情况Fig.7 Convergence of three individual configurations under normal manipulator environment
相较于Type 3,Type 4 增加了伺服电机补偿模型,对算法收敛时间造成的影响如表2 所示。结果表明,随着待定参数的增加,系统的收敛时间变长,然而对于视觉机械臂系统校准而言,系统平均精度这一评价指标的重要性远大于收敛速度,两种配置下的系统整体精度仅相差约0.01 mm。
表2 正常机械臂环境下的个体配置情况Tab.2 Individual configuration under normal manipulator environment
4.1.2 受损机械臂
为全面验证本文方法的有效性,在机械臂存在连杆受损和伺服电机受损的情况下进行实验。
Type 1 是传统标定方法,即分别标定各子系统再整合至整个系统,系统中有两种测量手段的参与。首先对ψ和T进行前馈测量;其次,将以上两种前馈子系统参数预先加入整个标定算法,通过校准参数矩阵Φ提高系统精度。与Type 1不同,Type 2 只有参数矩阵ψ的前馈测量,没有标定板的参与。将参数矩阵ψ预先加入标定算法,算法对Φ和T同时进行校准。Type 3、Type 4 两种个体配置同正常机械臂校准实验相同,不作额外的处理。
图8 显示了4 种不同个体配置的收敛情况。Type 1、Type 2、Type 4 这3 种配置的最终收敛情况表明人工干预的程度越低,Fitness越小。对于存在伺服电机受损情况的机械臂,增添伺服电机补偿模块的Type 4 系统相较于Type 3,Fitness明显降低,由1.459 mm 降低至0.755 mm;相较于传统方法(Type 0),Fitness降低了60%。
图8 受损机械臂环境下的4种个体配置的收敛情况Fig.8 Convergence of four individual configurations under broken manipulator environment
在大多数情况下,算法在停止收敛之前均可达到一个稳定的状态(收敛),当使用Type 4 系统进行实验时,1 100 代之后误差已经降低至1 mm 以下。算法的运行时长如表3 所示,1 100 代之后,算法对待优化参数进行持续微调,直到7 835 代完成收敛,历时149 s。
表3 受损机械臂环境下的个体配置情况Tab.3 Individual configurations under broken manipulator environment
AMECoDEs-LO 中固定的超参数包括种群规模、趋平率阈值、切换率阈值。本节对不同超参数进行测试,并确定最合适的参数取值。参数辨识系统的数据输入为受损的视觉机械臂系统采集的数据。
4.2.1 趋平率阈值和切换率阈值
趋平率阈值和切换率阈值的不同组合控制算法进入PCA 优化机制的时机。以Type 4 作为测试对象,种群包含100 个个体,测试了不同趋平率阈值和切换率阈值组合对算法收敛情况的影响。
表4 结果显示,趋平率阈值的选择至关重要,必须保持在0.85 以上才能获得较好的结果。趋平率的阈值越高,算法收敛的过程中进入PCA 的机会越少,收敛速度越慢;当趋平率阈值小于0.85 时,优化算法容易陷入局部最优解。趋平率阈值在合理范围内时,切换率阈值适当增大可以提高收敛速度。如果对算法运行的时间要求较低,建议趋平率阈值为0.95,切换率阈值为0.50。
表4 两种参数的不同组合情况Tab.4 Different combinations of two parameters
4.2.2 不同种群规模的比较
种群规模NP作为关键参数之一,指种群中个体的数量,主要反映种群信息量的大小。NP越大,种群包含的信息越丰富,但是带来的后果就是计算量变大,不利于求解;反之,种群多样性受到限制,不利于算法求得全局最优解,甚至会导致搜索停滞,NP应该取一个合适的值。
实验针对视觉机械臂联合建模优化问题,对不同种群下算法的性能进行了测试。测试结果如图9 所示,图中的收敛曲线显示了当种群规模分别设置为50、75、100、125、150 时算法的收敛情况。结果表明,当NP=150 时,AMECoDEs-LO的Fitness值最低,意味着算法的性能接近最优。
图9 不同种群规模下适应度的比较Fig.9 Comparison of fitness in populations with different scales
4.2.3 七种算法系统收敛对比和验证
将AMECoDEs-LO 与遗传算法(Genetic Algorithm,GA)、粒子群算法(Particle Swarm Optimization,PSO)、差分(Differential Evolution,DE)算法、种群集成差分算法IMPEDE(Improved Multi-Population Ensemble Differential Evolution)[20]、基于亲本选择框架的差分算法DESPS(improving Differential Evolution with a Successful-Parent-Selecting framework)[21]、AMECoDEs 进行对比,对受损机械臂整体进行系统精度标定。算法的超参数均为最优,除趋平率、切换率阈值不一致外,其他参数的初始值保持一致。收敛情况如图10(a)所示,AMECoDEs-LO 的收敛速度和精度均优于其他算法。
AMECoDEs-LO 在AMECoDEs 的框架基础上增加PCA 技术实现优化,同时兼具原算法针对收敛过程中局部最优问题的转移机制,相较于AMECoDEs,AMECoDEs-LO 的收敛速度和Fitness分别提升和降低了21.2%和5.4%,整体收敛曲线呈现持续下降的趋势,且下降速度较快,表明本文算法不易陷入局部最优,其中的PCA 技术对算法的收敛有促进的作用。分层优化机制的三种优化状态的切换情况如图10(b)所示,在4 093 代之前经过7次Ss和So之间的有效切换,Fitness下降至0.775 mm;在之后的20 代频繁切换10 次,切换率达到设定的阈值0.5,分层优化机制控制优化状态切换到Sn,同时开放所有参数并回归原AMECoDEs 算法机制继续优化,最终Fitness进一步下降至0.755 mm。
图10 AMECoDEs-LO的性能Fig.10 Performance of AMECoDEs-LO
相较于传统的系统分离校准方法(Type 1),本文方法的Fitness降低了60%。使用校准前后机械臂末端的空间距离误差作为评价标准,从采集点随机挑选20 组数据对两种标定方式进行验证。如图11(a)所示,验证结果表明了在当前定位设备下,本文方法的Fitness小于子系统分离标定再整合的方法。由于本文模型的误差根据样本数据计算,因此Fitness可能只对样本点有效。为此,额外采集20 组校验点进行验证,图11(b)显示了校验点的Fitness为0.749 mm,和本文方法的Fitness极为接近,验证了方法的有效性。
图11 联合系统和传统方法精度验证对比Fig.11 Accuracy verification comparison between joint system and traditional method
实验中使用的伺服电机型号为TBS-K20,标准状态下的空载精度为0.240°。不同于行星减速器等降低转速,提升扭矩,匹配惯量的硬件解决方案,本文所提出的伺服电机软补偿方案成本低,补偿效果良好。针对受损的2 号伺服电机,联合系统模型使用了三种软补偿方案,函数形式为:
性能评价标准为名义转动角度和实际转动角度之差的绝对值。实验中使用陀螺仪测量2 号伺服电机的角度,陀螺仪的静态精度为0.050°,动态精度为0.100°。测试结果如图12 所示,数据显示该伺服电机的平均精度为4.212°,最低误差1.584°,最高误差5.562°。受损的伺服电机的精度在三种软补偿方案的作用下均大幅提高。
图12 伺服电机软补偿的性能Fig.12 Performance of servo motor soft compensation
计算补偿后数据的残差平方和(Residual Sum of Squares,RSS)、平均绝对误差(Mean Absolute Error,MAE)、均方根误差(Root Mean Squared Error,RMSE)、标准差(Standard Deviation,SD)。表5 表明本文使用f(3x)函数的各项指标均为最优,其中平均绝对误差达到了0.265°,和正常伺服电机空载精度仅差0.025°,最大误差降低至0.830°。
表5 三种方案在不同指标上的结果 单位:(°)Tab.5 Results of three schemes on different indexes unit:(°)
在机械臂连杆扭曲、伺服电机精度受损的情况下,本文方法提高了视觉机械臂系统的整体精度,其中伺服电机模型这种软补偿的方式大幅提高了受损伺服电机的精度。为验证伺服电机补偿模型不影响正常伺服电机的性能,采用控制单一变量思想,保持连杆扭曲,优化算法的参数设置保持一致。R1 机械臂的2 号伺服电机受损,R2 机械臂的2 号伺服电机则是正常的。
使用Matalb 的Robotic Toolbox 工具箱制作数据采集区域,如图13 所示。在机械臂的运动空间内以嵌套的方式划分4 组采集区域,机械臂R1、R2 由内而外地从4 个区域分别采集25、50、75、100 组数据,每组数据包含机械臂转角和末端相机坐标。
图13 四种不同的数据采集区域Fig.13 Four different data collection areas
使用7 种算法的参数辨识结果和收敛情况如表6 所示,相较于其他6 种进化算法,AMECoDEs-LO 收敛更快,性能更稳定。在机械臂整个运动空间内随机选择20 个校验点进行验证。使用AMECoDEs-LO 进行参数辨识的结果如表7 所示,在同一采集区域内,R1 和R2 两种机械臂的系统平均误差最大偏差为0.05 mm,校验点的平均误差最大偏差为0.03 mm,两种系统的整体精度极为接近,说明有无伺服电机受损对系统精度影响不大,验证了伺服电机软补偿模型的通用性。同时,校验点在机械臂整个运动空间内随机选取,对于采集区域较小的数据样本,经过参数辨识后系统平均误差和校验点平均误差相差较大;直到采集区域覆盖整个机械臂的运动空间,两者的差距逐渐减小到极低的程度。该现象表明根据机械臂应用的不同,不同工作空间内校准的精度不同,但在每一种工作区域内,视觉机械臂整体的系统精度都得到了提高。
表6 四种采集区域下两种机械臂在七种算法下的Fitness比较Tab.6 Fitness comparison of two manipulators under seven algorithms in four collection areas
表7 系统的收敛和校验结果 单位:mmTab.7 Convergence and verification results of system unit:mm
本文方法中,参数辨识系统需要获得机械臂关节转角和对应的机械臂末端相机坐标进行系统模型的求解,在当前型号相机存在约2.5 mm 的定位误差下提高了系统精度。在工业场合应用中,相机受环境噪声影响引起图像特征匹配不稳定,容易对系统产生更大程度的干扰。为了进一步验证本文方法的有效性,在采集的机械臂末端相机坐标额外加入一定强度的高斯白噪声,模拟工业环境进行鲁棒性测试。干扰项的产生定义为d(t)=σw(t),其中σ表示噪声的强度,w(t)产生1 dBW 的高斯白噪声[14]。
实验中将3 种不同强度的噪声分别施加在100 组采集点的x、y、z轴分量上,其他设置保持不变。如图14 所示,当噪声强度 为0.5、1、1.5 时采集点的Fitness为0.848 mm、1.653 mm、2.491 mm。表8 显示了在不同强度噪声下使用本文方法优化前后,联合系统模型在不同分量上的Fitness。优化前的系统模型选用4.4 节的R1 型机械臂(未加入噪声)的优化结果。结果表明,随着噪声强度的不断加大,联合系统模型的Fitness并没有线性增大,仅有小幅度增长。在不同强度的噪声干扰下,Fitness相较未加入噪声的0.755 mm,分别增大了0.052 mm、0.068 mm、0.085 mm,坐标轴各分量误差相对较高。AMECoDEs-LO 的收敛情况如图15 所示。AMECoDEs-LO 在3 种不同强度噪声的干扰下完成收敛时的迭代次数相较于未加入噪声的7 835 代,分别增长到7 965、8 320、9 953 代,表明噪声的增强引起系统辨识难度的增大,但系统模型依然保持着较高的精度,验证了系统的鲁棒性。
图14 三种不同强度的高斯白噪声Fig.14 Three Gaussian white noise with different intensities
表8 加入不同强度噪声后系统模型的Fitness 单位:mmTab.8 Fitness of system model after adding noise with different intensities unit:mm
图15 不同强度噪声下AMECoDEs-LO的收敛情况Fig.15 Convergence of AMECoDEs-LO under noise with different intensities
本文提出了一种鲁棒的视觉机械臂联合建模优化方法AMECoDEs-LO,从系统整体考虑,避免了传统方法对各子系统分开标定再整合至整个系统所造成的误差传播;联合系统中的伺服电机软补偿模块有效地补偿了受损的伺服电机精度,并且这种补偿方式不需要硬件成本,通用性也得到了验证;在不同工作空间下的参数辨识结果显示,相较于六种对比算法,AMECoDEs-LO 在视觉机械臂模型校准问题上性能良好;鲁棒性测试结果表明了本文方法可以将视觉传感器受环境噪声因素造成定位精度不准确的影响降至最低。
综上所述,本文方法在视觉机械臂系统因连杆存在形变、伺服电机精度受损、视觉传感器定位不准确等问题的情况下解决了整个系统的校准问题,整个校准过程全自动且高效;改进的AMECoDEs-LO 收敛速度较快,不容易陷入局部最优解,可以完成视觉机械臂的快速部署。对工业场景下机械臂自主建模,摆脱传统固定示教的工作模式有一定的借鉴意义,基于本文算法,未来拟研究多态感知与柔性抓取问题。