一种机器的绝对位置测量方法、装置、存储介质及机器转让专利

申请号 : CN201911383251.1

文献号 : CN111197954B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘培超邓新锦刘主福郎需林

申请人 : 深圳市越疆科技有限公司

摘要 :

本申请属于位置检测技术领域,尤其涉及一种机器的绝对位置测量方法、装置、存储介质及机器。所述机器的绝对位置测量方法通过获取输入轴编码器的第一位置值和输出轴编码器的第二位置值,根据所述第二位置值与预设位置值确定所述输入轴编码器对应的旋转圈数,根据所述旋转圈数和所述第一位置值确定所述机器的输出轴的绝对位置,可以高分辨率的测量出机器的输出轴的绝对位置,解决了测量精度较低,难以准确的测量出机器的绝对位置的问题。

权利要求 :

1.一种机器的绝对位置测量方法,其特征在于,应用于包含输入轴编码器和输出轴编码器的机器,所述绝对位置测量方法包括:获取所述输入轴编码器的第一位置值和所述输出轴编码器的第二位置值;

根据所述第二位置值与预设位置值确定所述输入轴编码器对应的旋转圈数;

根据所述旋转圈数和所述第一位置值确定所述机器的输出轴的绝对位置。

2.如权利要求1所述的绝对位置测量方法,其特征在于,在根据所述第二位置值与预设位置值确定所述输入轴编码器对应的旋转圈数之前,包括:控制所述机器按照预设方向从第一极限位置运行至第二极限位置;

在所述机器运行过程中,当所述输入轴编码器过零点时,获取所述输出轴编码器的第三位置值,并将所述第三位置值确定为所述预设位置值。

3.如权利要求2所述的绝对位置测量方法,其特征在于,在将所述第三位置值确定为所述预设位置值之后,包括:

根据所述第三位置值的获取顺序排列所述预设位置值,得到所述预设位置值的序列;

所述根据所述第二位置值和预设位置值确定所述输入轴编码器对应的旋转圈数,包括:

若所述第二位置值位于第一预设位置值对应的第一区间,则根据所述第一预设位置值和所述第一位置值确定所述输入轴编码器对应的旋转圈数,所述第一预设位置值为所述序列中的任一预设位置值;

若所述第二位置值位于所述第一预设位置值对应的第二区间,则确定所述输入轴编码器对应的旋转圈数为n+1圈,其中,n为所述第一预设位置值在所述序列中的序列号;

若所述第二位置值位于所述第一预设位置值对应的第三区间,则确定所述输入轴编码器对应的旋转圈数为零圈。

4.如权利要求3所述的绝对位置测量方法,其特征在于,所述根据所述第一预设位置值和所述第一位置值确定所述输入轴编码器对应的旋转圈数,包括:确定所述第一位置值与第一设定值之间的大小关系以及确定所述第一位置值与第二设定值之间的大小关系;

若所述第一位置值小于所述第一设定值,则确定所述输入轴编码器对应的旋转圈数为n+1圈;

若所述第一位置值大于所述第二设定值,则确定所述输入轴编码器对应的旋转圈数为n圈;

其中,所述第二设定值大于或等于所述第一设定值。

5.如权利要求1至4任一项中所述的绝对位置测量方法,其特征在于,所述输入轴编码器和所述输出轴编码器为绝对式单圈编码器。

6.如权利要求5中所述的绝对位置测量方法,其特征在于,所述输入轴编码器包括实心磁铁和编码芯片。

7.如权利要求5中所述的绝对位置测量方法,其特征在于,所述输出轴编码器包括环形磁铁和编码芯片。

8.一种机器的绝对位置测量装置,其特征在于,应用于包含输入轴编码器和输出轴编码器的机器,所述绝对位置测量装置包括:获取模块,用于获取所述输入轴编码器的第一位置值和所述输出轴编码器的第二位置值;

圈数确定模块,用于根据所述第二位置值与预设位置值确定所述输入轴编码器对应的旋转圈数;

绝对位置确定模块,用于根据所述旋转圈数和所述第一位置值确定所述机器的输出轴的绝对位置。

9.一种机器,包括输入轴编码器、输出轴编码器、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的机器的绝对位置测量方法。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的机器的绝对位置测量方法。

