本发明涉及机器人技术领域,特别是涉及一种关节摩擦力力矩补偿方法、装置及机器人。
背景技术:
机器人的广泛应用,为工业生产带来了极大的便利,在工业生产中应用机器人时,通常会先采用机器人示教技术对机器人进行拖动示教,以使得机器人能够在复杂的工作场景下完成工作任务,有效的提高工作质量以及工作效率。
在拖动示教的过程中,由于机器人的机械臂受到重力影响,以及连接该机械臂的关节受到摩擦力的影响,使得对机器人的拖动比较困难,因此,需要对机器人关节进行重力力矩和摩擦力力矩补偿,以使得操作者能够轻松的拖动机器人进行拖动示教。
然而,在现有技术中,并未考虑关节运动速度对关节摩擦力力矩的影响,例如,关节运动速度越高,关节的温度越高,关节处的润滑油等流体的粘度越小等对关节摩擦力力矩的补偿都会有较大影响。因此,如何在关节在不同运动速度时进行更准确的摩擦力力矩补偿,成为亟待解决的问题。
技术实现要素:
本发明实施例的目的在于提供一种关节摩擦力力矩补偿方法、装置及机器人,以实现在关节处于不同运动速度时,采用不同的摩擦力力矩对关节进行摩擦力力矩补偿,提高对关节进行摩擦力力矩补偿的准确度。具体技术方案如下:
第一方面,本发明实施例提供了一种关节摩擦力力矩补偿方法,应用于机器人,机器人包括多个关节,各个关节分别安装有电机;该方法包括:
获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,其中,待补偿关节为多个关节中的任一关节;
基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
可选的,各个关节处还分别安装有温度传感器,获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,包括:
获取待补偿关节处的角速度和温度;
基于角速度和温度,采用与温度对应的摩擦力力矩模型,计算待补偿关节处的摩擦力力矩的补偿电流。
可选的,基于角速度和温度,采用与温度对应的摩擦力力矩模型,计算待补偿关节处的摩擦力力矩的补偿电流,包括:
在温度t小于预设第一温度阈值t1时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
在温度t大于或等于预设第一温度阈值t1,且小于预设第二温度阈值t2时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
在温度t大于或等于预设第二温度阈值t2时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
其中,j为待补偿关节的转动惯量,α为待补偿关节的角加速度,tc为库伦摩擦系数,
可选的,获取摩擦力力矩模型中的待补偿关节的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
获取不同测试温度时待补偿关节的测试角速度、测试角加速度以及对待补偿关节进行补偿的测试补偿电流,其中,每个测试温度对应一个测试角速度、一个测试角加速度以及一个测试补偿电流;
基于多个测试温度以及对应的测试角速度、测试角加速度以及测试补偿电流,采用公式(4):
计算摩擦力力矩模型中的待补偿关节的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
可选的,各个关节处还分别安装有角度传感器,在获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流之前,该关节摩擦力力矩补偿方法,还包括:
获取待补偿关节的角度传感器在两个连续采样周期采集的两个角度值;
判断两个角度值的差值是否大于或等于预设角度改变阈值;
在两个角度值的差值大于或等于预设角度改变阈值时,执行获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流的步骤;
在两个角度值的差值小于预设角度改变阈值时,获取预设的震荡激励电流值,并控制待补偿关节的电机采用预设的震荡激励电流值,对待补偿关节进行电流激励。
可选的,在基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流之前,该关节摩擦力力矩补偿方法还包括:
基于角速度
计算与角速度
可选的,基于角速度
在角速度的绝对值
判断角加速度是否小于预设角加速度阈值;
在角加速度小于预设角加速度阈值时,基于角速度
计算与角速度
在角加速度大于或等于预设角加速度阈值时,确定与角速度对应的摩擦力力矩补偿系数为1。
第二方面,本发明实施例还提供了一种关节摩擦力力矩补偿装置,应用于机器人,机器人包括多个关节,各个关节处分别安装有电机;该装置包括:
获取模块,用于获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,其中,待补偿关节为多个关节中的任一关节;
补偿电流调整模块,用于基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
控制模块,用于控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
可选的,各个关节处还分别安装有温度传感器,获取模块,具体用于:
获取待补偿关节处的角速度和温度;基于角速度和温度,采用与温度对应的摩擦力力矩模型,计算待补偿关节处的摩擦力力矩的补偿电流。
可选的,获取模块,具体用于:
在温度t小于预设第一温度阈值t1时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
在温度t大于或等于预设第一温度阈值t1,且小于预设第二温度阈值t2时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
在温度t大于或等于预设第二温度阈值t2时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
其中,j为待补偿关节的转动惯量,α为待补偿关节的角加速度,tc为库伦摩擦系数,
可选的,该摩擦力力矩补偿装置还包括:
测试数据获取模块,用于获取不同测试温度时待补偿关节的测试角速度、测试角加速度以及对待补偿关节进行补偿的测试补偿电流,其中,每个测试温度对应一个测试角速度、一个测试角加速度以及一个测试补偿电流;
参数计算模块,用于基于多个测试温度以及对应的测试角速度、测试角加速度以及测试补偿电流,采用公式(4):
计算摩擦力力矩模型中的待补偿关节的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
可选的,各个关节处还分别安装有角度传感器,该摩擦力力矩补偿装置还包括:
角度值模块,用于获取待补偿关节的角度传感器在两个连续采样周期采集的两个角度值;
角度值判断模块,用于判断两个角度值的差值是否大于或等于预设角度改变阈值;在两个角度值的差值大于或等于预设角度改变阈值时,触发获取模块,在两个角度值的差值小于预设角度改变阈值时,触发震荡激励模块;
震荡激励模块,用于获取预设的震荡激励电流值,并控制待补偿关节的电机采用预设的震荡激励电流值,对待补偿关节进行电流激励。
可选的,该关节摩擦力力矩补偿装置,还包括:
补偿系数计算模块,用于基于角速度
计算与角速度
可选的,该关节摩擦力力矩补偿装置,还包括:
角加速度获取模块,用于在角速度的绝对值
角加速度判断模块,用于判断角加速度是否小于预设角加速度阈值;在角加速度小于预设角加速度阈值时,触发补偿系数计算模块;在角加速度大于或等于预设角加速度阈值时,确定与角速度对应的摩擦力力矩补偿系数为1。
第三方面,本发明实施例还提供了一种机器人,该机器人包括:处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使:实现上述第一方面的方法步骤。
本发明实施例提供的一种关节摩擦力力矩补偿方法、装置及机器人,可以先获取获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,然后基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;最后控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。这样,可以使得该待补偿关节在不同的运动速度时,可以采用不同的补偿电流对该待补偿关节进行摩擦力力矩补偿,从而避免采用相同的补偿电流对不同运动速度的待补偿关节进行摩擦力力矩补偿,提高对关节进行摩擦力力矩补偿的准确度,进而提高对机器人的操作灵活性。当然,实施本发明的任一产品或方法并不一定需要同时达到上述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种关节摩擦力力矩补偿方法第一种实施方式的流程图;
图2为本发明实施例的一种关节摩擦力力矩补偿方法第二种实施方式的流程图;
图3为本发明实施例的一种关节摩擦力力矩补偿方法第三种实施方式的流程图;
图4为本发明实施例的一种关节摩擦力力矩补偿方法第四种实施方式的流程图;
图5a为本发明实施例的一种关节摩擦力力矩补偿方法中关节在25℃时的实际补偿电流与计算得到的补偿电流对比图;
图5b为本发明实施例的一种关节摩擦力力矩补偿方法中关节在35℃时的实际补偿电流与计算得到的补偿电流对比图;
图5c为本发明实施例的一种关节摩擦力力矩补偿方法中关节在40℃时的实际补偿电流与计算得到的补偿电流对比图;
图6为采用本发明实施例的一种关节摩擦力力矩补偿方法进行拖动示教时的时间-关节角度曲线图;
图7为本发明实施例的一种关节摩擦力力矩补偿装置的结构示意图;
图8为本发明实施例的一种机器人的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术存在的问题,本发明实施例提供了一种关节摩擦力力矩补偿方法、装置及机器人,以实现在关节处于不同运动速度时,采用不同的摩擦力力矩对关节进行摩擦力力矩补偿,提高对关节进行摩擦力力矩补偿的准确度。
下面,首先对本发明实施例的一种关节摩擦力力矩补偿方法进行介绍,如图1所示,为本发明实施例的一种关节摩擦力力矩补偿方法第一种实施方式的流程图,该方法可以应用于机器人,该机器人包括多个关节,各个关节分别安装有电机。参见图1,该方法可以包括:
s110,获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,其中,待补偿关节为多个关节中的任一关节;
s120,基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
s130,控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
在一些示例中,在拖动示教过程中,也即,在机器人启动后,机器人的关节的速度往往会随着工作人员拖动速度的改变而改变,例如,机器人的关节的速度随工作人员拖动速度的增加而增加,机器人的关节的速度随工作人员拖动速度的减小而减小等。
因此,在改变机器人的关节的运动速度时,可以通过电机转速的改变来获取到该关节的角速度的改变,则可以将改变运动速度的至少一个关节中的任一个关节作为待补偿关节。
在又一些示例中,当该电机为该待补偿关节进行摩擦力力矩补偿时,通常会为该电机输入补偿电流,因此,可以获取到为该待补偿关节的电机输入的补偿电流。
在获取到角速度和补偿电流后,为了对该待补偿关节进行合适的摩擦力力矩补偿,可以对该补偿电流进行调节,然后采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
在一些示例中,待补偿关节的摩擦力力矩补偿系数通常是与该待补偿关节的运动速度是有关系的,因此,为了对该补偿电流进行合适的调整,可以基于该待补偿关节的角速度,采用与该角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流。
在一些示例中,该与待补偿关节的角速度对应的摩擦力力矩补偿系数可以是根据经验预先设置的系数,例如,可以分别为不同的角速度设置不同的摩擦力力矩补偿系数,这也是可以的。
在一些示例中,与该待补偿关节的角速度对应的摩擦力力矩补偿系数可以是预先设置好的,也可以是基于该待补偿关节的角速度计算得到的,例如,可以基于角速度
计算与角速度
其中,comin为预设最小摩擦力力矩补偿系数,
在一些示例中,当角速度的绝对值
当角速度的绝对值
来计算该待补偿关节的摩擦力力矩补偿系数co。
此时,该待补偿关节的摩擦力力矩补偿系数co的大小与该待补偿关节的角速度相关。从而可以实现随着该待补偿关节的角速度的改变而改变该待补偿关节的摩擦力力矩补偿系数。
当角速度的绝对值
在又一些示例中,当该待补偿关节进行换向时,换向前后该待补偿关节的角速度也往往比较小,因此,为了准确识别该待补偿关节是由运动状态改变为静止状态还是该待补偿关节是被工作人员拖动换向。在角速度的绝对值
在角加速度小于预设角加速度阈值时,可以说明该待补偿关节即将由运动状态改变为静止状态,不是进行换向,因此,可以对摩擦力力矩进行部分补偿,此时的摩擦力力矩补偿系数可以是comin。
在角加速度大于或等于预设角加速度阈值时,则可以说明该待补偿关节的加速度比较大,从而可以确定该待补偿关节是在进行换向,需要对该待补偿关节的摩擦力力矩进行完全补偿,因此,可以确定与角速度对应的摩擦力力矩补偿系数为1。
在一些示例中,该预先设置的角加速度阈值可以是预先根据经验设置的阈值,例如,该预先设置的角加速度阈值可以是1°/s2。
这样,可以在角速度的绝对值
在一些示例中,该预设最小摩擦力力矩补偿系数comin、预设最大停止角速度阈值
在又一些示例中,为了确定该待补偿关节是否改变为停止状态,可以设置一个角速度停止值
在又一些示例中,该待补偿关节通常是先处于静止状态,然后由工作人员进行拖动,从而由静止状态改变为运动状态,当该待补偿关节处于静止状态,为了使得该待补偿关节容易启动,使得工作人员使用较小的力量便可以拖动该待补偿关节,则可以对该待补偿关节的电机施加一个震荡激励电流。对此,上述的机器人可以获取预设的震荡激励电流值,然后控制待补偿关节的电机采用预设的震荡激励电流值,对待补偿关节进行电流激励。
在一些示例中,该震荡激励电流可以是正弦激励电流,该正弦激励电流的公式为:i=a1sin(2πft'),其中a1代表震荡激励电流的幅值,f代表震荡激励电流的频率,t'为时间。例如,该震荡激励电流的幅值a1可以是0.15a,震荡激励电流的频率f可以是10hz。
通过使用震荡激励电流不断地对机器人的待补偿关节进行扰动,使该待补偿关节处于不稳定状态,此时,当工作人员对该待补偿关节施加较小的外力后,该待补偿关节便可以产生角速度。
可以理解的是,震荡激励电流的幅值和频率可以结合实际情况进行调整。这也是可以的。
经过研究和实验表明,震荡激励电流的幅值影响待补偿关节的灵敏度。即在一定范围内,震荡激励电流的幅值越大,产生相同的微小位移所需的外力越小。震荡激励电流的频率影响操作灵敏度,即在一定范围内,震荡激励电流的频率越高,机器人能够更加灵敏的捕捉工作人员的启动意图。
在一些示例中,为了使得该机器人能够准确的判断工作人员是否对待补偿关节进行启动,可以对该待补偿关节设置一个角度改变阈值,然后该机器人可以在两个采样周期内,分别采集该待补偿关节的角度值,也即,在一个采集周期中采集一个该待补偿关节的角度值,然后在该采集周期的下一个采集周期内再采集一个该待补偿关节的角度值,然后计算该两个周期采集到的待补偿关机的角度值的差值,然后将计算得到的差值与该预设的角度改变阈值进行比较,在一些示例中,该角度改变阈值可以是0.02°。
当计算得到的差值大于该预设的角度改变阈值时,则可以说明该机器人的待补偿关节已经被工作人员拖动,此时,可以控制该待补偿关节的电机进行摩擦力力矩补偿,也即执行步骤s110。
在计算得到的差值小于预设角度改变阈值时,则可以说明该待补偿关节还未被工作人员拖动,则可以获取预设的震荡激励电流值,并控制待补偿关节的电机采用预设的震荡激励电流值,对待补偿关节进行电流激励。
可以理解的是,该两个采样周期内分别采集的角度值可以是由该待补偿关节处安装的角度传感器进行采集的。
本发明实施例提供的一种关节摩擦力力矩补偿方法,可以先获取获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,然后基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;最后控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。这样,可以使得该待补偿关节在不同的运动速度时,可以采用不同的补偿电流对该待补偿关节进行摩擦力力矩补偿,从而避免采用相同的补偿电流对不同运动速度的待补偿关节进行摩擦力力矩补偿,提高对关节进行摩擦力力矩补偿的准确度,进而提高对机器人的操作灵活性。
在一些示例中,上述的机器人的各个关节处还分别安装有温度传感器,对此,在图1所示的一种摩擦力力矩补偿方法的基础上,本发明实施例还提供了一种可能的实现方式如图2所示,为本发明实施例的一种摩擦力力矩补偿方法第二种实施方式的流程图,该方法可以包括:
s210,获取待补偿关节处的角速度和温度;其中,待补偿关节为多个关节中的任一关节;
s220,基于角速度和温度,采用与温度对应的摩擦力力矩模型,计算待补偿关节处的摩擦力力矩的补偿电流。
s230,基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
s240,控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
在一些示例中,上述的补偿电流可以是直接从该机器人的待补偿关节的电机上获取到的,也可以是通过计算得到的。为了提高本发明实施例的对待补偿关节的补偿电流的调整的准确度,这里通过计算来获取补偿电流。
具体的,上述的机器人可以获取待补偿关节处的角速度和温度,然后基于角速度和温度,采用与温度对应的摩擦力力矩模型,计算待补偿关节处的摩擦力力矩的补偿电流。
在一些示例中,当待补偿关节处的温度不同时,待补偿关节处的摩擦力也会不同,因此,补偿摩擦力力矩的补偿电流也会不同,因此,可以基于角速度和温度,采用与温度对应的摩擦力力矩模型,来计算待补偿关节处的摩擦力力矩的补偿电流。
在又一些示例中,该与温度对应的摩擦力力矩模型可以是预先设置好的,不同的温度对应不同的摩擦力力矩模型,或者不同阶段的温度对应不同的摩擦力力矩模型。
例如,在温度t小于预设第一温度阈值t1时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
又例如,在温度t大于或等于预设第一温度阈值t1,且小于预设第二温度阈值t2时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
再例如,在温度t大于或等于预设第二温度阈值t2时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
其中,j为待补偿关节的转动惯量,α为待补偿关节的角加速度,tc为库伦摩擦系数,
可以理解的是,这里的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
通过本发明实施例,可以使得得到的补偿电流更加准确,因此,调整后的补偿电流也更准确。从而使得可以对待补偿关节的摩擦力力矩进行更准确的补偿。
可以理解的是,本发明实施例中的步骤s230~s240与上述的第一种实施方式中的步骤s120~s130相同或相似,这里不再赘述。
在一些示例中,上述的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
s310,获取不同测试温度时待补偿关节的测试角速度、测试角加速度以及对待补偿关节进行补偿的测试补偿电流,其中,每个测试温度对应一个测试角速度、一个测试角加速度以及一个测试补偿电流;
s320,基于多个测试温度以及对应的测试角速度、测试角加速度以及测试补偿电流,采用公式(4):
计算摩擦力力矩模型中的待补偿关节的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
s330,获取待补偿关节处的角速度和温度;其中,待补偿关节为多个关节中的任一关节;
s340,基于角速度和温度,采用与温度对应的摩擦力力矩模型,计算待补偿关节处的摩擦力力矩的补偿电流。
s350,基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
s360,控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
在一些示例中,在对待补偿关节的补偿电流进行调整前,可以先计算该与温度对应的摩擦力力矩模型中的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
对此,可以在该待补偿关节启动后,可以控制该待补偿关节的电机以正弦激励速度进行运行。其中,该正弦激励速度可以为
在又一些示例中,在采集一个测试温度时,可以同时采集测试角速度、测试角加速度,也即采集同一时刻的测试温度、测试角速度、测试角加速度。还可以获取同一时刻的测试补偿电流。
在又一些示例中,由于该角加速度传感器采集的测试角加速度有较大的误差,为了降低角加速度的误差,这里可以对测试角速度进行一阶求导,从而可以得到该测试角速度同一时刻的角加速度,用理论测试角加速度代替实际采集得到的角加速度。例如,可以对上述的正弦激励速度可以为
可以理解的是,当该待补偿关节的电机进行正反转运动时,该待补偿关节处的温度会逐步升高,因此,可以在该待补偿关节处的温度处于不同温度的时刻,同时采集该待补偿关节处的测试角速度以及获取待补偿关节进行摩擦力力矩补偿的测试补偿电流。这样,便可以得到多组测试数据,其中,每一组数据中,一个测试温度对应一个测试角速度、一个测试角加速度以及一个测试补偿电流。例如,采集得到的数据可以是表1所示的2万组测试数据。
表1测试数据表
在得到上述的测试数据后,可以基于该测试数据,采用公式(4)便可以计算得到该摩擦力力矩模型中的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
表2待补偿关节的摩擦力力矩模型中的各参数的参数值
可以理解的是,这里的2万组数据仅仅只是示例性的说明,在计算该待补偿关节的摩擦力力矩模型中的各参数的参数值时,还可以采用更多组的数据或者更少组的数据进行计算,例如采用1000组数据或者采用10万组数据,这都是可以的。
通过本发明实施例来计算得到该待补偿关节的摩擦力力矩模型中的各个参数,可以使得该待补偿关节的摩擦力力矩模型更适用于该待补偿关节,从而可以提高计算补偿电流的准确度,进而可以提高对补偿电流进行调整的准确的,使得采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿时更准确。
可以理解的是,本发明实施例中的步骤s330~s360,与上述的第二种实施方式中的步骤s210~s240相同或相似,这里不再赘述。
为了更清楚的说明本发明实施例,这里结合图4对本发明实施例进行说明,如图4所示,为本发明实施例的有种关节摩擦力力矩补偿方法第四种实施方式的流程图,该方法可以包括:
s401,获取不同测试温度时待补偿关节的测试角速度、测试角加速度以及对待补偿关节进行补偿的测试补偿电流,其中,每个测试温度对应一个测试角速度、一个测试角加速度以及一个测试补偿电流;
s402,基于多个测试温度以及对应的测试角速度、测试角加速度以及测试补偿电流,采用公式(4):
计算摩擦力力矩模型中的待补偿关节的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
s403,将该待补偿关节的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
s404,获取待补偿关节处的角度传感器在两个连续的采样周期采集到的待补偿关节的两个角度值,并判断该两个角度值的差值是否大于角度改变阈值,如果否,则执行步骤s405,如果是,执行步骤s406。
s405,获取预设的震荡激励电流值,并控制待补偿关节的电机采用预设的震荡激励电流值,对待补偿关节进行电流激励。然后返回执行步骤s404。
s406,获取待补偿关节处的角速度和温度;其中,待补偿关节为多个关节中的任一关节;
s407,在温度t小于预设第一温度阈值t1时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
s408,在温度t大于或等于预设第一温度阈值t1,且小于预设第二温度阈值t2时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
s409,在温度t大于或等于预设第二温度阈值t2时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
s410,在角速度的绝对值小于或等于预设最小停止角速度阈值时,获取待补偿关节的角加速度;判断角加速度是否小于预设角加速度阈值;如果是,执行步骤s411,如果否,执行步骤s412。
s411,基于角速度,采用公式(5):
计算与角速度对应的摩擦力力矩补偿系数co。
s412,确定与角速度对应的摩擦力力矩补偿系数为1。
s413,基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
s414,控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
通过本发明实施例,可以在待补偿关节静止时对该待补偿关节施加震荡激励,提高了机器人启动的灵敏度,解决了机器人启动困难的难题,使机器人启动流畅。通过在该待补偿关节运行时考虑待补偿关节处温度、待补偿关机的角速度速度对摩擦力力矩补偿的影响,对机器人关节摩擦力进行了准确的建模,使得机器人拖动示教更加轻便、柔顺,提高工作效率。并且,可以在待补偿关节速度较小时,可以准确捕捉机器人的停止意图,对机器人关节摩擦力进行部分补偿,使得机器人凭借自身阻尼而停止,解决了机器人拖动示教停止时抖动的工程问题。这样,可以对机器人的待补偿关节应用完整的摩擦力补偿策略。可以实现机器人小范围的精确拖动,极大的改善了拖动性能,提高效率,提高了人机交互体验。
为了更清楚的说明本发明实施例的效果,这里结合图5a、图5b以及图5c进行说明,如图5a所示,为关节在25℃时的实际补偿电流与计算得到的补偿电流对比图,图5b为在35℃时的实际补偿电流与计算得到的补偿电流对比图,图5b为在40℃时的实际补偿电流与计算得到的补偿电流对比图。在5a、5b以及5c中,横坐标为时间,纵坐标为电流值。平滑曲线为计算得到的补偿电流值,锯齿形曲线为实际补偿电流值。
对比可见,温度为25℃时,电流峰值>2a;温度为40℃时,电流峰值<2a,说明随着温度的升高,摩擦力逐渐减小,因此需要补偿的摩擦力力矩也减小。并且,通过观察5a、5b以及5c可见,该计算得到的补偿电流值与实际补偿电流值较好的重合了,从而说明通过本发明实施例的一种关节摩擦力力矩补偿方法计算得到的补偿电流比较准确,从而可以能够对关节的摩擦力力矩进行准确的补偿。
进一步的,为了验证本发明实施例的一种关节摩擦力力矩补偿方法的可行性。这里先反向拖动关节,使关节产生反向的位移,然后在关节的零点附近往复拖动关节,最后撤销对关节施加的力,使关节依靠自身阻尼停止。从而绘制得到图6所示的时间-关节角度曲线。
由图6可知,机器人启动阶段、人为换向过程、停止阶段均比较平稳,无时间延迟、阶跃位移及位置抖动发生,说明摩擦力补偿方法的可行性较高。
相应于上述的方法实施例,本发明实施例还提供了一种关节摩擦力力矩补偿装置,可以应用于机器人,机器人包括多个关节,各个关节处分别安装有电机;如图7所示,为本发明实施例的一种关节摩擦力力矩补偿装置的结构示意图,该装置可以包括:
获取模块710,用于获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,其中,待补偿关节为多个关节中的任一关节;
补偿电流调整模块720,用于基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
控制模块730,用于控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
本发明实施例提供的一种关节摩擦力力矩补偿装置,可以先获取获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,然后基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;最后控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。这样,可以使得该待补偿关节在不同的运动速度时,可以采用不同的补偿电流对该待补偿关节进行摩擦力力矩补偿,从而避免采用相同的补偿电流对不同运动速度的待补偿关节进行摩擦力力矩补偿,提高对关节进行摩擦力力矩补偿的准确度,进而提高对机器人的操作灵活性。
可选的,各个关节处还分别安装有温度传感器,获取模块710,具体用于:
获取待补偿关节处的角速度和温度;基于角速度和温度,采用与温度对应的摩擦力力矩模型,计算待补偿关节处的摩擦力力矩的补偿电流。
可选的,获取模块710,具体用于:
在温度t小于预设第一温度阈值t1时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
在温度t大于或等于预设第一温度阈值t1,且小于预设第二温度阈值t2时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
在温度t大于或等于预设第二温度阈值t2时,基于角速度
计算待补偿关节处的摩擦力力矩的补偿电流i;
其中,j为待补偿关节的转动惯量,α为待补偿关节的角加速度,tc为库伦摩擦系数,
可选的,该摩擦力力矩补偿装置还包括:
测试数据获取模块,用于获取不同测试温度时待补偿关节的测试角速度、测试角加速度以及对待补偿关节进行补偿的测试补偿电流,其中,每个测试温度对应一个测试角速度、一个测试角加速度以及一个测试补偿电流;
参数计算模块,用于基于多个测试温度以及对应的测试角速度、测试角加速度以及测试补偿电流,采用公式(4):
计算摩擦力力矩模型中的待补偿关节的转动惯量j、库伦摩擦系数tc、第一粘滞摩擦系数
可选的,各个关节处还分别安装有角度传感器,该摩擦力力矩补偿装置还包括:
角度值模块,用于获取待补偿关节的角度传感器在两个连续采样周期采集的两个角度值;
角度值判断模块,用于判断两个角度值的差值是否大于或等于预设角度改变阈值;在两个角度值的差值大于或等于预设角度改变阈值时,触发获取模块,在两个角度值的差值小于预设角度改变阈值时,触发震荡激励模块;
震荡激励模块,用于获取预设的震荡激励电流值,并控制待补偿关节的电机采用预设的震荡激励电流值,对待补偿关节进行电流激励。
可选的,该关节摩擦力力矩补偿装置,还包括:
补偿系数计算模块,用于基于角速度
计算与角速度
可选的,该关节摩擦力力矩补偿装置,还包括:
角加速度获取模块,用于在角速度的绝对值
角加速度判断模块,用于判断角加速度是否小于预设角加速度阈值;在角加速度小于预设角加速度阈值时,触发补偿系数计算模块;在角加速度大于或等于预设角加速度阈值时,确定与角速度对应的摩擦力力矩补偿系数为1。
本发明实施例还提供了一种机器人,如图8所示,为本发明实施例的一种机器人的结构示意图,包括多个关节,各个关节分别安装有电机;该机器人还可以包括:处理器801和机器可读存储介质802,机器可读存储介质802存储有能够被处理器801执行的机器可执行指令,处理器801被机器可执行指令促使实现上述任一实施例所示的关节摩擦力力矩补偿方法的步骤,例如,可以实现如下步骤:
获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,其中,待补偿关节为多个关节中的任一关节;
基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
本发明实施例提供的一种机器人,可以先获取获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,然后基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;最后控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。这样,可以使得该待补偿关节在不同的运动速度时,可以采用不同的补偿电流对该待补偿关节进行摩擦力力矩补偿,从而避免采用相同的补偿电流对不同运动速度的待补偿关节进行摩擦力力矩补偿,提高对关节进行摩擦力力矩补偿的准确度,进而提高对机器人的操作灵活性。
上述的机器可读存储介质802可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。在一些示例中,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器801可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时,实现上述任一实施例所示的关节摩擦力力矩补偿方法的步骤,例如,可以实现如下步骤:
获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,其中,待补偿关节为多个关节中的任一关节;
基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一实施例所示的关节摩擦力力矩补偿方法的步骤,例如,可以实现如下步骤:
获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,其中,待补偿关节为多个关节中的任一关节;
基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
本发明实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述任一实施例所示的关节摩擦力力矩补偿方法的步骤,例如,可以实现如下步骤:
获取待补偿关节的角速度和对待补偿关节进行摩擦力力矩补偿的补偿电流,其中,待补偿关节为多个关节中的任一关节;
基于角速度和与角速度对应的摩擦力力矩补偿系数,对补偿电流进行调整,得到调整后的补偿电流;
控制待补偿关节处的电机,采用调整后的补偿电流对待补偿关节进行摩擦力力矩补偿。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。