一种机器人抖动抑制方法与流程
本发明涉及一种机器人抖动抑制方法。
背景技术:
工业机器人由于减速机等柔性环节的存在,在定位时极易在末端甚至整个装置都发生抖动现象。在轨迹规划中,规划较为平缓的轨迹可以改善该现象,但是影响到了机器人的工作效率。输入整形法是为大家熟知的抑制柔性臂末端抖动的方法,但是该方法由于将指令进行了一定的延时处理,影响了机器人的工作效率。
由于在工业机器人中位置传感器一般用在电机侧,而不是负载侧,所以无法直接对负载端进行直接控制,产生末端位置偏差,易引起末端振动。所以有专利和文献提出通过一定的算法来估计负载位置,并用估算出的负载端信息做一些抖动抑制算法的处理。如采用观测器方法,实时观测负载转速和负载位置,并将观测结果直接作为补偿量,或者将观测到的负载位置和电机位置的差值作为补偿量,加入到伺服三环控制中,这些方法有一定抑制负载端抖动的作用,但是由于观测噪声和观测器滞后等问题,负载端的信息难以被准确估计,且改变了原来电机侧的控制结构,容易引起控制系统的不稳定。而本发明直接利用负载位置和电机位置之间的关系,以规划负载端的轨迹为目的,修正上位机发送给电机的指令,达到抖动抑制的目的。本发明不受实际系统的影响,只对电机侧的指令进行修正,未改变电机侧的控制结构,不会带来系统的不稳定问题。
还有部分文献为了消除系统中特定的抖动频率,利用陷波滤波器对电机指令进行滤波,该方法亦可以起到一定的抖动抑制目的,但是陷波滤波器的引入使得滤波后的指令存在一定的滞后。本发明虽然也对电机指令进行了一定的修正,但是不会带来指令滞后问题。
技术实现要素:
本发明的目的是,克服现有技术存在的缺陷,提出一种机器人抖动抑制方法,基于负载轨迹规划和前馈控制,解决机器人在动作停止时的末端抖动问题。
本发明的基本技术思路是:
对机器人各个关节进行分别控制,对于单个关节,将机器人柔性关节部分,用一个二质量系统间接代替。
本发明以控制负载端运动平滑无抖动为目的,根据二质量系统模型求解电机端修正后的位置指令和速度前馈。将求解的电机端修正后的位置指令作为电机端的新位置给定信号,将求解的电机端修正后的速度前馈作为电机端的新速度前馈。
对于每个关节来说,其动力学方程可以简化为:
其中,te、tl分别为电机电磁转矩、机械负载端负载转矩;
jm、jl分别为电机转动惯量、机械负载转动惯量;
jm(=n2jm)为从电机端折算到负载端的电机转动惯量;
θm、θm、θl分别为电机位置、从电机端折算到负载端的电机位置、机械负载位置;
ωm、ωm、ωl分别为电机转速、从电机端折算到负载端的电机转速、机械负载转速;
k0为联结部件刚度系数,c0为交叉耦合黏性阻尼系数;
n为减速机的减速比。
表示变量x的一阶微分。
表示变量x的二阶微分。
根据二质量系统的模型,负载位置θl和电机位置θm有如下关系:
由式(2)可知,由于系统是一个非刚性系统,电机端的位置和负载端的位置之间存在偏差。
设关节位置给定为θlref,则伺服执行机构收到的电机端位置给定为θmref=n*θlref,假定伺服执行机构能够很好的跟踪给定,则有电机的位置响应θmfdb=θmref=n*θlref。
根据式(2),则可以得到负载端的位置响应,如公式(3)所示:
负载端的关节位置响应并不符合预期,θlfdb与θlref之间存在偏差。
为了保证负载端的位置响应能够达到期望的轨迹,即为了保证负载端位置响应能够等于θlref。根据二质量系统模型,本发明对电机端的位置进行重新规划,规划后的位置给定由下式表示:
其中,ωz为负载端抖动的频率,
在(4)中,n*θlref为原位置给定信号,为加算在原位置给定信号中的补偿量。该补偿由三部分相乘得到,本发明中这三项分别进行以下三个方面的处理。
1、在实际工程实现中,n*θlrefs2需要将位置给定θlref进行两次微分。由于系统是离散化控制系统,二阶微分噪声较大。本发明利用上位机轨迹规划生成的加速度信号将算法进行了相应转化。在机器人控制领域,控制器轨迹规划输出为给定位置θlref、给定速度vlref、给定加速度alref。其中vlref=θlrefs,alref=θlrefs2。故可直接利用给定的加速度信号进行算法的实现,将θlrefs2用alref代替,避免将位置给定信号θlref进行二阶微分引入的噪声影响。
2、本发明中为一个低通滤波器替,其中滤波系数tf的理论值为c0/k0。改变tf的取值,相当于对二质量系统模型中的阻尼系数进行修正。故该滤波器在本发明中,称为阻尼修正单元。实际工程实现时,tf可根据用户需求进行调整,用于调整在算法使用过程中,当指令加速度较大时,伺服机构启停时过冲较大的问题。但是过分加大该参数,会影响抖动抑制效果。
3、本发明将部分视为补偿量计算单元,其中ωz为系统的抖动频率,由于机器人在不同姿态下对应的惯量不同,导致不同姿态下的抖动频率不一样。本发明采取的方案是,利用在线惯量辨识技术实时辨识单关节的负载惯量然后经过抖动抑制频率计算单元实时估算机器人的抖动频率将输入补偿量计算单元。
为了使伺服机构有一个更好的跟踪响应,本发明也考虑了伺服执行机构的速度前馈的实施。未使用抖动抑制算法时的速度前馈为vmff=n*vlref,使用抖动抑制算法时速度前馈被规划为:
在(5)中,n*vlref为原速度前馈信号,为加算在原速度前馈中的补偿量。为一个带滤波环节的微分器,其中滤波系数tf的理论值为c0/k0。该微分器在本发明中,称为带阻尼微分单元。
基于上述技术思路,本发明为了实现发明目的而提出的一种机器人抖动抑制方法,其步骤如下:
步骤一:将控制器轨迹规划的输出:给定位置θlref、给定速度vlref、给定加速度alref分别乘以减速比n得到原始电机端给定位置θmref,原始电机端速度前馈vmff,原始电机端给定加速度amref。所述原始电机端给定位置θmref,原始电机端速度前馈vmff,原始电机端给定加速度amref是指未进行抖动抑制处理的数据。
步骤二:通过惯量在线辨识,得到负载惯量估计值通过抖动抑制频率计算单元得到抖动频率估算值其中涉及的惯量在线辨识技术为现有公知技术。
步骤三:将原始电机端给定加速度amref经过阻尼修正单元得到电机端给定加速度滤波值af。阻尼修正单元为一个低通滤波器其中tf的默认设计值为cs/ks,其中cs为减速机的阻尼系数,ks为减速机的刚度系数。在实际工程运用中,可根据现场运用情况进行调整,若伺服机构启停时过冲较大,适当加大参数tf。
步骤四:将电机端给定加速度滤波值af,通过补偿量计算单元计算得到电机端给定位置补偿量θmrcmp,补偿量计算单元为抖动频率估算值的平方的倒数。
步骤五:将电机端给定位置补偿量θmrcmp补偿到原始电机端给定位置θmref中,得到新的电机端位置给定信号θ′mref,再下发到伺服执行机构中。
步骤六:将原始电机端给定加速度amref经过带阻尼微分单元得到电机端给定加加速滤波值jf。带阻尼微分单元为一个含滤波的微分器其中tf的取值同步骤三中的tf取值。
步骤七:将电机端给定加加速滤波值jf通过补偿量计算单元计算得到电机端速度前馈补偿量vmfcmp,补偿量计算单元为抖动频率估算值的平方的倒数。
步骤八:将电机端速度前馈补偿量vmfcmp补偿到原始电机端速度前馈vmff中,乘以速度前馈补偿系数kvff,得到新的电机端速度前馈v′mff,再下发到伺服执行机构中。
本发明方法,在不影响机器人工作效率的前提下抑制机器人的末端抖动,易于工程实现且安全稳定的控制。本发明从上位机发送给电机的指令出发,以规划负载端的轨迹为目的,优化原上位机的规划轨迹,来达到抑制机器人末端抖动的目的。同时,为了防止在算法实施过程中二阶微分的噪声影响,本发明利用上位机轨迹规划生成的加速度信号来实现对位置指令的调整。当轨迹加速度较大时,为了减小算法在实施过程中启停时的过冲问题,本发明在加速度输出环节设计了阻尼修正单元,用户可通过调整阻尼修正单元中滤波系数进行补偿量的调整。
附图说明
图1是机器人单关节二质量系统模型。
图2是机器人单关节二质量系统频域框图。
图3是本发明机器人抖动抑制方法控制框图。
图4是实施本发明方法时的给定关节位置、关节速度和关节加速度。
图5是未使用本发明方法的关节位置响应。
图6是使用本发明方法的关节位置响应。
具体实施方式
下面结合附图和实施例,对本发明作进一步详细说明。
实施例
本发明实施以一种六关节串联工业机器人为例。对该机器人各个关节进行分别控制,分别在各个关节使用本发明的抖动抑制方法。为简化说明抖动抑制效果,以6个关节中的第一关节为例,该机器人关节采用谐波减速机为传动机构。减速机的减速比为121,刚度系数为87×104nm/rad,阻尼系数为15nm/(rad/s)。
以机器人连续工作过程中的一段路径为例,该路径为图4中的a到b,该动作路径规划为,机器人第一关节在0.8s内,从-14.836°运动到7.320°,原始给定的关节位置、关节速度、关节加速度如图4所示。
步骤一:将控制器轨迹规划的输出:给定关节位置θlref、给定关节速度vlref、给定关节加速度alref,分别乘以减速比n得到未使用算法前的原始电机端给定位置θmref,原始电机端速度前馈vmff,原始电机端给定加速度amref。
步骤二:在机器人运动过程中,利用惯量在线辨识技术,得到负载惯量估计值通过抖动抑制频率计算单元得到抖动频率估算值其中涉及的惯量辨识技术不为本发明内容。本例中在机器人停止时,第一关节的负载惯量辨识值为202kgm2,在停止时刻抖动抑制单元抖动频率估算值为65.6rad/s,(换算成hz单位,为10.4hz)。
步骤三:将原始电机端给定加速度amref经过阻尼修正单元得到电机端给定加速度滤波值af。阻尼修正单元为一个低通滤波器其中tf的默认设计值为cs/ks,其中cs为减速机的阻尼系数,ks为减速机的刚度系数。在实际工程运用中,可根据现场运用情况进行调整,若伺服机构启停时过冲较大,适当加大参数tf。本例中默认tf的值为1.7×10-5。
步骤四:将电机端给定加速度滤波值af,通过补偿量计算单元计算得到电机端给定位置补偿量θmrcmp,补偿量计算单元为抖动频率估算值的平方的倒数。
步骤五:将电机端给定位置补偿量θmrcmp补偿到原始电机端给定位置θmref中,得到新的电机端位置给定信号θ′mref,再下发到伺服执行机构中。
步骤六:将原始电机端给定加速度amref经过带阻尼微分单元得到电机端给定加加速滤波值jf。带阻尼微分单元为一个含滤波的微分器其中tf的取值同步骤三中的tf取值。
步骤七:将电机端给定加加速滤波值jf通过补偿量计算单元计算得到电机端速度前馈补偿量vmfcmp,补偿量计算单元为抖动频率估算值的平方的倒数。
步骤八:将电机端速度前馈补偿量vmfcmp补偿到原始电机端速度前馈vmff中,乘以速度前馈补偿系数kvff,得到新的电机端速度前馈v′mff,再下发到伺服执行机构中。
本发明实施结果如图5和图6所示,图5为不使用本发明控制算法时的关节响应位置,在到位时关节端位置有0.024°左右的抖动。图6为使用本发明控制算法时的关节位置响应,在到位时关节端位置的抖动在0.006°以内。对比图5和图6的关节位置响应,利用本发明方法可有效了抑制机器人关节负载端的抖动。
电机异常抖动怎么办库卡机器人伺服电机抖动解决措施
一、原因分析:
1,为什么会抖?就是低速时候,阻力与驱动的不匹配,速度低了,临近‘动静之间’的时候,系统的阻力系数是变来变去的,不恒定,而低速时候,电机的力矩特性也不稳定,两者叠加,就难以处理,
2,低速,要求更高级的部件,比如导轨,比如电机,都需要性能更好的设备。抖动的原因可能是部件设备性能跟不上,因此,建议更换更高级更好的部件设备。
3,专业系统,都有专门实验室,针对不同速度,实验一个‘稳定值’,需要掌握这些数据才能知道那个系统为什么抖动了。
二、解决方案:
一般来说机器人1轴在水平伸展极限位置时启动停止时最容易抖动。因为这时候机器人刚度最低,转动惯量最大,一阶共振频率低
可以从软件参数控制、伺服参数PID调节和振动抑制、机械刚度等方面整的,可以降低抖动。