针对拖动示教的协作机器人摩擦力矩补偿方法
技术领域
本发明涉及协作机器人技术领域,尤其涉及一种针对拖动示教的协作机器人摩擦力矩补偿方法。
背景技术
随着工业机器人技术的日益成熟和应用的不断普及,对人机协作要求越来越高。传统的示教方式主要依赖于示教器,工作效率较低,对操作人员知识水平要求较高。而采用直接力矩控制的拖动示教技术可以帮助操作人员将机器人末端操作器直接拖动到任意期望位置,大大降低了对操作人员的要求,提高了工作效率。
拖动示教技术要求机器人各连杆处于或接近零外力静止悬浮状态。此时,机械臂各关节位置几乎保持恒定,故而机器人各连杆的惯性力矩、科氏和离心力矩都接近于零,机械臂各关节的输出转矩接近完美地抵消了机械臂各连杆的自身重力矩和关节摩擦力矩。当机器人处于零外力静止悬浮状态时,很小的外作用力就可以将机器人本体拖动到工作空间内的任意位姿。
机器人各连杆的重力矩跟各关节位置相关,它们可以经由简单的计算求得。然而,摩擦力矩由于受到机器人关节位姿,关节速度、负载大小和温度等很多因素的影响,很难通过实验直接测量。如何测量或估计机器人关节摩擦力矩已经成为了协作机器人研发过程中的瓶颈问题,不解决这个问题,协作机器人性能就不可能有质的提高。
理论上,协作机器人关节摩擦力矩可以用系统辨识的方法间接求得,但这种方法理论艰深,步骤繁琐,成本很高,需要海量的实验数据,并且需要实验人员具有极强的对实验数据进行综合分析的能力,不便于工程应用。
发明内容
本发明所要解决的技术问题是:提供一种简单实用的协作机器人摩擦力矩补偿方法。
本发明是通过以下技术方案解决上述技术问题的:针对拖动示教的协作机器人摩擦力矩补偿方法,包括以下步骤:
步骤一,针对多轴协作机器人,依次对需要进行摩擦力矩补偿的关节进行单独测试;
在关节位置空间内等间隔选取多个测试角度,在关节速度空间内等间隔选取多个测试速度;
步骤二,从最小的测试速度开始测试,每个测试速度关节在位置空间内往复转动一定次数,每次往复转动间隔一定时间;
依照上述方法遍历关节速度空间内的所有测试速度,记录下关节位置、速度和电流数据;
步骤三,选取每个测试速度的中间若干次往复运动的数据做处理,在每个测试角度,分别将顺时针转动和逆时针转动时的关节电枢电流数据取平均,得到每个测试角度顺时针转动和逆时针转动时的关节电枢电流值I-和I+;
步骤四,关节在匀速转动时所需要的电枢电流为
其中I
g为补偿重力矩所需要的电枢电流,
为补偿摩擦力矩所需要的电枢电流,I
f为正数;
以逆时针方向为正,逆时针转动时所需要的电枢电流为I+=Ig+If,顺时针转动时所需要的电枢电流为I-=Ig-If。
假设顺时针转动和逆时针转动时的摩擦力矩相同,则在所测试的关节角度下,If=(I+-I-)/2,Ig=(I++I-)/2;
步骤五,在所测试的关节角度下,将机器人各连杆相对于各关节的重力矩G(q)建模并计算出结果;
假设某一个关节电机转矩常数为Kt,该关节的减速比为n,那么重力矩对应的关节电枢电流Ig=G(q)/(Kt·n);
步骤六,在所选取的测试速度下,以I
g为自变量,I
f为因变量,用二次曲线进行拟合,得到两者之间的关系
由于在不同测试速度下拟合得到的I
f和I
g二次曲线系数不同,故对不同测试速度下的系数进行拟合,得到
作为优化的技术方案,步骤二中,每个测试速度关节在位置空间内往复转动10次,每次往复转动时间间隔为5秒。
作为优化的技术方案,步骤二中,转动关节时,关节先加速运动,达到测试速度,然后以测试速度匀速运动,最后减速到0。
作为优化的技术方案,步骤三中,选取每个测试速度的中间6次往复运动的数据做处理。
作为优化的技术方案,还包括以下步骤:步骤七,在步骤四中,假设了顺时针转动和逆时针转动时的摩擦力矩相同,为此,将摩擦力矩对应的电枢电流写为λIf,其中λ为调节系数,通过对实际机器人的零力控制进行测试,调节系数λ。
作为优化的技术方案,还包括以下步骤:步骤八,将符号函数取值如下:当
时,
当
时,
否则,
这里σ为正实数,具体取值根据速度信号噪声大小决定。
本发明的优点在于:本发明针对协作机器人的拖动示教功能,提出了一种简单可靠的摩擦力矩估计方法,跟系统辨识方法相比,此方法原理简单,操作步骤简单直接,不需要大量的实验数据,不易出错;不需要昂贵的实验设备,成本低廉;使用这种方法,机器人关节摩擦力矩的补偿变得不再艰难,拖动外力比无摩擦力矩补偿时有了显著减小;大量的实验结果表明,此方法效果显著,非常适合工程应用。
附图说明
图1是本发明针对拖动示教的协作机器人摩擦力矩补偿方法应用于实施例中的摩擦力矩补偿电流If和重力矩补偿电流Ig之间的关系函数图。
具体实施方式
针对拖动示教的协作机器人摩擦力矩补偿方法,包括以下步骤:
步骤一,针对多轴协作机器人,依次对需要进行摩擦力矩补偿的关节进行单独测试。
在关节位置空间内等间隔选取多个测试角度,在关节速度空间内等间隔选取多个测试速度,关节速度空间的范围根据实际拖动示教速度范围选取。
步骤二,从最小的测试速度开始测试,每个测试速度关节在位置空间内往复转动10次,每次往复转动时间间隔为5秒。
转动关节时,关节先加速运动,达到测试速度,然后以测试速度匀速运动,最后减速到0。
关节运动经过所有测试角度,且在每个测试角度都处于匀速运动段。
依照上述方法遍历关节速度空间内的所有测试速度,记录下关节位置、速度和电流数据。
步骤三,选取每个测试速度的中间6次往复运动的数据做处理,在每个测试角度,分别将顺时针转动和逆时针转动时的关节电枢电流数据取平均,得到每个测试角度顺时针转动和逆时针转动时的关节电枢电流值I-和I+。
步骤四,关节在匀速转动时所需要的电枢电流为
其中I
g为补偿重力矩所需要的电枢电流,
为补偿摩擦力矩所需要的电枢电流,I
f为正数。
以逆时针方向为正,逆时针转动时所需要的电枢电流为I+=Ig+If,顺时针转动时所需要的电枢电流为I-=Ig-If。
假设顺时针转动和逆时针转动时的摩擦力矩相同,则在所测试的关节角度下,If=(I+-I-)/2,Ig=(I++I-)/2。
在实际应用中,我们只利用I+和I-求得If,而不用它们来估算Ig,因为Ig可以通过更为系统化的方法求得。
步骤五,在所测试的关节角度下,将机器人各连杆相对于各关节的重力矩G(q)建模并计算出结果。
假设某一个关节电机转矩常数为Kt,该关节的减速比为n,那么重力矩对应的关节电枢电流Ig=G(q)/(Kt·n)。
步骤六,在所选取的测试速度下,以I
g为自变量,I
f为因变量,用二次曲线进行拟合,得到两者之间的关系
由于在不同测试速度下拟合得到的I
f和I
g二次曲线系数不同,故对不同测试速度下的系数进行拟合,得到
注意重力矩对应的电枢电流I
g只与关节位置q有关,而与关节速度
无关,关节摩擦力矩对应的电枢电流与关节位置q和关节速度
都有关系。
步骤七,在步骤四中,假设了顺时针转动和逆时针转动时的摩擦力矩相同,为此,将摩擦力矩对应的电枢电流写为λIf,其中λ为调节系数,通过对实际机器人的零力控制进行测试,小幅度调节系数λ,使得零力控制达到较为理想的状态。
步骤八,由于实际的速度信号有一定的噪声,如果用传统符号函数的定义,可能会出现在速度较小时,符号函数的值在正负之间反复跳变,导致摩擦力矩补偿不准确,故这里将符号函数取值如下:当
时,
当
时,
否则,
这里σ为正实数,具体取值根据速度信号噪声大小决定。
按上述步骤,在自行研制的六轴协作机器人上进行了多次实验验证。
这里给出了特定转速下,在自行研制的六轴协作机器人的第二个关节上的测试结果,如图1所示,摩擦力矩补偿电流I
f和重力矩补偿电流I
g之间的关系为
本发明的关键点是建立起机器人连杆重力矩和机器人关节摩擦力矩之间的数学联系,通过机器人连杆重力矩对应的关节电枢电流估算机器人关节摩擦力矩对应的关节电枢电流。为了建立起这个联系,分析了大量的机器人连杆重力矩数据和机器人关节摩擦力矩数据,考虑一定范围内速度变化对摩擦力矩的影响,并测试了不同的拟合曲线,最终得到了十分满意的结果。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。