CN113001537A - 机械臂控制方法、机械臂控制装置及终端设备 - Google Patents

机械臂控制方法、机械臂控制装置及终端设备 Download PDF

Info

Publication number
CN113001537A
CN113001537A CN201911330302.4A CN201911330302A CN113001537A CN 113001537 A CN113001537 A CN 113001537A CN 201911330302 A CN201911330302 A CN 201911330302A CN 113001537 A CN113001537 A CN 113001537A
Authority
CN
China
Prior art keywords
joint
included angle
joints
angle value
evaluated
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
CN201911330302.4A
Other languages
English (en)
Other versions
CN113001537B (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.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
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 Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN201911330302.4A priority Critical patent/CN113001537B/zh
Priority to US16/817,576 priority patent/US11325247B2/en
Publication of CN113001537A publication Critical patent/CN113001537A/zh
Application granted granted Critical
Publication of CN113001537B publication Critical patent/CN113001537B/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/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1643Programme controls characterised by the control loop redundant control
    • 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
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40367Redundant manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40371Control trajectory to avoid joint limit as well as obstacle collision

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)
  • Manipulator (AREA)

Abstract

本申请提供的一种机械臂控制方法,包括:获取机械臂的M个关节所分别对应的当前关节角度;根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,其中,所述参考夹角值为参考平面与指定平面之间的夹角,所述参考平面为所述当前关节角度所对应的平面,所述指定平面为所述M个关节处于指定状态时所对应的平面;根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,其中,所述目标角度范围包括所述参考夹角值;根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度;根据所述M个关节的目标关节角度,控制所述机械臂。

Description