说明书 :

一种机器的绝对位置测量方法、装置、存储介质及机器

技术领域

[0001] 本申请属于位置检测技术领域,尤其涉及一种机器的绝对位置测量方法、装置、存储介质及机器。

背景技术

[0002] 现有技术中,为了获取机器运行的绝对位置信息,一般是采用输出轴侧设置编码器的方案,使用绝对值单圈编码器或增量式光电编码器对机器的输出轴的绝对位置进行测
量。
[0003] 但是,若使用设置于输出轴侧的编码器进行机器的输出轴的绝对位置的测量,受限于编码器的空间和价格等因素,通常编码器的分辨率较低,导致测量精度较低,难以准确
的测量出机器的绝对位置。

发明内容

[0004] 本申请实施例提供了一种机器的绝对位置测量方法、装置、存储介质及机器,可以解决现有的测量精度较低,难以准确的测量出机器的绝对位置的问题。
[0005] 第一方面,本申请实施例提供了一种机器的绝对位置测量方法,应用于包含输入轴编码器和输出轴编码器的机器,所述绝对位置测量方法包括:
[0006] 获取所述输入轴编码器的第一位置值和所述输出轴编码器的第二位置值;
[0007] 根据所述第二位置值与预设位置值确定所述输入轴编码器对应的旋转圈数;
[0008] 根据所述旋转圈数和所述第一位置值确定所述机器的输出轴的绝对位置。
[0009] 第二方面,本申请实施例提供了一种机器的绝对位置测量装置,应用于包含输入轴编码器和输出轴编码器的机器,所述绝对位置测量装置包括:
[0010] 获取模块,用于获取所述输入轴编码器的第一位置值和所述输出轴编码器的第二位置值;
[0011] 圈数确定模块,用于根据所述第二位置值与预设位置值确定所述输入轴编码器对应的旋转圈数;
[0012] 绝对位置确定模块,用于根据所述旋转圈数和所述第一位置值确定所述机器的输出轴的绝对位置。
[0013] 第三方面,本申请实施例提供了一种机器,包括输入轴编码器、输出轴编码器、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理
器执行所述计算机程序时实现如上述第一方面所述的机器的绝对位置测量方法。
[0014] 第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的机器
的绝对位置测量方法。
[0015] 本申请分别在输入轴侧和输出轴侧设置编码器,通过获取输入轴编码器的第一位置值和输出轴编码器的第二位置值,根据所述第二位置值与预设位置值确定所述输入轴编
码器对应的旋转圈数,根据所述旋转圈数和所述第一位置值确定所述机器的输出轴的绝对
位置。因为机器的输出轴的转速和输入轴的转速之间存在减速比,若通过第一位置值和输
入轴编码器对应的旋转圈数确定输出轴的绝对位置,可以高分辨率的测量出机器的输出轴
的的绝对位置,解决了测量精度较低,难以准确的测量出机器的绝对位置的问题。
[0016] 可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

[0017] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些
实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些
附图获得其他的附图。
[0018] 图1是本申请实施例提供的机器的结构示意图;
[0019] 图2是本申请实施例一提供的绝对位置测量方法的流程示意图;
[0020] 图3是本申请实施例二提供的绝对位置测量方法在一个应用场景中确定预设位置值的流程示意图;
[0021] 图4是本申请实施例二提供的绝对位置测量方法在一个应用场景中确定旋转圈数的流程示意图;
[0022] 图5至图7是本申请实施例二提供的确定第一区间的示意图;
[0023] 图8是本申请实施例二提供的绝对位置测量方法在另一个应用场景中确定旋转圈数的流程示意图;
[0024] 图9是本申请实施例三提供的绝对位置测量装置的结构示意图。

具体实施方式

