基于改进的人工蜂群算法的机械臂动力学模型辨识方法技术

技术编号:19277473 阅读:30 留言:0更新日期:2018-10-30 18:01
基于改进的人工蜂群算法的机械臂动力学模型辨识方法,首先利用改进的牛顿‑欧拉方法,建立考虑关节摩擦的机械臂线性动力学模型,然后引入改进的人工蜂群算法,设计了动力学参数的辨识算法,最后以UR工业机器人为实验对象,通过设计激励轨迹,激励工业机器人关节运动,并对关节运动数据进行采样,对力矩进行滤波后,使用改进的人工蜂群算法进行参数辨识,实现UR工业机器人的动力学参数估计,并根据力矩预测精度验证动力学模型。实验证明了本发明专利技术所辨识的工业机器人动力学模型的准确性和有效性。

Dynamic model identification method of manipulator based on improved artificial bee colony algorithm

Based on the improved artificial bee colony algorithm, the linear dynamic model of the manipulator considering joint friction is established by using the improved Newton Euler method. Then the improved artificial bee colony algorithm is introduced to design the identification algorithm of dynamic parameters. Finally, the UR industrial robot is used as an experiment. The object, through designing the excitation trajectory, excites the joint motion of the industrial robot, sampled the joint motion data, filtered the torque, identified the parameters using the improved artificial bee colony algorithm, and estimated the dynamic parameters of the UR industrial robot, and validated the dynamic model according to the torque prediction accuracy. The experiment proves the accuracy and effectiveness of the industrial robot dynamic model identified by the invention.