机械臂控制方法、机械臂控制装置及终端设备
技术领域
本申请属于机械臂技术领域,尤其涉及机械臂控制方法、机械臂控制装置、终端设备及计算机可读存储介质。
背景技术
随着机械臂技术的不断进步和应用场景的扩大,人们对机械臂操作能力的要求也在不断增加。由于其较好的灵活性和适应性,具有冗余自由度的机械臂在多种应用场合得到广泛的应用。
而在具有冗余自由度的机械臂的运动过程中,由于该机械臂的各个关节存在相应的运动范围,因此,在机械臂逆运动学求解过程中,计算得到的关节的控制角度可能会超出相应的运动范围,导致机械臂难以合理高效地执行相关的操作。
发明内容
本申请实施例提供了机械臂控制方法、机械臂控制装置、终端设备及计算机可读存储介质,可以解决计算得到的机械臂的关节的控制角度可能会超出相应的运动范围,导致机械臂难以合理高效地执行相关的操作的问题。
第一方面,本申请实施例提供了一种机械臂控制方法,包括:
获取机械臂的M个关节所分别对应的当前关节角度,其中,所述机械臂具有N个冗余自由度,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M;
根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,其中,所述参考夹角值为参考平面与指定平面之间的夹角,所述参考平面为所述当前关节角度所对应的平面,所述指定平面为所述M个关节处于指定状态时所对应的平面;
根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,其中,所述目标角度范围包括所述参考夹角值;
根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度;
根据所述M个关节的目标关节角度,控制所述机械臂。
第二方面,本申请实施例提供了一种机械臂控制装置,包括:
获取模块,用于获取机械臂的M个关节所分别对应的当前关节角度,其中,所述机械臂具有N个冗余自由度,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M;
第一处理模块,用于根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,其中,所述参考夹角值为参考平面与指定平面之间的夹角,所述参考平面为所述当前关节角度所对应的平面,所述指定平面为所述M个关节处于指定状态时所对应的平面;
第一确定模块,用于根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,其中,所述目标角度范围包括所述参考夹角值;
第二确定模块,用于根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度;
控制模块,用于根据所述M个关节的目标关节角度,控制所述机械臂。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器、显示器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面所述的机械臂控制方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的机械臂控制方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中所述的机械臂控制方法。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,可以通过获取机械臂的M个关节所分别对应的当前关节角度,并根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,此时,所述参考夹角值可以体现所述机械臂的冗余自由度,在一些情况下,可以通过调整所述参考夹角值来调整机械臂的关节的角度,并且相应的计算效率较高;进一步的,根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,并根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度,可以基于所述参考夹角值,确定所述目标角度范围,从而在该目标角度范围内,通过所述评价函数确定期望夹角值以及相应的目标关节角度,从而在一些情况下,可以通过所述评价函数,保证最终得到的目标关节角度符合相应的关节运动范围限制,并可以通过限制所述目标角度范围,保证所述机械臂的运动的流畅性。通过本申请实施例,可以以较高的计算效率,在相应的关节运动范围限制条件下,对机械臂进行较为稳定地、流畅地进行控制操作。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种机械臂控制方法的流程示意图;
图2是本申请一实施例提供的机械臂的一种示意图;
图3是本申请一实施例提供的指定平面和参考平面的一种示意图;
图4是本申请一实施例提供的步骤S103的一种流程示意图;
图5是本申请一实施例提供的步骤S104的一种流程示意图;
图6是本申请一实施例提供的一种机械臂控制装置的结构示意图;
图7是本申请一实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
具体地,图1示出了本申请实施例提供的一种机械臂控制方法的流程图。
其中,本申请实施例提供的机械臂控制方法可以应用于机械臂,也可以应用于与机械臂耦合地连接的其他终端设备,例如,可以应用于机器人、服务器、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,并通过该其他终端设备,实现对机械臂的控制。本申请实施例对终端设备的具体类型不作任何限制。
该机械臂控制方法中,机械臂具有N个冗余自由度和M个关节,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M。
本发明实施例中,所述机械臂可以具有多个自由度,如可以具有4个自由度、5个自由度、6个自由度或者7个自由度等等。所述冗余自由度为所述机械臂在完成指定操作时所需的自由度之外所具有的多余自由度。其中,所述机械臂在每一个自由度方向上的运动可以通过关节来实现,并且,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,其中,可以是每一个关节对应一个自由度。所述关节可以依次连接,也可以其中几个关节合并在一处,所述关节可以包括旋转轴、线性轴、连杆等多种结构形式中的一种或多种。所述关节的设置方式可以有多种,并且,所述关节的结构形式也可以有多种,在此不做限制。例如,所述机械臂可以具有7个自由度,此时,所述机械臂可以包括7个关节;而所述机械臂的末端自由度可以具有6个自由度,例如末端自由度可以具有沿x轴线性运动的自由度、沿x轴旋转运动的自由度、沿y轴线性运动的自由度、沿y轴旋转运动的自由度、沿z轴线性运动的自由度以及沿z轴旋转运动的自由度,此时,所述机械臂具有的自由度相较所述机械臂末端运动所需要的自由度多出一个自由度,因此,所述机械臂可以为具有一个冗余自由度的、并且具有七个自由度的机械臂。
如图2所示,为所述机械臂的关节的一种示例图,其中,所述机械臂为具有一个冗余自由度的,并且具有七个自由度的机械臂,q1、q2、q3、q4、q5、q6以及q7为所述机械臂的7个关节。
当然,所述机械臂也可以为具有两个、三个冗余自由度或者冗余自由度为其他数量的机械臂,所述机械臂的具体构造在此不作限制。
如图1所示,该机械臂控制方法包括:
步骤S101,获取机械臂的M个关节所分别对应的当前关节角度,其中,所述机械臂具有N个冗余自由度,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M。
本申请实施例中,所述当前关节角度的具体获取方式可以有多种,在此不作限定。示例性的,所述当前关节角度可以为预先根据所述机械臂在特定时刻的末端的期望位姿,通过逆运动学求解方法获得;或者,所述当前关节角度可以通过诸如关节传感器等预先测量得到。
步骤S102,根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,其中,所述参考夹角值为参考平面与指定平面之间的夹角,所述参考平面为所述当前关节角度所对应的平面,所述指定平面为所述M个关节处于指定状态时所对应的平面。
本申请实施例中,所述参考平面和所述指定平面可以与所述当前关节角度相关联。其中,所述指定状态可以由所述当前关节角度中的一个或多个角度确定。例如,所述指定状态可以指所述机械臂的末端处于目标位姿,且所述机械臂中的指定关节处于指定角度时,所述M个关节所处的状态。此时,所述M个关节中的部分关节处于对应的当前关节角度,而除所述部分关节之外的其他关节可以处于特定状态(如角度为0的状态等等)。所述参考平面可以指所述机械臂中的每个关节均处于所述当前关节角度时所对应的平面。
需要说明的是,本申请实施例中,所述参考夹角值可以包括正值以及负值,此时,所述参考夹角值的正负可以指示所述参考夹角的方向,如相对于基准线的顺时针方向或者逆时针方向。
下面以一个具体示例来对所述指定平面和所述参考平面进行说明。
如图3所示,为所述指定平面和所述参考平面的一种示例。其中,所述机械臂为具有一个冗余自由度的,并且具有七个自由度的机械臂。当机械臂的7个关节所分别处于相应的当前关节角度值时,第一关节、第二关节、第三关节的交点为特征点S,第五关节、第六关节、第七关节的交点为特征点W。其中,所述机械臂中的第三关节的角度值为0(即可以认为是所述M个关节处于指定状态时)时,第四关节对应的特征点为E0;所述机械臂中的每个关节均处于目标角度值时,第四关节对应的特征点为E,那么,特征点S、特征点E和特征点W所组成的平面为参考平面,特征点S、特征点E0和特征点W所组成的平面为指定平面。
下面以一个具体示例说明所述参考夹角值的一种示例性计算方法。
在一些实施例中,示例性的,所述机械臂具有1个冗余自由度,所述机械臂具有7个关节,所述7个关节为第一关节、第二关节、第三关节、第四关节、第五关节、第六关节和第七关节。所述机械臂的构造可以类似人体手臂,其中,所述第一关节、第二关节和第三关节可以构成肩部关节组合,所述第四关节为肘部关节,所述第五关节、第六关节和第七关节可以构成腕部关节组合;
此时,根据Denavit—Hartenberg(D-H)建模方式,确定第四关节在机械臂基坐标系下的坐标位置,其中,用于确定第四关节在机械臂基坐标系下的坐标位置的第一公式为:
Figure BDA0002329388640000081
其中,PE为第四关节在机械臂基坐标系下的坐标位置;i-1Ri(qi)为第i个关节坐标系在第i-1关节坐标系下的姿态表示;
Figure BDA00023293886400000814
为第三个关节坐标系下肩部关节组合的第一特征点到第四关节的向量;其中,示例性的,肩部关节组合的第一特征点可以为所述第一关节、第二关节和第三关节的特征线的交点;
Figure BDA0002329388640000082
lse为肩部关节组合的第一特征点到第四关节的长度。其中,示例性的,所述特征线可以是对应的关节的旋转轴的轴线。
根据Denavit—Hartenberg(D-H)建模方式,确定腕部关节组合的第二特征点在机械臂基坐标系下的坐标位置,其中,用于确定腕部关节组合的第二特征点在机械臂基坐标系下的坐标位置的第二公式为:
Figure BDA0002329388640000083
其中,PW为第二特征点在机械臂基坐标系下的坐标位置,
Figure BDA0002329388640000084
为第四关节坐标系下第四关节到第二特征点的向量,
Figure BDA0002329388640000085
lew为第二特征点到第四关节的长度。示例性的,腕部关节组合的第二特征点可以为所述第五关节、第六关节和第七关节的特征线的交点。
根据第一公式和第二公式,可以得到机械臂基坐标系下的第四关节到第二特征点的向量:
Figure BDA0002329388640000086
进一步的,可以根据第二公式,得到指定平面中,第一关节的第一指定角度值和第二关节的第二指定角度值:
Figure BDA0002329388640000087
其中,
Figure BDA0002329388640000088
为第一指定角度值,
Figure BDA0002329388640000089
为第二指定角度值,
Figure BDA00023293886400000810
Figure BDA00023293886400000811
θ=0;若
Figure BDA00023293886400000812
Figure BDA00023293886400000813
此时,可以根据第三公式得到在指定平面中,第四关节在在机械臂基坐标系下的坐标位置为:
Figure BDA0002329388640000091
根据所述第一公式、第二公式和第三公式,可以得到参考平面中,第三个关节坐标系下肩部关节组合的第一特征点到第四关节的向量
Figure BDA0002329388640000092
第一特征点到第二特征点的向量
Figure BDA0002329388640000093
指定平面中,第三个关节坐标系下肩部关节组合的第一特征点到第四关节的向量
Figure BDA0002329388640000094
此时,所述参考平面的垂直向量
Figure BDA0002329388640000095
以及所述指定平面的垂直向量
Figure BDA0002329388640000096
为:
Figure BDA0002329388640000097
根据
Figure BDA0002329388640000098
Figure BDA0002329388640000099
得到参考夹角值ψ0为:
Figure BDA00023293886400000910
需要说明的是,上述参考夹角值ψ0的具体计算方式仅仅作为本申请实施例的一种示例,而非限制。
步骤S103,根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,其中,所述目标角度范围包括所述参考夹角值。
本申请实施例中,所述目标角度范围的具体确定方式可以根据实际应用场景来确定,例如,具体的,可以根据所述机械臂的各个关节的关节运动范围、控制步长、运动精度要求以及流畅性要求等等方面中的一个或多个因素来确定。示例性的,所述目标角度范围可以以所述参考夹角值为中点而得到。在一些实施例中,通过限制所述目标角度范围,可以使得所述机械臂在连续运动过程中,关节的运动较为稳定,而不会导致机械臂的抖动和运动冲击,从而保证了运动的流畅性。
所述评价函数的设置方式也可以有多种,例如,可以是线性函数形式、对数函数形式、指数函数形式等等中的一种或多种。示例性的,所述评价函数中的变量可以包括夹角,所述夹角可以包括对所述参考夹角值进行调整所得到的待评价夹角值,也可以包括根据所述待评价夹角值计算得到的各个关节的待评估关节角度值中的一个或多个。在一些实施例中,通过所述评价函数,可以确定对应的待评价夹角值所对应的一个或多个待评估关节角度值是否在对应的关节运动范围内;此外,在一些实施例中,也可以通过所述评价函数,确定各个待评估关节角度值是否接近对应的关节运动范围的上限或者下限,从而判断对应的关节的运动是否会接近该关节的极限等等情况。所述评价函数的具体形式可以根据实际场景来确定。
步骤S104,根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度。
通过所述评价函数,可以在所述目标角度范围内确定所述机械臂所对应的期望夹角值。由于所述期望夹角值可以对应所述机械臂的全部或部分冗余自由度,所以,通过所述期望夹角值,可以通过逆运动学求解等方式确定所述M个关节分别对应的目标关节角度。此时,通过所述期望夹角值确定所述M个关节分别对应的目标关节角度的具体计算量显著地小于直接通过机械臂的末端的期望位姿确定所述M个关节分别对应的目标关节角度的计算量,因此,通过该方式确定所述目标关节角度的计算效率较高。
步骤S105,根据所述M个关节的目标关节角度,控制所述机械臂。
本申请实施例中,示例性的,若执行本申请实施例的终端设备为所述机械臂本身,则可以通过机械臂中的控制电路等来发出相关指令,以驱动相应的关节根据对应的目标关节角度进行移动。当然,在一些实施例中,也可以通过与所述机械臂耦合地连接的其他终端,控制所述机械臂。此时,该其他终端可以通过预设信息传输方式,向所述机械臂发送相应的控制指令,以指示所述机械臂进行相应的操作。本申请实施例中,控制所述机械臂的具体方式在此不作限定。
如图4所示,在一些实施例中,所述步骤S103具体包括:
步骤S401,以所述参考夹角值为初始夹角值,并以预设角度间隔遍历所述目标角度范围,获得所述目标角度范围中的各个待评价夹角值。
本申请实施例中,所述预设角度间隔也可以认为是遍历步长。所述预设角度间隔的具体取值可以根据相关硬件、软件等的计算能力、目标角度范围大小、计算精度要求以及计算效率要求等等因素中的一个或多个来确定。
示例性,在一些实施例中,机械臂的参考夹角值ψ0为初始夹角值,所述目标角度范围可以为[-β+ψ0,β+ψ0],所述预设角度间隔可以为Δψ。
步骤S402,根据所述评价函数,获得各个待评价夹角值所分别对应的评价值。
其中,示例性的,可以获取到所述待评价夹角值所对应的一个或多个待评估关节角度值,从而根据所述一个或多个待评估关节角度值,计算所述评价值。
需要说明的是,本申请实施例中,可以在获得任意一个待评价夹角值之后,即根据所述评价函数,获得该待评价夹角值所分别对应的评价值,然后再获取下一个待评价夹角值,再获得该下一个待评价夹角值所分别对应的评价值,依次类推,直到遍历所述目标角度范围。此外,也可以以其他顺序获得各个待评价夹角值所分别对应的评价值,在此不作限定。
步骤S403,根据各个待评价夹角值所分别对应的评价值,确定在目标角度范围内所述机械臂所对应的期望夹角值。
本申请实施例中,可以根据所述评价值的大小等来确定在目标角度范围内所述机械臂所对应的期望夹角值。具体的确定方式可以根据所述评价函数的具体设置方式来确定。若所述评价函数指示评价值越高的待评价夹角值相对更优,则可以确定所述各个待评价夹角值中,对应的评价值最大的待评价夹角值为所述期望夹角值。
在一些实施例中,所述根据所述评价函数,获得各个待评价夹角值所分别对应的评价值,包括:
对于任一待评价夹角值,根据所述待评价夹角值、所述机械臂的末端的期望位姿和所述M个关节中的全部或者部分关节所分别对应的关节运动范围,确定所述待评价夹角值所对应的L个待评价关节,其中,所述L个待评价关节为所述M个关节中的L个关节,所述L为大于0的整数,且L不大于M;
根据所述待评价夹角值,确定所述L个待评价关节分别对应的第一关节角度;
根据各个第一关节角度和所述L个关节所分别对应的关节运动范围,通过所述评价函数获得所述待评价夹角值所对应的评价值。
本申请实施例中,所述机械臂的各个关节的关节运动范围可以相互不同,并且,根据不同的应用场景和机械臂结构,可能运动到达相应的极限的关节也可能不同,因此,对于任一待评价夹角值,根据所述待评价夹角值、所述机械臂的末端的期望位姿和所述M个关节中的全部或者部分关节所分别对应的关节运动范围,确定所述待评价夹角值所对应的L个待评价关节。其中,通过所述评价函数,可以确定任一待评价夹角值所对应的各个第一关节角度是否在对应的关节运动范围内;此外,还可以通过所述评价函数,确定各个待评估关节角度值是否接近对应的关节运动范围的上限或者下限,从而判断对应的关节的运动是否会接近该关节的极限等等情况。
此时,计算各个待评价夹角值所对应的评价值所涉及的待评价关节可能不同。相应的,所述评价函数也相应的可以适应多种应用场景的需要,从而获得更准确的评价值,以得到更优的期望夹角值。
在一些实施例中,具体的,若每一个所述待评价关节所对应的第一关节角度都在对应的关节运动范围内,则所述评价函数为:
Figure BDA0002329388640000121
Figure BDA0002329388640000122
若存在至少一个待评价关节所对应的第一关节角度不在对应的关节运动范围内,则所述评价函数为:
Figure BDA0002329388640000131
其中,所述Vj为任一所述待评价夹角值ψj的评价值,qi为所述L个关节中第i个关节的待评估关节角度,Ui为所述L个关节中第i个关节所对应的关节活动范围,
Figure BDA0002329388640000132
为所述第i个关节所对应的关节活动范围的上限,
Figure BDA0002329388640000133
为所述第i个关节所对应的关节活动范围的下限。
本申请实施例中,若存在至少一个待评价关节所对应的第一关节角度不在对应的关节运动范围内,则对应的所述评价函数的值为负值,而若每一个所述待评价关节所对应的第一关节角度都在对应的关节运动范围内,则对应的所述评价函数的值为正值,此时,可以通过所述评价函数的正负,直观方便地判断各个当前关节角度是否超出对应的关节运动范围。此时,若所述评价值中的最大值为负值,则可以认为本次操作中,所述M个关节分别对应的目标关节角度无法达到,即可以认为本次机械臂的目标位姿无法达到,此时,所述机械臂可以保持当前状态,即所述M个关节可以分别保持处于对应的目标关节角度。
而若所述每一个所述待评价关节所对应的第一关节角度都在对应的关节运动范围内,则各个所述评价值可以分别用于指示各个待评估夹角值所对应的各个第一关节角度是否接近相应的关节运动范围的上限或者下限等情况,此时,可以根据所述评价值的大小,确定所述期望夹角值。
可选的,在一些实施例中,所述机械臂具有1个冗余自由度,所述机械臂具有7个关节,所述7个关节为第一关节、第二关节、第三关节、第四关节、第五关节、第六关节和第七关节;
所述对于任一待评价夹角值,根据所述待评价夹角值、所述机械臂的末端的期望位姿和所述M个关节中的全部或者部分关节所分别对应的关节运动范围,确定所述待评价夹角值所对应的L个待评价关节,包括:
所述对于任一待评价夹角值,根据所述待评价夹角值和所述机械臂的末端的期望位姿,计算所述第四关节所对应的第一预估关节角度;
若所述第四关节所对应的第一预估关节角度大于第一预设角度阈值,则确定所述待评价夹角值所对应的待评价关节包括所述第六关节和所述第七关节;
若所述第四关节所对应的第一预估关节角度小于第一预设角度阈值,则计算所述第三关节所对应的第二预估关节角度和所述第五关节所对应的第三预估关节角度;
若所述第二预估关节角度与所述第三关节所对应的关节运动范围的上限或者下限的第一差值小于第一差值阈值,并且,所述第三预估关节角度与所述第五关节所对应的关节运动范围的上限或者下限的第二差值小于第二差值阈值,则确定所述待评价夹角值所对应的待评价关节包括所述第三关节和第五关节。
本申请实施例中,所述机械臂的各个关节的关节运动范围可能存在差异,导致所述机械臂的运动状态可能存在一定限制,导致部分关节在一些情况下,较容易到达相应的关节运动范围的极限(上限或者下限)。此时可以根据具体应用场景,确定所述待评价关节。
其中,在一些实施例中,所述机械臂可以为具有七个自由度并且具有一个冗余自由度的机械臂,所述机械臂的运动方式可以类似于人体手臂。
示例性的,在一些应用场景中,所述机械臂的7个关节所分别对应的关节运动范围如表1所示:
表1:机械臂的7个关节所分别对应的关节运动范围
Figure BDA0002329388640000141
其中,在一些情况下,当所述第四关节所对应的第一预估关节角度大于第一预设角度阈值时,可以对关节运动范围较小的第六关节和第七关节进行评价,以避免该第六关节和第七关节达到相应的关节运动范围的极限。
而在一些情况下,若所述第四关节所对应的第一预估关节角度小于第一预设角度阈值,则由于所述第四关节往往位于所述机械臂的中部,此时,所述机械臂可以处于接近伸直的状态,因此,可以通过逆运动学求解等方式,计算所述第三关节所对应的第二预估关节角度和所述第五关节所对应的第三预估关节角度,并根据所述第二预估关节角度和所述第三预估关节角度,判断所述第二预估关节角度和所述第三预估关节角度是否分别接近相应的关节运动范围的极限。若所述第二预估关节角度和所述第三预估关节角度是否分别接近相应的关节运动范围的极限,则可以在所述评价函数中,对所述第三关节以及第五关节进行评价。此外,在一些情况下,若所述第二预估关节角度和所述第三预估关节角度并不接近相应的关节运动范围的极限,则可以确定所述待评价夹角值所对应的待评价关节包括所述第六关节和所述第七关节,而不包括所述第三关节和第五关节。
通过本申请实施例,可以根据具体应用场景,例如,根据具体的关节角度值,确定所述评价函数的具体形式(如所涉及的变量等等),从而使得所述评价函数可以更准确地反映所述待评价夹角值所对应的机械臂的具体控制状态,并可以适应多种场景。
如图5所示,在一些实施例中,所述步骤S104具体包括:
步骤S501,将所述期望夹角值输入预设滤波器,获得所述预设滤波器输出的滤波后的期望夹角值。
步骤S502,根据所述滤波后的期望夹角值和所述机械臂的末端的期望位姿,计算所述M个关节分别对应的待验证关节角度。
步骤S503,若所述M个关节分别对应的待验证关节角度均在相应的关节运动范围内,则将所述M个关节分别对应的待验证关节角度作为所述M个关节分别对应的目标关节角度。
步骤S504,若所述M个关节中存在至少一个关节所对应的待验证关节角度不在相应的关节运动范围内,则根据滤波前的所述期望夹角值和所述机械臂的末端的期望位姿,计算得到所述M个关节分别对应的目标关节角度。
本申请实施例中,所述预设滤波器的种类可以根据实际需求来确定。示例性的,所述预设滤波器可以是卡尔曼滤波器等。
可选的,在一些实施例中,所述预设滤波器为卡尔曼滤波器,所述卡尔曼滤波器的观测模型为:
X(K|K-1)=X(K-1|K-1)
其中,X(K|K-1)指示当前时刻的预测夹角值,X(K-1|K-1)指示上一时刻的期望夹角值。
其中,由于所述期望夹角值的取值为遍历所述目标角度范围得到的,因此所述期望夹角值的取值并不确定,基于所述卡尔曼滤波器的原理,可以设置所述卡尔曼滤波器的观测模型为斜率为零的线性模型,此时,可以认为所述观测模型指示下一时刻的预测值为上一时刻的估计值,并且,所述卡尔曼滤波器中的测试系统的参数H=1。
具体的,可以得到所述卡尔曼滤波器的观测模型为:
X(K|K-1)=X(K-1|K-1)
在得到所述预设滤波器输出的滤波后的期望夹角值之后,该滤波后的期望夹角值往往与滤波前的所述期望夹角值不同,因此,可能出现滤波后的期望夹角值所对应的各个关节角度值不在相应的关节运动范围内的情况。因此,可以根据所述滤波后的期望夹角值和所述机械臂的末端的期望位姿,计算所述M个关节分别对应的待验证关节角度,并判断所述M个关节分别对应的待验证关节角度是否均在相应的关节运动范围内。
本申请实施例中,根据所述评价函数所得到的期望夹角值可能会导致机械臂的运动产生较大的波动,导致机械臂不能较为光滑流畅地执行相应的操作。为了减小机械臂的抖动,可以通过预设滤波器对所述期望夹角值进行平滑处理,以使得所述机械臂的运动更为平稳。
本申请实施例中,可以通过获取机械臂的M个关节所分别对应的当前关节角度,并根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,此时,所述参考夹角值可以体现所述机械臂的冗余自由度,在一些情况下,可以通过调整所述参考夹角值来调整机械臂的关节的角度,并且相应的计算效率较高;进一步的,根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,并根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度,可以基于所述参考夹角值,确定所述目标角度范围,从而在该目标角度范围内,通过所述评价函数确定期望夹角值以及相应的目标关节角度,从而在一些情况下,可以通过所述评价函数,保证最终得到的目标关节角度符合相应的关节运动范围限制,并可以通过限制所述目标角度范围,保证所述机械臂的运动的流畅性。通过本申请实施例,可以以较高的计算效率,在相应的关节运动范围限制条件下,对机械臂进行较为稳定地、流畅地进行控制操作。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的机械臂控制方法,图6示出了本申请实施例提供的一种机械臂控制装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图6,该机械臂控制装置6包括:
获取模块601,用于获取机械臂的M个关节所分别对应的当前关节角度,其中,所述机械臂具有N个冗余自由度,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M;
第一处理模块602,用于根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,其中,所述参考夹角值为参考平面与指定平面之间的夹角,所述参考平面为所述当前关节角度所对应的平面,所述指定平面为所述M个关节处于指定状态时所对应的平面;
第一确定模块603,用于根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,其中,所述目标角度范围包括所述参考夹角值;
第二确定模块604,用于根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度;
控制模块605,用于根据所述M个关节的目标关节角度,控制所述机械臂。
可选的,所述第一确定模块603具体包括:
第一处理单元,用于以所述参考夹角值为初始夹角值,并以预设角度间隔遍历所述目标角度范围,获得所述目标角度范围中的各个待评价夹角值;
第二处理单元,用于根据所述评价函数,获得各个待评价夹角值所分别对应的评价值;
第一确定单元,用于根据各个待评价夹角值所分别对应的评价值,确定在目标角度范围内所述机械臂所对应的期望夹角值。
可选的,所述第二处理单元具体包括:
第一确定子单元,用于对于任一待评价夹角值,根据所述待评价夹角值、所述机械臂的末端的期望位姿和所述M个关节中的全部或者部分关节所分别对应的关节运动范围,确定所述待评价夹角值所对应的L个待评价关节,其中,所述L个待评价关节为所述M个关节中的L个关节,所述L为大于0的整数,且L不大于M;
第二确定子单元,用于根据所述待评价夹角值,确定所述L个待评价关节分别对应的第一关节角度;
第一处理子单元,用于根据各个第一关节角度和所述L个关节所分别对应的关节运动范围,通过所述评价函数获得所述待评价夹角值所对应的评价值。
可选的,若每一个所述待评价关节所对应的第一关节角度都在对应的关节运动范围内,则所述评价函数为:
Figure BDA0002329388640000191
Figure BDA0002329388640000192
若存在至少一个待评价关节所对应的第一关节角度不在对应的关节运动范围内,则所述评价函数为:
Figure BDA0002329388640000193
其中,所述Vj为任一所述待评价夹角值ψj的评价值,qi为所述L个关节中第i个关节的待评估关节角度,Ui为所述L个关节中第i个关节所对应的关节活动范围,
Figure BDA0002329388640000194
为所述第i个关节所对应的关节活动范围的上限,
Figure BDA0002329388640000195
为所述第i个关节所对应的关节活动范围的下限。
可选的,所述机械臂具有1个冗余自由度,所述机械臂具有7个关节,所述7个关节为第一关节、第二关节、第三关节、第四关节、第五关节、第六关节和第七关节;
所述第一处理单元具体包括:
第一计算子单元,用于所述对于任一待评价夹角值,根据所述待评价夹角值和所述机械臂的末端的期望位姿,计算所述第四关节所对应的第一预估关节角度;
第三确定子单元,用于若所述第四关节所对应的第一预估关节角度大于第一预设角度阈值,则确定所述待评价夹角值所对应的待评价关节包括所述第六关节和所述第七关节;
第二计算子单元,用于若所述第四关节所对应的第一预估关节角度小于第一预设角度阈值,则计算所述第三关节所对应的第二预估关节角度和所述第五关节所对应的第三预估关节角度;
第四确定子单元,用于若所述第二预估关节角度与所述第三关节所对应的关节运动范围的上限或者下限的第一差值小于第一差值阈值,并且,所述第三预估关节角度与所述第五关节所对应的关节运动范围的上限或者下限的第二差值小于第二差值阈值,则确定所述待评价夹角值所对应的待评价关节包括所述第三关节和第五关节。
可选的,所述第二确定模块604具体包括:
第三处理单元,用于将所述期望夹角值输入预设滤波器,获得所述预设滤波器输出的滤波后的期望夹角值;
第一计算单元,用于根据所述滤波后的期望夹角值和所述机械臂的末端的期望位姿,计算所述M个关节分别对应的待验证关节角度;
第四处理单元,用于若所述M个关节分别对应的待验证关节角度均在相应的关节运动范围内,则将所述M个关节分别对应的待验证关节角度作为所述M个关节分别对应的目标关节角度;
第二计算单元,用于若所述M个关节中存在至少一个关节所对应的待验证关节角度不在相应的关节运动范围内,则根据滤波前的所述期望夹角值和所述机械臂的末端的期望位姿,计算得到所述M个关节分别对应的目标关节角度。
可选的,所述预设滤波器为卡尔曼滤波器,所述卡尔曼滤波器的观测模型为:
X(K|K-1)=X(K-1|K-1)
其中,X(K|K-1)指示当前时刻的预测夹角值,X(K-1|K-1)指示上一时刻的期望夹角值。
本申请实施例中,可以通过获取机械臂的M个关节所分别对应的当前关节角度,并根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,此时,所述参考夹角值可以体现所述机械臂的冗余自由度,在一些情况下,可以通过调整所述参考夹角值来调整机械臂的关节的角度,并且相应的计算效率较高;进一步的,根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,并根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度,可以基于所述参考夹角值,确定所述目标角度范围,从而在该目标角度范围内,通过所述评价函数确定期望夹角值以及相应的目标关节角度,从而在一些情况下,可以通过所述评价函数,保证最终得到的目标关节角度符合相应的关节运动范围限制,并可以通过限制所述目标角度范围,保证所述机械臂的运动的流畅性。通过本申请实施例,可以以较高的计算效率,在相应的关节运动范围限制条件下,对机械臂进行较为稳定地、流畅地进行控制操作。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
如图7所示,该实施例的终端设备7包括:至少一个处理器70(图7中仅示出一个)处理器、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个机械臂控制方法实施例中的步骤。
所述终端设备7可以是机器人、机械臂、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备,其中,所述终端设备7为桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备时,该终端设备7可以与机械臂耦合地连接,以控制所述机械臂。该终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入设备、输出设备、网络接入设备等。其中,上述输入设备可以包括触控板、指纹采集传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风、摄像头等,输出设备可以包括显示器、扬声器等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述存储器71在一些实施例中可以是上述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。上述存储器71在另一些实施例中也可以是上述终端设备7的外部存储设备,例如上述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述存储器71还可以既包括上述终端设备7的内部存储单元也包括外部存储设备。上述存储器71用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如上述计算机程序的程序代码等。上述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,尽管未示出,上述终端设备7还可以包括网络连接模块,如蓝牙模块Wi-Fi模块、蜂窝网络模块等等,在此不再赘述。
本申请实施例中,上述处理器70执行上述计算机程序72以实现上述任意各个机械臂控制方法实施例中的步骤时,可以通过获取机械臂的M个关节所分别对应的当前关节角度,并根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,此时,所述参考夹角值可以体现所述机械臂的冗余自由度,在一些情况下,可以通过调整所述参考夹角值来调整机械臂的关节的角度,并且相应的计算效率较高;进一步的,根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,并根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度,可以基于所述参考夹角值,确定所述目标角度范围,从而在该目标角度范围内,通过所述评价函数确定期望夹角值以及相应的目标关节角度,从而在一些情况下,可以通过所述评价函数,保证最终得到的目标关节角度符合相应的关节运动范围限制,并可以通过限制所述目标角度范围,保证所述机械臂的运动的流畅性。通过本申请实施例,可以以较高的计算效率,在相应的关节运动范围限制条件下,对机械臂进行较为稳定地、流畅地进行控制操作。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种机械臂控制方法,其特征在于,包括:
获取机械臂的M个关节所分别对应的当前关节角度,其中,所述机械臂具有N个冗余自由度,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M;
根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,其中,所述参考夹角值为参考平面与指定平面之间的夹角,所述参考平面为所述当前关节角度所对应的平面,所述指定平面为所述M个关节处于指定状态时所对应的平面;
根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,其中,所述目标角度范围包括所述参考夹角值;
根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度;
根据所述M个关节的目标关节角度,控制所述机械臂。
2.如权利要求1所述的机械臂控制方法,其特征在于,所述根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,包括:
以所述参考夹角值为初始夹角值,并以预设角度间隔遍历所述目标角度范围,获得所述目标角度范围中的各个待评价夹角值;
根据所述评价函数,获得各个待评价夹角值所分别对应的评价值;
根据各个待评价夹角值所分别对应的评价值,确定在目标角度范围内所述机械臂所对应的期望夹角值。
3.如权利要求2所述的机械臂控制方法,其特征在于,所述根据所述评价函数,获得各个待评价夹角值所分别对应的评价值,包括:
对于任一待评价夹角值,根据所述待评价夹角值、所述机械臂的末端的期望位姿和所述M个关节中的全部或者部分关节所分别对应的关节运动范围,确定所述待评价夹角值所对应的L个待评价关节,其中,所述L个待评价关节为所述M个关节中的L个关节,所述L为大于0的整数,且L不大于M;
根据所述待评价夹角值,确定所述L个待评价关节分别对应的第一关节角度;
根据各个第一关节角度和所述L个关节所分别对应的关节运动范围,通过所述评价函数获得所述待评价夹角值所对应的评价值。
4.如权利要求3所述的机械臂控制方法,其特征在于,若每一个所述待评价关节所对应的第一关节角度都在对应的关节运动范围内,则所述评价函数为:
Figure FDA0002329388630000021
Figure FDA0002329388630000022
若存在至少一个待评价关节所对应的第一关节角度不在对应的关节运动范围内,则所述评价函数为:
Figure FDA0002329388630000023
其中,所述Vj为任一所述待评价夹角值ψj的评价值,qi为所述L个关节中第i个关节的待评估关节角度,Ui为所述L个关节中第i个关节所对应的关节活动范围,
Figure FDA0002329388630000024
为所述第i个关节所对应的关节活动范围的上限,
Figure FDA0002329388630000025
为所述第i个关节所对应的关节活动范围的下限。
5.如权利要求3所述的机械臂控制方法,其特征在于,所述机械臂具有1个冗余自由度,所述机械臂具有7个关节,所述7个关节为第一关节、第二关节、第三关节、第四关节、第五关节、第六关节和第七关节;
所述对于任一待评价夹角值,根据所述待评价夹角值、所述机械臂的末端的期望位姿和所述M个关节中的全部或者部分关节所分别对应的关节运动范围,确定所述待评价夹角值所对应的L个待评价关节,包括:
所述对于任一待评价夹角值,根据所述待评价夹角值和所述机械臂的末端的期望位姿,计算所述第四关节所对应的第一预估关节角度;
若所述第四关节所对应的第一预估关节角度大于第一预设角度阈值,则确定所述待评价夹角值所对应的待评价关节包括所述第六关节和所述第七关节;
若所述第四关节所对应的第一预估关节角度小于第一预设角度阈值,则计算所述第三关节所对应的第二预估关节角度和所述第五关节所对应的第三预估关节角度;
若所述第二预估关节角度与所述第三关节所对应的关节运动范围的上限或者下限的第一差值小于第一差值阈值,并且,所述第三预估关节角度与所述第五关节所对应的关节运动范围的上限或者下限的第二差值小于第二差值阈值,则确定所述待评价夹角值所对应的待评价关节包括所述第三关节和第五关节。
6.如权利要求1至5任意一项所述的机械臂控制方法,其特征在于,所述根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度,包括:
将所述期望夹角值输入预设滤波器,获得所述预设滤波器输出的滤波后的期望夹角值;
根据所述滤波后的期望夹角值和所述机械臂的末端的期望位姿,计算所述M个关节分别对应的待验证关节角度;
若所述M个关节分别对应的待验证关节角度均在相应的关节运动范围内,则将所述M个关节分别对应的待验证关节角度作为所述M个关节分别对应的目标关节角度;
若所述M个关节中存在至少一个关节所对应的待验证关节角度不在相应的关节运动范围内,则根据滤波前的所述期望夹角值和所述机械臂的末端的期望位姿,计算得到所述M个关节分别对应的目标关节角度。
7.如权利要求6所述的机械臂控制方法,其特征在于,所述预设滤波器为卡尔曼滤波器,所述卡尔曼滤波器的观测模型为:
X(K|K-1)=X(K-1|K-1)
其中,X(K|K-1)指示当前时刻的预测夹角值,X(K-1|K-1)指示上一时刻的期望夹角值。
8.一种机械臂控制装置,其特征在于,包括:
获取模块,用于获取机械臂的M个关节所分别对应的当前关节角度,其中,所述机械臂具有N个冗余自由度,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M;
第一处理模块,用于根据机械臂的M个关节所分别对应的当前关节角度,获得参考夹角值,其中,所述参考夹角值为参考平面与指定平面之间的夹角,所述参考平面为所述当前关节角度所对应的平面,所述指定平面为所述M个关节处于指定状态时所对应的平面;
第一确定模块,用于根据所述参考夹角值和预设的关于夹角的评价函数,确定在目标角度范围内所述机械臂所对应的期望夹角值,其中,所述目标角度范围包括所述参考夹角值;
第二确定模块,用于根据所述期望夹角值,确定所述M个关节分别对应的目标关节角度;
控制模块,用于根据所述M个关节的目标关节角度,控制所述机械臂。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的机械臂控制方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的机械臂控制方法。
CN201911330302.4A 2019-12-20 2019-12-20 机械臂控制方法、机械臂控制装置及终端设备 Active CN113001537B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911330302.4A CN113001537B (zh) 2019-12-20 2019-12-20 机械臂控制方法、机械臂控制装置及终端设备
US16/817,576 US11325247B2 (en) 2019-12-20 2020-03-12 Robotic arm control method and apparatus and terminal device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911330302.4A CN113001537B (zh) 2019-12-20 2019-12-20 机械臂控制方法、机械臂控制装置及终端设备

