CN114102594A - 机械臂关节及初始位置确定方法、装置、设备和存储介质 - Google Patents

机械臂关节及初始位置确定方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN114102594A
CN114102594A CN202111418009.0A CN202111418009A CN114102594A CN 114102594 A CN114102594 A CN 114102594A CN 202111418009 A CN202111418009 A CN 202111418009A CN 114102594 A CN114102594 A CN 114102594A
Authority
CN
China
Prior art keywords
encoder
reading
current
pulse number
pulses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111418009.0A
Other languages
English (en)
Other versions
CN114102594B (zh
Inventor
庄飞飞
姜宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yuejiang Technology Co Ltd
Original Assignee
Shenzhen Yuejiang Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Yuejiang Technology Co Ltd filed Critical Shenzhen Yuejiang Technology Co Ltd
Priority to CN202111418009.0A priority Critical patent/CN114102594B/zh
Publication of CN114102594A publication Critical patent/CN114102594A/zh
Application granted granted Critical
Publication of CN114102594B publication Critical patent/CN114102594B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J17/00Joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/12Programme-controlled manipulators characterised by positioning means for manipulator elements electric
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Manipulator (AREA)

Abstract

本发明公开一种机械臂关节及初始位置确定方法、装置、设备和存储介质,该初始位置确定方法包括:获取第二编码器的当前读数;根据第二编码器的当前读数,计算第一编码器累计转动量对应的脉冲数P1;获取第一编码器的当前读数;根据脉冲数P1和第一编码器的当前读数,计算第一编码器累计转动的整圈数;根据第一编码器的当前读数和确定的整圈数,计算第一编码器累计转动量对应的脉冲数P2;将脉冲数P2确定为机械臂关节的初始位置。本发明技术方案,有效的提高了机械臂关节上电后确定的初始位置精度。

Description

机械臂关节及初始位置确定方法、装置、设备和存储介质
技术领域
本发明涉及机械臂领域,特别涉及一种机械臂关节及初始位置确定方法、装置、设备和存储介质。
背景技术
目前,大多数机械臂通常为了保证各个关节上电后初始位置不丢失,其关节中通常采用绝对值编码器,关节的初始位置就是其关节电机的输出轴的初始位置。
其中,采用单圈绝对值编码器的在机械臂关节,通常包括关节电机、减速器、安装在关节电机端的第一编码器以及安装在减速器端的第二编码器,第一编码器用于检测关节电机的输出轴的转动参数,第二编码器用于检测减速器的输出轴的转动参数。在机械臂关节运行时,关节电机的输出轴通常转动很多圈,减速器的输出轴则只在一圈范围内转动,由于第一编码器不能记录多圈值,因此,通常是通过第二编码器的读数来反推计算关节电机的输出轴的初始位置。而由于减速器的输出轴相较于关节电机的输出轴而言,转速很低,第二编码器在转动过程中接收到的脉冲总数很少,因此仅根据第二编码器的读数来计算关节电机的输出轴的初始位置,误差会较大,精度不高,即计算得到的机械臂关节的初始位置精度差。
发明内容
本发明提供一种机械臂关节及初始位置确定方法、装置、设备和存储介质,旨在解决机械臂关节初始位置确定的精度差。
为实现上述目的,本发明提出的机械臂关节的初始位置确定方法,机械臂关节包括关节电机、关节控制电路、减速器、安装在关节电机端的第一编码器,以及安装在减速器端的第二编码器,第一编码器和第二编码器均为单圈绝对值编码器,包括:
获取第二编码器的当前读数;
根据第二编码器的当前读数,计算第一编码器累计转动量对应的脉冲数P1;
获取第一编码器的当前读数;
根据脉冲数P1和第一编码器的当前读数,计算第一编码器累计转动的整圈数;
根据第一编码器的当前读数和确定的整圈数,计算第一编码器累计转动量对应的脉冲数P2;
将脉冲数P2确定为机械臂关节的初始位置。
其中,根据第二编码器的当前读数,计算第一编码器累计转动量对应的脉冲数P1的步骤,包括:
根据第二编码器的当前读数、第二编码器的零点读数、减速器的减速比、第一编码器转动一圈的脉冲数和第二编码器转动一圈的脉冲数,采用第一预设公式计算第一编码器累计转动量对应的脉冲数P1。
其中,第二编码器的当前读数和零点位置读数分别为第二编码器的当前位置脉冲数和零点位置脉冲数;第一预设公式为:P1=(A1-A0)*C*G/F,其中,A1为第二编码器的当前位置脉冲数,A0为第二编码器的零点位置脉冲数,C为第一编码器转动一圈的脉冲数,G为减速器的减速比,F为第二编码器转动一圈的脉冲数;
或,第二编码器的当前读数和零点位置读数分别为第二编码器的当前位置角度值和零点位置角度值;第一预设公式为:P1=(B1-B0)*C*G/360°,其中,B1为第二编码器的当前位置角度值,B0为第二编码器的零点位置角度值,C为第一编码器转动一圈的脉冲数,G为减速器的减速比。
其中,根据脉冲数P1和第一编码器的当前读数,计算第一编码器累计转动的整圈数的步骤,包括:
根据脉冲数P1、第一编码器的当前读数、第一编码器的零点读数和第一编码器转动一圈的脉冲数,采用第二预设公式计算第一编码器累计转动的圈数N;
确定与N的值最接近的整数M,作为第一编码器累计转动的整圈数。
其中,第一编码器的当前读数和零点读数分别为第一编码器的当前位置脉冲数和零点位置脉冲数;第二预设公式为:N=(P1-D1+D0)/C,其中,C为第一编码器转动一圈的脉冲数,D1为第一编码器的当前位置脉冲数,D0为第一编码器的零点位置脉冲数;
或,第一编码器的当前读数和零点读数分别为第一编码器的当前位置角度值和零点位置角度值;第二预设公式为:N=P1/C-(E1-E0)/360°,其中,C为第一编码器转动一圈的脉冲数,E1为第一编码器的当前位置角度值,E0为第一编码器的零点位置角度值。
其中,根据第一编码器的当前读数和确定的整圈数,计算第一编码器累计转动量对应的脉冲数P2的步骤,包括:
根据第一编码器的当前读数、第一编码器的零点读数、第一编码器转动一圈的脉冲数和确定的整圈数,采用第三预设公式计算第一编码器累计转动量对应的脉冲数P2。
其中,第一编码器的当前读数和零点读数分别为第一编码器的当前位置脉冲数和零点位置脉冲数;第三预设公式为:P2=C*M+D1-D0,其中,C为第一编码器转动一圈的脉冲数,M为确定的整圈数,D1为第一编码器的当前位置脉冲数,D0为第一编码器的零点位置脉冲数;
或,第一编码器的当前读数和零点读数分别为第一编码器的当前位置角度值和零点位置角度值;第三预设公式为:P2={M+(E1-E0)/360°}*C,其中,C为第一编码器转动一圈的脉冲数,M为确定的整圈数,E1为第一编码器的当前位置角度值,E0为第一编码器的零点位置角度值。
本发明进一步提出一种机械臂关节的初始位置确定装置,机械臂关节包括关节电机、关节控制电路、减速器、安装在关节电机端的第一编码器,以及安装在减速器端的第二编码器,第一编码器和第二编码器均为单圈绝对值编码器,初始位置确定装置包括:
第一获取模块,用于获取第二编码器的当前读数;
第一计算模块,用于根据第二编码器的当前读数,计算第一编码器累计转动量对应的脉冲数P1;
第二获取模块,用于获取第一编码器的当前读数;
第二计算模块,用于根据脉冲数P1和第一编码器的当前读数,计算第一编码器累计转动的整圈数;
第三计算模块,用于根据第一编码器的当前读数和确定的整圈数,计算第一编码器累计转动量对应的脉冲数P2;
确定模块,用于将脉冲数P2确定为机械臂关节的初始位置。
本发明进一步还提出一种初始位置确定设备,包括:
至少一个处理器;以及,
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序指令,计算机程序指令被至少一个处理器执行,以使至少一个处理器能够执行上述的初始位置确定方法。
本发明进一步还提出一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时,实现上述的初始位置确定方法。
本发明进一步还提出一种机械臂关节,包括关节电机、减速器、安装在关节电机端的第一编码器,以及安装在减速器端的第二编码器,第一编码器和第二编码器均为单圈绝对值编码器,还包括上述的初始位置确定设备或上述的存储介质。
本发明技术方案,采用在机械臂关节上电后,先获取第二编码器的当前读数,根据获取的第二编码器的当前读数,以及第一编码器与第二编码器之间的已知关联条件,计算得出第一编码器累计转动量对应的脉冲数P1;再获取第一编码器的当前读数,根据计算得出的P1结合获取到的第一编码器的当前读数,计算得出第一编码器累计转动的整圈数;最后,根据得到的第一编码器累计转动的整圈数和获取到的第一编码器的当前读数,计算得到第一编码器累计转动量对应的脉冲数P2,将P2作为机械臂关节的初始位置。本发明的初始位置确定方法,结合使用第一编码器和第二编码器的读数,来计算确定机械臂关节的初始位置,由于第一编码器的读数精度高,因此,相较于仅使用第二编码器的数据计算确定初始位置的方式而言,本发明方案有效的提高了机械臂关节上电后确定的初始位置精度。
附图说明
图1为发明初始位置确定方法适用的机械臂关节的部分结构的剖视示意图;
图2为本发明一实施例中的初始位置确定方法的流程示意图;
图3为本发明一实施例中的初始位置确定方法的流程示意图;
图4为本发明一实施例中的初始位置确定装置的程序模块图;
图5为本发明实施例方案涉及的硬件运行环境中初始位置确定设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出一种机械臂关节的初始位置确定方法。
参阅图1,本发明初始位置确定方法适用的机械臂关节,包括关节电机10、减速器20、安装在关节电机10端的第一编码器30,以及安装在减速器20端的第二编码器40,第一编码器10检测关节电机10的输出轴11的转动参数,第二编码器20检测减速器20的输出轴21的转动参数,第一编码器30和第二编码器40均为单圈绝对值编码器。
参阅2所示,图2是本发明初始位置确定方法一实施例的流程示意图。
在本实施例中,该初始位置确定方法包括:
步骤S101,获取第二编码器的当前读数。
在机械臂关节由断电状态重新上电后,获取第二编码器的当前读数,第二编码器的当前读数由第二编码器的读头直接读取获得,或由第二编码器的读头直接读取到的参数进行对应转化后得到(例如,将脉冲数转换为对应的角度值)。
步骤S102,根据第二编码器的当前读数,计算第一编码器累计转动量对应的脉冲数P1。
由于第二编码器的零点读数、减速器的减速比、第二编码器转动一圈的脉冲数、第一编码器转动一圈的脉冲数均是已知量,且由于第二编码器的累计转动量是小于一圈的,因此,在获取到第二编码器的当前读数后,第二编码器上的数据均为已知量;并且,因为第一编码器编码器安装在电机端,第二编码器安装在减速器端,所以,第一编码器的累计转动量(例如累计转动角度)与第二编码器的累计转动量之间存在减速器的减速比(例如,50~100)的比例关系;基于上述已知条件和相关关系,故可以计算得出第一编码器累计转动量对应的脉冲数P1。
步骤S103,获取第一编码器的当前读数。
在计算出脉冲数P1后,再去获取第一编码器的当前读数,第一编码器的当前读数与第二编码器的当前读数是在机械臂关节同一位置状态时的读数(即机械臂关节在本初始位置确定方法的步骤执行过程中,未启动运行);第一编码器的当前读数由第一编码器的读头直接读取获得,或由第一编码器的读头直接读取到的参数进行对应转化后得到(例如,将脉冲数转换为对应的角度值)。
步骤S104,根据脉冲数P1和第一编码器的当前读数,计算第一编码器累计转动的整圈数。
在通过第一预设计算公式计算得到第一编码器累计转动量对应的脉冲数P1后,由于第一编码器的零点读数和第一编码器转动一圈的脉冲数均为已知量,且获取到了第一编码器的当前读数和知道了第一编码器累计转动量对应的脉冲数P1,因此,根据上述已知量可以计算得出第一编码器累计转动的圈数,进而确定第一编码器累计转动的整圈数。
步骤S105,根据第一编码器的当前读数和确定的整圈数,计算第一编码器累计转动量对应的脉冲数P2。
在得到第一编码器累计转动的整圈数M后,由于第一编码器的零点读数和第一编码器转动一圈的脉冲数已知,且第一编码器的当前读数也已获取到,故可以计算得出第一编码器累计转动量对应的脉冲数P2。
步骤S106,将脉冲数P2确定为机械臂关节的初始位置。
在计算得出第一编码器累计转动量对应的脉冲数P2后,确定脉冲数P2为机械臂关节的初始位置(即关节电机的输出轴的初始位置)。
本实施例的初始位置确定方法,采用在机械臂关节上电后,先获取第二编码器的当前读数,根据获取的第二编码器的当前读数,以及第一编码器与第二编码器之间的已知关联条件,计算得出第一编码器累计转动量对应的脉冲数P1;再获取第一编码器的当前读数,根据计算得出的P1结合获取到的第一编码器的当前读数,计算得出第一编码器累计转动的整圈数;最后,根据得到的第一编码器累计转动的整圈数和获取到的第一编码器的当前读数,计算得到第一编码器累计转动量对应的脉冲数P2,将P2作为机械臂关节的初始位置。本实施例的初始位置确定方法,结合使用第一编码器和第二编码器的读数,来计算确定机械臂关节的初始位置,由于第一编码器的读数精度高,因此,相较于现有技术单独使用第二编码器的数据计算确定初始位置的方式而言,本实施例方法有效的提高了机械臂关节上电后确定的初始位置精度。
需要说明的是,本发明的初始位置确定方法,在其他实施例中,步骤S30可与步骤S10同时执行,即在机械臂关节上电后,获取第二编码器的当前读数和获取第一编码器的当前读数,其余的步骤顺序不变。
在本发明中,第一编码器30的转动指的是第一编码器30与关节电机10的输出轴11相连接的器件(码盘或读头)的转动量;第二编码器40的转动指的是第二编码器40与减速器20的输出轴21相连接的器件(码盘或读头)的转动。
在一些实施例中,步骤S102包括:
根据第二编码器的当前读数、第二编码器的零点读数、减速器的减速比、第一编码器转动一圈的脉冲数和第二编码器转动一圈的脉冲数,采用第一预设公式计算第一编码器累计转动量对应的脉冲数P1。
利用第一编码器的累计转动量与第二编码器的累计转动量之间存在减速比的比例关系的这一原理,并基于第二编码器的零点读数、减速器的减速比、第二编码器转动一圈的脉冲数和第一编码器转动一圈的脉冲数这些已知量,采用第一预设公式以计算出第一编码器累计转动量对应的脉冲数P1。
在一些实施例中,第二编码器的当前读数和零点位置读数分别为第二编码器的当前位置脉冲数和零点位置脉冲数;第一预设公式为:P1=(A1-A0)*C*G/F;其中,A1为第二编码器的当前位置脉冲数,A0为第二编码器的零点位置脉冲数,C为第一编码器转动一圈的脉冲数,G为减速器的减速比,F为第二编码器转动一圈的脉冲数。在该第一预设公式中,A0、C、G和F均为已知量,在获得第二编码器的当前位置脉冲数A1后,等式右边全部为已知量,因此可计算出等式右边的P1的值。
即:先根据(当前位置脉冲数-零点位置脉冲数)/第二编码器转动一圈的脉冲数,求得第二编码器的转动圈数(该圈数小于1,例如0.3);然后根据减速比,求得第一编码器的累计转动的圈数;最后将第一编码器的转动圈数乘以第一编码器转动一圈的脉冲数,则得到第一编码器累计转动量对应的脉冲数P1。例如,当第二编码器的当前位置脉冲数为18000,第二编码器的零点位置脉冲数为3000,第二编码器转动一圈的脉冲数为180000,减速器的减速比为50,第一编码器转动一圈的脉冲数为360000时,则根据第一预设公式计算出第一编码器累计转动量对应的脉冲数P1=(18000-3000)×360000×50/180000=1500000;又例如,当第二编码器的当前位置脉冲数为25500,第二编码器的零点位置脉冲数为3000,第二编码器转动一圈的脉冲数为180000,减速器的减速比为50,第一编码器转动一圈的脉冲数为360000时,则根据第一预设公式计算出第一编码器累计转动量对应的脉冲数P1=(25500-3000)×360000×50/180000=2550000。
在一些实施例中,第二编码器的当前读数为第二编码器的当前位置角度值;第一预设公式为:P1=(B1-B0)*C*G/360°,其中,B1为第二编码器的当前位置角度值,B0为第二编码器的零点位置角度值,C为第一编码器转动一圈的脉冲数,G为减速器的减速比。在该第一预设公式中,B0、C和G均为已知量,在获得第二编码器的当前位置脉冲数B1后,等式右边全部为已知量,因此可计算出等式右边的P1的值。即,先根据(当前位置角度值-零点位置角度值)/360°,求得第二编码器由零点位置到当前位置的转动圈数(该圈数小于1,例如0.3);然后根据减速比求得第一编码器的累计转动圈数;最后将第一编码器的累计转动圈数乘以第一编码器转动一圈的脉冲数,得到第一编码器累计转动量对应的脉冲数P1。例如,当第二编码器的当前位置角度值为36°,第二编码器的零点位置脉冲数为6°,减速器的减速比为50,第一编码器转动一圈的脉冲数为360000时,则根据第一预设公式计算出第一编码器累计转动量对应的脉冲数P1=(36°-6°)×360000×50/360°=1500000;又例如,当第二编码器的当前位置角度值为51°,第二编码器的零点位置角度值为6°,减速器的减速比为50,第一编码器转动一圈的脉冲数为360000时,则根据第一预设公式计算出第一编码器累计转动量对应的脉冲数P1=(51°-6°)×360000×50/360°=2550000。
在一些实施例中,步骤S105包括:
根据第一编码器的当前读数、第一编码器的零点读数、第一编码器转动一圈的脉冲数和确定的整圈数,采用第三预设公式计算第一编码器累计转动量对应的脉冲数P2。
在得到第一编码器累计转动的整圈数M后,由于第一编码器的零点读数和第一编码器转动一圈的脉冲数已知,且第一编码器的当前读数也知道,根据这些已知量及这些已知量与第一编码器累计转动量对应的脉冲数之间的关系(即第三预设公式),则可计算出第一编码器累计转动量对应的脉冲数P2。
在一些实施例中,第一编码器的当前读数和零点读数分别为第一编码器的当前位置脉冲数和零点位置脉冲数;第三预设公式为:P2=C*M+D1-D0,计算出P2;其中,C为第一编码器转动一圈的脉冲数,M为确定的整圈数,D1为第一编码器的当前位置脉冲数,D0为第一编码器的零点位置脉冲数。即,分别计算第一编码器转动的整圈部分对应的脉冲数和转动不足一圈的部分的脉冲数,再将两者相加,得到第一编码器累计转动量对应的脉冲数P2。例如,第一编码器的当前位置脉冲数为54000,第一编码器的零点位置脉冲数为0,第一编码器转动一圈的脉冲数为360000,确定的整圈数为15,则P2=360000×15+54000-0=5454000;又例如,第一编码器的当前位置脉冲数为54000,第一编码器的零点位置脉冲数为18000,第一编码器转动一圈的脉冲数为360000,确定的整圈数为10,则P2=360000×10+54000-18000=3636000。
在一些实施例中,第一编码器的当前读数和零点读数分别为第一编码器的当前位置角度值和零点位置角度值;第三预设公式为:P2={M+(E1-E0)/360°}*C,其中,C为第一编码器转动一圈的脉冲数,M为确定的整圈数,E1为第一编码器的当前位置角度值,E0为第一编码器的零点位置角度值。即,先求出第一编码器转动不足一圈的部分所对应的圈数,将其与整圈数相加得到第一编码器累计转动的圈数,再将累计转动圈数乘以第一编码器转动一圈的脉冲数,得出第一编码器累计转动量对应的脉冲数P2。例如,第一编码器的当前位置角度值为54°,零点位置角度值为0°,第一编码器转动一圈的脉冲数为360000,确定的整圈数为15,则P2={15+(54°-0°)/360°}×360000=5454000;又例如,第一编码器的当前位置脉冲数为54°,第一编码器的零点位置脉冲数为18°,第一编码器转动一圈的脉冲数为360000,确定的整圈数为10,则P2={10+(54°-18°)/360°}×360000=3636000。
参阅图3,图3是发明一实施例中的初始位置确定方法的流程示意图。
在本实施例中,初始位置确定方法包括:
步骤S201,获取第二编码器的当前读数;
步骤S202,根据第二编码器的当前读数,计算第一编码器累计转动量对应的脉冲数P1;
步骤S203,获取第一编码器的当前读数;
步骤S204,根据脉冲数P1、第一编码器的当前读数、第一编码器的零点读数和第一编码器转动一圈的脉冲数,采用第二预设公式计算第一编码器累计转动的圈数N。
由于第一编码器的当前读数、第一编码器的零点读数和第一编码器转动一圈的脉冲数均为已知量,在计算出第一编码器累计转动对应量对应的脉冲数P1后,根据各个已知量之间的关系式(即第二预设公式),可计算出第一编码器累计转动的圈数N。
步骤S205,确定与N的值最接近的整数M,作为第一编码器累计转动的整圈数。
本实施例中,第一编码器累计转动的圈数指的是第一编码器累计转动的完整圈的圈数,理论上计算出的N应为整数;但由于第一编码器累计转动量对应的脉冲数P1是由第二编码器上的数据计算得到的,精度较差,具有较大的误差,故计算出的N并非整数,N值的小数部分主要因为第二编码器上的数据误差产生的。对此,通过确定与圈数N最接近的整圈数M,将M作为第一编码器累计转动的整圈数,以抵消部分根据第二编码器上的数据计算出的数据的误差;例如,1、计算得到的N的值为30.78,则M取为31;2、计算得到的N的值为30.15,则M取为30。
步骤S206,根据第一编码器的当前读数和确定的整圈数,计算第一编码器累计转动量对应的脉冲数P2;
步骤S207,将脉冲数P2为确定机械臂关节的初始位置。
其中,步骤S201至S203,以及步骤S206和S207的详细说明参照图1实施例中的相应步骤说明,在此不再赘述。
在一些实施例中,第一编码器的当前读数和零点读数分别为第一编码器的当前位置脉冲数和零点位置脉冲数,第二预设公式为:N=(P1-D1+D0)/C,其中,C为第一编码器转动一圈的脉冲数,D1为第一编码器的当前位置脉冲数,D0为第一编码器的零点位置脉冲数。即,先将第一编码器累计转动量对应的脉冲数P1减去第一编码器转动不足一圈的部分所对应的脉冲数(即D1-D0),理论得到第一编码器转动的整圈数所对应的脉冲数,再将整圈数所对应的脉冲数除去第一编码器转动一圈的脉冲数,得到第一编码器转动的圈数N。例如,P1为11134800,第一编码器的当前位置脉冲数为54000,零点位置脉冲数为0,第一编码器转动一圈的脉冲数为360000,则N=(11134800-54000+0)/360000=30.78;又例如,P1为10908000,第一编码器的当前位置脉冲数为54000,零点位置脉冲数为0,第一编码器转动一圈的脉冲数为360000,则N=(10908000-54000+0)/360000=30.15。
在一些实施例中,第一编码器的当前读数和零点读数分别为第一编码器的当前位置角度值和零点位置角度值;第二预设公式为:N=P1/C-(E1-E0)/360°,计算出N;其中,C为第一编码器转动一圈的脉冲数,E1为第一编码器的当前位置角度值,E0为第一编码器的零点位置角度值。即,将第一编码器累计转动量对应的脉冲数P1除以第一编码器转动一圈的脉冲数,得出第一编码器累计转动的圈数值,并求出第一编码器转动不够一整圈的部分所对应圈数值,再将两者相减以求得理论上第一编码器转动的整圈数值(理论上为整数,实际由于误差为非整数)。例如,P1为11134800,第一编码器的当前位置角度值为54°,零点位置角度值为0°,第一编码器转动一圈的脉冲数为360000,则N=11134800/360000-(54°-0°)/360°=30.78;又例如,P1为10908000,第一编码器的当前位置角度值为54°,零点位置角度值为0°,第一编码器转动一圈的脉冲数为360000,则N=10908000/360000-(54°-0°)/360°=30.15。
参阅图4,图4是本发明一实施例中的初始位置确定装置的程序模块图。
本实施例基于前述实施例所提出的初始位置确定方法,进一步提出一种机械臂关节的初始位置确定装置10,该初始位置确定装置10包括:
第一获取模块101,用于获取第二编码器的当前读数;
第一计算模块102,用于根据第二编码器的当前读数,计算第一编码器累计转动量对应的脉冲数P1;
第二获取模块103,用于获取第一编码器的当前读数;
第二计算模块104,用于根据脉冲数P1和第一编码器的当前读数,计算第一编码器累计转动的整圈数;
第三计算模块105,用于根据第一编码器的当前读数和确定的整圈数,计算第一编码器累计转动量对应的脉冲数P2;
确定模块106,用于将脉冲数P2确定为机械臂关节的初始位置。
上述各个模块的作用的详细说明可参照上述初始位置确定方法的各个实施例,在此不再赘述。
基于前述实施例所提出的初始位置确定方法,本发明进一步提出一种初始位置确定设备,包括:
至少一个处理器;以及,
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序指令,计算机程序指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一实施例的初始位置确定方法。
参阅图5,图5是本发明实施例方案设计的硬件运行环境中初始位置确定设备的结构示意图。
本发明实施例初始位置确定设备可以是机器人,也可以是PC。如图5所示,该初始位置确定设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元,比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图5中示出的初始位置确定设备结构并不构成对初始位置确定设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及初始位置确定程序。
在图5所示的初始位置确定设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的初始位置确定程序。
基于前述实施例所提出的初始位置确定方法,本发明还提出一种存储介质,该存储介质存储有计算机程序,计算机程序被处理器执行时,实现前述实施例所记载的初始位置确定方法,该初始位置确定方法至少包括以下步骤:
步骤1,获取第二编码器的当前读数;
步骤2,根据第二编码器的当前读数,计算第一编码器累计转动量对应的脉冲数P1;
步骤3,获取第一编码器的当前读数;
步骤4,根据脉冲数P1和第一编码器的当前读数,计算第一编码器累计转动的整圈数;
步骤5,根据第一编码器的当前读数和确定的整圈数,计算第一编码器累计转动量对应的脉冲数P2;
步骤6,将脉冲数P2确定为机械臂关节的初始位置。
本发明进一步提出一种机械臂关节,包括关节电机、减速器、安装在关节电机端的第一编码器,以及安装在减速器端的第二编码器,第一编码器和第二编码器均为单圈绝对值编码器,还包括上述的初始位置确定设备或上述的存储介质。由于本发明机械臂关节,采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述的仅为本发明的部分或优选实施例,无论是文字还是附图都不能因此限制本发明保护的范围,凡是在与本发明一个整体的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明保护的范围内。

Claims (11)

1.一种机械臂关节的初始位置确定方法,所述机械臂关节包括关节电机、关节控制电路、减速器、安装在所述关节电机端的第一编码器,以及安装在所述减速器端的第二编码器,所述第一编码器和所述第二编码器均为单圈绝对值编码器,其特征在于,包括:
获取所述第二编码器的当前读数;
根据所述第二编码器的当前读数,计算所述第一编码器累计转动量对应的脉冲数P1;
获取所述第一编码器的当前读数;
根据所述脉冲数P1和所述第一编码器的当前读数,计算所述第一编码器累计转动的整圈数;
根据所述第一编码器的当前读数和确定的所述整圈数,计算所述第一编码器累计转动量对应的脉冲数P2;
将所述脉冲数P2确定为所述机械臂关节的初始位置。
2.根据权利要求1所述的初始位置确定方法,其特征在于,所述根据所述第二编码器的当前读数,计算所述第一编码器累计转动量对应的脉冲数P1的步骤,包括:
根据所述第二编码器的当前读数、所述第二编码器的零点读数、所述减速器的减速比、所述第一编码器转动一圈的脉冲数和所述第二编码器转动一圈的脉冲数,采用第一预设公式计算所述第一编码器累计转动量对应的脉冲数P1。
3.根据权利要求2所述的初始位置确定方法,其特征在于,所述第二编码器的当前读数和零点位置读数分别为所述第二编码器的当前位置脉冲数和零点位置脉冲数;所述第一预设公式为:P1=(A1-A0)*C*G/F,其中,A1为所述第二编码器的当前位置脉冲数,A0为所述第二编码器的零点位置脉冲数,C为所述第一编码器转动一圈的脉冲数,G为所述减速器的减速比,F为所述第二编码器转动一圈的脉冲数;
或,所述第二编码器的当前读数和零点位置读数分别为所述第二编码器的当前位置角度值和零点位置角度值;所述第一预设公式为:P1=(B1-B0)*C*G/360°,其中,B1为所述第二编码器的当前位置角度值,B0为所述第二编码器的零点位置角度值,C为所述第一编码器转动一圈的脉冲数,G为所述减速器的减速比。
4.根据权利要求1所述的初始位置确定方法,其特征在于,所述根据所述脉冲数P1和所述第一编码器的当前读数,计算所述第一编码器累计转动的整圈数的步骤,包括:
根据所述脉冲数P1、所述第一编码器的当前读数、所述第一编码器的零点读数和所述第一编码器转动一圈的脉冲数,采用第二预设公式计算所述第一编码器累计转动的圈数N;
确定与所述N的值最接近的整数M,作为所述第一编码器累计转动的整圈数。
5.根据权利要求4所述的初始位置确定方法,其特征在于,所述第一编码器的当前读数和零点读数分别为所述第一编码器的当前位置脉冲数和零点位置脉冲数;所述第二预设公式为:N=(P1-D1+D0)/C,其中,C为所述第一编码器转动一圈的脉冲数,D1为所述第一编码器的当前位置脉冲数,D0为所述第一编码器的零点位置脉冲数;
或,所述第一编码器的当前读数和零点读数分别为所述第一编码器的当前位置角度值和零点位置角度值;所述第二预设公式为:N=P1/C-(E1-E0)/360°,其中,C为所述第一编码器转动一圈的脉冲数,E1为所述第一编码器的当前位置角度值,E0为所述第一编码器的零点位置角度值。
6.根据权利要求1所述的初始位置确定方法,其特征在于,所述根据所述第一编码器的当前读数和确定的所述整圈数,计算所述第一编码器累计转动量对应的脉冲数P2的步骤,包括:
根据所述第一编码器的当前读数、所述第一编码器的零点读数、所述第一编码器转动一圈的脉冲数和确定的所述整圈数,采用第三预设公式计算所述第一编码器累计转动量对应的脉冲数P2。
7.根据权利要求6所述的初始位置确定方法,其特征在于,所述第一编码器的当前读数和零点读数分别为所述第一编码器的当前位置脉冲数和零点位置脉冲数;所述第三预设公式为:P2=C*M+D1-D0,其中,C为所述第一编码器转动一圈的脉冲数,M为确定的所述整圈数,D1为所述第一编码器的当前位置脉冲数,D0为所述第一编码器的零点位置脉冲数;
或,所述第一编码器的当前读数和零点读数分别为所述第一编码器的当前位置角度值和零点位置角度值;所述第三预设公式为:P2={M+(E1-E0)/360°}*C,其中,C为所述第一编码器转动一圈的脉冲数,M为确定的所述整圈数,E1为所述第一编码器的当前位置角度值,E0为所述第一编码器的零点位置角度值。
8.一种机械臂关节的初始位置确定装置,所述机械臂关节包括关节电机、关节控制电路、减速器、安装在所述关节电机端的第一编码器,以及安装在所述减速器端的第二编码器,所述第一编码器和所述第二编码器均为单圈绝对值编码器,其特征在于,包括:
第一获取模块,用于获取所述第二编码器的当前读数;
第一计算模块,用于根据所述第二编码器的当前读数,计算所述第一编码器累计转动量对应的脉冲数P1;
第二获取模块,用于获取所述第一编码器的当前读数;
第二计算模块,用于根据所述脉冲数P1和所述第一编码器的当前读数,计算所述第一编码器累计转动的整圈数;
第三计算模块,用于根据所述第一编码器的当前读数和确定的所述整圈数,计算所述第一编码器累计转动量对应的脉冲数P2;
确定模块,用于将所述脉冲数P2确定为所述机械臂关节的初始位置。
9.一种初始位置确定设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述初始位置确定方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1至7任一项所述的初始位置确定方法。
11.一种机械臂关节,包括关节电机、减速器、安装在所述关节电机端的第一编码器,以及安装在所述减速器端的第二编码器,所述第一编码器和所述第二编码器均为单圈绝对值编码器,其特征在于,还包括权利要求9所述的初始位置确定设备或权利要求10所述的存储介质。
CN202111418009.0A 2021-11-25 2021-11-25 机械臂关节及初始位置确定方法、装置、设备和存储介质 Active CN114102594B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111418009.0A CN114102594B (zh) 2021-11-25 2021-11-25 机械臂关节及初始位置确定方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111418009.0A CN114102594B (zh) 2021-11-25 2021-11-25 机械臂关节及初始位置确定方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN114102594A true CN114102594A (zh) 2022-03-01
CN114102594B CN114102594B (zh) 2023-11-14

Family

ID=80373841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111418009.0A Active CN114102594B (zh) 2021-11-25 2021-11-25 机械臂关节及初始位置确定方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN114102594B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023220871A1 (zh) * 2022-05-16 2023-11-23 北京小米机器人技术有限公司 一种机器人的关节角度的确定方法、装置、设备及介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116057A (ja) * 2000-10-06 2002-04-19 Yaskawa Electric Corp 多回転式絶対値エンコーダ装置
JP2006271189A (ja) * 2005-02-28 2006-10-05 Harmonic Drive Syst Ind Co Ltd ギヤ付きモータ
JP2010249585A (ja) * 2009-04-13 2010-11-04 Yamatake Corp 現在位置特定装置及び現在位置特定方法
CN102658504A (zh) * 2012-04-11 2012-09-12 深圳市大族激光科技股份有限公司 伺服电机系统及基于该伺服电机系统的厚度测量方法
CN108414224A (zh) * 2018-06-05 2018-08-17 上海仪沃智能科技有限公司 一种用于电动执行机构机械磨损的实时检测装置及方法
CN108515536A (zh) * 2018-04-13 2018-09-11 北京山思跃立科技有限公司 一种机械臂关节和机械臂
CN109108967A (zh) * 2018-08-16 2019-01-01 深圳市歌尔泰克科技有限公司 电机补偿方法、驱动器、机械臂关节模组及机械臂
CN109500837A (zh) * 2018-12-18 2019-03-22 上海岭先机器人科技股份有限公司 一种基于双编码器的机器人关节力矩测量方法
CN208729787U (zh) * 2018-08-16 2019-04-12 深圳市歌尔泰克科技有限公司 一种驱动控制装置以及机械臂
CN109849046A (zh) * 2017-11-30 2019-06-07 深圳市优必选科技有限公司 一种舵机转子的回零方法、回零系统、舵机及机器人
CN111197954A (zh) * 2019-12-27 2020-05-26 深圳市越疆科技有限公司 一种机器的绝对位置测量方法、装置、存储介质及机器
CN210780430U (zh) * 2019-12-27 2020-06-16 上海舞肌科技有限公司 减速电机及包含其的机器人
CN112824059A (zh) * 2019-11-15 2021-05-21 合肥欣奕华智能机器有限公司 一种编码器数据转换方法、装置及设备

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116057A (ja) * 2000-10-06 2002-04-19 Yaskawa Electric Corp 多回転式絶対値エンコーダ装置
JP2006271189A (ja) * 2005-02-28 2006-10-05 Harmonic Drive Syst Ind Co Ltd ギヤ付きモータ
JP2010249585A (ja) * 2009-04-13 2010-11-04 Yamatake Corp 現在位置特定装置及び現在位置特定方法
CN102658504A (zh) * 2012-04-11 2012-09-12 深圳市大族激光科技股份有限公司 伺服电机系统及基于该伺服电机系统的厚度测量方法
CN109849046A (zh) * 2017-11-30 2019-06-07 深圳市优必选科技有限公司 一种舵机转子的回零方法、回零系统、舵机及机器人
CN108515536A (zh) * 2018-04-13 2018-09-11 北京山思跃立科技有限公司 一种机械臂关节和机械臂
CN108414224A (zh) * 2018-06-05 2018-08-17 上海仪沃智能科技有限公司 一种用于电动执行机构机械磨损的实时检测装置及方法
CN109108967A (zh) * 2018-08-16 2019-01-01 深圳市歌尔泰克科技有限公司 电机补偿方法、驱动器、机械臂关节模组及机械臂
CN208729787U (zh) * 2018-08-16 2019-04-12 深圳市歌尔泰克科技有限公司 一种驱动控制装置以及机械臂
CN109500837A (zh) * 2018-12-18 2019-03-22 上海岭先机器人科技股份有限公司 一种基于双编码器的机器人关节力矩测量方法
CN112824059A (zh) * 2019-11-15 2021-05-21 合肥欣奕华智能机器有限公司 一种编码器数据转换方法、装置及设备
CN111197954A (zh) * 2019-12-27 2020-05-26 深圳市越疆科技有限公司 一种机器的绝对位置测量方法、装置、存储介质及机器
CN210780430U (zh) * 2019-12-27 2020-06-16 上海舞肌科技有限公司 减速电机及包含其的机器人

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王文成,管丰年,程志强, 国防工业出版社, *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023220871A1 (zh) * 2022-05-16 2023-11-23 北京小米机器人技术有限公司 一种机器人的关节角度的确定方法、装置、设备及介质

Also Published As

Publication number Publication date
CN114102594B (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
CN114102594A (zh) 机械臂关节及初始位置确定方法、装置、设备和存储介质
CN107449533B (zh) 一种谐波减速器动态扭转刚度分析装置与方法
CN107449376B (zh) 一种实时方向盘转角采集系统
JP2012042411A (ja) センサ誤差補正装置、センサ誤差補正方法、及びセンサ誤差補正用プログラム
US20190372488A1 (en) Correcting offset and gain drift related angle errors with motor position detectors
CN109696120B (zh) 一种舵机及其角度检测方法、装置及计算机可读存储介质
CN112066862A (zh) 一种直线位移舵机的位置标定方法、装置和终端
CN104677386A (zh) 多匝旋转编码器
CN112171655B (zh) 一种外力矩的测量方法、装置、控制器及机械臂
JP3842235B2 (ja) 制御パラメータの設定方法、制御パラメータの設定装置および電気式動力舵取装置
Kukharchuk et al. Features of the angular speed dynamic measurements with the use of an encoder
CN113639622A (zh) 位置传感器、位置测量方法、装置及存储介质
JP2005055256A (ja) 舵角センサ
CN111089610B (zh) 一种编码器的信号处理方法、装置及相关组件
CN117761722A (zh) 激光雷达slam退化检测方法、系统、电子设备及存储介质
CN110632909B (zh) 反查map数据合理性检测方法及设备
KR20180114743A (ko) 앱솔루트 엔코더, 앱솔루트 엔코더의 직교 정현파의 룩업테이블 생성 방법 및 이를 이용한 절대각도 검출방법
CN206788199U (zh) 马达转速侦测装置
CN113155421B (zh) 高压断路器的机械特性检测方法、系统、终端及存储介质
CN117681053A (zh) 数控机床动态运动误差的检测方法、系统、设备和介质
CN115257777A (zh) 一种轮速测量方法、装置和设备
CN115507888A (zh) 一种脉冲增量式光电编码器精度检测系统及检测方法
CN112104292B (zh) 电机控制方法、装置、终端设备及存储介质
CN111366362B (zh) 传动回差测量方法、装置、终端设备及可读存储介质
JPH0829196A (ja) 多回転アブソリュートエンコーダ

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518000 1003, building 2, Chongwen Park, Nanshan wisdom Park, 3370 Liuxian Avenue, Fuguang community, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Yuejiang Technology Co.,Ltd.

Address before: 518000 1003, building 2, Chongwen Park, Nanshan wisdom Park, 3370 Liuxian Avenue, Fuguang community, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: SHENZHEN YUEJIANG TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant