本技术涉及电机控制,尤其涉及一种双编码器电机位置给定、电机控制方法、装置及电机。
背景技术:
1、目前机器人关节模组中,主流的设计方案就是谐波+双编码器的方案,其中双编码器包括位于负载端的负载端编码器和位于电机端的电机端编码器,负载端编码器主要为了测量关节的位置,电机端编码器主要为了测量电机的转子的位置、速度等信息,目前的控制策略大约有以下几种:
2、1、以负载端(经过减速器减速)编码为位置参考,以电机端编码器为速度参考进行控制。
3、2、初始上电以负载端编码器为参考,然后转换到电机端编码器上,之后全部以电机端编码器为位置和速度的参考进行控制,之后负载端编码器不再参与运控控制,只用作保护使用。
4、3、初始上电以负载端编码器为参考,然后转换到电机端编码器上,之后主要以电机端编码器为位置和速度的参考进行控制,目标位置终点通过负载端编码器进行校准,达到提升重复控制精度的目的。
5、上述三种控制策略中,方案1,由于大减速比的谐波减速的原因,造成位置误差和位置抖动被放大;方案2,没有考虑负载对谐波弹性形变的影响,从而造成重复控制精度欠缺;方案3,虽然在终端进行了校准,但是没有考虑控制过程中谐波的形变对控制精度的影响。
技术实现思路
1、本技术实施例的目的在于提出一种双编码器电机位置给定、电机控制方法、装置及电机,以提高双编码器电机控制的平顺性。
2、第一方面,本技术实施例提供一种双编码器电机位置给定方法,采用了如下所述的技术方案:
3、一种电机双编码器位置给定方法,所述电机包括:负载端编码器、电机端编码器和控制器,所述方法应用于所述控制器,所述方法包括下述步骤:
4、获取基于负载端编码器测量的第一当前位置数据;
5、获取基于电机端编码器测量的第二当前位置数据;
6、计算所述第一当前位置数据和所述第二当前位置数据的位置差值;
7、获取基于电机端编码器测量的当前速度;
8、判断所述当前速度满足低速跳变要求还是高速跳变要求;若所述当前速度满足高速跳变要求,基于公式p2+△p*coef1求取第二当前位置补偿值;若所述当前速度满足低速跳变要求,基于公式p2+△p*coef2求取第二当前位置补偿值;其中,p2为所述第二当前位置数据;△p为所述位置差值;coef1为当前高速补偿系数;coef2为当前低速补偿系数;
9、判断所述位置差值是否满足预设阈值要求;若所述位置差值不满足预设阈值要求,按照预设规则增大下一coef1或coef2,直到所述位置差值满足预设阈值要求;
10、以所述第二当前位置补偿值作为位置数据给定值。
11、进一步的,在一个实施例中,所述判断所述当前速度满足低速跳变要求还是高速跳变要求;若所述当前速度满足高速跳变要求,基于公式p2+△p*coef1求取第二当前位置补偿值;若所述当前速度满足低速跳变要求,基于公式p2+△p*coef2求取第二当前位置补偿值;包括下述步骤:
12、基于斯密特触发原理,判断所述当前速度大于高速跳变值还是小于低速跳变值;
13、若所述当前速度大于所述高速跳变值,基于公式p2+△p*coef1求取第二当前位置补偿值;
14、若所述当前速度小于低速跳变值,基于公式p2+△p*coef2求取第二当前位置补偿值。
15、进一步的,在一个实施例中,所述判断所述当前速度满足低速跳变要求还是高速跳变要求之前,包括下述步骤:
16、设定预设速度阈值;
17、设定围绕所述预设速度阈值的预设正负区间,以得到所述高速跳变值和所述低速跳变值。
18、进一步的,在一个实施例中,所述coef1大于所述coef2。
19、进一步的,在一个实施例中,所述判断所述位置差值是否满足预设阈值要求;若所述位置差值不满足预设阈值要求,按照预设规则增大下一coef1或coef2包括下述步骤:
20、判断所述位置差值是否大于预设阈值要求;
21、若大于所述预设阈值要求,按照预设规则增大下一coef1或coef2。
22、进一步的,在一个实施例中,所述判断所述当前速度是否大于预设速度阈值之前,包括下述步骤:
23、设定预设速度阈值;和/或,
24、所述判断所述位置差值是否小于预设差值阈值之前,包括下述步骤:
25、设定所述预设差值阈值。
26、第二方面,本技术实施例提供一种双编码器电机控制方法,所述方法包括上面任一项所述的电机双编码器位置给定方法的方法步骤。
27、第三方面,本技术实施例提供一种电机双编码器位置给定,所述装置包括:
28、第一获取模块,用于获取基于负载端编码器测量的第一当前位置数据;
29、第二获取模块,用于获取基于电机端编码器测量的第二当前位置数据;
30、差值计算模块,用于计算所述第一当前位置数据和所述第二当前位置数据的位置差值;
31、速度获取模块,用于获取基于电机端编码器测量的当前速度;
32、跳变判断模块,用于判断所述当前速度满足低速跳变要求还是高速跳变要求;第一计算模块,用于若所述当前速度满足高速跳变要求,基于公式p2+△p*coef1求取第二当前位置补偿值;第二计算模块,用于若所述当前速度满足低速跳变要求,基于公式p2+△p*coef2求取第二当前位置补偿值;其中,p2为所述第二当前位置数据;△p为所述位置差值;coef1为当前高速补偿系数;coef2为当前低速补偿系数;
33、要求判断模块,用于判断所述位置差值是否满足预设阈值要求;系数调整模块,用于若所述位置差值不满足预设阈值要求,按照预设规则增大下一coef1或coef2,直到所述位置差值满足预设阈值要求;
34、位置确定模块,用于以所述第二当前位置补偿值作为位置数据给定值。
35、第四方面,本技术实施例提供一种双编码器电机控制装置,所述装置包括上面所述的电机双编码器位置给定装置。
36、第五方面,本技术实施例提供一种电机,所述电机包括:电机主体、负载端编码器、电机端编码器和控制器;
37、所述控制器分别与所述电机主体、所述负载端编码器和所述电机端编码器通信连接;
38、所述控制器,用于实现上面所述的电机双编码器位置给定方法和/或上面所述的双编码器电机控制方法的步骤。
39、第六方面,本技术实施例提供一种控制器,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上面所述的双编码器电机位置给定方法和/或电机控制方法的步骤。
40、第七方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上面所述的双编码器电机位置给定方法和/或电机控制方法的步骤。
41、与现有技术相比,本技术实施例主要有以下有益效果:
42、本技术实施例以电机端编码器作为位置控制的参考,通过与负载端编码器在不同速度、不同位置误差下,不同比例的校准与补偿,实现了静态和低速下的低误差,以及在高速下动态误差可接受的同时控制的平顺性;也可以减少谐波形变对系统控制的影响。
43、另外,由于电机端编码器采集的位置数据是在电机的减速器减速前,所以控制响应更快、平顺性更好。
1.一种电机双编码器位置给定方法,所述电机包括:负载端编码器、电机端编码器和控制器,所述方法应用于所述控制器,其特征在于,所述方法包括下述步骤:
2.根据权利要求1所述的电机双编码器位置给定方法,其特征在于,所述判断所述当前速度满足低速跳变要求还是高速跳变要求;若所述当前速度满足高速跳变要求,基于公式p2+△p*coef1求取第二当前位置补偿值;若所述当前速度满足低速跳变要求,基于公式p2+△p*coef2求取第二当前位置补偿值;包括下述步骤:
3.根据权利要求2所述的电机双编码器位置给定方法,其特征在于,所述判断所述当前速度满足低速跳变要求还是高速跳变要求之前,包括下述步骤:
4.根据权利要求1或2所述的电机双编码器位置给定方法,其特征在于,所述coef1大于所述coef2。
5.根据权利要求1或2所述的电机双编码器位置给定方法,其特征在于,所述判断所述位置差值是否满足预设阈值要求;若所述位置差值不满足预设阈值要求,按照预设规则增大下一coef1或coef2包括下述步骤:
6.根据权利要求1或2所述的电机双编码器位置给定方法,其特征在于,所述判断所述当前速度是否大于预设速度阈值之前,包括下述步骤:
7.一种双编码器电机控制方法,其特征在于,所述方法包括权利要求1至6中任一项所述的电机双编码器位置给定方法的方法步骤。
8.一种电机双编码器位置给定装置,其特征在于,所述装置包括:
9.一种双编码器电机控制装置,其特征在于,所述装置包括权利要求8所述的电机双编码器位置给定装置。
10.一种电机,其特征在于,所述电机包括:电机主体、负载端编码器、电机端编码器和控制器;