Publications (2)

Publication Number Publication Date
CN113001537A true CN113001537A (zh) 2021-06-22
CN113001537B CN113001537B (zh) 2022-08-02

Family

ID=76382127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911330302.4A Active CN113001537B (zh) 2019-12-20 2019-12-20 机械臂控制方法、机械臂控制装置及终端设备

Country Status (2)

Country Link
US (1) US11325247B2 (zh)
CN (1) CN113001537B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114770510A (zh) * 2022-05-09 2022-07-22 杭州景业智能科技股份有限公司 运动学解析解择优方法、装置、计算机设备及存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0465661A1 (en) * 1990-01-23 1992-01-15 Kabushiki Kaisha Yaskawa Denki Seisakusho Method and apparatus for controlling an articulated robot having redundancy
US6922606B1 (en) * 1999-11-19 2005-07-26 Siemens Energy & Automation, Inc. Apparatus and method for smooth cornering in a motion control system
WO2010001107A2 (en) * 2008-06-30 2010-01-07 Oliver Crispin Robotics Limited Method of controlling a robotic arm
CN102033545A (zh) * 2010-09-30 2011-04-27 北京理工大学 一种轮腿式机器人的驱动牵引特性控制方法
US20130238126A1 (en) * 2012-03-06 2013-09-12 Jtekt Corporation Calibration method and calibration system for robot
JP2014021810A (ja) * 2012-07-20 2014-02-03 Seiko Epson Corp 衝突検出システム、衝突検出用データ生成装置、ロボットシステム、ロボット、衝突検出用データ生成方法及びプログラム
CN106202713A (zh) * 2016-07-11 2016-12-07 尔智机器人(上海)有限公司 一种偏置机械臂逆运动学求解方法
CN106625666A (zh) * 2016-12-16 2017-05-10 广州视源电子科技股份有限公司 冗余机械臂的控制方法及装置
CN107831668A (zh) * 2017-11-15 2018-03-23 机械工业仪器仪表综合技术经济研究所 一种适用于随动控制自适应检测的方法及系统
CN107914272A (zh) * 2017-11-20 2018-04-17 北京科技大学 一种七自由度机械臂组件抓取目标物体的方法
CN108241339A (zh) * 2017-12-27 2018-07-03 北京航空航天大学 仿人机械臂的运动求解和构型控制方法
CN109079779A (zh) * 2018-08-08 2018-12-25 北京理工大学 基于末端估计和操作度调整的多移动机械臂最优协同方法
CN109291046A (zh) * 2017-07-25 2019-02-01 中国科学院沈阳自动化研究所 一种七自由度拟人构型机械臂逆运动学规划方法
CN109543264A (zh) * 2018-11-12 2019-03-29 天津理工大学 一种基于多维度重构校正的柔性多体机器人建模与求解方法
CN110188815A (zh) * 2019-05-24 2019-08-30 广州市百果园信息技术有限公司 一种特征点采样方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4735795B2 (ja) * 2003-12-26 2011-07-27 独立行政法人 宇宙航空研究開発機構 冗長マニピュレータの制御方法
DE102005054575B3 (de) * 2005-11-16 2007-04-26 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Regelung eines Roboterarms sowie Roboter zur Durchführung des Verfahrens
KR20110041950A (ko) * 2009-10-16 2011-04-22 삼성전자주식회사 여유자유도 제어를 이용한 로봇의 교시 및 재현 방법
CN102589493B (zh) * 2012-02-08 2014-05-21 三一重工股份有限公司 臂架系统、工程机械和臂架系统末端位置参数获取方法
US9327401B2 (en) * 2012-09-10 2016-05-03 Fanuc America Corporation Method of controlling a redundant robot
DE102015211865B3 (de) * 2015-06-25 2016-05-12 Kuka Roboter Gmbh Verfahren zum redundanzoptimierten Planen eines Betriebs eines mobilen Roboters
JP2017170571A (ja) * 2016-03-24 2017-09-28 セイコーエプソン株式会社 ロボット、ロボット制御装置、及びロボットシステム
US10807242B2 (en) * 2017-12-13 2020-10-20 Verb Surgical Inc. Control modes and processes for positioning of a robotic manipulator

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0465661A1 (en) * 1990-01-23 1992-01-15 Kabushiki Kaisha Yaskawa Denki Seisakusho Method and apparatus for controlling an articulated robot having redundancy
US6922606B1 (en) * 1999-11-19 2005-07-26 Siemens Energy & Automation, Inc. Apparatus and method for smooth cornering in a motion control system
WO2010001107A2 (en) * 2008-06-30 2010-01-07 Oliver Crispin Robotics Limited Method of controlling a robotic arm
CN102033545A (zh) * 2010-09-30 2011-04-27 北京理工大学 一种轮腿式机器人的驱动牵引特性控制方法
US20130238126A1 (en) * 2012-03-06 2013-09-12 Jtekt Corporation Calibration method and calibration system for robot
JP2014021810A (ja) * 2012-07-20 2014-02-03 Seiko Epson Corp 衝突検出システム、衝突検出用データ生成装置、ロボットシステム、ロボット、衝突検出用データ生成方法及びプログラム
CN106202713A (zh) * 2016-07-11 2016-12-07 尔智机器人(上海)有限公司 一种偏置机械臂逆运动学求解方法
CN106625666A (zh) * 2016-12-16 2017-05-10 广州视源电子科技股份有限公司 冗余机械臂的控制方法及装置
CN109291046A (zh) * 2017-07-25 2019-02-01 中国科学院沈阳自动化研究所 一种七自由度拟人构型机械臂逆运动学规划方法
CN107831668A (zh) * 2017-11-15 2018-03-23 机械工业仪器仪表综合技术经济研究所 一种适用于随动控制自适应检测的方法及系统
CN107914272A (zh) * 2017-11-20 2018-04-17 北京科技大学 一种七自由度机械臂组件抓取目标物体的方法
CN108241339A (zh) * 2017-12-27 2018-07-03 北京航空航天大学 仿人机械臂的运动求解和构型控制方法
CN109079779A (zh) * 2018-08-08 2018-12-25 北京理工大学 基于末端估计和操作度调整的多移动机械臂最优协同方法
CN109543264A (zh) * 2018-11-12 2019-03-29 天津理工大学 一种基于多维度重构校正的柔性多体机器人建模与求解方法
CN110188815A (zh) * 2019-05-24 2019-08-30 广州市百果园信息技术有限公司 一种特征点采样方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LEI YAN;ZONGGAO MU;WENFU XU: "Analytical inverse kinematics of a class of redundant manipulator based on dual arm-angle parameterization", 《SYSTEMS, MAN, AND CYBERNETICS (SMC)》 *
霍希建,刘伊威,姜力,夏晶,刘宏: "具有关节限位的7R仿人机械臂逆运动学优化", 《吉林大学学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114770510A (zh) * 2022-05-09 2022-07-22 杭州景业智能科技股份有限公司 运动学解析解择优方法、装置、计算机设备及存储介质
CN114770510B (zh) * 2022-05-09 2024-02-23 杭州景业智能科技股份有限公司 运动学解析解择优方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN113001537B (zh) 2022-08-02
US11325247B2 (en) 2022-05-10
US20210187731A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
CN113119098B (zh) 机械臂控制方法、机械臂控制装置及终端设备
CN107571260B (zh) 控制机器人抓取物体的方法和装置
CN108549322A (zh) 一种针对机器人圆弧轨迹运动的位姿同步方法和装置
CN113119104B (zh) 机械臂控制方法、机械臂控制装置、计算设备及系统
CN111319041B (zh) 一种机器人位姿确定方法、装置、可读存储介质及机器人
CN113119111A (zh) 机械臂及其轨迹规划方法和装置
CN111857037B (zh) 一种过渡轨迹的生成方法、机器人及计算机可读存储介质
CN112330752A (zh) 多相机联合标定方法、装置、终端设备及可读存储介质
CN113001537B (zh) 机械臂控制方法、机械臂控制装置及终端设备
CN111113429B (zh) 一种动作模仿方法、动作模仿装置及终端设备
CN113084791B (zh) 机械臂控制方法、机械臂控制装置及终端设备
CN115847422A (zh) 一种用于遥操作的姿态识别方法、装置及系统
CN113814951B (zh) 一种主从机器人的控制方法、系统及存储介质
US20210200224A1 (en) Method for controlling a robot and its end-portions and device thereof
CN117047771A (zh) 机器人的柔顺控制方法、装置及电子设备
CN115946120B (zh) 机械臂控制方法、装置、设备和介质
CN114454981B (zh) 双足机器人的弹跳运动控制方法、装置及双足机器人
CN113204892B (zh) 质心轨迹生成方法、装置、计算机可读存储介质及机器人
CN113814978B (zh) 机器人控制方法、装置、机器人及存储介质
CN116079697A (zh) 一种基于图像的单目视觉伺服方法、装置、设备及介质
CN111390905B (zh) 机器人多任务控制方法、控制装置及终端设备
CN111823215A (zh) 一种工业机器人的同步控制方法及装置
CN107636418B (zh) 一种机器人控制方法、控制设备及系统
EP4382260A1 (en) Robot control device, robot control system, and robot control method
EP4382258A1 (en) Robot control device, robot control system, and robot control method

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
GR01 Patent grant
GR01 Patent grant