【技术实现步骤摘要】
基于改进的人工蜂群算法的机械臂动力学模型辨识方法
本专利技术涉及一种机器人机械臂动力学模型辨识方法。
技术介绍
近年来,工业机器人已被广泛应用于工业生产的各个领域,特别是在造船,汽车和航空制造业。随着计算机计算能力的不断提升和计算成本的下降,应用于机器人的先进控制技术变得更加可行。然而,机械臂动力学模型中包含一些未知的参数,许多机器人控制方法依赖于这些未知的值,尤其是在高速运动情况下。因此动力学参数辨识方法对基于模型的控制方法的发展具有重要的意义。目前,一个标准的机械臂动力学辨识过程包括动力学建模、激励轨迹设计、数据采集、参数辨识和模型验证,但其中针对机械臂动力学参数辨识的研究较少。张铁、覃彬彬提出了一种六自由度机器人末端动力学参数辨识装置及方法(张铁.一种六自由度机器人末端负载动力学参数辨识装置及方法:中国,106346513[P].2017-01-25),公开了一种六自由度机器人末端负载动力学参数辨识方法,其专利技术采用了优化的激励轨迹进行数据采样,以拉格朗日方程建立动力学模型,采用带权最小二乘法求解辨识参数,但是其实时性较差,不适宜处理大规模的参数辨识问题;Gautier和Poignet通过加权最小二乘法从实验数据中得出了SCARA机器人的动力学模型(GautierM,PoignetP.ExtendedKalmanfilteringandweightedleastsquaresdynamicidentificationofrobot.ControlEngineeringPractice,2001,9(12):1361-1372),但是其在处理复杂的参数辨识问题时不够精确实时。Behzad等采用分子阶子空间方法在仿真中辨识了机器人模型(BredereckH,M.Robotidentificationusingfractionalsubspacemethod.In:Proceedingofthe2ndInternationalConferenceonSingapore,2011:1193-1199),但是其结构复杂,参数辨识效果并不是很理想。最近,一些人工智能算法被应用于机器人参数辨识领域,MingLi等人用BP神经网络对机器人参数进行了辨识(MingLi,HuapengWu.DynamicmodelidentificationmethodofmanipulatorsforinsideDEMOengineering.FusionEngineeringandDesign,2017:0920-3796)。然而,BP神经网络在处理高维度数据的情况下,容易陷入局部最优。
技术实现思路
本专利技术要克服现有技术的上述缺点,利用人工蜂群优化算法易于实现,同时在处理复杂和大规模的参数辨识问题时不易陷入局部最优的优点,提出了一种基于改进的人工蜂群优化(ArtificialBeeColony,ABC)算法的工业机器人动力学参数辨识方法。本专利技术具体流程如下:首先利用改进的牛顿-欧拉方法,建立考虑关节摩擦的机械臂线性动力学模型,然后引入改进的ABC算法,建立了基于改进的ABC算法的估计未知动力学参数的算法,最后以UR5工业机器人为实验对象,通过设计激励轨迹,激励工业机器人关节运动,并在运动过程中对关节力矩进行采样,引入滤波算法来改善测量力矩的有效性,实现UR工业机器人的动力学参数估计,并根据力矩预测精度验证动力学模型。该专利技术大大提高了所辨识的工业机器人动力学模型的准确性和有效性,同时能够作为工业机器人动力学模型参数估计的一种有效的方法,对基于机器人模型的控制方法的研究具有重要的意义。本专利技术的6自由度机械臂动力学模型辨识方法,具体步骤如下:步骤1:建立机器人机械臂的动力学模型方程。首先,对于一个6自由度机械臂,通过牛顿-欧拉方法推导得出其动力学模型:其中,τ=(τ1,τ2,...,τn)为机械臂的驱动力矩向量,n表示机械臂关节自由度个数,τi表示第i个关节的驱动力矩,q,是三组n×1维向量,分别表示关节位置,关节速度和关节加速度,D(q)是一个与位形相关的n×n的矩阵,被称为惯性矩阵,对于任何机械臂来讲,它的惯性矩阵是对称且正定的,为科氏力及离心力项,g(q)为重力项,只取决于机器人的位姿,是静态量。然后,根据改进的牛顿-欧拉动力学模型,其动力学模型可以被改写成其中Φ是一个n×10n的观测矩阵,只跟机械臂关节运动数据有关,p是机械臂惯性参数向量,p=[p1,p2,...,pn]T,pi是连杆i的惯性参数向量:pi=[Ixxi,Ixyi,Ixzi,Iyyi,Iyzi,Izzi,mrxi,mryi,mrzi,mi]T,其中Ixxi,Ixyi,Ixzi,Iyyi,Iyzi,Izzi为连杆i惯性矩阵Ici的6个参数,mrxi,mryi,mrzi表示连杆i的一阶质量矩,mi是连杆i的质量;pi的前9个量均包含在D(q)和项内,mi包含在g(q)中。步骤2:确定采用的动力学模型。摩擦模型采用其中τf为摩擦力矩,fc为库伦摩擦系数,fv为粘性摩擦系数,sign(·)为符号函数,满足考虑摩擦的动力学参数可写成向量的形式:pdyn=[pdyn1,pdyn2,...,pdynn]T,其中pdyni=[Ixxi,Ixyi,Ixzi,Iyyi,Iyzi,Izzi,mrxi,mryi,mrzi,mi,fci,fvi],i=1,...,n,pdyn就是动力学参数辨识的辨识对象,每个关节均包含10个机械臂惯性参数及2个摩擦参数;根据修改后的牛顿-欧拉参数,改进的机械臂的动力学方程可以改写成动力学参数pdyn的线性函数:其中Φdyn是一个n×12n的观测矩阵,从而可以确定所辨识的动力学参数。但事实上观测矩阵Φdyn一般不是满秩的,因为不是所有的动力学参数都对动力学模型有影响。步骤3:设计改进的人工蜂群算法(ArtificialBeeColony)。其实现的详细过程如下:人工蜂群算法的实现依靠雇佣蜂,观察蜂,侦察蜂,蜜源四个要素构成,首先需要对蜜蜂群体和蜜源进行初始化,设种群数量为SP,观察蜂与雇佣蜂在种群中各占一半,数量均为SP/2,蜜源数量NP=SP/2,根据所需辨识的参数数量设置解空间纬度D,依据公式sid=Ld+rand(0,1)(Ud-Ld)和vid=Ld+rand(0,1)(Ud-Ld)在解空间中分别对观察峰和蜜源进行位置的初始化,其中sid表示第i个蜜源,vid表示第i个观察蜂,Ud和Ld分别代表搜索空间的上界和下界,蜜源与观察蜂一一对应。在初始化后,首先对初始化的蜜源进行适应度评估,适应度函数由给出,其中N是采样点的数量,kn是机器人关节n的权重τni与τpni分别为实际关节力矩和预测关节力矩。在初始化完成后开始进行算法的迭代。在每一次迭代过程中,观察峰通过公式vid=sid+ΦFij(sid-sjd)对自身的位置进行更新,其中Φ为-1到1之间的随机数,sj为除si外的任一蜜源,d为1到D之间的随机整数,Fij为自适应适应度步长系数,表示为其中a是大于0的常数系数。随后,观察蜂计算当前位置蜜源的适应度,计算出适应度后,依据贪心算法决定是否将蜜源更新至此处,并且每个蜜源有与其对应的计数器counti,每次迭代中,若成功找到更好的蜜源,则将cou本文档来自技高网
...