[0025] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体
细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电
路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0026] 应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、
步骤、操作、元素、组件和/或其集合的存在或添加。
[0027] 还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0028] 如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确
定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响
应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0029] 另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0030] 在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书
中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、
“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是
所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变
形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0031] 本申请实施例提供的机器的绝对位置测量方法可以应用于包含输入轴编码器、输出轴编码器的机器,所述机器可以是机械臂、具有底座的轻型机械臂、机器人手臂以及具有
输入轴、输出轴和减速齿轮的传动装置,本申请实施例对机器的具体类型不作任何限制。
[0032] 实施例一
[0033] 本实施例中,机器以具有底座的轻型机械臂为例,输入轴编码器和输出轴编码器可以设置于底座上。输入轴编码器和输出轴编码器分辨为绝对式单圈编码器。输入轴编码
器可以包括编码芯片和沿输入轴径向设置的实心磁铁。输出轴编码器包括环形磁铁和编码
芯片,环形磁铁可以跟随输出轴的转子运动,输出轴的编码芯片可以设置于输出轴的侧面,
使环形磁铁与输出轴的编码芯片相对运动,轻型机械臂的线缆可以从环形磁铁中穿过,从
而可以实现中空走线。
[0034] 图1是本申请一个示例性实施例提供的机器10的结构示意图。该机器10包括:输入轴编码器11、输出轴编码器12、处理器13和存储器14。处理器13分别与输入轴编码器11、输
入轴编码器12、存储器14电性相连。
[0035] 输入轴编码器11和输出轴编码器12可以是单圈绝对式磁编码器。
[0036] 处理器14可以是中央处理单元(Central Processing Unit,CPU),该处理器14还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电
路(application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑
Programmable Gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等。
[0037] 存储器14存储有计算机程序15,该计算机程序可供处理器13执行。示例性的,处理器执行该计算机程序时可以实现本申请所述的机器的绝对位置测量方法。存储器14在一些
实施例中可以是所述机器10的内部存储单元,例如机器10的硬盘或内存。所述存储器14在
另一些实施例中也可以是所述机器10的外部存储设备,例如所述机器10上配备的插接式硬
盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡
(Flash Card)等。进一步地,所述存储器14还可以既包括所述机器10的内部存储单元也包
括外部存储设备。所述存储器14用于存储操作系统、应用程序、引导装载程序
(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器14还
可以用于暂时地存储已经输出或者将要输出的数据。
[0038] 如图2所示,本实施例提供了一种机器的绝对位置测量方法,应用于上述包含输入轴编码器和输出轴编码器的机器,所述绝对位置测量方法,可以包括:
[0039] S201、获取所述输入轴编码器的第一位置值和所述输出轴编码器的第二位置值。
[0040] 可选的,本申请中的位置值可以通过编码器值确定。处理器可以通过获取输入轴编码器的第一编码器值,从而获取与第一编码器值对应的第一位置值。处理器可以通过获
取输出轴编码器的第二编码器值,从而获取与第二编码器值对应的第二位置值。
[0041] 应理解,编码器值可以直接为位置值,或者编码器值可以与位置值之间具有对应关系,其中,编码器值和位置值之间的对应关系可以储存于存储器中,该对应关系也可以由
处理器计算得到,或者可以人为设定。本实施例中以编码器值为位置值为例。
[0042] S202、根据所述第二位置值与预设位置值确定所述输入轴编码器对应的旋转圈数。
[0043] 可选的,预设位置值可以存储于存储器中,不同的机器对应的预设位置值可以不同。预设位置值可以在机器出厂时预先确定并存储于存储器中,也可以通过运行机器获取,
并被机器保存于存储器中。
[0044] 可选的,处理器可以根据预设位置值的获取顺序进行排序,获得预设位置值的序列。比如,以预设位置值的序列包括3个预设位置值为例进行说明,当预设位置值的序列包
括序列号为0的预设位置值、序列号为1的预设位置值和序列号为2的预设位置值时,序列号
为0的预设位置值为第一个获得的预设位置值,序列号为2的预设位置值为最后一个获得的
预设位置值。
[0045] 可选的,处理器可以根据预设位置值确定与预设位置值对应的区间,并根据第二位置值与预设位置值确定第二位置值所在的区间,以此确定输入轴编码器对应的旋转圈
数。
[0046] S203、根据所述旋转圈数和所述第一位置值确定所述机器的输出轴的绝对位置。
[0047] 可选的,处理器可以根据输入轴编码器对应的旋转圈数和第一位置值确定机器的输出轴的绝对位置。
[0048] 可选的,处理器可以根据下述公式确定机器的输出轴的绝对位置:
[0049] 输出轴的绝对位置=输入轴编码器对应的旋转圈数*输入轴编码器的最大位置值+第一位置值。
[0050] 具体地,输入轴编码器的最大位置值为输入轴编码器的最大编码器值对应的位置值。
[0051] 可选的,处理器可以根据输出轴的绝对位置计算出输出轴的角度值,输出轴的绝对位置与输出轴的角度值的对应关系可以存储于处理器中。
[0052] 可选的,输出轴的角度值也可以根据输入轴编码器对应的旋转圈数和第一位置值得到,比如,可以根据下述公式得到输出轴的角度值:
[0053] 输出轴的角度值=输入轴编码器对应的旋转圈数*(360/减速比)+第一位置值对应的角度值。
[0054] 可选的,减速比可以为输入轴与输出轴之间的减速比,减速比的大小可以存储于存储器中。例如,当输入轴与输出轴之间的减速比为5:1时,输入轴的角度值为:输出轴的角
度值=输入轴编码器对应的旋转圈数*(360/5)+第一位置值对应的角度值。
[0055] 可选的,角度值与位置值之间的映射关系可以储存于存储器中。在此,可以根据输入轴编码器的分辨率以及输入轴与输出轴之间的减速比确定该映射关系,处理器可以根据
该映射关系确定第一位置值对应的角度值。
[0056] 或者,输出轴的角度值=(输入轴编码器对应的旋转圈数*360+第一位置值对应的角度值)/减速比。
[0057] 可选的,减速比可以为输入轴与输出轴之间的减速比,例如,当输入轴与输出轴之间的减速比为5:1时,输入轴的角度值为:输出轴的角度值=(输入轴编码器对应的旋转圈
数*360+第一位置值对应的角度值)/5。
[0058] 可选的,第一位置值对应的角度值与位置值之间的映射关系可以储存于存储器中。在此,可以根据输入轴编码器的分辨率确定该映射关系,处理器可以根据该映射关系确
定第一位置值对应的角度值。所述映射关系可以为本领域技术人员所知的映射关系,在此
不做赘述。
[0059] 本实施例中,通过获取第一位置值和第二位置值,根据第二位置值和预设位置值确定输入轴编码器对应的旋转圈数,根据旋转圈数和第一位置值确定机器的输出轴的绝对
位置。因机器的输入轴与输出轴之间存在减速比,输入轴的转速高于输出轴的转速,输入轴
对应的位置变化也大于输出轴对应的位置变化,因此,在使用同样精度的编码器时,通过确
定输入轴编码器对应的旋转圈数和第一位置值确定输出轴的绝对位置,相当于根据输入轴
的绝对位置确定输出轴的绝对位置,比直接测量输出轴的绝对位置精度高。本实施例采用
了绝对式单圈编码器,绝对式单圈编码器可以提高机器的输出轴断电重启后的定位精度和
拖动示教后的运行精度。
[0060] 进一步的,通过将输出轴编码器设置为包括环形磁铁和编码芯片,使得机器的线缆可以从环形磁铁中心穿过,从结构上实现中空走线。环形磁铁和编码芯片构成的输出轴
编码器的精度具有非线性的特点,本实施例采用的方法可以在编码器的精度呈非线性的情
况下,提高机器输出轴的绝对位置的测量精度
[0061] 实施例二
[0062] 在一个实施例中,如图3所示,步骤S201之前,所述绝对位置测量方法还可以包括:
[0063] S301、控制所述机器按照预设方向从第一极限位置运行至第二极限位置。
[0064] 可选的,机器具有硬限制范围,因此只能从第一极限位置运行至第二极限位置,例如,从‑140度运行至+140度。
[0065] 可选的,机器可以根据顺时针方向运行,也可以根据逆时针方向运行。本实施例中以顺时针方向运行为例。
[0066] S302、在所述机器运行过程中,当所述输入轴编码器过零点时,获取所述输出轴编码器的第三位置值,并将所述第三位置值确定为所述预设位置值。
[0067] 可选的,本实施例中以编码器值直接为位置值为例。在机器的运行过程中,处理器获取所述输出轴编码器的第三位置值,处理器可以获取所述输出轴编码器的编码器值,并
将编码器值确定对应的第三位置值。
[0068] 可选的,在运行过程中,当获取的相邻输入轴编码器的位置值的差大于预设零点差值时,则可以认为此时的输入轴编码器过零点,处理器则可获取并存储输出轴编码器的
第三位置值。在此,所述预设零点差值可以设为机器运行半圈的位置值。
[0069] 在一个实施例中,在步骤S302后,所述绝对位置测量方法还可以包括:
[0070] 根据所述第三位置值的获取顺序排列所述预设位置值,得到所述预设位置值的序列。
[0071] 具体的,处理器可以根据第三位置值的获取顺序将预设位置进行排列,得到预设位置值的序列。例如,处理器可以将第一个获取到的第三位置值排列为序列号为0的预设位
置值,可以将第二个获取到的第三位置值排列为序列号为1的预设位置值。
[0072] 在一个实施例中,如图4所述,S202、根据所述第二位置值与预设位置值确定所述输入轴编码器对应的旋转圈数可以包括:
[0073] S401、若所述第二位置值位于第一预设位置值对应的第一区间,则根据所述第一预设位置值和所述第一位置值确定所述输入轴编码器对应的旋转圈数,所述第一预设位置
值为所述序列中的任一预设位置值。
[0074] 可选的,由第一预设位置值对应的第一边界值和第一预设位置值对应的第二边界值构成的区间可以为第一预设位置值对应的第一区间。
[0075] 可选的,第一边界值和第二边界值可以根据第一预设位置值、容许差值、最大位置值和最小位置值确定。
[0076] 可选的,容许差值储存于存储器中,容许差值的数值可以人为设定,也可以根据实际情况调整。
[0077] 可选的,当编码器的分辨率为12时,容许差值可以为5,本申请中以容许差值等于5为例。
[0078] 具体的,最大位置值为编码器可以读到的最大的编码器值。比如,当编码器分辨率为12时,输出轴编码器可以读到的最大位置值为4095。本申请中以最大位置值等于4095为
例。
[0079] 具体的,最小位置值为编码器可以读到的最小的编码器值。比如,当输出轴编码器分辨率为12时,输出轴编码器可以读到的最小位置值为0。本申请中以最小位置值等于0为
例。
[0080] 可选的,当第一预设位置值+容许差值<最大位置值时,第一边界值=第一预设位置值+容许差值;当第一预设位置值+容许差值>最大位置值时,第一边界值=第一预设位置
值+容许差值‑最大位置值‑1。
[0081] 可选的,当第一预设位置值‑容许差值>最小位置值时,第二边界值=第一预设位置值‑容许差值;当第一预设位置值‑容许差值<最小位置值时,第二边界值=第一预设位置
值‑容许差值+最大位置值+1。
[0082] 可选的,如图5所示,当第一预设位置值50+容许差值<最大位置值51,且第一预设位置值‑容许差值>最小位置值52时,第二边界值53到第一边界值54可以为第一区间55。
[0083] 可选的,如图6所示,当第一预设位置值60+容许差值>最大位置值61,且第一预设位置值‑容许差值>最小位置值62时,第二边界值63到最大位置值61和最小位置值62到第一
边界值64可以为第一区间65。
[0084] 可选的,如图7所示,当第一预设位置值70+容许差值<最大位置值71,且第一预设位置值‑容许差值<最小位置值72时,第二边界值73到最大位置值71和最小位置值72到第一
边界值可以为第一区间73。
[0085] 例如,当第一预设位置值为100,95到105为第一预设位置值对应的第一区间,当第二位置值为98时,则可以确定第二位置值位于第一预设位置值对应的第一区间。
[0086] 例如,当第一预设位置值为2,4093到4095和0到7为第一预设位置值对应的第一区间,当第二位置值为4094时,第二位置值位于第一预设位置值对应的第一区间。
[0087] 例如,当第一预设位置值为4094,4089到4095和0到3为第一预设位置值对应的第一区间,当第二位置值为98时,第二位置值位于第一预设位置值对应的第一区间。
[0088] 具体地,当第二位置值位于第一区间时,第二位置值对应的输出轴的位置或角度位于第一预设位置值对应的输出轴的位置或角度的附近。
[0089] 具体地,当第二位置值位于第一区间时,第一位置值位于零点附近。
[0090] 在一个实施例中,如图8所示,步骤S401、根据所述第一预设位置值和所述第一位置值确定所述输入轴编码器对应的旋转圈数,包括:
[0091] S801、确定所述第一位置值与第一设定值之间的大小关系以及确定所述第一位置值与第二设定值之间的大小关系。
[0092] 可选的,第一位置值和第二位置值可以预存在存储器中,也可以根据实际情况进行调整。
[0093] 可选的,第一位置值可以为最小位置值与预设差值的和,第二位置值可以为最大位置值与预设差值的差。
[0094] 可选的,预设差值可以预存于存储器中,预设差值的大小可以根据编码器的分辨率进行调整。
[0095] 可选的,当输入轴编码器的分辨率为12,预设差值可以为40时,最大位置值可以为4095,最小位置值可以为0,第一位置值可以为40,第二位置值可以为4055。
[0096] S802、若所述第一位置值小于所述第一设定值,则确定所述输入轴编码器对应的旋转圈数为n+1圈。
[0097] 具体的,其中n为所述第一预设位置值在所述序列中的序列号。
[0098] 可选的,当第一位置值小于所述第一设定值时,则认为输入轴的位置位于刚过零点的位置,则确定输入轴的位置位于零点的后一圈,因此输入轴编码器对应的旋转圈数为n
+1圈。
[0099] 例如,当第一位置值为5,第一预设位置值在所述序列中的序列号为2时,处理器可以确定输入轴编码器对应的旋转圈数为3圈。
[0100] S803、若所述第一位置值大于所述第二设定值,则确定所述输入轴编码器对应的旋转圈数为n圈。
[0101] 可选的,当第一位置值大于于所述第二设定值时,则认为输入轴的位置位于即将过零点的位置,则确认输入轴的位置位于零点的后一圈,因此输入轴编码器对应的旋转圈
数为n圈。
[0102] 例如,当第一位置值为4090,第一预设位置值在所述序列中的序列号为2时,处理器可以确定输入轴编码器对应的旋转圈数为2圈。
[0103] 其中,所述第二设定值大于或等于所述第一设定值。
[0104] 可选的,当第二位置值位于第一预设位置值对应的第一区间内,第一位置值不会位于第一设定值到第二设定值之间。
[0105] S402、若所述第二位置值位于所述第一预设位置值对应的第二区间,则确定所述输入轴编码器对应的旋转圈数为n+1圈,其中,n为所述第一预设位置值在所述序列中的序
列号。
[0106] 可选的,第二区间可以为第一边界值和第三边界值构成的区间。
[0107] 可选的,第三边界值可以根据第二预设位置值、容许差值、最大位置值和最小位置值确定。
[0108] 可选的,第二预设位置值可以为序列中序列号为n+1的预设位置值,n为第一预设位置值在序列中的序列号。
[0109] 可选的,当n为序列中的最后一个序列号,当第一预设值+(最大位置值/减速比)<最大位置值时,第二预设位置值可以为第一预设值+(最大位置值/减速比),当第一预设值+
(最大位置值/减速比)>最大位置值时,第二预设位置值可以为第一预设值+(最大位置值/
减速比)‑最大位置值。
[0110] 可选的,当第二预设位置值‑容许差值<最小位置值时,第三边界值=第二预设位置值‑容许差值+最大边界值+1。
[0111] 可选的,当第二预设位置‑容许差值>最小位置值时,第三边界值=第二预设位置值‑容许差值。
[0112] 可选的,当第一预设位置值+容许差值<最大位置值,且第二预设位置值‑容许差值<最小位置值时,第一边界值到第三边界值为第二区间。例如,当第一预设位置值为3500,
3503为第一边界值,第二预设位置值为2,4093为第三边界值。3505到4093为第一预设位置
值对应的第二区间。
[0113] 可选的,当第一预设位置值+容许差值<最大位置值,且第二预设位置值‑容许差值>最小位置值时,第一边界值到最大位置值和最小位置值到第三边界值为第二区间或第一
边界值到第三边界值为第二区间。例如,当第一预设位置值为3500,3505为第一边界值,第
二预设位置值为7,2为第三边界值。3505到4095和0到2为第一预设位置值对应的第二区间。
[0114] 可选的,当第一预设位置值+容许差值>最大预设值,且第二预设位置值‑容许差值<最小位置值时,第一边界值到第三边界值为第二区间。例如,当第一预设位置值为4094,3
为第一边界值,第二预设位置值为2,4093为第三边界值。4到4095和0到4093为第一预设位
置值对应的第二区间。
[0115] 可选的,当第一预设位置值+容许差值>最大预设值,且第二预设位置值‑容许差值>最小位置值时,第一边界值到最大位置值和最小位置值到第三边界值为第二区间。例如,
当第一预设位置值为4094,3为第一边界值,第二预设位置值为100,95为第三边界值。3到95
为第一预设位置值对应的第二区间。
[0116] 例如,若第二位置值位于第一预设位置值对应的第二区间,第一预设位置值在所述序列中的序列号为1,则确定所述输入轴编码器对应的旋转圈数为2圈。
[0117] S403、若所述第二位置值位于所述第一预设位置值对应的第三区间,则确定所述输入轴编码器对应的旋转圈数为零圈。
[0118] 可选的,第二位置值可以取到的位置值中除了第一区间和第二区间以为的位置值可以为第三区间。
[0119] 例如,序列中有两个预设位置值,序列号为0的预设位置值对应的第一区间为10到20,序列号为0的预设位置值对应的第二区间为20到1980,序列号为1的预设位置值对应的
第一区间为1980到1990,序列号为1的预设位置值对应的第二区间为1990到3000。当第二位
置值为5时,则确定第二位置值位于第三区间,输入轴编码器对应的旋转圈数为零圈。
[0120] 在本实施例中,通过控制机器按照预设方向从第一极限位置运行至第二极限位置,在机器运行过程中,机器输入轴与输出轴之间存在减速比,输入轴的转速高于输出轴的
转速,输入轴对应的位置变化也大于输出轴对应的位置变化,因此,在使用同样精度的编码
器时,通过确定输入轴编码器对应的旋转圈数和第一位置值确定输出轴的绝对位置,比直
接测量输出轴的绝对位置精度高。例如,当减速比为5:1时,本实施例的测量精度为直接测
量输出轴的绝对位置的测量精度的5倍。本实施例采用绝对式编码器作为输入轴编码器和
输出轴编码器可提高机器输出轴断电重启后的定位精度和拖动示教后的运行精度。
[0121] 进一步地,本实施例通过确定第二位置值是否位于第一预设位置值的第一区间、第二区间和第三区间,来确定输入轴编码器对应的旋转圈数。因为当第二位置值位于第一
预设位置值的第一区间时,受到编码器精度的影响,可能无法准确判断出输入轴编码器对
应的旋转圈数。例如,当输入轴编码器从第一圈运动到第二圈中,过零点时对应的输出轴编
码器值位于29和30之间,但是受到编码器精度的影响,过该零点对应的预设位置值会被记
录为29或30,当第二位置值为29时,难以通过预设记录值确定第二位置值为29对应的输入
轴编码器位于第一圈或第二圈。本实施例通过确定所述第一位置值与第一设定值之间的大
小关系以及确定所述第一位置值与第二设定值之间的大小关系,来确认输入轴编码器的准
确位置,并结合述第二位置值和第一预设位置值准确确定输入轴编码器对应的旋转圈数,
可以降低旋转圈数的误判的可能性,从而提高测量结果的可靠性。
[0122] 实施例三
[0123] 如图9所示,本实施例提供了一种机器的绝对位置测量装置6,用于实现实施例一或二中所述的机器的绝对位置测量方法,所述绝对位置测量装置6具体可以是机器的处理
器中的软件程序装置。所述绝对位置测量装置6包括:
[0124] 获取模块91,获取所述输入轴编码器的第一位置值和所述输出轴编码器的第二位置值;
[0125] 圈数确定模块92,根据所述第二位置值与预设位置值确定所述输入轴编码器对应的旋转圈数;
[0126] 绝对位置确定模块93,根据所述旋转圈数和所述第一位置值确定所述机器的输出轴的绝对位置。
[0127] 在一个实施例中,位置测量装置9还可以包括:
[0128] 控制模块,用于控制所述机器按照预设方向从第一极限位置运行至第二极限位置;
[0129] 位置值获取模块,在所述机器运行过程中,当所述输入轴编码器过零点时,获取所述输出轴编码器的第三位置值,并将所述第三位置值确定为所述预设位置值。
[0130] 在一个实施例中,位置测量装置9还可以包括:
[0131] 序列确定模块,用于根据所述第三位置值的获取顺序排列所述预设位置值,得到所述预设位置值的序列。
[0132] 在一个实施例中,圈数确定模块92包括:
[0133] 第一区间确定单元,若所述第二位置值位于第一预设位置值对应的第一区间,则根据所述第一预设位置值和所述第一位置值确定所述输入轴编码器对应的旋转圈数,所述
第一预设位置值为所述序列中的任一预设位置值。
[0134] 第二区间确定单元,用于若所述第二位置值位于所述第一预设位置值对应的第二区间,则确定所述输入轴编码器对应的旋转圈数为n+1圈,其中,n为所述第一预设位置值在
所述序列中的序列号。第三区间确定单元,用于若所述第二位置值位于所述第一预设位置
值对应的第三区间,则确定所述输入轴编码器对应的旋转圈数为零圈。
[0135] 在一个实施例中,第一区间确定单元包括:
[0136] 大小确定分单元,确定所述第一位置值与第一设定值之间的大小关系以及确定所述第一位置值与第二设定值之间的大小关系。
[0137] 第一圈数确定分单元,用于若所述第一位置值小于所述第一设定值,则确定所述输入轴编码器对应的旋转圈数为n+1圈。
[0138] 第二圈数确定分单元,用于若所述第一位置值大于所述第二设定值,则确定所述输入轴编码器对应的旋转圈数为n圈。第一设定值和第二设定值确定分单元,用于确定第一
设定值和第二设定值,其中,所述第二设定值大于或等于所述第一设定值。
[0139] 在一个实施例中,所述输入轴编码器和所述输出轴编码器为绝对式单圈编码器。
[0140] 在一个实施例中,所述输入轴编码器包括实心磁铁和编码芯片,所述输出轴编码器包括环形磁铁和编码芯片。
[0141] 实施例四
[0142] 本实施例提供一种机器,用于实现实施例一或二中所述的机器的绝对位置测量方法,机器包括:输入轴侧编码器、输入轴侧编码器、处理器、输入轴和输出轴。输入轴侧编码
器、输入轴侧编码器分别与处理器电性连接。
[0143] 输入轴侧编码器可以包括实心磁铁和编码芯片。实心磁铁可以沿输入轴径向设置于输入轴上,实心磁铁可以与输入轴的转子同轴运动。编码芯片可以设置于实心磁铁的正
上方或正下方。编码芯片可以根据于实心磁铁运动中的磁力变化检测输入轴的绝对位置。
[0144] 输出轴侧编码器可以包括环形磁铁和编码芯片。环形磁铁可以沿输出轴径向设置于输出轴上,环形磁铁可以与输入轴的转子同轴运动。编码芯片可以设置于环形磁铁的侧
面。编码芯片可以根据于环形磁铁运动中的磁力变化检测输出轴的绝对位置。
[0145] 本实施例中,输出轴编码器为可以包括环形磁铁和编码芯片,机器的线缆可以从环形磁铁中穿过,可以实现机器的中空走线,机器通过输入轴编码器、输出轴编码器和处理
器可以实现实施例一或二中所述的机器的绝对位置测量方法。
[0146] 需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此
处不再赘述。
[0147] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的
功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上
描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可
以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的
单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单
元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统
中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0148] 本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
[0149] 本申请实施例提供了一种计算机程序产品,当计算机程序产品在输入轴编码器、输出轴编码器的机器上运行时,使得机器执行时可实现上述各个方法实施例中的步骤。
[0150] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方
法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程
序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个
方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以
为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可
以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、
计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random 
Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者
光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和
电信信号。
[0151] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0152] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本申请的范围。
[0153] 在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所
述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如
多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另
一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置
或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0154] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0155] 以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各
实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改
或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应
包含在本申请的保护范围之内。