WO2022193668A1 - 一种机械臂的臂角区间的逆解方法, 装置及终端设备 - Google Patents
一种机械臂的臂角区间的逆解方法, 装置及终端设备 Download PDFInfo
- Publication number
- WO2022193668A1 WO2022193668A1 PCT/CN2021/127148 CN2021127148W WO2022193668A1 WO 2022193668 A1 WO2022193668 A1 WO 2022193668A1 CN 2021127148 W CN2021127148 W CN 2021127148W WO 2022193668 A1 WO2022193668 A1 WO 2022193668A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- joint
- angle
- arm
- arm angle
- interval
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004364 calculation method Methods 0.000 claims abstract description 91
- 230000008859 change Effects 0.000 claims description 45
- 210000001503 joint Anatomy 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 19
- 210000002310 elbow joint Anatomy 0.000 claims description 14
- 230000000737 periodic effect Effects 0.000 claims description 7
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 5
- 210000000323 shoulder joint Anatomy 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 210000003857 wrist joint Anatomy 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation of inertia, jacobian matrixes and inverses
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/08—Programme-controlled manipulators characterised by modular constructions
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J17/00—Joints
- B25J17/02—Wrist joints
- B25J17/0258—Two-dimensional joints
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J18/00—Arms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
Abstract
本申请适用于机器人技术领域, 提供了一种机械臂的臂角区间的逆解方法, 装置及终端设备, 方法包括: 获取机械臂中目标关节的关节角计算模型和微分关系模型; 基于所述微分关系模型, 获得所述微分关系模型的关节角在极值时对应的极值臂角值, 其中, 所述极值臂角值包括微分关系模型在最大值时对应的臂角值和在最小值时对应的臂角值; 基于所述极值臂角值和所述关节角计算模型, 获得所述目标关节对应的关节臂角区间; 基于所述机械臂中各个所述目标关节对应的关节臂角区间, 获得所述机械臂对应的目标臂角区间; 本申请相较于现有技术中求解机械臂的臂角区间的方法可以得到更准确的臂角区间.
Description
本申请要求于2021年03月18日在中国专利局提交的、申请号为202110290519.8的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请属于机器人技术领域,尤其涉及一种机械臂的臂角区间的逆解方法、装置及终端设备。
机械臂是指高精度,多输入多输出、高度非线性、强耦合的复杂系统。因其独特的操作灵活性,已在工业装配,安全防爆等领域得到广泛应用。为了提高机械臂的人机协作的性能,提高机械臂完成复杂任务的能力,增加冗余的七自由度机械臂逐渐成为机器人行业研究的重点。
目前,机械臂的逆解方法主要包括数值解和解析解。数值解是利用雅可比进行迭代计算得到需要的数据,数值解的运算过程容易受误差和奇异的困扰,造成逆解的机械臂的臂角区间不准确。解析解只适用于六自由度以下的机械臂的逆解,对于有冗余的七自由度机械臂的逆解解析难度较高。
本申请实施例提供了一种机械臂的臂角区间的逆解方法、装置及终端设备,可以解决目前的逆解方法得到的七自由度机械臂的臂角区间的精度差的问题。
第一方面,本申请实施例提供了一种机械臂的臂角区间的逆解方法,包括:
获取机械臂中目标关节的关节角计算模型和微分关系模型,其中,所述目标关节为所述机械臂中除肘关节之外的任一关节,所述关节角计算模型表征所述目标关节的关节角与臂角之间的第一关系,所述微分关系模型表征所述目标关节的关节角与臂角之间的第二关系,所述目标关节的臂角为所述机械臂中各个关节所构成的平面与参考平面之间的夹角;
基于所述微分关系模型,获得所述微分关系模型的关节角在极值时对应的极值臂角值,其中,所述极值臂角值包括微分关系模型在最大值时对应的臂角值和在最小值时对应的臂角值;
基于所述极值臂角值和所述关节角计算模型,获得所述目标关节对应的关节臂角区间;
基于所述机械臂中各个所述目标关节对应的关节臂角区间,获得所述机械臂对应的目标臂角区间。
第二方面,本申请实施例提供了一种机械臂的臂角区间的逆解装置,包括:
模型获取模块,用于获取机械臂中目标关节的关节角计算模型和微分关系模型,其中,所述目标关节为所述机械臂中除肘关节之外的任一关节,所述关节角计算模型表征所述目标关节的关节角与臂角之间的第一关系,所述微分关系模型表征所述目标关节的关节角与臂角之间的第二关系,所述目标关节的臂角为所述机械臂中各个关节所构成的平面与参考平面之间的夹角;
第一计算模块,用于基于所述微分关系模型,获得所述微分关系模型的关节角在极值时对应的极值臂角值,其中,所述极值臂角值包括微分关系模型在最大值时对应的臂角值和在最小值时对应的臂角值;
第二计算模块,用于基于所述极值臂角值和所述关节角计算模型,获得所述目标关节对应的关节臂角区间;
臂角区间确定模块,用于基于所述机械臂中各个所述目标关节对应的关节臂角区间,获得所述机械臂对应的目标臂角区间。
第三方面,本申请实施例提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的机械臂的臂角区间的逆解方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的机械臂的臂角区间的逆解方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的机械臂的臂角区间的逆解方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:本申请首先获取机械臂中目标关节的关节角计算模型和微分关系模型,其中,目标关节为机械臂中除肘关节之外的任一关节;基于微分关系模型,获得所述微分关系模型的关节角在极值时对应的极值臂角值,其中,极值臂角值包括微分关系模型在最大值时对应的臂角值和在最小值时对应的臂角值;基于极值臂角值和关节角计算模型,获得目标关节对应的关节臂角区间;最后基于机械臂中各个目标关节对应的关节臂角区间,获得机械臂对应的目标臂角区间;本申请首先获得微分关系模型在机制时对应的极值臂角值,然后根据极值臂角值可以得到各个目标关节对应的关节臂角区间,最后根据各个目标关节的关节臂角区间,得到机械臂的臂角区间;本申请相较于现有技术中求解机械臂的臂角区间的方法可以得到更准确的臂角区间。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的机械臂的臂角区间的逆解方法的应用场景示意图;
图2是本申请一实施例提供的机械臂的臂角区间的逆解方法的流程示意图;
图3是本申请一实施例提供的臂角平面与参考平面的结构示意图;
图4是本申请一实施例提供的tan类型中关节角随臂角的变化示意图一;
图5是本申请一实施例提供的tan类型中关节角随臂角的变化示意图二;
图6是本申请一实施例提供的tan类型中关节角随臂角的变化示意图三;
图7是本申请一实施例提供的sin类型中关节角随臂角的变化示意;
图8是本申请一实施例提供的具有肘关节限位的七自由度机械臂的结构示意;
图9是本申请一实施例提供的将各个关节的原点投影到第2个关节的DH坐标系上得到的结构示意图;
图10是本申请另一实施例提供的将各个关节的原点投影到第2个关节的DH坐标系上得到的结构示意图;
图11是本申请一实施例提供的关节臂角区间的求解方法的流程示意图;
图12是本申请一实施例提供的在所述目标关节的关节角为周期性变化时,第一候选臂角区间的求解方法的流程示意图;
图13是本申请一实施例提供的在所述目标关节的关节角为单调性变化时,第一候选臂角区间的求解方法的流程示意图;
图14是本申请一实施例提供的机械臂的臂角区间的逆解装置的结构示意图;
图15是本申请一实施例提供的终端设备的结构示意图。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
七自由度机械臂相较于常用的六自由度的活动范围更广的机械臂。由于七自由度机械臂可以完成更复杂的动作,因此,对七自由度机械臂的研究是目前的研究趋势。七自由度机械臂也可以称作冗余机械臂,因此计算机械臂的臂角区间也就是计算机械臂的冗余区间。
本申请中主要求解的是具有关节限位、且具有肘关节偏置的七自由度机械臂。其中,肘关节为机械臂中的第4个机械臂。本申请通过逆解的方法求解机械臂的臂角区间。所谓逆解指的是已知机械臂的末端位姿,在机械臂的末端位姿不变的情况下求解机械臂中各个关节的运动参数。
图1为本申请实施例提供的机械臂的臂角区间的逆解方法的应用场景示意图,上述机械臂的臂角区间的逆解方法可以用于对机械臂的臂角区间进行求解。其中,存储装置10用于存储机械臂中目标关节的关节角计算模型和微分关系模型,处理器20用于从存储装置10中获取关节角计算模型和微分关系模型,并基于关节角计算模型和微分关系模型计算机械臂的臂角区间。
以下结合图1对本申请实施例的机械臂的臂角区间的逆解方法进行详细说明。
图2示出了本申请提供的机械臂的臂角区间的逆解方法的示意性流程图,参照图2,对该方法的详述如下:
S101,获取机械臂中目标关节的关节角计算模型和微分关系模型,其中,所述目标关节为所述机械臂中除肘关节之外的任一关节,所述关节角计算模型表征所述目标关节的关节角与臂角之间的第一关系,所述微分关系模型表征所述目标关节的关节角与臂角之间的第二关系,所述目标关节的臂角为所述机械臂中各个关节所构成的平面与参考平面之间的夹角。
在本实施例中,可以将机械臂中的肩关节至机械臂的终端分为第1关节、第2关节、第3关节、第4关节、第5关节、第6关节和第7关节,其中,第1、2关节对应肩关节, 第3关节对应大臂转动关节,第4关节对应肘关节,第5关节对应小臂转动关节,第6、7关节对应腕关节。
具体的,关节角的计算模型可以包括两种,一种是tan类型的一种是sin类型的。
在所述目标关节为所述机械臂的第1关节、第3关节、第5关节或第7关节时,所述关节角计算模型为:
其中,θ
i为第i关节的关节角,i的取值为1、3、5或7,a
ni、b
ni、c
ni、a
di、b
di和c
di均为第i关节对应的关节角计算模型中的系数,ψ为臂角。
在所述目标关节为所述机械臂的第2关节或第6关节时,所述关节角计算模型为:sinθ
j=a
jsinψ+b
jcosψ+c
j,其中,θ
j为第j关节的关节角,j的取值为2或6,a
j、b
j和c
j均为第j关节对应的关节角计算模型中的系数,ψ为臂角。
微分关系模型是由关节角的计算模型进行微分处理后得到的。由于关节角的计算模型包括两类,因此,微分关系模型也可以包括两类。
具体的,在所述目标关节为所述机械臂的第1关节、第3关节、第5关节或第7关节时,所述微分关系模型为:
其中,θ
i为第i关节的关节角,i的取值为1、3、5或7,a
ti、b
ti和c
ti均为第i关节对应的微分关系模型中的系数,ψ为臂角,a
ti=b
di×c
ni-b
ni×c
di,b
ti=a
ni×c
di-a
di×c
ni,c
ti=a
ni×b
di-a
di×b
ni,f
ni(ψ)=a
nisinψ+b
nicosψ+c
ni,f
di(ψ)=a
disinψ+b
dicosψ+c
di。
在所述目标关节为所述机械臂的第2关节或第6关节时,所述目标关节的微分关系模型为:
其中,θ
j为第j关节的关节角,j的取值为2或6,a
j、b
j和c
j均为第j关节对应的关节角计算模型中的系数,ψ为臂角。
在本实施例中,可以将第1关节、第2关节和第3关节的转轴视为一点,记为第一点;将第5关节、第6关节和第7关节的转轴视为一点,记为第二点;则第一点、第二点和第4关节可以构成一个平面,记为臂角平面。由此可得,臂角为臂角平面与预设的参考平面之间的夹角。
作为举例,如图3所示为七自由度机械臂的臂角平面与参考平面的示意图。图3中的S点为第1关节、第2关节和第3关节的转轴相交的第一点。W点为第5关节、第6关节和第7关节的转轴相交的第二点。E点表示第4关节的点。臂角平面为点S、W和E组成的平面。参考平面与臂角平面相交于SW直线。臂角为图3中的ψ角。臂角区间机械臂的末端的位姿不变的情况下臂角平面可以围绕W点所转的角度。
S102,基于所述微分关系模型,获得所述微分关系模型的关节角在极值时对应的极值 臂角值,其中,所述极值臂角值包括微分关系模型在最大值时对应的臂角值和在最小值时对应的臂角值。
在本实施例中,微分关系模型用于表征目标关节的关节角对目标关节的臂角的微分关系。将不同的臂角值输入至微分关系模型中,得到各个臂角值对应的关节角的值。从微分关系模型中关节角的值中得到最大值和最小值,进而确定极值臂角值。
具体的,可以建立微分关系模型的值随臂角值的变化图,从变化图中可以确定极值臂角值。如图4-7所示,由微分关系模型得到的关节角与臂角之间的变化图,其中横坐标为臂角的变化,纵坐标为关节角随臂角的变化而变化的值。图4-6均为第1关节、第3关节、第5关节和第7关节对应的微分关系模型中臂角与关节角的变化关系;图7为第2关节和第6关节对应的微分关系模型中臂角与关节角的变化关系。
在本实施例中,由于极值臂角值是微分关系模型在最大值时对应的臂角值和在最小值时对应的臂角值,因此,极值臂角值包括极大臂角值和极小臂角值。
S103,基于所述极值臂角值和所述关节角计算模型,获得所述目标关节对应的关节臂角区间。
在本实施例中,首先可以根据极值臂角值中的极大臂角值获得目标关节的最大关节角;根据极小臂角值获得目标关节的最小关节角。然后根据最大关节角和最小关节角逆解出目标关节的关节臂角区间。
具体的,步骤S103的实现过程可以包括:
S1031,基于所述极值臂角值和所述关节角计算模型,获得所述目标关节的候选关节角,其中,所述候选关节角包括候选最大关节角和候选最小关节角。
在本实施例中,将极值臂角值中的极大臂角值输入关节角计算模型,可以得到最大关节角,记作候选最大关节角;将极值臂角值中的极小臂角值输入关节角计算模型,可以得到最小关节角,记作候选最小关节角。
S1032,基于所述候选关节角和所述关节角计算模型,获得所述目标关节对应的关节臂角区间。
在本实施例中,将候选最大关节角和候选最小关节角分别输入关节角计算模型中逆解出目标关节对应的关节臂角区间。
S104,基于所述机械臂中各个所述目标关节对应的关节臂角区间,获得所述机械臂对应的目标臂角区间。
具体的,在通过逆解得到目标关节对应的关节臂角区间后,可以计算关节臂中第1关节对应的关节臂角区间、第2关节对应的关节臂角区间、第3关节对应的关节臂角区间、第5关节对应的关节臂角区间、第6关节对应的关节臂角区间和第7关节对应的关节臂角 区间的交集得到目标臂角区间。
本申请实施例中,首先获取机械臂中目标关节的关节角计算模型和微分关系模型,其中,目标关节为机械臂中除肘关节之外的任一关节;基于微分关系模型,获得微分关系模型在极值时对应的极值臂角值,其中,极值臂角值包括微分关系模型在最大值时对应的臂角值和在最小值时对应的臂角值;基于极值臂角值和关节角计算模型,获得目标关节对应的关节臂角区间;最后基于机械臂中各个目标关节对应的关节臂角区间,获得机械臂对应的目标臂角区间;本申请首先获得微分关系模型在机制时对应的极值臂角值,然后根据极值臂角值可以得到各个目标关节对应的关节臂角区间,最后根据各个目标关节的关节臂角区间,得到机械臂的臂角区间;本申请相较于现有技术中求解机械臂的臂角区间的方法可以得到更准确的臂角区间。
在一种可能的实现方式中,步骤S101的实现过程具体可以包括:
建立机械臂中各个关节的DH坐标系。
基于各个关节的DH坐标系和机械臂的末端的位姿,获得第4关节的转动角度。
在第3关节为0时,计算第1关节的关节角和第2关节的关节角,其中,第3关节为0表示第3关节固定不动。
基于第1关节的关节角、第2关节的关节角、第4关节的转动角度和罗德里格斯公式,获得关节角计算模型。
对关节角计算模型进行微分处理,得到微分关系模型。
具体的,如图8所示一个具有肘关节限位的七自由度机械臂的示意图。对机械臂中的七个关节分别建立DH坐标系。其中,使用虚线连接的坐标系代表两个关节的轴的原点重合交于一点。点划线表示在该点划线位于的坐标轴上存在位置偏置。
将第3关节和第5关节之间的距离设置为lse,将第4关节和第5关节之间的距离设置为d,将第5关节和第6关节之间的距离设置为lew。
在计算第4关节的转动角度时,可以将第2关节的DH坐标系作为基准坐标系。由图8所建立的各个DH坐标可以得出。第2关节的原点、第5关节的原点和第4关节的原点组成一个直角三角形,第2关节的原点、第5关节的原点和第4关节的原点组成的直角三角形记为机械臂的上臂组成的直角三角形。第4关节的原点、第5关节的原点和第6关节的原点组成的一个直角三角形,第4关节的原点、第5关节的原点和第6关节的原点组成的直角三角形记为机械臂的下臂组成的直角三角形。将上臂组成的直角三角形、下臂组成的直角三角形和图3中S、E和W点投影在第2关节的DH坐标系中,且由于第4关节具有偏置,所以得到如图9和图10所示的坐标系,也就是第4关节的转动角度可以包括两个角度。其中,三角形SEE’组成的三角形为上臂组成的三角形,三角形WEE”组成的三角形为下臂 组成的三角形,图9和图10中∠E’EE”均为第4关节转动的角度。
由图9所示,第4关节转动的角度为q
4=-(∠SEW-∠SEE'-∠WEE”)。由图10所示,第4关节转动的角度为q
4=∠SEW+∠SEE'+∠WEE”-π。
在计算得到第4关节转动的角度后,可以将第3关节假设为0,也就是将7自由度机械臂按照六自由度机械臂计算。由图9和图10可得第2关节的关节角为:
其中,
lsw为腕关节和肩关节的距离,其中腕关节对应第6、7关节,肩关节对应第1、2、3关节;第1关节的关节角为:
其中,Y2w为W点投影到在Y2坐标轴上的值,X2w为W点投影到在x2坐标轴上的值。
根据罗德里格斯公式可以得到,机械臂的冗余运动可以视为一个绕轴lsw转动ψ度,由此,罗德里格斯公式可以写作:
根据罗德里格斯公式可以得到在第3关节为0时,第4关节、第5关节、第6关节和第7关节的旋转矩阵为:
为q
4,
包括第5关节的关节角、第6关节的关节角和第7关节的关节角三个未知数,Aw、Bw、Cw为三个矩阵。
因此,可以得到第1关节的关节角计算模型为
θ
1为第1关节的关节角,a
s12为A
s中的第1行第2列的值,a
s22为A
s中的第2行第2列的值,b
s12为B
s中的第1行第2列的值,b
s22为B
s中的第2行第2列的值,c
s12为C
s中的第1行第2列的值,c
s22为C
s中的第2行第2列的值。
第2关节的关节角计算模型为sinθ
2=-a
s32sinψ-b
s32cosψ-c
s32,其中,θ
2为第2关节的关节角,a
s32为A
s中的第3行第2列的值,b
s32为B
s中的第3行第2列的值,c
s32为C
s中的第3行第2列的值。
第3关节的关节角计算模型为
θ
3为第3关节的关节角,a
s33为A
s中的第3行第3列的值,a
s31为A
s中的第3行第1列的值,b
s33为B
s中的第3行第3列的值,b
s31为B
s中的第3行第1列的值,c
s33为C
s中的第3行第3列的值,c
s31为C
s中的第3行第1列的值。
第5关节的关节角计算模型为
θ
5为第5关节的关节角,a
w13为A
w中的第1行第3列的值,a
w23为A
w中的第2行第3列的值,b
w13为B
w中的第1行第3列的值,b
w23为B
w中的第2行第3列的值,c
w13为C
w中的第1行第3列的值,c
w23为C
w中的第2行第3列的值。
第6关节的关节角计算模型为sinθ
6=a
w33sinψ+b
w33cosψ+c
w33,θ
6为第6关节的关节角,a
w33为A
w中的第3行第3列的值,b
w33为B
w中的第3行第3列的值,c
w33为C
w中的第3行第3列的值。
第7关节的关节角计算模型为
θ
7为第7关节的关节角,a
w32为A
w中的第3行第2列的值,a
w31为A
w中的第3行第1列的值,b
w32为B
w中的第3行第2列的值,b
w31为B
w中的第3行第1列的值,c
w32为C
w中的第3行第2列的值,c
w31为C
w中的第3行第1列的值。
将上述关节角的计算模型进行统一,得到在所述目标关节为所述机械臂的第1关节、第3关节、第5关节或第7关节时,所述关节角计算模型为:
在所述目标关节为所述机械臂的第2关节或第6关节时,所述关节角计算模型为:sinθ
j=a
jsinψ+b
jcosψ+c
j。
上述关节角的计算模型之所以会出现tan类型和sin类型两种,是由于建立DH坐标系的方式不同。
如图11所示,在一种可能的实现方式中,在所述目标关节为所述机械臂的第1关节、第3关节、第5关节或第7关节时,步骤S1032的实现过程可以包括:
在本实施例中,由图4可知,在
大于零时,随着臂角的变化,关节角发生周期性变化,且在图4中的第3和第4个图可以得到由于反切函数atan2的不完备性导致在关节限位为-π到+π时,随着臂角的周期性变化,在小于-π和大于+π的地方,关节角会出现一个2π的跳变。图5-6中显示,在
小于或等于0时,随着臂角的变化,关节角发生单调性变化。其中,单调性变化包括单调增加和/或单调减小。在
等于0时,在臂角为0时关节角发生间断,如图6所示。
S10322,基于所述候选最大关节角和所述关节角计算模型,计算所述候选最大关节角对应的第一臂角区间。
在本实施例中,将候选最大关节角输入关节角计算模型,可以逆解得到候选最大关节角对应的第一臂角区间。
S10323,基于所述变化信息和所述第一臂角区间,确定所述目标关节的第一候选臂角区间。
在本实施例中,由于第1关节、第3关节、第5关节或第7关节时关节角随臂角变化的规律不同,不同的变化信息的求解第一候选臂角区间的方法不同,因此,根据目标关节对应的变化信息可以选择对应的求解方法,计算得到第一候选臂角区间。
S10324,基于所述候选最小关节角和所述关节角计算模型,计算所述候选最小关节角对应的第二臂角区间。
在本实施例中,将候选最小关节角输入关节角计算模型,可以逆解得到候选最小关节角对应的第二臂角区间。
S10325,基于所述变化信息和所述第二臂角区间,确定所述目标关节的第二候选臂角区间。
同理,根据目标关节的变化信息可以得到第二候选臂角区间。
S10326,将所述第一候选臂角区间和所述第二候选臂角区间的交集作为所述目标关节对应的关节臂角区间。
本申请实施例中,首先确定目标关节的关节角随臂角的变化信息、候选最大关节角和候选最小关节角可以逆解出目标关节对应的关节臂角区间。
在一种可能的实现方式中,在所述目标关节的关节角为周期性变化时,首先确定候选最大关节角与预设的所述目标关节的第一最大基准关节角的大小关系。如果候选最大关节角小于或等于预设的所述目标关节的第一最大基准关节角,则将候选最大关节角对应的第一臂角区间作为第一候选臂角区间。
如图12所示,在一种可能的实现方式中,在所述目标关节的关节角为周期性变化、且所述候选最大关节角大于预设的所述目标关节的第一最大基准关节角时,步骤S10323的实现过程可以包括:
S201,判断所述候选最大关节角与所述候选最小关节角的大小关系,以及所述第一臂角区间中各个臂角对应的第一关节角与所述第一最大基准关节角的大小关系。
在本实施例中,如果候选最大关节角小于候选最小关节角,则说明关节角发生2π区间的跳变,反之则没有发生2π区间的跳变。
在本实施例中,第一最大基准关节角可以根据需要进行设置,每个目标关节对应一个最大基准关节角。
作为举例,可以预设机械臂中各个关节对应的运动范围,如下表1所示,根据表1可以确定各个目标关节对应的第一最大基准关节角。
表1预设机械臂中各个关节对应的运动范围
S202,在所述候选最大关节角小于所述候选最小关节角、且存在至少一个所述第一关节角大于所述第一最大基准关节角,则将所述第一臂角区间的开集作为所述第一候选臂角区间,其中,所述第一臂角区间的开集包括第一集合和第二集合,所述第一集合包括从第一最小预设值至所述第一臂角区间的下限值的臂角集合,所述第二集合包括从所述第一臂角区间的上限值至第一最大预设值的臂角集合。
在本实施例中,第一最小预设值可以根据需要进行设置。第一最大预设值也可以根据需要进行设置。
作为举例,如果第一臂角区间为(1,2),第一最小预设值为-π,第一最大预设值为π,则第一臂角区间的开集为(-∞,1]∪[2,+∞)。
S203,在所述候选最大关节角小于所述候选最小关节角、且所述第一关节角小于或等于所述第一最大基准关节角,则将所述第一臂角区间作为所述第一候选臂角区间。
在本实施例中,在所述候选最大关节角小于所述候选最小关节角、且所述第一关节角小于或等于所述第一最大基准关节角,则将第一臂角区间的闭集作为第一候选臂角区间。第一臂角区间的闭集也就是第一臂角区间。
S204,在所述候选最大关节角大于或等于所述候选最小关节角、且存在至少一个所述第一关节角大于所述第一最大基准关节角,则将所述第一臂角区间作为所述第一候选臂角区间。
S205,在所述候选最大关节角大于或等于所述候选最小关节角、且所述第一关节角小于或等于所述第一最大基准关节角,则将所述第一臂角区间的开集作为所述第一候选臂角区间,其中,所述第一臂角区间的开集包括第三集合和第四集合,所述第三集合包括从第二最小预设值至所述第一臂角区间的下限值的臂角集合,所述第四集合包括从所述第一臂角区间的上限值至第二最大预设值的臂角集合。
在本实施例中,与步骤S202相似,可以参照步骤S202,在此不再赘述。
如图13所示,在一种可能的实现方式中,在所述目标关节的关节角为单调性变化时,步骤S10323的实现过程可以包括:
S206,基于所述微分关系模型,判断所述目标关节的关节角的单调特性,其中,所述单调特性包括单调增和/或单调减。
具体的,可以根据微分关系模型中的ati,bti,cti获得单调特性,将任意ψ输入至微分关系模型中,得到微分关系模型的值,如果为正则单调增,如果为负责单调减。
S207,在所述目标关节的关节角为单调增时,基于所述第一臂角区间中各个臂角对应的第二关节角,获得第一目标关节角,其中,所述第一目标关节角为第二关节角中与预设的第二最大基准关节角的差值最小的关节角。
在本实施例中,计算第二关节角与第二最大基准关节角的差值,将差值最小的对应的第二关节角作为第一目标关节角。也就是将第二关节中距离第二最大基准关节角最近的关节角作为第一目标关节角。
作为举例,如果第二关节角为2-3,第二最大基准关节角为3.14,则将3最为第一目标关节角。
S208,基于所述第一目标关节角对应的臂角值,获得所述第一候选臂角区间的候选上限值。
S209,基于所述候选上限值和所述第一臂角区间的下限值,获得第一候选臂角区间。
S210,在所述目标关节的关节角为单调减时,基于所述第一臂角区间中各个臂角对应 的第三关节角,获得第二目标关节角,其中,所述第二目标关节角为第三关节角中与预设的最小基准关节角的差值最小的关节角。
在本实施例中,步骤S210与步骤S207相似,请参照步骤S207在此不再赘述。
S211,基于所述第二目标关节角对应的臂角值,获得所述第一候选臂角区间的候选下限值。
S212,基于所述候选下限值和所述第一臂角区间的上限值,获得第一候选臂角区间。
在一种可能的实现方式中,在步骤S10323之后,步骤S1032还可以包括:
S301,判断所述第一候选臂角区间中的臂角值是否满足预设要求,其中,所述满足预设要求的臂角值包括在所述目标关节的关节角为周期变化时在第一限位区间内的臂角值,在所述目标关节的关节角为单调性变化时在第二限位区间内的臂角值。
在本实施例中,可以预设限位区间,限位区间可以根据需要进行设置,限位区间为机械臂不能达到的臂角值。
第一限位区间与第二限位区间可以相同,也可以不同。
第一限位区间可以包括一个连续的区间,还可以包括各个臂角值,例如,第一限位区间可以为-2.7至+2.7。
第二限位区间可以包括一个连续的区间,还可以包括各个臂角值、还可以包括臂角值得邻域,例如,第二限位区间可以包括0、-π、+π和0的邻域、-π的邻域。具体的,臂角值得邻域的大小可以根据需要设置。
S302,若所述第一候选臂角区间中存在满足预设要求的臂角值,则将所述第一候选臂角区间中满足预设要求的臂角值去除,得到去除满足预设要求的臂角值后的第一候选臂角区间。
在本实施例中,在目标关节的关节角为周期变化时,计算第一候选臂角区间和第一限位区间的交集,第一候选臂角区间和第一限位区间的交集为超过上限的臂角值,将第一候选臂角区间中第一候选臂角区间和第一限位区间的交集去除,得到去除满足预设要求的臂角值后的第一候选臂角区间。
在一种可能的实现方式中,在所述目标关节的关节角为周期性变化、且所述候选最小关节角小于预设的所述目标关节的第一最小基准关节角时,步骤S10325的实现过程可以参照步骤S10323的实现过程,具体的可以参照步骤S201至步骤S205,在此不再赘述。
在一种可能的实现方式中,在所述目标关节的关节角为单调性变化时,步骤S10325的实现过程可以参照步骤S10323的实现过程,具体可以参照步骤S206至步骤S212,在此不再赘述。
在一种可能的实现方式中,在步骤S10325之后,步骤S1032还可以包括:
去除第二候选臂角区间中满足要求的臂角值,得到去除满足要求的臂角值后的第二候选臂角区间。具体的,可以参照步骤S301至步骤S302。
在一种可能的实现方式中,如图7所示,在所述目标关节为所述机械臂的第2关节或第6关节时臂角值与关节角的关系变化图,由图7可以得到,在目标关节为第2关节或第6关节时,关节角随臂角值的变化是连续变化的。因此,在所述目标关节为所述机械臂的第2关节或第6关节时,步骤S302的实现过程可以参照目标关节的关节角为周期性变化时计算目标关节的关节臂角区间的方法,在此不再赘述。
在一种可能的实现过程中国,在步骤S104之后,上述方法还可以包括:
基于目标臂角区间,选取机械臂的应用臂角值;
基于所述应用臂角值和所述关节角计算模型,获得所述机械臂中目标关节的应用关节角。
在本实施例中,在计算得到机械臂的目标臂角区间后,可以根据需要选择合适的应用臂角值。将应用臂角值输入至各个目标关节对应的关节角计算模型,得到各个目标关节的应用关节角。
在得到各个目标关节的应用关节角后,可以基于各个应用关节角生成控制指令,控制指令用于控制机械臂运动。
在机械臂按照控制指令运动后,可以获取机械臂的末端的实际位姿,将获取的机械臂的末端的实际位姿和预设的基准位姿比较,确定机械臂的臂角区间的逆解方法是否满足要求。若实际位姿和预设的基准位姿的差值在预设范围内,则确定机械臂的臂角区间的逆解方法满足要求,反之则不满足要求。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的机械臂的臂角区间的逆解方法,图14示出了本申请实施例提供的机械臂的臂角区间的逆解装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图14,该装置400可以包括:模型获取模块410、第一计算模块420、第二计算模块430和臂角区间确定模块440。
其中,模型获取模块410,用于获取机械臂中目标关节的关节角计算模型和微分关系模型,其中,所述目标关节为所述机械臂中除肘关节之外的任一关节,所述关节角计算模型表征所述目标关节的关节角与臂角之间的第一关系,所述微分关系模型表征所述目标关节的关节角与臂角之间的第二关系,所述目标关节的臂角为所述机械臂中各个关节所构成的平面与参考平面之间的夹角;
第一计算模块420,用于基于所述微分关系模型,获得所述微分关系模型的关节角在极值时对应的极值臂角值,其中,所述极值臂角值包括微分关系模型在最大值时对应的臂角值和在最小值时对应的臂角值;
第二计算模块430,用于基于所述极值臂角值和所述关节角计算模型,获得所述目标关节对应的关节臂角区间;
臂角区间确定模块440,用于基于所述机械臂中各个所述目标关节对应的关节臂角区间,获得所述机械臂对应的目标臂角区间。
在一种可能的实现方式中,在所述目标关节为所述机械臂的第1关节、第3关节、第5关节或第7关节时,所述关节角计算模型为:
其中,θ
i为第i关节的关节角,i的取值为1、3、5或7,a
ni、b
ni、c
ni、a
di、b
di和c
di均为第i关节对应的关节角计算模型中的系数,ψ为臂角;
在所述目标关节为所述机械臂的第2关节或第6关节时,所述关节角计算模型为:sinθ
j=a
jsinψ+b
jcosψ+c
j,其中,θ
j为第j关节的关节角,j的取值为2或6,a
j、b
j和c
j均为第j关节对应的关节角计算模型中的系数,ψ为臂角。
在一种可能的实现方式中,在所述目标关节为所述机械臂的第1关节、第3关节、第5关节或第7关节时,所述微分关系模型为:
其中,θ
i为第i关节的关节角,i的取值为1、3、5或7,a
ti、b
ti和c
ti均为第i关节对应的微分关系模型中的系数,ψ为臂角,a
ti=b
di×c
ni-b
ni×c
di,b
ti=a
ni×c
di-a
di×c
ni,c
ti=a
ni×b
di-a
di×b
ni,f
ni(ψ)=a
nisinψ+b
nicosψ+c
ni,f
di(ψ)=a
disinψ+b
dicosψ+c
di;
在所述目标关节为所述机械臂的第2关节或第6关节时,所述目标关节的微分关系模型为:
其中,θ
j为第j关节的关节角,j的取值为2或6,a
j、b
j和c
j均为第j关节对应的关节角计算模型中的系数,ψ为臂角。
在一种可能的实现方式中,第二计算模块430具体可以包括:
候选关节角计算单元,用于基于所述极值臂角值和所述关节角计算模型,获得所述目标关节的候选关节角,其中,所述候选关节角包括候选最大关节角和候选最小关节角;
关节臂角区间确定单元,用于基于所述候选关节角和所述关节角计算模型,获得所述目标关节对应的关节臂角区间。
在一种可能的实现方式中,在所述目标关节为所述机械臂的第1关节、第3关节、第5关节或第7关节时,关节臂角区间确定单元具体可以用于:
基于所述候选最大关节角和所述关节角计算模型,计算所述候选最大关节角对应的第一臂角区间;
基于所述变化信息和所述第一臂角区间,确定所述目标关节的第一候选臂角区间;
基于所述候选最小关节角和所述关节角计算模型,计算所述候选最小关节角对应的第二臂角区间;
基于所述变化信息和所述第二臂角区间,确定所述目标关节的第二候选臂角区间;
将所述第一候选臂角区间和所述第二候选臂角区间的交集作为所述目标关节对应的关节臂角区间。
在一种可能的实现方式中,关节臂角区间确定单元具体可以用于:
在一种可能的实现方式中,在所述目标关节的关节角为周期性变化、且所述候选最大关节角大于预设的所述目标关节的第一最大基准关节角时,关节臂角区间确定单元具体可以用于:
判断所述候选最大关节角与所述候选最小关节角的大小关系,以及所述第一臂角区间中各个臂角对应的第一关节角与所述第一最大基准关节角的大小关系;
在所述候选最大关节角小于所述候选最小关节角、且存在至少一个所述第一关节角大于所述第一最大基准关节角,则将所述第一臂角区间的开集作为所述第一候选臂角区间,其中,所述第一臂角区间的开集包括第一集合和第二集合,所述第一集合包括从第一最小预设值至所述第一臂角区间的下限值的臂角集合,所述第二集合包括从所述第一臂角区间的上限值至第一最大预设值的臂角集合;
在所述候选最大关节角小于所述候选最小关节角、且所述第一关节角小于或等于所述第一最大基准关节角,则将所述第一臂角区间作为所述第一候选臂角区间;
在所述候选最大关节角大于或等于所述候选最小关节角、且存在至少一个所述第一关节角大于所述第一最大基准关节角,则将所述第一臂角区间作为所述目第一候选臂角区间;
在所述候选最大关节角大于或等于所述候选最小关节角、且所述第一关节角小于或等于所述第一最大基准关节角,则将所述第一臂角区间的开集作为所述第一候选臂角区间,其中,所述第一臂角区间的开集包括第三集合和第四集合,所述第三集合包括从第二最小预设值至所述第一臂角区间的下限值的臂角集合,所述第四集合包括从所述第一臂角区间 的上限值至第二最大预设值的臂角集合。
在一种可能的实现方式中,在所述目标关节的关节角为单调性变化时,关节臂角区间确定单元具体可以用于:
基于所述微分关系模型,判断所述目标关节的关节角的单调特性,其中,所述单调特性包括单调增和/或单调减;
在所述目标关节的关节角为单调增时,基于所述第一臂角区间中各个臂角对应的第二关节角,获得第一目标关节角,其中,所述第一目标关节角为第二关节角中与预设的第二最大基准关节角的差值最小的关节角;
基于所述第一目标关节角对应的臂角值,获得所述第一候选臂角区间的候选上限值;
基于所述候选上限值和所述第一臂角区间的下限值,获得第一候选臂角区间;
在所述目标关节的关节角为单调减时,基于所述第一臂角区间中各个臂角对应的第三关节角,获得第二目标关节角,其中,所述第二目标关节角为第三关节角中与预设的最小基准关节角的差值最小的关节角;
基于所述第二目标关节角对应的臂角值,获得所述第一候选臂角区间的候选下限值;
基于所述候选下限值和所述第一臂角区间的上限值,获得第一候选臂角区间。
在一种可能的实现方式中,关节臂角区间确定单元具体可以用于:
判断所述第一候选臂角区间中的臂角值是否满足预设要求,其中,所述满足预设要求的臂角值包括在所述目标关节的关节角为周期变化时在第一限位区间内的臂角值,在所述目标关节的关节角为单调性变化时在第二限位区间内的臂角值;
若所述第一候选臂角区间中存在满足预设要求的臂角值,则将所述第一候选臂角区间中满足预设要求的臂角值去除,得到去除满足预设要求的臂角值后的第一候选臂角区间;
相应的,将所述第一候选臂角区间和所述第二候选臂角区间的交集作为所述目标关节对应的关节臂角区间,包括:
将去除满足预设要求的臂角值后的第一候选臂角区间和所述第二候选臂角区间的交集作为所述目标关节对应的关节臂角区间。
在一种可能的实现方式中,臂角区间确定模块440具体可以用于:
将机械臂中各个所述目标关节对应的关节臂角区间的交集作为所述机械臂对应的目标臂角区间。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单 元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种终端设备,参见图15,该终端设备500可以包括:至少一个处理器510、存储器520以及存储在所述存储器520中并可在所述至少一个处理器510上运行的计算机程序,所述处理器510执行所述计算机程序时实现上述任意各个方法实施例中的步骤,例如图2所示实施例中的步骤S101至步骤S104。或者,处理器510执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如图14所示模块410至440的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器520中,并由处理器510执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序段,该程序段用于描述计算机程序在终端设备500中的执行过程。
本领域技术人员可以理解,图14仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如输入输出设备、网络接入设备、总线等。
处理器510可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器520可以是终端设备的内部存储单元,也可以是终端设备的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。所述存储器520用于存储所述计算机程序以及终端设备所需的其他程序和数据。所述存储器520还可以用于暂时地存储已经输出或者将要输出的数据。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例提供的机械臂的臂角区间的逆解方法可以应用于计算机、平板电脑、笔记本电脑、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述机械臂的臂角区间的逆解方法各个实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述机械臂的臂角区间的逆解方法各个实施例中的步骤。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (13)
- 一种机械臂的臂角区间的逆解方法,其特征在于,应用于具有肘关节偏置的七自由度机械臂,包括:获取机械臂中目标关节的关节角计算模型和微分关系模型,其中,所述目标关节为所述机械臂中除肘关节之外的任一关节,所述关节角计算模型表征所述目标关节的关节角与臂角之间的第一关系,所述微分关系模型表征所述目标关节的关节角与臂角之间的第二关系,所述目标关节的臂角为所述机械臂中各个关节所构成的平面与参考平面之间的夹角;基于所述微分关系模型,获得所述微分关系模型的关节角在极值时对应的极值臂角值,其中,所述极值臂角值包括微分关系模型在最大值时对应的臂角值和在最小值时对应的臂角值;基于所述极值臂角值和所述关节角计算模型,获得所述目标关节对应的关节臂角区间;基于所述机械臂中各个所述目标关节对应的关节臂角区间,获得所述机械臂对应的目标臂角区间。
- 如权利要求2所述的机械臂的臂角区间的逆解方法,其特征在于,在所述目标关节为所述机械臂的第1关节、第3关节、第5关节或第7关节时,所述微分关系模型为: 其中,θ i为第i关节的关节角,i的取值为1、3、5或7,a ti、b ti和c ti均为第i关节对应的微分关系模型中的系数,ψ为臂角,a ti=b di×c ni-b ni×c di,b ti=a ni×c di-a di×c ni,c ti=a ni×b di-a di×b ni,f ni(ψ)=a nisinψ+b nicosψ+c ni,f di(ψ)=a disinψ+b dicosψ+c di;
- 如权利要求1所述的机械臂的臂角区间的逆解方法,其特征在于,所述基于所述极 值臂角值和所述关节角计算模型,获得所述目标关节对应的关节臂角区间,包括:基于所述极值臂角值和所述关节角计算模型,获得所述目标关节的候选关节角,其中,所述候选关节角包括候选最大关节角和候选最小关节角;基于所述候选关节角和所述关节角计算模型,获得所述目标关节对应的关节臂角区间。
- 如权利要求4所述的机械臂的臂角区间的逆解方法,其特征在于,在所述目标关节为所述机械臂的第1关节、第3关节、第5关节或第7关节时,所述基于所述候选关节角和所述关节角计算模型,获得所述目标关节对应的关节臂角区间,包括:基于所述候选最大关节角和所述关节角计算模型,计算所述候选最大关节角对应的第一臂角区间;基于所述变化信息和所述第一臂角区间,确定所述目标关节的第一候选臂角区间;基于所述候选最小关节角和所述关节角计算模型,计算所述候选最小关节角对应的第二臂角区间;基于所述变化信息和所述第二臂角区间,确定所述目标关节的第二候选臂角区间;将所述第一候选臂角区间和所述第二候选臂角区间的交集作为所述目标关节对应的关节臂角区间。
- 如权利要求5所述的机械臂的臂角区间的逆解方法,其特征在于,在所述目标关节的关节角为周期性变化、且所述候选最大关节角大于预设的所述目标关节的第一最大基准关节角时,所述基于所述变化信息和所述第一臂角区间,确定所述目标关节的第一候选臂角区间,包括:判断所述候选最大关节角与所述候选最小关节角的大小关系,以及所述第一臂角区间中各个臂角对应的第一关节角与所述第一最大基准关节角的大小关系;在所述候选最大关节角小于所述候选最小关节角、且存在至少一个所述第一关节角大于所述第一最大基准关节角,则将所述第一臂角区间的开集作为所述第一候选臂角区间,其中,所述第一臂角区间的开集包括第一集合和第二集合,所述第一集合包括从第一最小 预设值至所述第一臂角区间的下限值的臂角集合,所述第二集合包括从所述第一臂角区间的上限值至第一最大预设值的臂角集合;在所述候选最大关节角小于所述候选最小关节角、且所述第一关节角小于或等于所述第一最大基准关节角,则将所述第一臂角区间作为所述第一候选臂角区间;在所述候选最大关节角大于或等于所述候选最小关节角、且存在至少一个所述第一关节角大于所述第一最大基准关节角,则将所述第一臂角区间作为所述第一候选臂角区间;在所述候选最大关节角大于或等于所述候选最小关节角、且所述第一关节角小于或等于所述第一最大基准关节角,则将所述第一臂角区间的开集作为所述第一候选臂角区间,其中,所述第一臂角区间的开集包括第三集合和第四集合,所述第三集合包括从第二最小预设值至所述第一臂角区间的下限值的臂角集合,所述第四集合包括从所述第一臂角区间的上限值至第二最大预设值的臂角集合。
- 如权利要求5所述的机械臂的臂角区间的逆解方法,其特征在于,在所述目标关节的关节角为单调性变化时,所述基于所述变化信息和所述第一臂角区间,确定所述目标关节的第一候选臂角区间,包括:基于所述微分关系模型,判断所述目标关节的关节角的单调特性,其中,所述单调特性包括单调增和/或单调减;在所述目标关节的关节角为单调增时,基于所述第一臂角区间中各个臂角对应的第二关节角,获得第一目标关节角,其中,所述第一目标关节角为第二关节角中与预设的第二最大基准关节角的差值最小的关节角;基于所述第一目标关节角对应的臂角值,获得所述第一候选臂角区间的候选上限值;基于所述候选上限值和所述第一臂角区间的下限值,获得第一候选臂角区间;在所述目标关节的关节角为单调减时,基于所述第一臂角区间中各个臂角对应的第三关节角,获得第二目标关节角,其中,所述第二目标关节角为第三关节角中与预设的最小基准关节角的差值最小的关节角;基于所述第二目标关节角对应的臂角值,获得所述第一候选臂角区间的候选下限值;基于所述候选下限值和所述第一臂角区间的上限值,获得第一候选臂角区间。
- 如权利要求5所述的机械臂的臂角区间的逆解方法,其特征在于,在所述基于所述变化信息和所述第一臂角区间,确定所述目标关节的第一候选臂角区间之后,还包括:判断所述第一候选臂角区间中的臂角值是否满足预设要求,其中,所述满足预设要求的臂角值包括在所述目标关节的关节角为周期变化时在第一限位区间内的臂角值,在所述目标关节的关节角为单调性变化时在第二限位区间内的臂角值;若所述第一候选臂角区间中存在满足预设要求的臂角值,则将所述第一候选臂角区间 中满足预设要求的臂角值去除,得到去除满足预设要求的臂角值后的第一候选臂角区间;相应的,将所述第一候选臂角区间和所述第二候选臂角区间的交集作为所述目标关节对应的关节臂角区间,包括:将去除满足预设要求的臂角值后的第一候选臂角区间和所述第二候选臂角区间的交集作为所述目标关节对应的关节臂角区间。
- 如权利要求1所述的机械臂的臂角区间的逆解方法,其特征在于,所述基于所述机械臂中各个所述目标关节对应的关节臂角区间,获得所述机械臂对应的目标臂角区间,包括:将机械臂中各个所述目标关节对应的关节臂角区间的交集作为所述机械臂对应的目标臂角区间。
- 一种机械臂的臂角区间的逆解装置,其特征在于,包括:模型获取模块,用于获取机械臂中目标关节的关节角计算模型和微分关系模型,其中,所述目标关节为所述机械臂中除肘关节之外的任一关节,所述关节角计算模型表征所述目标关节的关节角与臂角之间的第一关系,所述微分关系模型表征所述目标关节的关节角与臂角之间的第二关系,所述目标关节的臂角为所述机械臂中各个关节所构成的平面与参考平面之间的夹角;第一计算模块,用于基于所述微分关系模型,获得所述微分关系模型的关节角在极值时对应的极值臂角值,其中,所述极值臂角值包括微分关系模型在最大值时对应的臂角值和在最小值时对应的臂角值;第二计算模块,用于基于所述极值臂角值和所述关节角计算模型,获得所述目标关节对应的关节臂角区间;臂角区间确定模块,用于基于所述机械臂中各个所述目标关节对应的关节臂角区间,获得所述机械臂对应的目标臂角区间。
- 一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述的机械臂的臂角区间的逆解方法。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的机械臂的臂角区间的逆解方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/369,225 US20240001546A1 (en) | 2021-03-18 | 2023-09-18 | Arm angle interval solving method and robotic arm using the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110290519.8A CN113119081B (zh) | 2021-03-18 | 2021-03-18 | 一种机械臂的臂角区间的逆解方法、装置及终端设备 |
CN202110290519.8 | 2021-03-18 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/369,225 Continuation US20240001546A1 (en) | 2021-03-18 | 2023-09-18 | Arm angle interval solving method and robotic arm using the same |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022193668A1 true WO2022193668A1 (zh) | 2022-09-22 |
Family
ID=76773426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/127148 WO2022193668A1 (zh) | 2021-03-18 | 2021-10-28 | 一种机械臂的臂角区间的逆解方法, 装置及终端设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240001546A1 (zh) |
CN (1) | CN113119081B (zh) |
WO (1) | WO2022193668A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113119081B (zh) * | 2021-03-18 | 2022-10-21 | 深圳市优必选科技股份有限公司 | 一种机械臂的臂角区间的逆解方法、装置及终端设备 |
CN113733104B (zh) * | 2021-10-12 | 2023-07-21 | 武汉联影智融医疗科技有限公司 | 机械臂的控制方法、计算机设备和存储介质 |
CN115582826B (zh) * | 2022-10-14 | 2024-03-19 | 华南理工大学 | 一种基于线驱动的超冗余度模块化机械臂 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5430643A (en) * | 1992-03-11 | 1995-07-04 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Configuration control of seven degree of freedom arms |
US5737500A (en) * | 1992-03-11 | 1998-04-07 | California Institute Of Technology | Mobile dexterous siren degree of freedom robot arm with real-time control system |
CN103955619A (zh) * | 2014-05-09 | 2014-07-30 | 大连大学 | 一种七自由度空间机械臂最小基座扰动解析逆运动学求解方法 |
CN109623823A (zh) * | 2018-12-29 | 2019-04-16 | 深圳前海达闼云端智能科技有限公司 | 逆解计算偏置机械臂关节角度值的方法、装置及计算设备 |
CN109676606A (zh) * | 2018-12-29 | 2019-04-26 | 深圳前海达闼云端智能科技有限公司 | 一种计算机械臂臂角范围的方法、机械臂及机器人 |
CN113119081A (zh) * | 2021-03-18 | 2021-07-16 | 深圳市优必选科技股份有限公司 | 一种机械臂的臂角区间的逆解方法、装置及终端设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202713A (zh) * | 2016-07-11 | 2016-12-07 | 尔智机器人(上海)有限公司 | 一种偏置机械臂逆运动学求解方法 |
CN109719725B (zh) * | 2018-12-29 | 2022-03-11 | 达闼机器人有限公司 | 一种机械臂运动规划的方法、机械臂及机器人 |
-
2021
- 2021-03-18 CN CN202110290519.8A patent/CN113119081B/zh active Active
- 2021-10-28 WO PCT/CN2021/127148 patent/WO2022193668A1/zh active Application Filing
-
2023
- 2023-09-18 US US18/369,225 patent/US20240001546A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5430643A (en) * | 1992-03-11 | 1995-07-04 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Configuration control of seven degree of freedom arms |
US5737500A (en) * | 1992-03-11 | 1998-04-07 | California Institute Of Technology | Mobile dexterous siren degree of freedom robot arm with real-time control system |
CN103955619A (zh) * | 2014-05-09 | 2014-07-30 | 大连大学 | 一种七自由度空间机械臂最小基座扰动解析逆运动学求解方法 |
CN109623823A (zh) * | 2018-12-29 | 2019-04-16 | 深圳前海达闼云端智能科技有限公司 | 逆解计算偏置机械臂关节角度值的方法、装置及计算设备 |
CN109676606A (zh) * | 2018-12-29 | 2019-04-26 | 深圳前海达闼云端智能科技有限公司 | 一种计算机械臂臂角范围的方法、机械臂及机器人 |
CN113119081A (zh) * | 2021-03-18 | 2021-07-16 | 深圳市优必选科技股份有限公司 | 一种机械臂的臂角区间的逆解方法、装置及终端设备 |
Non-Patent Citations (1)
Title |
---|
"China Master Thesis : A dissertation for the degree of M. Eng. Harbin Engineering University", 15 August 2019, HARBIN ENGINEERING UNIVERSITY, CN, article XIA ZHIWEI: "Target Grab Trajectory Planning and Design of Control System for Mobile Manipulator", pages: 1 - 85, XP055967488 * |
Also Published As
Publication number | Publication date |
---|---|
CN113119081A (zh) | 2021-07-16 |
US20240001546A1 (en) | 2024-01-04 |
CN113119081B (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022193668A1 (zh) | 一种机械臂的臂角区间的逆解方法, 装置及终端设备 | |
US20210197379A1 (en) | Method and device for controlling arm of robot | |
WO2022160787A1 (zh) | 一种机器人手眼标定方法, 装置, 可读存储介质及机器人 | |
WO2021082229A1 (zh) | 数据处理方法及相关装置 | |
CN113687629B (zh) | 激光cam加工的圆弧直线拟合方法、系统、设备及存储介质 | |
WO2022121003A1 (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN113119111A (zh) | 机械臂及其轨迹规划方法和装置 | |
WO2024041648A1 (zh) | 一种机械人末端轨迹的规划方法及装置 | |
CN111857037A (zh) | 一种过渡轨迹的生成方法、机器人及计算机可读存储介质 | |
CN113084791B (zh) | 机械臂控制方法、机械臂控制装置及终端设备 | |
CN114663500A (zh) | 视觉标定方法、计算机设备及存储介质 | |
CN109333520A (zh) | 一种四轴scara机器人逆解方法 | |
WO2024041647A1 (zh) | 一种笛卡尔空间的轨迹规划方法及装置 | |
CN112276957B (zh) | 一种直线段和圆弧的平滑过渡方法及系统 | |
WO2024041646A1 (zh) | 一种多轴设备的关节空间轨迹的规划方法及装置 | |
CN111427344A (zh) | 自主体轨迹冲突的解决方法、装置、设备和存储介质 | |
CN114700953A (zh) | 一种基于关节零位误差的粒子群手眼标定方法及系统 | |
WO2021147897A1 (en) | Apparatus and method for controlling a vehicle-mounted device, and vehicle-mounted device | |
CN113722864A (zh) | 一种7自由度冗余机械臂逆运动学求解方法及系统 | |
CN112518744A (zh) | 机器人轨迹规划方法、装置、机器人 | |
CN113001537A (zh) | 机械臂控制方法、机械臂控制装置及终端设备 | |
CN111687829A (zh) | 基于深度视觉的防碰撞控制方法、装置、介质、及终端 | |
CN117406669B (zh) | 插补方法、装置、电子设备及存储介质 | |
WO2023019732A1 (zh) | 一种机器人关节的配置信息的确定方法、装置及终端设备 | |
WO2024071235A1 (ja) | 動作経路設定装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21931243 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21931243 Country of ref document: EP Kind code of ref document: A1 |