【技术保护点】
1.一种基于改进的人工蜂群算法的机械臂动力学模型辨识方法,具体步骤如下:步骤1:建立机器人机械臂的动力学模型方程;首先,对于一个6自由度机械臂,通过牛顿‑欧拉方法推导得出其动力学模型:

【技术特征摘要】
1.一种基于改进的人工蜂群算法的机械臂动力学模型辨识方法,具体步骤如下:步骤1:建立机器人机械臂的动力学模型方程;首先,对于一个6自由度机械臂,通过牛顿-欧拉方法推导得出其动力学模型:其中,τ=(τ1,τ2,...,τn)为机械臂的驱动力矩向量,n表示机械臂关节自由度个数,τi表示第i个关节的驱动力矩,q,是三组n×1维向量,分别表示关节位置,关节速度和关节加速度,D(q)是一个与位形相关的n×n的矩阵,被称为惯性矩阵,对于任何机械臂来讲,它的惯性矩阵是对称且正定的,为科氏力及离心力项,g(q)为重力项,只取决于机器人的位姿,是静态量;然后,根据改进的牛顿-欧拉动力学模型,其动力学模型可以被改写成其中Φ是一个n×10n的观测矩阵,只跟机械臂关节运动数据有关,p是机械臂惯性参数向量,p=[p1,p2,...,pn]T,pi是连杆i的惯性参数向量:pi=[Ixxi,Ixyi,Ixzi,Iyyi,Iyzi,Izzi,mrxi,mryi,mrzi,mi]T,其中Ixxi,Ixyi,Ixzi,Iyyi,Iyzi,Izzi为连杆i惯性矩阵Ici的6个参数,mrxi,mryi,mrzi表示连杆i的一阶质量矩,mi是连杆i的质量;pi的前9个量均包含在D(q)和项内,mi包含在g(q)中;步骤2:确定所需辨识的动力学参数;摩擦项的辨识参数采用线性摩擦模型:其中τf为摩擦力矩,fc为库伦摩擦系数,fv为粘性摩擦系数,sign(·)为符号函数,满足考虑摩擦的动力学参数可写成向量的形式:pdyn=[pdyn1,...,pdynn]T,其中pdyni=[Ixxi,Ixyi,Ixzi,Iyyi,Iyzi,Izzi,mrxi,mryi,mrzi,mi,fci],i=1,...,n,pdyn就是动力学参数辨识的辨识对象,每个关节均包含10个机械臂惯性参数及2个摩擦参数;根据修改后的牛顿-欧拉参数,将改进的机械臂的动力学方程改写成动力学参数pdyn的线性函数:其中Φdyn是一个n×12n的观测矩阵,从而确定所辨识的动力学参数;步骤3:设计改进的人工蜂群算法(ArtificialBeeColony);其实现的详细过程如下:人工蜂群算法的实现依靠雇佣蜂,观察蜂,侦察蜂,蜜源四个要素构成,首先需要对蜜蜂群体和蜜源进行初始化,设种群数量为SP,观察蜂与雇佣蜂在种群中各占一半,数量均为SP/2,蜜源数量NP=SP/2,根据所需辨识的参数数量设置解空间纬度D,依据公式sid=Ld+rand(0,1)(Ud-Ld)和vid=Ld+rand(0,1)(Ud-Ld)在解空间中分别对观察峰和蜜源进行位置的初始化,其中sid表示第i个蜜源,vid表示第i个观察蜂,Ud和Ld分别代表搜索空间的上界和下界,蜜源与观察蜂一一对应;在初始化后,首先对初始化的蜜源进行适应度评估,适应度函数由给出,其中N是采样点的数量,kn是机器人关节n的权重τni与τpni分别为实际关节力矩和预测关节力矩;在初始化完成后开始进行算法的迭代;在每一次迭代过程中,观察峰通过公式vid=sid+ΦFij(sid-sjd)对自身的位置进行更新,其中Φ为-1到1之间的随机数,sj为除si外的任一蜜源,d为1到D之间的随机整数,Fij为自适应适应度步长系数,表示为其中a是大于0的常数系数;随后,观察蜂计算当前位置蜜源的适应度,计算出适应...

【专利技术属性】
技术研发人员:禹鑫燚王正安欧林林朱峰朱熠琛卢靓
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1