工程科学学报,第41卷,第8期:1085-1091,2019年8月 Chinese Journal of Engineering,Vol.41,No.8:1085-1091,August 2019 DOI:10.13374/j.issn2095-9389.2019.08.014;http://journals.ustb.edu.cn 基于BP神经网络的机器人波动摩擦力矩修正方法 张铁),洪景东),李秋奋),刘晓刚) 1)华南理工大学机械与汽车工程学院,广州5106412)桂林航天工业学院广西高校机器人与焊接重点实验室,桂林541004 区通信作者,E-mail:merobot(@scut.edu.cn 摘要针对机器人谐波减速器关节在转动过程中存在的波动摩擦力矩,提出一种基于傅里叶级数函数和BP神经网络的建 模方法,并完善机器人的动力学模型,修正了因波动摩擦力矩带来的关节力矩计算误差.通过研究谐波减速器关节的波动摩 擦力矩在不同影响因素下的变化特性,采用傅里叶级数与BP神经网络结合的方法对波动摩擦力矩进行建模.通过添加傅里 叶级数函数作为B神经网络的辅助输入,克服了力矩误差曲线因存在高频周期性波动而难以拟合的困难.在离线环境下训 练神经网络,完成对关节波动摩擦力矩的建模,进而完善机器人的动力学模型和修正关节中存在的波动摩擦力矩.验证实验 表明,使用完善后的动力学模型可以有效计算谐波减速器关节的波动摩擦力矩,并使修正后的力矩误差维持在[-0.5,0.5]N m的范围之内,方差为0.1659N2m2,是修正前的24.23%. 关键词机器人动力学:关节波动摩擦力矩:BP神经网络:傅里叶级数函数:误差修正 分类号TP242.2 Wave friction correction method for a robot based on BP neural network ZHANG Tie HONG Jing-dong,LI Qiu-fen,LIU Xiao-gang 1)School of Mechanical and Automotive Engineering,South China University of Technology,Guangzhou 510641,China 2)Guangxi Key Laboratory of Robotics and Welding,Guilin University of Aerospace Technology,Guilin 541004,China Corresponding author,E-mail:merobot@scut.edu.cn ABSTRACT For sensorless force control of a robot such as by drag-teaching and collision detection,the control accuracy depends on the accuracy of the robot dynamics model.The error of the robot dynamics model comes from two aspects,modeling and identification errors and from unmodeled dynamics.Among the unmodeled dynamics,one of the important sources of unmodeled dynamic is the fric- tion inside the robot reducer.When the reducer rotates,there is mutual extrusion and friction between the internal components of the reducer.This kind of friction will change as the gear meshing state transforms,resulting in the phenomenon of wave friction torque.A remarkable feature of wave friction torque is that it has a periodic relationship with the joint location and it is often modeled by the Fou- rier series function.Wave friction torque is obvious when the rotational speed of the joint is low and decreases with the increase in rota- tional speed.In order to improve the accuracy of the robot dynamics model,the wave friction torque needs to be modeled and elimina- ted.Aiming at the wave friction of the robot harmonic joint during the rotation process,a modeling method based on a Fourier series function and BP neural network was proposed,the dynamic model of the robot was optimized,and the calculation error of the joint torque caused by the wave friction was corrected.By studying the variation characteristics of the wave friction of the harmonic reducer joint under different influencing factors,the combination of the Fourier series and BP neural network was used to model the wave fric- tion.By adding the Fourier series function as the auxiliary input of the BP neural network,the difficulty of fitting the torque error curve due to the presence of high frequency periodic fluctuations was overcome.The neural network was trained in the off-line environment to complete the modeling of the wave friction,and then to improve the dynamic model of the robot and correct the wave friction.The ex- 收稿日期:2018-07-20 基金项目:国家科技重大专项资助项目(2015ZX04005006):广东省科技重大专项资助项目(2014B090921004,2014B090920002):中山市科技 重大资助项目(2016F2FC0006):广西高校机器人与焊接重点实验室课题基金资助项目(JQR2015KF02)
工程科学学报,第 41 卷,第 8 期:1085鄄鄄1091,2019 年 8 月 Chinese Journal of Engineering, Vol. 41, No. 8: 1085鄄鄄1091, August 2019 DOI: 10. 13374 / j. issn2095鄄鄄9389. 2019. 08. 014; http: / / journals. ustb. edu. cn 基于 BP 神经网络的机器人波动摩擦力矩修正方法 张 铁1) 苣 , 洪景东1) , 李秋奋1) , 刘晓刚2) 1)华南理工大学机械与汽车工程学院, 广州 510641 2)桂林航天工业学院广西高校机器人与焊接重点实验室, 桂林 541004 苣通信作者, E鄄mail: merobot@ scut. edu. cn 摘 要 针对机器人谐波减速器关节在转动过程中存在的波动摩擦力矩,提出一种基于傅里叶级数函数和 BP 神经网络的建 模方法,并完善机器人的动力学模型,修正了因波动摩擦力矩带来的关节力矩计算误差. 通过研究谐波减速器关节的波动摩 擦力矩在不同影响因素下的变化特性,采用傅里叶级数与 BP 神经网络结合的方法对波动摩擦力矩进行建模. 通过添加傅里 叶级数函数作为 BP 神经网络的辅助输入,克服了力矩误差曲线因存在高频周期性波动而难以拟合的困难. 在离线环境下训 练神经网络,完成对关节波动摩擦力矩的建模,进而完善机器人的动力学模型和修正关节中存在的波动摩擦力矩. 验证实验 表明,使用完善后的动力学模型可以有效计算谐波减速器关节的波动摩擦力矩,并使修正后的力矩误差维持在[ - 0郾 5,0郾 5] N ·m 的范围之内,方差为 0郾 1659 N 2·m 2 ,是修正前的 24郾 23% . 关键词 机器人动力学; 关节波动摩擦力矩; BP 神经网络; 傅里叶级数函数; 误差修正 分类号 TP242郾 2 收稿日期: 2018鄄鄄07鄄鄄20 基金项目: 国家科技重大专项资助项目(2015ZX04005006);广东省科技重大专项资助项目(2014B090921004,2014B090920002);中山市科技 重大资助项目(2016F2FC0006);广西高校机器人与焊接重点实验室课题基金资助项目(JQR2015KF02) Wave friction correction method for a robot based on BP neural network ZHANG Tie 1) 苣 , HONG Jing鄄dong 1) , LI Qiu鄄fen 1) , LIU Xiao鄄gang 2) 1) School of Mechanical and Automotive Engineering, South China University of Technology, Guangzhou 510641, China 2) Guangxi Key Laboratory of Robotics and Welding, Guilin University of Aerospace Technology, Guilin 541004, China 苣Corresponding author, E鄄mail: merobot@ scut. edu. cn ABSTRACT For sensorless force control of a robot such as by drag鄄teaching and collision detection, the control accuracy depends on the accuracy of the robot dynamics model. The error of the robot dynamics model comes from two aspects, modeling and identification errors and from unmodeled dynamics. Among the unmodeled dynamics, one of the important sources of unmodeled dynamic is the fric鄄 tion inside the robot reducer. When the reducer rotates, there is mutual extrusion and friction between the internal components of the reducer. This kind of friction will change as the gear meshing state transforms, resulting in the phenomenon of wave friction torque. A remarkable feature of wave friction torque is that it has a periodic relationship with the joint location and it is often modeled by the Fou鄄 rier series function. Wave friction torque is obvious when the rotational speed of the joint is low and decreases with the increase in rota鄄 tional speed. In order to improve the accuracy of the robot dynamics model, the wave friction torque needs to be modeled and elimina鄄 ted. Aiming at the wave friction of the robot harmonic joint during the rotation process, a modeling method based on a Fourier series function and BP neural network was proposed, the dynamic model of the robot was optimized, and the calculation error of the joint torque caused by the wave friction was corrected. By studying the variation characteristics of the wave friction of the harmonic reducer joint under different influencing factors, the combination of the Fourier series and BP neural network was used to model the wave fric鄄 tion. By adding the Fourier series function as the auxiliary input of the BP neural network, the difficulty of fitting the torque error curve due to the presence of high frequency periodic fluctuations was overcome. The neural network was trained in the off鄄line environment to complete the modeling of the wave friction, and then to improve the dynamic model of the robot and correct the wave friction. The ex鄄
·1086· 工程科学学报,第41卷,第8期 perimental results show that the improved dynamic model can effectively predict the wave friction of the harmonic reducer joint and keep the corrected torque error within the range of [-0.5,0.5]N.m,and the variance is 0.1659 N2.m2,which is 24.23%before the cor- rection KEY WORDS robot dynamics;joint wave friction torque;BP neural network;Fourier series function;error correction 对于机器人的免力矩传感器柔顺控制,无论是 效果[9 机器人的直接示教[山,还是力位混合控制2】和碰撞 本文通过实验研究谐波减速器关节中的波动摩 检测[3),都需要精确的机器人动力学模型,以借助 擦力矩在不同机器人运动状态下的变化特征.采用 机器人的动力学模型和运动信息计算出机器人本体 基于BP神经网络的辨识方法,并添加傅里叶级数 在运动中所消耗的关节力矩(后文统称为计算力 函数作为神经网络的辅助输入,从而增强神经网络 矩),从而联合关节的实际力矩计算出机器人的外 对周期非线性的拟合能力.在离线环境下训练神经 部受力.这要求在机器人空载和无外力的情况下,网络,由此完成对波动摩擦力矩的建模,同时完善机 计算力矩与实测力矩间的误差要尽可能小.通过对 器人动力学模型.最后通过实验验证傅里叶级数- 复杂且重要的未建模力矩项进行建模和辨识,可以 神经网络模型对波动力矩误差的修正效果. 进一步提高机器人动力模型的精确性,减少计算力 矩的误差. 1谐波减速器关节的波动摩擦力矩特性 谐波减速器由于具有体积小、重量轻、减速比大 1.1机器人平台 等优点,在机器人中得到广泛应用,但谐波减速器存 使用国产SD500E机器人研究谐波减速器关节 在严重的非线性摩擦力矩特性,其在低速转动时会 的波动摩擦力矩特性.机器人实验平台如图1所 产生与关节转角呈周期性变化的摩擦力矩[4刀,即 示.机器人控制和采样周期都为1ms.实验中关节 波动摩擦力矩,导致关节计算力矩与实际力矩间存 的力矩信号通过伺服系统的电流环采样得到,机器 在波动的力矩误差.波动摩擦力矩产生的原因与减 人的关节转角通过关节编码盘换算得到. 速器传动过程中内部零件的不断啮合和摩擦有关, 因此与关节转角呈现周期性变化规律。针对该波动 机器人 摩擦力矩,常用的解决方法是采用一个周期性函数 工控机 进行拟合和修正.根据选择的周期性函数的不同, 文献[4]采用傅里叶级数曲线来进行拟合,文献[6] 和[7]则采用Stribeck模型与正余弦函数结合的方 控制柜 式来描述谐波驱动关节的摩擦力矩特性,并发现周 期性摩擦力矩存在两种主要的频率成分.然而上述 文献都只研究了某一转速下的摩擦力矩,并采用一 图1机器人实验平台 Fig.I Robot experiment platform 组恒定的参数进行建模,而忽略了当关节转速发生 变化时,该摩擦力矩项的幅值也会随着改变.文献 1.2机器人动力学模型和力矩误差 [5]考虑到关节转速的影响,并使用指数模型进行 机器人的动力学方程为[1] 建模,但其并没有使用复杂的实验轨迹研究其模型 T=M(q)9+C(q,9)9+G(q)+F,(1) 的力矩计算精度 其中,g为机器人关节转角向量,M(g)为惯量矩阵, 为了减少甚至消除波动摩擦力矩所带来的计算 C(q,9)为速度项矩阵,与离心力和和科氏力有关, 力矩误差,需要对关节波动摩擦力矩进行准确的建 G(q)为重力项,F,为常规摩擦项,T为关节力矩向 模和辨识.传统的辨识方法需要知道波动摩擦力矩 量,称为实际力矩 的产生机制并以此建立方程,然后通过回归的方法 通过基于改进的傅里叶级数辨识轨迹[1o]、带权 进行参数辨识.而基于BP神经网络的辨识方法可 最小二乘法]和SDP物理可行性分析]的机器人 以在缺少系统模型等先验知识的情况下进行系统辨 动力学辨识方案,并采用5Hz截止频率的低通滤波 识,具有优秀的多维非线性拟合能力[8】.但对于曲 器3-4]对采样数据进行滤波处理,最终得到一套机 折多变的非线性函数,使用BP神经网络进行拟合 器人动力学模型和参数.根据该模型和动力学方 需要大量的神经元,且往往无法得到理想的拟合 程,得到
工程科学学报,第 41 卷,第 8 期 perimental results show that the improved dynamic model can effectively predict the wave friction of the harmonic reducer joint and keep the corrected torque error within the range of [ - 0郾 5,0郾 5] N·m, and the variance is 0郾 1659 N 2·m 2 , which is 24郾 23% before the cor鄄 rection. KEY WORDS robot dynamics; joint wave friction torque; BP neural network; Fourier series function; error correction 对于机器人的免力矩传感器柔顺控制,无论是 机器人的直接示教[1] ,还是力位混合控制[2] 和碰撞 检测[3] ,都需要精确的机器人动力学模型,以借助 机器人的动力学模型和运动信息计算出机器人本体 在运动中所消耗的关节力矩(后文统称为计算力 矩),从而联合关节的实际力矩计算出机器人的外 部受力. 这要求在机器人空载和无外力的情况下, 计算力矩与实测力矩间的误差要尽可能小. 通过对 复杂且重要的未建模力矩项进行建模和辨识,可以 进一步提高机器人动力模型的精确性,减少计算力 矩的误差. 谐波减速器由于具有体积小、重量轻、减速比大 等优点,在机器人中得到广泛应用,但谐波减速器存 在严重的非线性摩擦力矩特性,其在低速转动时会 产生与关节转角呈周期性变化的摩擦力矩[4鄄鄄7] ,即 波动摩擦力矩,导致关节计算力矩与实际力矩间存 在波动的力矩误差. 波动摩擦力矩产生的原因与减 速器传动过程中内部零件的不断啮合和摩擦有关, 因此与关节转角呈现周期性变化规律. 针对该波动 摩擦力矩,常用的解决方法是采用一个周期性函数 进行拟合和修正. 根据选择的周期性函数的不同, 文献[4]采用傅里叶级数曲线来进行拟合,文献[6] 和[7]则采用 Stribeck 模型与正余弦函数结合的方 式来描述谐波驱动关节的摩擦力矩特性,并发现周 期性摩擦力矩存在两种主要的频率成分. 然而上述 文献都只研究了某一转速下的摩擦力矩,并采用一 组恒定的参数进行建模,而忽略了当关节转速发生 变化时,该摩擦力矩项的幅值也会随着改变. 文献 [5]考虑到关节转速的影响,并使用指数模型进行 建模,但其并没有使用复杂的实验轨迹研究其模型 的力矩计算精度. 为了减少甚至消除波动摩擦力矩所带来的计算 力矩误差,需要对关节波动摩擦力矩进行准确的建 模和辨识. 传统的辨识方法需要知道波动摩擦力矩 的产生机制并以此建立方程,然后通过回归的方法 进行参数辨识. 而基于 BP 神经网络的辨识方法可 以在缺少系统模型等先验知识的情况下进行系统辨 识,具有优秀的多维非线性拟合能力[8] . 但对于曲 折多变的非线性函数,使用 BP 神经网络进行拟合 需要大量的神经元,且往往无法得到理想的拟合 效果[9] . 本文通过实验研究谐波减速器关节中的波动摩 擦力矩在不同机器人运动状态下的变化特征. 采用 基于 BP 神经网络的辨识方法,并添加傅里叶级数 函数作为神经网络的辅助输入,从而增强神经网络 对周期非线性的拟合能力. 在离线环境下训练神经 网络,由此完成对波动摩擦力矩的建模,同时完善机 器人动力学模型. 最后通过实验验证傅里叶级数鄄鄄 神经网络模型对波动力矩误差的修正效果. 1 谐波减速器关节的波动摩擦力矩特性 1郾 1 机器人平台 使用国产 SD500E 机器人研究谐波减速器关节 的波动摩擦力矩特性. 机器人实验平台如图 1 所 示. 机器人控制和采样周期都为 1 ms. 实验中关节 的力矩信号通过伺服系统的电流环采样得到,机器 人的关节转角通过关节编码盘换算得到. 图 1 机器人实验平台 Fig. 1 Robot experiment platform 1郾 2 机器人动力学模型和力矩误差 机器人的动力学方程为[10] , T = M(q) q ·· + C(q,q · ) q · + G(q) + Ff (1) 其中,q 为机器人关节转角向量,M(q)为惯量矩阵, C(q,q · )为速度项矩阵,与离心力和和科氏力有关, G(q)为重力项,Ff 为常规摩擦项,T 为关节力矩向 量,称为实际力矩. 通过基于改进的傅里叶级数辨识轨迹[10] 、带权 最小二乘法[11]和 SDP 物理可行性分析[12]的机器人 动力学辨识方案,并采用 5 Hz 截止频率的低通滤波 器[13鄄鄄14]对采样数据进行滤波处理,最终得到一套机 器人动力学模型和参数. 根据该模型和动力学方 程,得到 ·1086·
张铁等:基于BP神经网络的机器人波动摩擦力矩修正方法 ·1087· T=M(q)g+c(q,q)q+G(q)+f.q+f.sign(q) (2) 其中,M,C,G为式(1)中相应变量的辨识值,根据 0.5 动力学模型得到.T为计算力矩.∫,为关节的黏性 -1.0 摩擦系数,其单位为N.m.rad-ls,∫。为库伦摩擦系 -1.5 数,其单位为N·m,式(2)采用黏性摩擦+库伦摩擦 -2.0 0.08 0.100.120.140.160.180.200.22 模型对关节的摩擦力矩进行建模,式中M(q)9、 关节转角rad C(q,9)9、G(q)∫,9和f.sign(g)的单位为Nm. 图3四种转速下的力矩误差集合 由于动力学模型的不完善以及参数的辨识误 Fig.3 Torque error set at four speeds 差,导致实际力矩T和计算力矩T间存在一定的偏 高次谐波(52Hz).其中一次谐波的频率为电机转 差,称为力矩误差△T, 动频率的2倍,高次谐波频率为一次谐波的2倍 AT-T-T (3) 对于不同的谐波减速器关节,一次谐波、高次谐波和 而力矩误差中最大的来源是减速器传动过程中产生 电机转动频率间的倍数关系可能不相同.10°·s1 的波动摩擦力矩 转速下的波动力矩误差主要为一次谐波(26Hz). 1.3机器人关节的波动摩擦力矩特性 分析可得,波动摩擦力矩中的高次谐波会随着速度 机器人的谐波减速器关节,由于传动过程中柔 的增加发生明显的衰弱,其衰弱要先于一次谐波. 性轮和刚轮间的啮合和摩擦5-16),导致关节转动过 而当随着关节转速的继续增加,最终一次谐波也会 程中会产生波动的摩擦力矩.本小节通过机器人实 削减到消失 验平台研究该波动摩擦力矩在不同运动状态下的 1.0 特性. 0.8 使用机器人在空载和无外力的环境下进行实 52 Hz 验,以1°·s的转速正向转动机器人第2关节,计算 0.6 =-19·s -10°.s 和采样得到该关节的计算力矩、实际力矩和力矩误 0.4 差如图2所示,可以发现实际力矩中存在周期性的 26 Hz 力矩波动,这便是由减速器的波动摩擦力矩所造成 的.在4、7、10°·s1转速下进行同样实验,采用关节 100 150 200 250 频率 转角作为横坐标,得到不同速度下的力矩误差如图 图4两种转动速度下的力矩误差频谱 3所示,可以发现力矩误差曲线的幅度随着关节转 Fig.4 Torque error spectrum at two speeds 速的增加而明显减弱,同时力矩误差波动的波峰和 通过实验,可以确定谐波减速器关节中的波动 波谷都对应于相似的关节角,可以确定波动摩擦力 摩擦力矩具有以下的性质:1)波动摩擦力矩与机器 矩与关节转角间存在周期性关系 人关节转角具有周期性关系,且存在两种主要的频 率:2)波动摩擦力矩的幅值随着关节转速的提高而 制 减少.由此确定波动摩擦力矩为关节转角和转速的 -10 15 te444uwa当 一实际关节力矩 一一计算力矩 非线性函数.由于不知道波动摩擦力矩的具体产生 …力矩误差 机理,故先把波动摩擦力矩T,与关节转角q和转速 9的关系简单表示为: 20 3 4 56 7 T=T(9,9) (4) 时间/(10°ms) 式中表示关节的单关节的波动摩擦力矩T。为关节 图2谐波减速器关节实际力矩,计算力矩和力矩误差 转角g和转速9的函数,该函数关系用T,表示. Fig.2 Actual torque,calculated torque,and torque error of the Har- monic reducer joint 通过图2可以发现,关节力矩误差曲线中除了 关节的波动摩擦力矩外,还存在其他的建模误差,但 对1°·s1和10°·s转速下的关节力矩误差进 相比于波动摩擦力矩,其他建模误差导致的力矩误 行频谱分析,结果如图4所示.1°·s1转速下的波动 差在数值和影响上相对较小,所以本文直接将关节 力矩误差主要由两种谐波组成:一次谐波(26Hz), 的力矩误差△T作为关节波动摩擦力矩的实测值
张 铁等: 基于 BP 神经网络的机器人波动摩擦力矩修正方法 ^T = M^ (q) q ·· + ^C(q,q · ) q · + ^G(q) + fvq · + fc sign( q · ) (2) 其中,M^ , ^C, ^G 为式(1)中相应变量的辨识值,根据 动力学模型得到. ^T 为计算力矩. fv 为关节的黏性 摩擦系数,其单位为 N·m·rad - 1·s,fc 为库伦摩擦系 数,其单位为 N·m,式(2)采用黏性摩擦 + 库伦摩擦 模型对关节的摩擦力矩进行建模,式中 M^ ( q) q ·· 、 ^C(q,q · ) q · 、 ^G(q)、fvq · 和 fc sign( q · )的单位为 N·m. 由于动力学模型的不完善以及参数的辨识误 差,导致实际力矩 T 和计算力矩 ^T 间存在一定的偏 差,称为力矩误差 驻T, 驻T = T - ^T (3) 而力矩误差中最大的来源是减速器传动过程中产生 的波动摩擦力矩. 1郾 3 机器人关节的波动摩擦力矩特性 机器人的谐波减速器关节,由于传动过程中柔 性轮和刚轮间的啮合和摩擦[15鄄鄄16] ,导致关节转动过 程中会产生波动的摩擦力矩. 本小节通过机器人实 验平台研究该波动摩擦力矩在不同运动状态下的 特性. 使用机器人在空载和无外力的环境下进行实 验,以 1毅·s - 1的转速正向转动机器人第 2 关节,计算 和采样得到该关节的计算力矩、实际力矩和力矩误 差如图 2 所示,可以发现实际力矩中存在周期性的 力矩波动,这便是由减速器的波动摩擦力矩所造成 的. 在 4、7、10毅·s - 1转速下进行同样实验,采用关节 转角作为横坐标,得到不同速度下的力矩误差如图 3 所示,可以发现力矩误差曲线的幅度随着关节转 速的增加而明显减弱,同时力矩误差波动的波峰和 波谷都对应于相似的关节角,可以确定波动摩擦力 矩与关节转角间存在周期性关系. 图 2 谐波减速器关节实际力矩、计算力矩和力矩误差 Fig. 2 Actual torque, calculated torque, and torque error of the Har鄄 monic reducer joint 对 1毅·s - 1和 10毅·s - 1转速下的关节力矩误差进 行频谱分析,结果如图4 所示. 1毅·s - 1转速下的波动 力矩误差主要由两种谐波组成:一次谐波(26 Hz), 图 3 四种转速下的力矩误差集合 Fig. 3 Torque error set at four speeds 高次谐波(52 Hz). 其中一次谐波的频率为电机转 动频率的 2 倍,高次谐波频率为一次谐波的 2 倍. 对于不同的谐波减速器关节,一次谐波、高次谐波和 电机转动频率间的倍数关系可能不相同. 10毅·s - 1 转速下的波动力矩误差主要为一次谐波(26 Hz). 分析可得,波动摩擦力矩中的高次谐波会随着速度 的增加发生明显的衰弱,其衰弱要先于一次谐波. 而当随着关节转速的继续增加,最终一次谐波也会 削减到消失. 图 4 两种转动速度下的力矩误差频谱 Fig. 4 Torque error spectrum at two speeds 通过实验,可以确定谐波减速器关节中的波动 摩擦力矩具有以下的性质:1)波动摩擦力矩与机器 人关节转角具有周期性关系,且存在两种主要的频 率;2)波动摩擦力矩的幅值随着关节转速的提高而 减少. 由此确定波动摩擦力矩为关节转角和转速的 非线性函数. 由于不知道波动摩擦力矩的具体产生 机理,故先把波动摩擦力矩 Tb 与关节转角 q 和转速 q · 的关系简单表示为: Tb = 祝b (q,q · ) (4) 式中表示关节的单关节的波动摩擦力矩 Tb 为关节 转角 q 和转速 q · 的函数,该函数关系用 祝b 表示. 通过图 2 可以发现,关节力矩误差曲线中除了 关节的波动摩擦力矩外,还存在其他的建模误差,但 相比于波动摩擦力矩,其他建模误差导致的力矩误 差在数值和影响上相对较小,所以本文直接将关节 的力矩误差 驻T 作为关节波动摩擦力矩的实测值, ·1087·
·1088· 工程科学学报,第41卷,第8期 即 性过程十分接近的非线性映射能力,相当于使用一 T=△T (5) 个网络结构模型对复杂非线性过程进行建模和辨 由于关节波动摩擦的生成机理没有完全清楚, 识,其中的B,9,,Y,便是模型的参数.神经网络 只知道它与关节转角和转速间存在非线性的函数关 建模的优点在于其建模过程只用到输入输出数据, 系,所以采用传统的建模+参数辨识的建模方法可 而不需要知道非线性过程的内在机制. 能行不通.本文借助BP神经网络的非线性拟合能 2.2BP神经网络建模波动摩擦力矩 力[),依靠实验数据离线训练BP神经网络并使其 通过采集不同关节转角和转速下的波动摩擦力 满足式(4)函数的映射功能,由此完成对波动摩擦 矩数据,在离线情况下建立BP神经网络并进行训 力矩的建模 练,最后得到一个满足波动摩擦力矩映射关系的网 络模型. 2谐波减速器关节的波动摩擦力矩特性 根据式(4),波动摩擦力矩映射的输入数据为 2.1BP神经网络 关节转角和转速[g9],目标输出数据为波动摩擦 BP神经网络是一种基于反向传播算法的多层 力矩T,因此,构建的神经网络对应的输入层有两 前向网络,它有一个输入层和一个输出层以及多个 个神经元,对应g和g,输出层有一个神经元,为波 隐含层.根据逼近理论,具有非线性传递函数的BP 动摩擦力矩的计算值T,通过机器人实验采集 神经网络,在隐含层神经元数量足够多的情况下,可 [q9T]三种数据序列,在离线环境下训练BP 以实现任意精度的非线性映射.对于只知道输入数 神经网络.通过计算T。和T的误差并反向传递, 据和输出数据的非线性过程和函数,可以利用BP 神经网络优秀的拟合能力,利用其输入输出数据进 依靠梯度下降法不断调整B,日,,Y,使得工。与T 的残差平法和不断减小,最终网络实现了与式(4) 行训练从而使得BP神经网络获得与该非线性过程 十分接近的映射功能,由此完成对波动摩擦力矩的 十分接近的映射功能 建模 对于一个n维输入m维输出的三层BP神经网 然而,由于神经网络的拟合能力有一定限制,如 络,其正向计算过程为: 果使用上述的建模方法将需要用到大量的神经元, 网络输人:X=(x1,x2,…,xn) 且拟合效果并不理想.其原因在于波动摩擦力矩与 输入层:a:=x,i=1,2,…,n 关节转角间的高频周期性对于神经网络而言属于高 中间层5=立A-9,j=1,2…P 度的非线性,具有非常高的拟合难度.本节解决方 i=1 b=F(s),j=1,2,…p 法是,先采用一个周期性函数对波动摩擦力矩进行 拟合,事先提炼出波动摩擦力矩中的周期性特性,再 输出层l=立4-1=1,2,m 结合该周期性拟合函数和神经网络,完成对波动摩 y=F2(l),t=1,2,…,m 擦力矩的建模.具体方法如下 网络输出:Y=(y1,y2,…,ym) 由前文的频谱分析可知,波动摩擦力矩与关节 其中,B,9,Y,为神经网络参数,它们的值在训练 转角q呈现两个频率的周期性关系,故可设计一个 过程中进行调整,X为网络输入向量,Y为网络输出 以g为自变量的二级傅里叶级数函数作为波动摩擦 向量,其余为神经网路的中间变量.F(·)和F2(·) 力矩的周期性拟合函数,即: 为中间层和输出层的传递函数.F,(·)一般为非线 F,(q)=ao+a1sin(09)+b1cos(wo9)+ 性函数,如sigmoid函数,F2(·)可以选择线性函数. azsin (2w0q)+b cos (2w0q) (6) F,(·)的非线性是实现BP神经网络非线性映射的 式中,ao为偏置,a1,a2,b1,b2为各项幅值,w。为基 基础。在网络神经元个数确定的情况下,不同的B, 础角速度.具体情况下可以采用一种较低转速下的 ,,Y,值确定了网络不同的输入输出映射.BP神 波动摩擦力矩曲线数据,并用式(6)进行拟合,从而 经网络采用误差反向传播来调整B,日,y2,Y,的值, 得到式(6)中各参数的具体值. 网络训练的过程相当于不断调整B,0,,Y,的值 设计BP神经网络,网络的输入层有三个神经 使得网络的输出越来越接近训练数据中的目标输出 元,对应的输入为[99F,(q)],输出层有一个神 数据.若将一个复杂非线性过程的输入输出数据用 经元,对应为波动摩擦力矩的计算值T.神经网络 于训练BP网络,训练完成的网络将拥有与该非线 增加了F,(q)作为辅助输入,F,(q)可以协助神经
工程科学学报,第 41 卷,第 8 期 即 Tb = 驻T (5) 由于关节波动摩擦的生成机理没有完全清楚, 只知道它与关节转角和转速间存在非线性的函数关 系,所以采用传统的建模 + 参数辨识的建模方法可 能行不通. 本文借助 BP 神经网络的非线性拟合能 力[17] ,依靠实验数据离线训练 BP 神经网络并使其 满足式(4)函数的映射功能,由此完成对波动摩擦 力矩的建模. 2 谐波减速器关节的波动摩擦力矩特性 2郾 1 BP 神经网络 BP 神经网络是一种基于反向传播算法的多层 前向网络,它有一个输入层和一个输出层以及多个 隐含层. 根据逼近理论,具有非线性传递函数的 BP 神经网络,在隐含层神经元数量足够多的情况下,可 以实现任意精度的非线性映射. 对于只知道输入数 据和输出数据的非线性过程和函数,可以利用 BP 神经网络优秀的拟合能力,利用其输入输出数据进 行训练从而使得 BP 神经网络获得与该非线性过程 十分接近的映射功能. 对于一个 n 维输入 m 维输出的三层 BP 神经网 络,其正向计算过程为: 网络输入:X = (x1 ,x2 ,…,xn ) 输入层:ai = xi,i = 1,2,…,n 中间层:sj = 移 n i = 1 茁ijai - 兹j, j = 1,2,…,p bj = F1 (sj), j = 1,2,…,p 输出层:l t = 移 p j = 1 vjt bj - 酌t, t = 1,2,…,m yt = F2 (l t), t = 1,2,…,m 网络输出:Y = (y1 ,y2 ,…,ym ) 其中,茁ij,兹j,vjt,酌t 为神经网络参数,它们的值在训练 过程中进行调整,X 为网络输入向量,Y 为网络输出 向量,其余为神经网路的中间变量. F1 (·)和 F2 (·) 为中间层和输出层的传递函数. F1 (·)一般为非线 性函数,如 sigmoid 函数,F2 (·)可以选择线性函数. F1 (·)的非线性是实现 BP 神经网络非线性映射的 基础. 在网络神经元个数确定的情况下,不同的 茁ij, 兹j,vjt,酌t 值确定了网络不同的输入输出映射. BP 神 经网络采用误差反向传播来调整 茁ij,兹j,vjt,酌t 的值, 网络训练的过程相当于不断调整 茁ij,兹j,vjt,酌t 的值 使得网络的输出越来越接近训练数据中的目标输出 数据. 若将一个复杂非线性过程的输入输出数据用 于训练 BP 网络,训练完成的网络将拥有与该非线 性过程十分接近的非线性映射能力,相当于使用一 个网络结构模型对复杂非线性过程进行建模和辨 识,其中的 茁ij,兹j,vjt,酌t 便是模型的参数. 神经网络 建模的优点在于其建模过程只用到输入输出数据, 而不需要知道非线性过程的内在机制. 2郾 2 BP 神经网络建模波动摩擦力矩 通过采集不同关节转角和转速下的波动摩擦力 矩数据,在离线情况下建立 BP 神经网络并进行训 练,最后得到一个满足波动摩擦力矩映射关系的网 络模型. 根据式(4),波动摩擦力矩映射的输入数据为 关节转角和转速[q q ·],目标输出数据为波动摩擦 力矩 Tb ,因此,构建的神经网络对应的输入层有两 个神经元,对应 q 和 q · ,输出层有一个神经元,为波 动摩擦力矩的计算值 ^Tb . 通过机器人实验采集 [q q · Tb ]三种数据序列,在离线环境下训练 BP 神经网络. 通过计算 ^Tb 和 Tb 的误差并反向传递, 依靠梯度下降法不断调整 茁ij,兹j,vjt,酌t 使得 ^Tb 与 Tb 的残差平法和不断减小,最终网络实现了与式(4) 十分接近的映射功能,由此完成对波动摩擦力矩的 建模. 然而,由于神经网络的拟合能力有一定限制,如 果使用上述的建模方法将需要用到大量的神经元, 且拟合效果并不理想. 其原因在于波动摩擦力矩与 关节转角间的高频周期性对于神经网络而言属于高 度的非线性,具有非常高的拟合难度. 本节解决方 法是,先采用一个周期性函数对波动摩擦力矩进行 拟合,事先提炼出波动摩擦力矩中的周期性特性,再 结合该周期性拟合函数和神经网络,完成对波动摩 擦力矩的建模. 具体方法如下. 由前文的频谱分析可知,波动摩擦力矩与关节 转角 q 呈现两个频率的周期性关系,故可设计一个 以 q 为自变量的二级傅里叶级数函数作为波动摩擦 力矩的周期性拟合函数,即: Fp (q) = a0 + a1 sin (w0 q) + b1 cos (w0 q) + a2 sin (2w0 q) + b1 cos (2w0 q) (6) 式中,a0 为偏置,a1 ,a2 ,b1 ,b2 为各项幅值,w0 为基 础角速度. 具体情况下可以采用一种较低转速下的 波动摩擦力矩曲线数据,并用式(6)进行拟合,从而 得到式(6)中各参数的具体值. 设计 BP 神经网络,网络的输入层有三个神经 元,对应的输入为[q q · Fp (q)],输出层有一个神 经元,对应为波动摩擦力矩的计算值 ^Tb . 神经网络 增加了 Fp ( q)作为辅助输入,Fp ( q) 可以协助神经 ·1088·
张铁等:基于BP神经网络的机器人波动摩擦力矩修正方法 ·1089· 网络在少量神经元的情况下拟合波动摩擦力矩.训 练BP神经网络并保留训练后神经网络的B,,, 0.5 Y,值,则训练完成的神经网络在输入输出关系上相 当于一个有三个自变量的非线性函数: -0.5 T=I(q,q.F(q)) (7) -1.0 其中,式(7)表明关节的波动摩擦力矩可以表示为 -15 一周期性摩擦一傅里叶级数曲线 0.55 0.60 0.65 0.70 0.75 q,9,F(q)的函数,该函数关系用T表示.结合式 关节转角/rd (6)和式(7),两个函数共同形成了波动摩擦力矩的 图5傅里叶级数曲线拟合原始力矩误差曲线 计算模型.利用这两个函数,便可在机器人运动过 Fig.5 Fourier curvature fitting of the original torque error curves 程中计算关节存在的波动摩擦力矩值,由此完善原 前三种数据作为神经网络输入,第四种数据用于神 来的动力学模型,减少计算力矩与实际力矩间的误 经网络的目标输出进行训练.使用Matlab的神经网 差.新的动力学模型为 络工具箱,设计三层结构的BP神经网络,并设置10 T=M(q)9+C(q,9)9+G(q)+f9+ 个隐层神经元,将所有采样数据用于神经网络进行 f.sign(q)+(q,q,F(q)) (8) 离线训练.保存训练完成的BP神经网络及其参数, 其中,T(q,9,F(q))为把式(7)的方法拓展到所 由此完成对波动摩擦力矩的建模工作,下面验证该 有关节而得到波动摩擦力矩计算向量,T为改进 模型对波动摩擦力矩的修正效果. 后的计算力矩.式(8)在式(2)T的基础上增加了 3.2验证傅里叶级数函数和神经网络 波动摩擦力矩的建模结果,其动力学模型相比式 解锁机器人的第1、3、4、5、6关节,驱动机器人 (2)更加完善和精确. 末端在无负载和外力情况下做4段连续直线运动: 3关节波动摩擦力矩修正实验 P1→P2→P3→P4一→P1.轨迹如图6所示,其各轨迹 点的三维坐标如表2所示,得到的机器人第2关节 3.1获取傅里叶级数函数和神经网络 转角、角速度曲线如图7所示,第2关节的计算力矩 使用SD500E机器人在空载和无外力环境下进 和实际力矩如图8所示,用实际力矩减去计算力矩 行实验,实验平台和数据的获取方法如前文所述. 即得到原始动力学模型下的力矩误差.使用傅里叶 由于实际中机器人第2关节受影响因素较多,力矩 级数函数和神经网络函数计算关节波动摩擦力矩, 变化范围和力矩误差都是最大,且存在明显的力矩 并对原来的计算力矩进行补偿得到新的计算力矩, 误差,所以对机器人第2关节进行实验和验证 用实际力矩减去新的计算力矩即得到修正后的力矩 将机器人第1、3、4、5、6关节的转角分别锁定在 误差.图9为修正前和修正后的力矩误差,图10为 其转角范围的中值位置.采集机器人第2关节在正图9的部分放大图.图9中,关节在换向的时候会 向转速为1°·s-1下的力矩误差曲线,并使用二次傅 出现较大的计算力矩误差,这是由于本文的关节摩 里叶级数函数对其进行拟合,得到傅里叶级数函数 擦采用库伦摩擦和黏性摩擦的静态摩擦模型进行建 (式(6))的具体参数如表1所示.拟合效果如图5 模的缺陷造成的,使用动态摩擦模型8)可以有效减 所示,其中的两条曲线分别为傅里叶级数曲线和波 动摩擦力矩曲线 U.61 表1傅里叶级数参数 0.4 Table 1 Fourier series parameters 0.2 do! a1/b,/ a3/ b,/ 10o/ (N.m)(N.m)(N.m)(N.m)(N.m)(rad.s-1) -0.2 0.00057840.1666-0.02131-0.8926-0.1009162 -0.4 0.6 采集机器人二关节在正向和反向转速在1、2、 0.4 0.2 3、4、5、6、7、8、9和10°s时的关节力矩误差数据, -0.2 0 to0.2 02 0.4 可以得到[q9T]三种数据列.再根据二级傅里 0.4 0.6-0.6 叶级数函数计算相应关节转角q下的F,(q)值,总 图6机器人末端运动轨迹 共可以得到[q9F(q)T]四种数据列,其中, Fig.6 Motion trajectory of the robot extremity
张 铁等: 基于 BP 神经网络的机器人波动摩擦力矩修正方法 网络在少量神经元的情况下拟合波动摩擦力矩. 训 练 BP 神经网络并保留训练后神经网络的 茁ij,兹j,vjt, 酌t 值,则训练完成的神经网络在输入输出关系上相 当于一个有三个自变量的非线性函数: ^Tb = 祝net(q,q · ,Fp (q)) (7) 其中,式(7)表明关节的波动摩擦力矩可以表示为 q,q · ,Fp (q)的函数,该函数关系用 祝net表示. 结合式 (6)和式(7),两个函数共同形成了波动摩擦力矩的 计算模型. 利用这两个函数,便可在机器人运动过 程中计算关节存在的波动摩擦力矩值,由此完善原 来的动力学模型,减少计算力矩与实际力矩间的误 差. 新的动力学模型为 ^Tmod = M^ (q) q ·· + ^C(q,q · ) q · + ^G(q) + fvq · + fc sign( q · ) + 祝net(q,q · ,Fp (q)) (8) 其中,祝net(q,q · ,Fp (q))为把式(7)的方法拓展到所 有关节而得到波动摩擦力矩计算向量, ^Tmod为改进 后的计算力矩. 式(8) 在式(2) ^T 的基础上增加了 波动摩擦力矩的建模结果,其动力学模型相比式 (2)更加完善和精确. 3 关节波动摩擦力矩修正实验 3郾 1 获取傅里叶级数函数和神经网络 使用 SD500E 机器人在空载和无外力环境下进 行实验,实验平台和数据的获取方法如前文所述. 由于实际中机器人第 2 关节受影响因素较多,力矩 变化范围和力矩误差都是最大,且存在明显的力矩 误差,所以对机器人第 2 关节进行实验和验证. 将机器人第 1、3、4、5、6 关节的转角分别锁定在 其转角范围的中值位置. 采集机器人第 2 关节在正 向转速为 1毅·s - 1下的力矩误差曲线,并使用二次傅 里叶级数函数对其进行拟合,得到傅里叶级数函数 (式(6))的具体参数如表 1 所示. 拟合效果如图 5 所示,其中的两条曲线分别为傅里叶级数曲线和波 动摩擦力矩曲线. 表 1 傅里叶级数参数 Table 1 Fourier series parameters a0 / (N·m) a1 / (N·m) b1 / (N·m) a2 / (N·m) b2 / (N·m) w0 / (rad·s - 1 ) 0郾 0005784 0郾 1666 - 0郾 02131 - 0郾 8926 - 0郾 1009 162 采集机器人二关节在正向和反向转速在 1、2、 3、4、5、6、7、8、9 和 10毅·s - 1时的关节力矩误差数据, 可以得到[q q · Tb ]三种数据列. 再根据二级傅里 叶级数函数计算相应关节转角 q 下的 Fp ( q)值,总 共可以得到[q q · Fp (q) Tb ]四种数据列,其中, 图 5 傅里叶级数曲线拟合原始力矩误差曲线 Fig. 5 Fourier curvature fitting of the original torque error curves 前三种数据作为神经网络输入,第四种数据用于神 经网络的目标输出进行训练. 使用 Matlab 的神经网 络工具箱,设计三层结构的 BP 神经网络,并设置 10 个隐层神经元,将所有采样数据用于神经网络进行 离线训练. 保存训练完成的 BP 神经网络及其参数, 由此完成对波动摩擦力矩的建模工作,下面验证该 模型对波动摩擦力矩的修正效果. 3郾 2 验证傅里叶级数函数和神经网络 解锁机器人的第 1、3、4、5、6 关节,驱动机器人 末端在无负载和外力情况下做 4 段连续直线运动: P1寅P2寅P3寅P4寅P1. 轨迹如图 6 所示,其各轨迹 点的三维坐标如表 2 所示,得到的机器人第 2 关节 转角、角速度曲线如图 7 所示,第 2 关节的计算力矩 和实际力矩如图 8 所示,用实际力矩减去计算力矩 即得到原始动力学模型下的力矩误差. 使用傅里叶 级数函数和神经网络函数计算关节波动摩擦力矩, 并对原来的计算力矩进行补偿得到新的计算力矩, 用实际力矩减去新的计算力矩即得到修正后的力矩 误差. 图 9 为修正前和修正后的力矩误差,图 10 为 图 9 的部分放大图. 图 9 中,关节在换向的时候会 图 6 机器人末端运动轨迹 Fig. 6 Motion trajectory of the robot extremity 出现较大的计算力矩误差,这是由于本文的关节摩 擦采用库伦摩擦和黏性摩擦的静态摩擦模型进行建 模的缺陷造成的,使用动态摩擦模型[18] 可以有效减 ·1089·
·1090· 工程科学学报,第41卷,第8期 少这部分的误差.比较修正前后的关节力矩误差: 函数模型,将无法保证所有速度下的波动摩擦力矩 修正前的原始力矩误差,其均值为0.6229N·m,方 都能被有效修正.此外,由于本文将关节的力矩误 差为1.2476N2m2:修正后的力矩误差,均值为- 差数据全部作为波动摩擦力矩进行建模,即式(5), 0.0460Nm,方差为0.6628N2m2.如果忽略关节 使得力矩误差中的其他建模误差成分也被当做波动 转向改变时段,只对平稳运动的区域进行分析,则原 摩擦力矩并引入神经网络进行训练,如关节中重力 始力矩误差的均值为0.6946N·m,方差为0.6846 项力矩误差等.这使与文献[5]的建模方法相比,本 N2m2.修正后的力矩误差,其均值为-0.008618 文的神经网络模型不仅可以计算到关节的波动摩擦 Nm,而方差为0.1659N2m2,是修正前的24.23%. 力矩,同时也计算出其他可能存在的力矩误差.这 修正后力矩误差有98.80%的时间都保持在[-1, 可以解释在图9中,修正后的力矩误差曲线不仅没 1]N·m的范围内,且有78.82%保持在[-0.5, 有周期性波动的特性,同时其均值相比于修正前的 0.5]Nm的范围之内. 曲线也更加接近于零 表2各轨迹点的三维坐标(单位:m) Table 2 Three-dimensional coordinates of each track point (unit:m) 示教点 2 P1 0.3199 -0.1666 0.06901 2 0.3309 0.2487 0.04331 一修正后的力矩误差 3 0.2469 0.2080 0.09832 修正前的力矩误差 -10L P4 0.3785 -0.1641 0.04621 0 10 20 30 40 50 时间s 1.0 图9未修正和修正后的关节力矩误差 是0.8 Fig.9 Uncorrected and corrected joint torque error 0A0 10 30 2.0 20 40 时间s 1.5 0.1 b 1.0 0 0.5 -0.1 年0.26 10 20 30 40 50 60 05 时间s -1.0 修正后的力矩误差 图7测试实验关节二的转角曲线和转速曲线.(a)转角曲线: -1.5 修正前的力矩误差 (b)转速曲线 28 3032 343638 40424446 时间s Fig.7 Angle curve and speed curve of the experimental test:angle 图10图9的部分放大图 curve;(b)speed curve Fig.10 Partial enlarged view of Figure 9 -5 10 4结论 -15 N -20 (1)通过实验研究机器人谐波减速器关节中的 -25 一计算力矩 波动摩擦力矩,发现波动摩擦力矩除了与关节转角 -30 一实际力矩 存在周期性关系外,其波动摩擦力矩的幅值也会随 10 20 30 40 50 60 着关节转速的增加而减小. 时间s (2)提出采用傅里叶级数和BP神经网络结合 图8测试实验关节二的实际力矩和计算力矩 的方法对波动摩擦力矩进行建模.通过添加傅里叶 Fig.8 Actual and calculated torque in the test experiment 级数函数作为BP神经网络的辅助输入,克服了力 在图9中,可以看到在不同关节速度下,波动摩 矩误差曲线因存在高频波动而难以拟合的困难.通 擦力矩的幅值都有所不同,而修正后的力矩误差曲 过对神经网络进行离散训练,完成对波动摩擦力矩 线则基本不存在周期性波动.若使用文献[4]和文 的建模,并在原有的动力学模型中加入该波动摩擦 献[6-7]中恒定幅值的三角函数模型或傅里叶级数 力矩项,提高了模型的准确性和对关节力矩的计算
工程科学学报,第 41 卷,第 8 期 少这部分的误差. 比较修正前后的关节力矩误差: 修正前的原始力矩误差,其均值为 0郾 6229 N·m,方 差为 1郾 2476 N 2·m 2 ;修正后的力矩误差,均值为 - 0郾 0460 N·m,方差为 0郾 6628 N 2·m 2 . 如果忽略关节 转向改变时段,只对平稳运动的区域进行分析,则原 始力矩误差的均值为 0郾 6946 N·m,方差为 0郾 6846 N 2·m 2 . 修正后的力矩误差,其均值为 - 0郾 008618 N·m,而方差为 0郾 1659 N 2·m 2 ,是修正前的 24郾 23% . 修正后力矩误差有 98郾 80% 的时间都保持在[ - 1, 1] N·m 的范围内,且有 78郾 82% 保持在[ - 0郾 5, 0郾 5] N·m 的范围之内. 表 2 各轨迹点的三维坐标(单位:m) Table 2 Three鄄dimensional coordinates of each track point (unit: m) 示教点 X Y Z P1 0郾 3199 - 0郾 1666 0郾 06901 P2 0郾 3309 0郾 2487 0郾 04331 P3 0郾 2469 0郾 2080 0郾 09832 P4 0郾 3785 - 0郾 1641 0郾 04621 图 7 测试实验关节二的转角曲线和转速曲线 郾 ( a) 转角曲线; (b) 转速曲线 Fig. 7 Angle curve and speed curve of the experimental test: angle curve; (b) speed curve 图 8 测试实验关节二的实际力矩和计算力矩 Fig. 8 Actual and calculated torque in the test experiment 在图 9 中,可以看到在不同关节速度下,波动摩 擦力矩的幅值都有所不同,而修正后的力矩误差曲 线则基本不存在周期性波动. 若使用文献[4]和文 献[6鄄鄄7]中恒定幅值的三角函数模型或傅里叶级数 函数模型,将无法保证所有速度下的波动摩擦力矩 都能被有效修正. 此外,由于本文将关节的力矩误 差数据全部作为波动摩擦力矩进行建模,即式(5), 使得力矩误差中的其他建模误差成分也被当做波动 摩擦力矩并引入神经网络进行训练,如关节中重力 项力矩误差等. 这使与文献[5]的建模方法相比,本 文的神经网络模型不仅可以计算到关节的波动摩擦 力矩,同时也计算出其他可能存在的力矩误差. 这 可以解释在图 9 中,修正后的力矩误差曲线不仅没 有周期性波动的特性,同时其均值相比于修正前的 曲线也更加接近于零. 图 9 未修正和修正后的关节力矩误差 Fig. 9 Uncorrected and corrected joint torque error 图 10 图 9 的部分放大图 Fig. 10 Partial enlarged view of Figure 9 4 结论 (1)通过实验研究机器人谐波减速器关节中的 波动摩擦力矩,发现波动摩擦力矩除了与关节转角 存在周期性关系外,其波动摩擦力矩的幅值也会随 着关节转速的增加而减小. (2)提出采用傅里叶级数和 BP 神经网络结合 的方法对波动摩擦力矩进行建模. 通过添加傅里叶 级数函数作为 BP 神经网络的辅助输入,克服了力 矩误差曲线因存在高频波动而难以拟合的困难. 通 过对神经网络进行离散训练,完成对波动摩擦力矩 的建模,并在原有的动力学模型中加入该波动摩擦 力矩项,提高了模型的准确性和对关节力矩的计算 ·1090·
张铁等:基于BP神经网络的机器人波动摩擦力矩修正方法 ·1091· 精度. (刘俊.BP神经网路在多维非线性函数拟合中的应用.商洛 (3)神经网络验证实验表明:使用辨识得到的 学院学报,2014,28(6):19) 神经网络函数对原来的计算力矩进行补偿,可使修 [9]Lin Y F,Deng H M,Shi X Y.Application of BP neural network based on newly improved particle swarm optimization algorithm in 正后的力矩误差在机器人平稳运动时基本保持在 fitting nonlinear function.Comput Sci,2017,44(11A):51 [-1,1]Nm的范围内,且有78.82%的力矩误差 (林宇锋,邓洪敏,史兴宇.基于新的改进粒子群算法的B 可保持在[-0.5,0.5]Nm的范围之内.相比于修 神经网络在拟合非线性函数中的应用.计算机科学,2017,44 正前的关节力矩误差,修正后的力矩误差的方差为 (11A):51) 0.1659N2m2,是修正前的24.23%. [10]Wu W X,Zhu S Q,Jin X L.Dynamic identification for robot manipulators based on modified Fourier series.J Zhejiang Univ Eng Sci,2013,47(2):231 参考文献 (吴文祥,朱世强,靳兴来.基于改进傅里叶级数的机器人 动力学参数辨识.浙江大学学报:工学版,2013,47(2): [1]Iwatani M,Kikuuwe R.Some improvements in elastoplastic fric- 231) tion compensator.SICEJ Control Meas Syst Integration,2017,10 [11]Khalil W,Gautier M,Lemoine P.Identification of the payload (3):141 inertial parameters of industrial manipulators /Proceedings 2007 [2]De Luca A,Mattone R.Sensorless robot collision detection and IEEE International Conference on Robotics and Automation.Ro hybrid force/motion control /Proceedings of the 2005 IEEE Inter- ma,2007:4943 national Conference on Robotics and Automation.Barcelona, [12]Sousa C D,Cortesao R.Physical feasibility of robot base inertial 2005:999 parameter identification:a linear matrix inequality approach.Int [3]Haddadin S,De Luca A,Albu-Schaffer A.Robot collisions:A J Rob Res,2014,33(6):931 survey on detection,isolation,and identification.IEEE Trans [13]Xu F Y.Design method of filter for audio noise reduction based Rob,2017,33(6):1292 on application of Matlab.Audio Eng,2017,41(2):28 [4] Gandhi P S,Ghorbel F H,Dabney J.Modeling,identification, (徐帆云.基于Matlab的音频降噪滤波器设计.电声技术, and compensation of friction in hamonie drives//Proceedings of 2017,41(2):28) the 41st IEEE Conference on Decision Control.Las Vegas, [14]Yuan F.Comparison of several filtering methods based on MAT- 2002:160 LAB.Poncer Supply Technol Appl,2013(10):50 [5]Liao H B,Fan S X.Fan D P.Friction compensation of harmonic (远飞.基于MATLAB的几种滤波方法比较.电源技术应用, gear based on location relationship.Proc Inst Mech Eng Part IJ 2013(10):50) Syst Control Eng,2016,230(8):695 [15]Taghirad H D.Belanger PR.Modeling and parameter identifica- [6]Wu W X.Joint Friction Analysis and Low-speed Hight-precision tion of harmonic drive systems.J Dyn Syst Meas Control,1998 Motion Control of Multi-DOF Serial Robots Dissertation].Hang- 120(4):439 zhou:Zhejiang University,2013 [16]Gandhi P S.Modeling and Control of Nonlinear Transmission At- (吴文祥.多自由度串联机器人关节摩擦分析与低速高精度 tributes in Harmonic Drive Systems Dissertation].Houston:Rice 运动控制[学位论文].杭州:浙江大学,2013) University,2001 [7]Zhu SQ,Wu W X,Wang X Y,et al.Slow motion control of seri- [17]Ye H W,Yang L F,Liu X Z.Optimizing weight and threshold of al robots with harmonic drives considering friction compensation. BP neural network using SFLA:applications to nonlinear function Trans Chin Soc Agric Mach,2013,44(11):293 fitting /Fourth International Conference on Emerging Intelligent (朱世强,吴文祥,王宣银,等.考虑摩擦的谐波驱动机器人 Data and Web Technologies.Xi'an,2013:211 低速运动控制方法.农业机械学报.2013,44(11):293) [18]Liu S,Gang T Q.Adaptive back-stepping control of the harmonic [8]Liu J.The application of BP neural network in multidimensional drive system with LuGre model-based friction compensation.A/P nonlinear function.J Shangluo Unig,2014,28(6):19 Conf Proc,.2018,1944:020027-1
张 铁等: 基于 BP 神经网络的机器人波动摩擦力矩修正方法 精度. (3)神经网络验证实验表明:使用辨识得到的 神经网络函数对原来的计算力矩进行补偿,可使修 正后的力矩误差在机器人平稳运动时基本保持在 [ - 1,1] N·m 的范围内,且有 78郾 82% 的力矩误差 可保持在[ - 0郾 5,0郾 5] N·m 的范围之内. 相比于修 正前的关节力矩误差,修正后的力矩误差的方差为 0郾 1659 N 2·m 2 ,是修正前的 24郾 23% . 参 考 文 献 [1] Iwatani M, Kikuuwe R. Some improvements in elastoplastic fric鄄 tion compensator. SICE J Control Meas Syst Integration, 2017, 10 (3): 141 [2] De Luca A, Mattone R. Sensorless robot collision detection and hybrid force / motion control / / Proceedings of the 2005 IEEE Inter鄄 national Conference on Robotics and Automation. Barcelona, 2005: 999 [3] Haddadin S, De Luca A, Albu鄄Schaffer A. Robot collisions: A survey on detection, isolation, and identification. IEEE Trans Rob, 2017, 33(6): 1292 [4] Gandhi P S, Ghorbel F H, Dabney J. Modeling, identification, and compensation of friction in harmonic drives / / Proceedings of the 41st IEEE Conference on Decision & Control. Las Vegas, 2002: 160 [5] Liao H B, Fan S X, Fan D P. Friction compensation of harmonic gear based on location relationship. Proc Inst Mech Eng Part I J Syst Control Eng, 2016, 230(8): 695 [6] Wu W X. Joint Friction Analysis and Low鄄speed Hight鄄precision Motion Control of Multi鄄DOF Serial Robots [Dissertation]. Hang鄄 zhou: Zhejiang University, 2013 (吴文祥. 多自由度串联机器人关节摩擦分析与低速高精度 运动控制[学位论文]. 杭州: 浙江大学, 2013) [7] Zhu S Q, Wu W X, Wang X Y, et al. Slow motion control of seri鄄 al robots with harmonic drives considering friction compensation. Trans Chin Soc Agric Mach, 2013, 44(11): 293 (朱世强, 吴文祥, 王宣银, 等. 考虑摩擦的谐波驱动机器人 低速运动控制方法. 农业机械学报, 2013, 44(11): 293) [8] Liu J. The application of BP neural network in multidimensional nonlinear function. J Shangluo Univ, 2014, 28(6): 19 (刘俊. BP 神经网络在多维非线性函数拟合中的应用. 商洛 学院学报, 2014, 28(6): 19) [9] Lin Y F, Deng H M, Shi X Y. Application of BP neural network based on newly improved particle swarm optimization algorithm in fitting nonlinear function. Comput Sci, 2017, 44(11A): 51 (林宇锋, 邓洪敏, 史兴宇. 基于新的改进粒子群算法的 BP 神经网络在拟合非线性函数中的应用. 计算机科学, 2017, 44 (11A): 51) [10] Wu W X, Zhu S Q, Jin X L. Dynamic identification for robot manipulators based on modified Fourier series. J Zhejiang Univ Eng Sci, 2013, 47(2): 231 (吴文祥, 朱世强, 靳兴来. 基于改进傅里叶级数的机器人 动力学参数辨识. 浙江大学学报:工学版, 2013, 47 ( 2 ): 231) [11] Khalil W, Gautier M, Lemoine P. Identification of the payload inertial parameters of industrial manipulators / / Proceedings 2007 IEEE International Conference on Robotics and Automation. Ro鄄 ma, 2007: 4943 [12] Sousa C D, Cortes觔o R. Physical feasibility of robot base inertial parameter identification: a linear matrix inequality approach. Int J Rob Res, 2014, 33(6): 931 [13] Xu F Y. Design method of filter for audio noise reduction based on application of Matlab. Audio Eng, 2017, 41(2): 28 (徐帆云. 基于 Matlab 的音频降噪滤波器设计. 电声技术, 2017, 41(2): 28) [14] Yuan F. Comparison of several filtering methods based on MAT鄄 LAB. Power Supply Technol Appl, 2013(10): 50 (远飞. 基于 MATLAB 的几种滤波方法比较. 电源技术应用, 2013(10): 50) [15] Taghirad H D, Belanger P R. Modeling and parameter identifica鄄 tion of harmonic drive systems. J Dyn Syst Meas Control, 1998, 120(4): 439 [16] Gandhi P S. Modeling and Control of Nonlinear Transmission At鄄 tributes in Harmonic Drive Systems [Dissertation]. Houston: Rice University, 2001 [17] Ye H W, Yang L F, Liu X Z. Optimizing weight and threshold of BP neural network using SFLA: applications to nonlinear function fitting / / Fourth International Conference on Emerging Intelligent Data and Web Technologies. Xi蒺an, 2013: 211 [18] Liu S, Gang T Q. Adaptive back鄄stepping control of the harmonic drive system with LuGre model鄄based friction compensation. AIP Conf Proc, 2018, 1944: 020027鄄1 ·1091·