本申请涉及工业自动化机器人技术领域,特别是涉及一种双增量式编码器测量绝对位置方法、装置、计算机设备和存储介质。
背景技术
随着工业自动化技术的发展,模块化机器人的研究和应用越来越广泛。模块化机器人是一个个驱动控制一体化的模组拼接而成,模组里一般包括编码器、驱动板、电机等零件。其中编码器是决定模组精度和性能的重要部件,也是影响模组成本的最主要因素。并且,模组机器人的绝对位置也是由编码器进行测量和反馈。
然而,目前大部分模组机器人都是采用电机侧使用增量式编码器和输出侧使用绝对编码器的方案,在测量机器人的绝对位置时也是基于电机侧增量式编码器和输出侧绝对编码器的设计上,即可以通过输出侧的绝对编码器直接读取机器人的绝对位置。因此,当在电机侧和输出侧同时采用增量式编码器时,便无法直接得知模组机器人的绝对位置。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种能够保证在双增量式编码器的情况下测量出模组机器人绝对位置的方法、装置、计算机设备和存储介质。
一种双增量式编码器测量绝对位置方法,所述方法包括以下步骤:
获取输出侧增量式编码器的初始标定值;
确定机器人当次运动时,输出侧增量式编码器的实际标定值;
根据所述初始标定值和实际标定值确定电机侧增量式编码器的所在圈数;
根据所述电机侧增量式编码器的所在圈数确定机器人的绝对位置。
在其中一个实施例中,所述获取输出侧增量式编码器的初始标定值的步骤包括:
当电机侧增量式编码器转动到标定圈产生零点脉冲时,获取输出侧增量式编码器读数头的读数值;
将所述输出侧增量式编码器读数头的读数值求余获取输出侧增量式编码器的初始标定值。
在其中一个实施例中,所述根据所述初始标定值和实际标定值确定电机侧增量式编码器的所在圈数的步骤包括:
根据所述初始标定值和实际标定值确定当前输出侧增量式编码器所在磁极对数;
根据所述磁极对数计算电机侧增量式编码器的所在圈数。
在其中一个实施例中,所述根据所述初始标定值和读实际标定值确定当前输出侧增量式编码器所在磁极对数值的步骤包括:
获取所述磁极对数的集合;
根据所述初始标定值和实际标定值遍历所述集合中所有的磁极对数值,选择满足预设要求的磁极对数。
在其中一个实施例中,所述根据所述电机侧增量式编码器的所在圈数确定机器人的绝对位置的步骤包括:
获取电机侧增量式编码器的分辨率;
根据电机侧增量式编码器的所在圈数和分辨率计算机器人的绝对位置。
一种双增量式编码器测量绝对位置装置,所述装置包括:
初始标定值获取模块,用于获取输出侧增量式编码器的初始标定值;
实际标定值确定模块,用于确定机器人当次运动时,输出侧增量式编码器的实际标定值;
圈数确定模块,用于根据所述初始标定值和实际标定值确定电机侧增量式编码器的所在圈数;
绝对位置确定模块,用于根据所述电机侧增量式编码器的所在圈数确定机器人的绝对位置。
在其中一个实施例中,所述初始标定值获取模块包括:
输出值获取模块,用于当电机侧增量式编码器转动到标定圈产生零点脉冲时,获取输出侧增量式编码器读数头的读数值;
标定值获取模块,用于将所述输出侧增量式编码器读数头的读数值求余获取输出侧增量式编码器的初始标定值。
在其中一个实施例中,所述圈数确定模块包括:
磁极对数获取模块,用于根据所述初始标定值和实际标定值确定当前输出侧增量式编码器所在磁极对数;
圈数计算模块,用于根据所述磁极对数计算电机侧增量式编码器的所在圈数。
在其中一个实施例中,所述磁极对数获取模块包括:
集合获取模块,用于获取所述磁极对数的集合;
选择模块,用于根据所述初始标定值和实际标定值遍历所述集合中所有的磁极对数值,选择满足预设要求的磁极对数。
在其中一个实施例中,所述绝对位置确定模块包括:
分辨率获取模块,用于获取电机侧增量式编码器的分辨率:
绝对位置计算模块,用于根据电机侧增量式编码器的所在圈数和分辨率计算机器人的绝对位置。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述双增量式编码器测量绝对位置方法中任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述双增量式编码器测量绝对位置方法中任一项所述的方法的步骤。
上述双增量式编码器测量绝对位置方法和装置,通过获取输出侧增量式编码器的初始标定值以及确定输出侧编码器实际标定值,根据所述初始标定值和实际标定值确定电机侧增量式编码器的所在圈数,根据电机侧增量式编码器的圈数确定机器人的绝对位置,实现了基于电机侧和输出侧使用双增量式编码器能准确测量出机器人绝对位置的方法。
附图说明
图1为一个实施例中双增量式编码器测量绝对位置方法的流程示意图;
图2为一个实施例中双增量式编码器的结构图;
图3为一个实施例中确定输出侧增量式编码器的初始标定值步骤的流程示意图;
图4为一个实施例中根据初始标定值和实际标定确定电机侧增量式编码器的所在圈数步骤的流程示意图;
图5为另一个实施例中根据电机侧增量式编码器的所在圈数确定机器人的绝对位置步骤的流程示意图;
图6为一个实施例中双增量式编码器测量绝对位置装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
编码器是将信号或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。而随着工业自动化技术的发展,模块化机器人的研究和应用越来越广泛。其中编码器是决定模块化机器人模组精度和性能的重要部件,也通常是除了减速机以外影响模组成本的最主要因素。通常编码器按照读出方式可以分为接触式和非接触式两种,按照工作原理编码器可分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变为计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始的终止位置有关,而与测量的中间过程无关。
跟以前只在电机侧用一个绝对编码器的方案相比,现在常常在电机侧和输出侧都用一个编码器,称为双编码器方案。使用双编码器的优点在于通过增加冗余提高模组的安全可靠性,同时也可以实现拖动示教等高级算法功能的重要数据来源。然而,传统使用双编码器都是电机侧使用增量式编码器和输出侧绝对式编码器,若采用精度较低的绝对编码器,模组的性能会大打折扣,若采用精度高的绝对式编码器成本又太高,导致成本和性能总是相矛盾。相比之下,采用精度较高的增量式编码器的成本会低,因此为了能够有效降低机器人模组的成本同时保证模组的性能,本方案采用在电机侧和输出侧都使用增量式编码器。并且,传统测量模组机器人的绝对位置都是基于输出侧设置绝对编码器的设计上,当电机侧和输出侧同时采用增量式编码器时,便无法直接得知模组机器人的绝对位置,因此还提供一种基于双增量式编码器测量绝对位置方法。
在一个实施例中,如图1所示,提供了一种双增量式编码器测量绝对位置方法,包括以下步骤:
s102,获取输出侧增量式编码器的初始标定值。
其中,增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变为计数脉冲,用脉冲的个数表示位移的大小。增量式编码器可以分为增量式光栅编码器和增量式磁栅编码器,在本实施例中,输出侧优选地使用增量式磁栅编码器,电机侧优选地使用增量式光栅编码器。
初始标定值,是指模块化机器人的首次使用时,根据设定规则确定的为绝对位置计算起参考使用的一个数值。具体地,模块化机器人在首次使用时,控制其电机在转动过程中,获取电机侧增量式编码器在任意指定一圈产生零点脉冲时,输出侧增量式编码器的读数值,根据该读数值确定初始标定值。
双增量编码器的结构图如图2所示,包括:电机侧增量式编码器码盘202、电机204、减速机206、输出侧端面208、输出侧增量式编码器码盘210、电机侧增量式编码器读数头212、输出侧增量式编码器读数头214、电机驱动控制板216以及外壳连接柱220。
其中,电机侧增量式编码器202、电机204、减速机206以及输出侧增量式编码器码盘210都是中空结构,转动轴218连接电机侧增量式编码器202、电机204、减速机206以及输出侧增量式编码器码盘210的中空结构部分,电机侧增量式编码器码盘202与电机204连接、电机204与减速机206的一端连接、减速机206的另一端连接输出侧端面208,输出侧增量式编码器码盘210通过转动轴218与输出侧端面208连接。电机侧增量式编码器读数头212、输出侧增量式编码器读数头214以及电机驱动控制板216都固定连接在外壳连接柱220上。
当机器人的控制系统传输电压信号给电机204时,电机204将电压信号转化为转矩和转速以驱动电机侧增量式编码器码盘202和减速机206进行转动,并通过与电机侧增量式编码器202、电机204、减速机206的中空结构和输出侧端面208相连接的转动轴218带动输出侧增量式编码器码盘210进行转动。然后经过电机侧增量式编码器读数头212和输出侧增量式编码器读数头214把测得的增量式编码器将位移转换成周期性的电信号传送给电机驱动控制板216,电机驱动控制板216根据读数计算出输出侧的绝对位置。
具体地,当控制电机转动后,获取电机侧增量式编码器产生零点脉冲时输出侧增量式编码器读数头所对应的读数值,并对该读数值进行求余而获取初始标定值,并且标定只需要做一次,之后可以将标定值作为常值使用。
具体地,机器人在首次使用时,控制电机进行低速转动,当电机侧增量式编码器产生零点脉冲时,记录此时对应的输出侧增量式编码器读数值,并将该读数值与输出侧增量式编码器的细分数进行求余,求余所得的值确定为输出侧增量式编码器的初始标定值。
s104,确定机器人当次运动时,输出侧增量式编码器的实际标定值。
其中,因为机器人重启后首先需要先知道机器人的当前姿态,也就是机器人重启后当前的绝对位置,所以当次运动是指模组机器人断电重启或者机器人重新通电后的当前状态。实际标定值,是指模块化机器人重启后,控制电机在转动过程中,当电机侧增量式编码器产生零点脉冲时,获取输出侧增量式编码器相对应的读数值,根据该读数值确定实际标定值。
具体地,当模块化机器人重启后,控制电机进行转动,当电机侧增量式编码器产生零点脉冲时,记录此时对应的输出侧增量式的编码器的读数值,并将该读数值与输出侧增量式编码器的细分数进行求余,求余所得的值为实际标定值。为了保证找零点脉冲的准确性,确定实际标定值时所控制电机进行转动的速度需要与步骤s102中确定输出侧增量式编码器的初始标定值时的电机转动速度保持一致。因此,若确定输出侧增量式编码器标定值时电机是进行低速转动,获取输出侧增量式编码器读数值同样需要控制电机进行低速转动,若为高速转动即同样保持高速转动。
具体地,当电机断电重启时,同样控制电机进行低速转动,当电机侧增量式编码器产生零点脉冲时,记录此时输出侧增量式编码器对应的读数值并根据该读数值与细分数求余获取实际标定值。
s106,根据初始标定值和实际标定值确定电机侧增量式编码器的所在圈数。
具体地,通过输出侧增量式编码器的初始标定值和实际标定值确定当前输出侧增量式编码器所在的磁极对数,根据磁极对数计算电机侧增量式编码器的所在圈数。其中,磁极对数即为编码器的基本线数,基本线数由实际应用中所选用的编码器的实际参数决定。
其中,由于输出侧的编码器为增量式编码器,而增量式编码器的绝对位置是根据编码器所处的磁极对数和所转的圈数计算而成。所以想要确定机器人重启后的绝对位置就要先求出当前增量式编码器所在的磁极对数,并且确定磁极对数后根据磁极对数即可求出当前所在的圈数。
s108,根据电机侧增量式编码器的所在圈数确定机器人的绝对位置。
具体地,确定电机侧增量式编码器的所在圈数后,获取电机侧增量式编码器的分辨率,将分辨率与所在圈数相乘所得的值即为机器人的绝对位置。
由于增量式编码器的分辨率即为编码器转一圈所输出的位置数,所以当计算出机器人重启后当前所处的圈数,即可根据所处圈数和位置数(分辨率)的乘机计算机器人当前的绝对位置。
上述双增量式编码器测量绝对位置方法,通过确定输出侧增量式编码器的标定值以及获取输出侧编码器读数值,根据所述标定值和读数值确定电机侧增量式编码器的所在圈数,根据电机侧增量式编码器的圈数确定机器人的绝对位置,实现了基于电机侧和输出侧使用双增量式编码器能准确测量出机器人绝对位置的方法。
在一个实施中,如图3所示,获取输出侧增量式编码器的初始标定值包括以下步骤:
s302,当电机侧增量式编码器转动到标定圈产生零点脉冲时,获取输出侧增量式编码器读数头的读数值。
其中,标定圈可以为指定的任意一圈。当机器人首次启动控制电机进行转动时,可以指定第一圈、第二圈或者其他任意一圈为标定圈。当电机转动到标定圈产生零点脉冲时即可获取输出侧增量式编码器读数头对应的读数值。
具体地,当电机进行低速转动时,电机侧增量式编码器转动到标定圈时产生零点脉冲后,读取输出侧增量式编码器读数头的读数值。例如:指定第二圈为标定圈,即获取当电机转动到第二圈产生零点脉冲时,输出侧增量式编码器读数头的所对应的读数值。
s304,将输出侧增量式编码器读数头的读数值求余获取输出侧增量式编码器的初始标定值。
具体地,将输出侧增量式编码器读数头的读数值与输出侧编码器细分数进行求余后获取的值为初始标定值。输出侧增量式编码器初始标定值计算公式为:
a=x%p;
其中,a为初始标定值,x为输出侧增量式编码器转动到标定圈产生零点脉冲时读数头的读数值,%表示求余,p为细分数,细分数为实际应用中所选用的编码器的实际参数,在本实施例中,p=4096。
假设x=40608,则:
a=x%p=40608%4096=3744
标定只需要做一次,之后a可以作为常值使用。
在另一个实施例中,为了降低噪声,求取初始标定值的时候的标定圈可以不限制为任意一圈,可以指定任意多圈,例如:标定圈可以为第一圈、第二圈、第三圈和第四圈。也就是当电机分别转动到第一圈、第二圈、第三圈和第四圈产生零点脉冲时,获取这四圈产生零点脉冲时输出侧增量式编码器读数头所对应的的读数值,求解这多个读数值的平均值,根据平均值计算标定值。当取得电机转动4圈所遇到的零点脉冲所产生的读数值分别为:x1=40608、x2=42073、x3=43531、x4=44987,则:
a=[(x1+x2+x3+x4-6b)/4]%p
=[(40608+42073+43531+44987-6×1460)/4]%4096=3746
由于编码器读数有一定间隔,因此,为了减少各圈数之间的误差需要减去读数间隔。b即为相邻圈数之间对应的输出侧编码器读数间隔,理论上相邻圈数对应的输出侧编码器读数间隔为b=pk/g=1460,其中p=4096为细分数、k=36为磁极对数的最大值,g=101为模组的减速比,a=3746即可以作为常值使用。
在一个实施例中,如图4所示,根据初始标定值和实际标定值确定电机侧增量式编码器的所在圈数的包括以下步骤:
s402,根据初始标定值和实际标定值确定当前输出侧增量式编码器所在磁极对数。
在一个实施例中,根据初始标定值和实际标定值确定当前输出侧增量式编码器所在磁极对数包括以下步骤:
s1,获取磁极对数的集合。
具体地,磁极对数即为编码器的基本线数,由实际应用中所选用的编码器的实际参数决定。在本实施例中,磁极对数的集合为{0,1,……,k-1},k=36。
s2,根据初始标定值和实际标定值遍历集合中所有的磁极对数值,选择满足预设要求的磁极对数。
具体地,确定当前输出侧增量式编码器所在磁极对数计算公式为:
(mp+y%p-a)%(pk/g)
其中,m为编码器的所在磁极对数,a为初始标定值,y为读数值,p=4096为细分数,y%p为实际标定值,b=pk/g为相邻圈数之间对应的输出侧编码器读数间隔。磁极对数m所在的集合为{0,1,……,k-1},k=36。为了确定m的具体值,即遍历m所在的磁极对数集合。所谓遍历,是指沿着某条搜索路线,一次对树中的每个结点做一次且仅做一次访问,即将集合中所有的值带入上述磁极对数计算公式中,为了确保m有且只有一个值,即选择集合中满足预设条件的值为m。
而为了保证m有且只有一个值,所在磁极对数计算公式应满足k与减速比g互质的条件,则:
0≤(mp+y%p-a)%(pk/g)≤p/2g
或pk/g-p/2g≤(mp+y%p-a)%(pk/g)≤pk/g
假设,y=48647,将y带入公式0≤(mp+y%p-a)%(pk/g)≤p/2g中,遍历m,也就是将m所在的集合中的每一个值都带入公式中,求解只有当m=20时,公式才会成立,即:
(mp+y%p-a)%(pk/g)=(m×4096+48647%4096-3746)%1460
0≤(20×4096+48647%4096-3746)%1460=5≤20
s404,根据磁极对数计算电机侧增量式编码器的所在圈数。
具体地,所在圈数计算公式为:
其中,n为此时电机侧所处的圈数,p为输出侧编码器的细分数,y%p为实际标定值,a为初始标定值,g为减速比,floor表示向下取整。
假设,当y=48647,p=4096,m=20,a=3746,k=36,以及g=101,则:
在一个实施例中,如图5所示,根据电机侧增量式编码器的所在圈数确定机器人的绝对位置包括以下步骤:
s502,获取电机侧增量式编码器的分辨率。
具体地,由于增量式编码器的分辨率即为编码器转一圈所输出的位置数,所以当计算出机器人重启后当前所处的圈数,即可根据所处圈数和位置数(分辨率)的乘机计算机器人当前的绝对位置。
s504,根据电机侧增量式编码器的所在圈数和分辨率计算机器人的绝对位置。
具体地,绝对位置计算公式为:
z=nr1
其中,n为机器人所在圈数,r为电机侧增量式编码器的分辨率。
在另一个实施中,根据机器人绝对位置计算机器人的当前姿态,即每个关节所转动的角度数。计算公式为:
d=z/gr1*360°=nr1/gr1*360°
其中,d为角度数,首先获取电机侧增量式编码器的分辨率r1,根据电机侧增量式编码器的分辨率r1与减速比g乘积即为输出侧增量式编码器的分辨率。假设,机器人所在圈数为n=56,电机侧增量式编码器的分辨率为r1=131072时,机器人关节所转角度数为:d=56*131072/101*131072*360°=199.6°,即可知道当前机器人的绝对位置为7340032,而关节所在角度为199.6度。
上述双增量式编码器测量绝对位置方法和装置,通过确定输出侧增量式编码器的标定值以及获取输出侧编码器读数值,根据所述标定值和读数值确定电机侧增量式编码器的所在圈数,根据电机侧增量式编码器的圈数确定机器人的绝对位置,实现了基于电机侧和输出侧使用双增量式编码器能准确测量出机器人绝对位置的方法。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种双增量式编码器测量绝对位置装置600,包括:标定值确定模块602、读数值获取模块604、圈数确定模块606和绝对位置确定模块608,其中:
初始标定值获取模块602,用于获取输出侧增量式编码器的初始标定值。
实际标定值确定模块604,用于确定机器人当次运动时,输出侧增量式编码器的实际标定值。
圈数确定模块606,用于根据初始标定值和实际标定值确定电机侧增量式编码器的所在圈数。
绝对位置确定模块608,用于根据电机侧增量式编码器的所在圈数确定机器人的绝对位置。
在一个实施例中,初始标定值获取模块602包括:
输出值获取模块,用于当电机侧增量式编码器转动到标定圈产生零点脉冲时,获取输出侧增量式编码器读数头的读数值。
标定值获取模块,用于将输出侧增量式编码器读数头的读数值求余获取输出侧增量式编码器的初始标定值。
在一个实施例中,圈数确定模块604包括:
磁极对数获取模块,用于根据初始标定值和实际标定值确定当前输出侧增量式编码器所在磁极对数。
圈数计算模块,用于根据磁极对数计算电机侧增量式编码器的所在圈数。
在一个实施例中,磁极对数获取模块606包括:
集合获取模块,用于获取磁极对数的集合。
选择模块,用于根据初始标定值和实际标定值遍历集合中所有的磁极对数值,选择满足预设要求的磁极对数。
在一个实施例中,绝对位置确定模块608包括:
分辨率获取模块,用于获取电机侧增量式编码器的分辨率:
绝对位置计算模块,用于根据电机侧增量式编码器的所在圈数和分辨率计算机器人的绝对位置。
关于双增量式编码器测量绝对位置装置的具体限定可以参见上文中对于双增量式编码器测量绝对位置方法的限定,在此不再赘述。上述双增量式编码器测量绝对位置装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,在本实施例中该计算机设备即为模块化机器人,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器即为模块化机器人驱动控制板中的mcu(microcontrollerunit),用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储计算数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种双增量式编码器测量绝对位置方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取输出侧增量式编码器的初始标定值;
确定机器人当次运动时,输出侧增量式编码器的实际标定值;
根据初始标定值和实际标定值确定电机侧增量式编码器的所在圈数;
根据电机侧增量式编码器的所在圈数确定机器人的绝对位置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当电机侧增量式编码器转动到标定圈产生零点脉冲时,获取输出侧增量式编码器读数头的读数值;
将输出侧增量式编码器读数头的读数值求余获取输出侧增量式编码器的初始标定值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据初始标定值和实际标定值确定当前输出侧增量式编码器所在磁极对数;
根据磁极对数计算电机侧增量式编码器的所在圈数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取电机侧增量式编码器的分辨率;
根据电机侧增量式编码器的所在圈数和分辨率计算机器人的绝对位置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取输出侧增量式编码器的初始标定值;
确定机器人当次运动时,输出侧增量式编码器的实际标定值;
根据初始标定值和实际标定值确定电机侧增量式编码器的所在圈数;
根据电机侧增量式编码器的所在圈数确定机器人的绝对位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当电机侧增量式编码器转动到标定圈产生零点脉冲时,获取输出侧增量式编码器读数头的读数值;
将输出侧增量式编码器读数头的读数值求余获取输出侧增量式编码器的初始标定值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据初始标定值和实际标定值确定当前输出侧增量式编码器所在磁极对数;
根据磁极对数计算电机侧增量式编码器的所在圈数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取电机侧增量式编码器的分辨率;
根据电机侧增量式编码器的所在圈数和分辨率计算机器人的绝对位置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。