CN117001662B - 一种机械臂控制方法、装置、设备及存储介质 - Google Patents
一种机械臂控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117001662B CN117001662B CN202310899875.9A CN202310899875A CN117001662B CN 117001662 B CN117001662 B CN 117001662B CN 202310899875 A CN202310899875 A CN 202310899875A CN 117001662 B CN117001662 B CN 117001662B
- Authority
- CN
- China
- Prior art keywords
- joint
- mechanical arm
- pose
- target
- base
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000013598 vector Substances 0.000 claims description 80
- 239000011159 matrix material Substances 0.000 claims description 24
- 230000009466 transformation Effects 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 6
- 210000001503 joint Anatomy 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本公开提供了一种机械臂控制方法、装置、设备及存储介质,所述方法包括:基于目标位姿数据,确定目标关节相对于机械臂的基座的第一位姿表达式,然后再基于预设约束条件,确定末端关节对应的关节角变量值,再基于该关节角变量值和第一位姿表达式,确定第一位姿数据,进而根据第一位姿数据控制机械臂的末端工具运动至目标位姿数据对应的位姿。可见,本公开通过增加预设约束条件确定末端关节对应的关节角变量值,从而基于该关节角变量值和第一位姿表达式,确定第一位姿数据,以基于第一位姿数据控制机械臂的末端工具运动至目标位姿数据对应的位姿,丰富了机械臂的控制方法,提升了用户的使用体验。
Description
技术领域
本公开涉及数据处理领域,尤其涉及一种机械臂控制方法、装置、设备及存储介质。
背景技术
近年来,随着机器人领域的发展,机械臂在多种应用场合得到广泛的应用。
但是,目前的机械臂控制方法较单一,不能满足用户的使用需求,因此,如何丰富机械臂的控制方法,提升用户的使用体验,是目前亟需解决的技术问题。
发明内容
为了解决上述技术问题,本公开实施例提供了一种机械臂控制方法。
第一方面,本公开提供了一种机械臂控制方法,所述方法包括:
获取机械臂的目标位姿数据;其中,所述目标位姿数据用于表征所述机械臂的末端工具相对于所述机械臂的基座的位姿,所述机械臂的末端工具连接在所述机械臂的末端关节;
基于所述目标位姿数据,确定目标关节相对于所述机械臂的基座的第一位姿表达式;其中,所述目标关节为所述机械臂的末端关节的相邻上一关节,所述第一位姿表达式用于表征所述机械臂的目标关节相对于所述机械臂的基座的位姿,所述第一位姿表达式中包括所述末端关节对应的关节角变量;
基于预设约束条件,确定所述末端关节对应的关节角变量值;其中,所述预设约束条件用于使得所述目标关节对应的预设方向向量与所述机械臂的基座对应的预设方向向量的夹角小于预设阈值,所述目标关节对应的预设方向向量由所述第一位姿表达式确定,所述目标关节对应的预设方向向量与所述机械臂的基座对应的预设方向向量属于同一类型坐标轴对应的方向向量;
基于所述末端关节对应的关节角变量值和所述第一位姿表达式,确定所述目标关节相对于所述机械臂的基座的位姿数据,并将所述目标关节相对于所述机械臂的基座的位姿数据作为第一位姿数据;其中,所述第一位姿数据用于表征所述目标关节相对于所述机械臂的基座的位姿;
根据所述第一位姿数据,控制所述机械臂的末端工具运动至所述目标位姿数据对应的位姿。
一种可选的实施方式中,所述基于所述目标位姿数据,确定目标关节相对于所述机械臂的基座的第一位姿表达式,包括:
基于所述目标位姿数据,以及所述末端工具与所述末端关节之间的预设位置关系,确定所述末端关节相对于所述机械臂的基座的位姿数据;
确定所述末端关节相对于目标关节的第二位姿表达式;其中,所述第二位姿表达式用于表征所述机械臂的末端关节相对于所述机械臂的目标关节的位姿,所述第二位姿表达式中包括所述末端关节对应的关节角变量;
基于所述末端关节相对于所述机械臂的基座的位姿数据和所述第二位姿表达式,确定所述目标关节相对于所述机械臂的基座的第一位姿表达式。
一种可选的实施方式中,所述确定所述末端关节相对于目标关节的第二位姿表达式,包括:
利用所述机械臂的连杆之间的变换矩阵,确定所述末端关节相对于目标关节的第二位姿表达式。
一种可选的实施方式中,所述基于所述末端关节对应的关节角变量值和所述第一位姿表达式,确定所述目标关节相对于所述机械臂的基座的位姿数据,并将所述目标关节相对于所述机械臂的基座的位姿数据作为第一位姿数据之后,还包括:
利用预设算法库,确定目标关节角;其中,所述目标关节角包括所述机械臂中除所述末端关节对应的关节角之外的至少一个关节角;
相应地,所述根据所述第一位姿数据,控制所述机械臂的末端工具运动至所述目标位姿数据对应的位姿,包括:
根据所述第一位姿数据和所述目标关节角,控制所述机械臂的末端工具运动至所述目标位姿数据对应的位姿。
一种可选的实施方式中,所述利用预设算法库,确定目标关节角,包括:
利用预设算法库,确定多组关节角;
基于预设规则,从所述多组关节角中确定一组关节角,作为目标关节角。
一种可选的实施方式中,所述预设规则用于使得所述机械臂的末端工具运动至所述目标位姿数据对应的位姿时,所述机械臂的运动范围最小。
一种可选的实施方式中,所述机械臂为冗余轴机械臂,所述冗余轴机械臂包括大于六个自由度的机械臂。
第二方面,本公开提供了一种机械臂控制装置,所述装置包括:
获取模块,用于获取机械臂的目标位姿数据;其中,所述目标位姿数据用于表征所述机械臂的末端工具相对于所述机械臂的基座的位姿,所述机械臂的末端工具连接在所述机械臂的末端关节;
第一确定模块,用于基于所述目标位姿数据,确定目标关节相对于所述机械臂的基座的第一位姿表达式;其中,所述目标关节为所述机械臂的末端关节的相邻上一关节,所述第一位姿表达式用于表征所述机械臂的目标关节相对于所述机械臂的基座的位姿,所述第一位姿表达式中包括所述末端关节对应的关节角变量;
第二确定模块,用于基于预设约束条件,确定所述末端关节对应的关节角变量值;其中,所述预设约束条件用于使得所述目标关节对应的预设方向向量与所述机械臂的基座对应的预设方向向量的夹角小于预设阈值,所述目标关节对应的预设方向向量由所述第一位姿表达式确定,所述目标关节对应的预设方向向量与所述机械臂的基座对应的预设方向向量属于同一类型坐标轴对应的方向向量;
第三确定模块,用于基于所述末端关节对应的关节角变量值和所述第一位姿表达式,确定所述目标关节相对于所述机械臂的基座的位姿数据,并将所述目标关节相对于所述机械臂的基座的位姿数据作为第一位姿数据;其中,所述第一位姿数据用于表征所述目标关节相对于所述机械臂的基座的位姿;
控制模块,用于根据所述第一位姿数据,控制所述机械臂的末端工具运动至所述目标位姿数据对应的位姿。
第三方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
第四方面,本公开提供了一种机械臂控制设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
本公开实施例提供的技术方案与现有技术相比至少具有如下优点:首先,获取机械臂的目标位姿数据,其中,目标位姿数据用于表征机械臂的末端工具相对于机械臂的基座的位姿,机械臂的末端工具连接在机械臂的末端关节,基于目标位姿数据,然后确定目标关节相对于机械臂的基座的第一位姿表达式,其中,目标关节为机械臂的末端关节的相邻上一关节,第一位姿表达式用于表征机械臂的目标关节相对于机械臂的基座的位姿,第一位姿表达式中包括末端关节对应的关节角变量,再基于预设约束条件,确定末端关节对应的关节角变量值,其中,预设约束条件用于使得目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量的夹角小于预设阈值,目标关节对应的预设方向向量由第一位姿表达式确定,目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量属于同一类型坐标轴对应的方向向量,基于末端关节对应的关节角变量值和第一位姿表达式,确定目标关节相对于机械臂的基座的位姿数据,并将目标关节相对于机械臂的基座的位姿数据作为第一位姿数据,其中,第一位姿数据用于表征目标关节相对于机械臂的基座的位姿,根据第一位姿数据,控制机械臂的末端工具运动至目标位姿数据对应的位姿。
可见,本公开实施例通过将目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量的夹角小于预设阈值作为预设约束条件,确定末端关节对应的关节角变量值,从而基于该关节角变量值和第一位姿表达式,确定第一位姿数据,以基于第一位姿数据控制机械臂的末端工具运动至目标位姿数据对应的位姿,丰富了机械臂的控制方法,提升了用户的使用体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种机械臂控制方法的流程图;
图2为本公开实施例提供的另一种机械臂控制方法的流程图;
图3为本公开实施例提供的一种机械臂控制装置的结构示意图;
图4为本公开实施例提供的一种机械臂控制设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
为了丰富机械臂的控制方法,以提升用户的使用体验,本公开实施例提供了一种机械臂控制方法。
具体地,首先,获取机械臂的目标位姿数据,其中,目标位姿数据用于表征机械臂的末端工具相对于机械臂的基座的位姿,机械臂的末端工具连接在机械臂的末端关节,基于目标位姿数据,然后确定目标关节相对于机械臂的基座的第一位姿表达式,其中,目标关节为机械臂的末端关节的相邻上一关节,第一位姿表达式用于表征机械臂的目标关节相对于机械臂的基座的位姿,第一位姿表达式中包括末端关节对应的关节角变量,再基于预设约束条件,确定末端关节对应的关节角变量值,其中,预设约束条件用于使得目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量的夹角小于预设阈值,目标关节对应的预设方向向量由第一位姿表达式确定,目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量属于同一类型坐标轴对应的方向向量,基于末端关节对应的关节角变量值和第一位姿表达式,确定目标关节相对于机械臂的基座的位姿数据,并将目标关节相对于机械臂的基座的位姿数据作为第一位姿数据,其中,第一位姿数据用于表征目标关节相对于机械臂的基座的位姿,根据第一位姿数据,控制机械臂的末端工具运动至目标位姿数据对应的位姿。
可见,本公开实施例通过将目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量的夹角小于预设阈值作为预设约束条件,确定末端关节对应的关节角变量值,从而基于该关节角变量值和第一位姿表达式,确定第一位姿数据,以基于第一位姿数据控制机械臂的末端工具运动至目标位姿数据对应的位姿,丰富了机械臂的控制方法,提升了用户的使用体验。
基于此,本公开实施例提供了一种机械臂控制方法,参考图1,为本公开实施例提供的一种机械臂控制方法的流程图,该方法包括:
S101:获取机械臂的目标位姿数据。
其中,目标位姿数据用于表征机械臂的末端工具相对于机械臂的基座的位姿,机械臂的末端工具连接在机械臂的末端关节。
本公开实施例中,机械臂可以为冗余轴机械臂,冗余轴机械臂包括大于六个自由度的机械臂。
为便于理解,本公开实施例以冗余轴机械臂为八轴机械臂为例进行介绍。
具体地,八轴机械臂可以增加七轴机械臂的工作空间,提升机械臂的灵活性,使得机械臂具有更广阔的应用场景。
需要说明的是,本公开实施例机械臂的轴数不做任何限定。
本公开实施例中,机械臂的目标位姿数据可以为任一位姿数据,具体地,目标位姿数据可以使用变换矩阵表示,变换矩阵为一个4×4的矩阵,表征了机械臂的末端工具相对于机械臂的基座的位置和姿态信息。
其中,变换矩阵分为两个部分,即旋转矩阵和平移矩阵。
旋转矩阵为3×3的正交矩阵,表示机械臂的末端工具相对于机械臂的基座的旋转姿态;平移矩阵为1×3的矩阵,表示机械臂的末端工具相对于机械臂的基座的位置。
为便于理解,以表示机械臂的目标位姿数据,即机械臂的末端工具相对于机械臂的基座的位姿数据,其中,B表示机械臂的基座,t表示机械臂的末端工具,T表示变换矩阵。
S102:基于目标位姿数据,确定目标关节相对于机械臂的基座的第一位姿表达式。
其中,目标关节为机械臂的末端关节的相邻上一关节,第一位姿表达式用于表征机械臂的目标关节相对于机械臂的基座的位姿,第一位姿表达式中包括末端关节对应的关节角变量。
本公开实施例中,第一位姿表达式可以由包括末端关节对应的关节角变量的变换矩阵表示。
一种可选的实施方式中,首先基于目标位姿数据,以及末端工具与末端关节之间的预设位置关系,确定末端关节相对于机械臂的基座的位姿数据。
为便于理解,继续以冗余轴机械臂为八轴机械臂为例进行介绍,相应地,末端关节对应于第八关节(也称为第八轴),目标关节对应于第七关节(也称为第七轴)。
具体地,第八关节(即末端关节)相对于机械臂的基座的位姿数据
其中,B表示机械臂的基座,8表示第八关节(即末端关节),t表示机械臂的末端工具,T表示变换矩阵。
然后再确定末端关节相对于目标关节的第二位姿表达式。
一种可选的实施方式中,可以利用机械臂的连杆之间的变换矩阵,确定末端关节相对于目标关节的第二位姿表达式。
为便于理解,继续以冗余轴机械臂为八轴机械臂为例进行介绍。
具体地,第二位姿表达式F1如下所示:
其中,7表示第七关节(即目标关节),8表示第八关节(即末端关节),T表示变换矩阵,θ8表示第八关节(即末端关节)对应的关节角变量。
再基于末端关节相对于机械臂的基座的位姿数据和第二位姿表达式,确定目标关节相对于机械臂的基座的第一位姿表达式。
其中,第二位姿表达式用于表征机械臂的末端关节相对于机械臂的目标关节的位姿,第二位姿表达式中包括末端关节对应的关节角变量。
为便于理解,继续以冗余轴机械臂为八轴机械臂为例进行介绍。
具体地,第一位姿表达式F2如下所示:
其中,B表示机械臂的基座,7表示第七关节(即目标关节),8表示第八关节(即末端关节),T表示变换矩阵,θ8表示第八关节(即末端关节)对应的关节角变量。
S103:基于预设约束条件,确定末端关节对应的关节角变量值。
其中,预设约束条件用于使得目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量的夹角小于预设阈值,目标关节对应的预设方向向量由第一位姿表达式确定,目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量属于同一类型坐标轴对应的方向向量。
本公开实施例中,预设阈值可以基于需求进行设定,本公开实施例在此不做任何限定。
为了避免机械臂的逆运动学求解时的解析求解复杂,可以将使得目标关节对应的坐标系z轴的方向向量与机械臂的基座对应的坐标系z轴的方向向量的夹角最小,作为预设约束条件。
为便于理解,继续以冗余轴机械臂为八轴机械臂为例进行介绍,相应地,预设约束条件为:使得第七关节对应的坐标系z轴的方向向量与机械臂的基座对应的坐标系z轴的方向向量的夹角最小。
具体地,第七关节对应的坐标系z轴的方向向量与机械臂的基座对应的坐标系z轴的方向向量的夹角θ如下所示:
其中,表示第七关节基于基座坐标系的第m行,第n列;(0,0,-1)表示机械臂的基座对应的坐标系z轴的方向向量。
由于arccos(x)在定义域[-1,1]上为单调递减,因此,如果约束θ最小,即arccos(x)括号内的表达式取最大值,由此可确定第八关节对应的关节角变量值(即末端关节对应的关节角变量值)。
S104:基于末端关节对应的关节角变量值和第一位姿表达式,确定目标关节相对于机械臂的基座的位姿数据,并将目标关节相对于机械臂的基座的位姿数据作为第一位姿数据。
其中,第一位姿数据用于表征目标关节相对于机械臂的基座的位姿。
本公开实施例中,在确定末端关节对应的关节角变量值之后,将该关节角变量值输入至第一位姿表达式中,得到目标关节相对于机械臂的基座的位姿数据,并将目标关节相对于机械臂的基座的位姿数据作为第一位姿数据。
继续以冗余轴机械臂为八轴机械臂为例,实际场景中,通过本公开实施例,在针对八轴机械臂的逆运动学求解的过程中,将八轴机械臂的逆运动学求解转换为七轴机械臂的逆运动学求解,使得计算更加简单方便。
S105:根据第一位姿数据,控制机械臂的末端工具运动至目标位姿数据对应的位姿。
本公开实施例中,在确定第一位姿数据之后,基于第一位姿数据控制机械臂的末端工具运动至目标位姿数据对应的位姿,从而丰富了机械臂的控制方法,提升了用户的使用体验。
另外,为了提升机械臂的处理效率,在基于末端关节对应的关节角变量值和第一位姿表达式,确定目标关节相对于机械臂的基座的位姿数据,并将目标关节相对于机械臂的基座的位姿数据作为第一位姿数据之后,还需要确定目标关节角。为此,一种可选的实施方式中,利用预设算法库,确定目标关节角,再根据第一位姿数据和目标关节角,控制机械臂的末端工具运动至目标位姿数据对应的位姿。
其中,目标关节角包括机械臂中除末端关节对应的关节角之外的至少一个关节角。
本公开实施例中,继续以冗余轴机械臂为八轴机械臂为例,目标关节角包括除第八关节对应的关节角之外的至少一个关节角。
为了使机械臂的运动范围最小,以提升机械臂的工作效率,一种可选的实施方式中,利用预设算法库,确定多组关节角,再基于预设规则,从多组关节角中确定一组关节角,作为目标关节角。
其中,预设规则用于使得机械臂的末端工具运动至目标位姿数据对应的位姿时,机械臂的运动范围最小。
本公开实施例中,在确定第一位姿数据之后,将第一位姿数据与预设算法库进行匹配,得到多组关节角,然后基于预设规则,从多组关节角中确定与机械臂当前位置最近的一组关节角,作为目标关节角。
在确定目标关节角之后,根据第一位姿数据和目标关节角,控制机械臂的末端工具运动至目标位姿数据对应的位姿。
本公开实施例提供的机械臂控制方法中,首先,获取机械臂的目标位姿数据,其中,目标位姿数据用于表征机械臂的末端工具相对于机械臂的基座的位姿,机械臂的末端工具连接在机械臂的末端关节,基于目标位姿数据,然后确定目标关节相对于机械臂的基座的第一位姿表达式,其中,目标关节为机械臂的末端关节的相邻上一关节,第一位姿表达式用于表征机械臂的目标关节相对于机械臂的基座的位姿,第一位姿表达式中包括末端关节对应的关节角变量,再基于预设约束条件,确定末端关节对应的关节角变量值,其中,预设约束条件用于使得目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量的夹角小于预设阈值,目标关节对应的预设方向向量由第一位姿表达式确定,目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量属于同一类型坐标轴对应的方向向量,基于末端关节对应的关节角变量值和第一位姿表达式,确定目标关节相对于机械臂的基座的位姿数据,并将目标关节相对于机械臂的基座的位姿数据作为第一位姿数据,其中,第一位姿数据用于表征目标关节相对于机械臂的基座的位姿,根据第一位姿数据,控制机械臂的末端工具运动至目标位姿数据对应的位姿。
可见,本公开实施例通过将目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量的夹角小于预设阈值作为预设约束条件,确定末端关节对应的关节角变量值,从而基于该关节角变量值和第一位姿表达式,确定第一位姿数据,以基于第一位姿数据控制机械臂的末端工具运动至目标位姿数据对应的位姿,丰富了机械臂的控制方法,提升了用户的使用体验。
在上述实施例的基础上,本公开实施例还提供了一种机械臂控制方法,参考图2,为本公开实施例提供的另一种机械臂控制方法的流程图,该方法包括:
为便于理解,以实际场景进行举例,继续以冗余轴机械臂为八轴机械臂为例进行介绍,相应地,末端关节对应于第八关节(也称为第八轴),目标关节对应于第七关节(也称为第七轴)。
首先,获取机械臂的目标位姿数据基于目标位姿数据,以及末端工具与第八关节之间的预设位置关系,确定第八关节相对于机械臂的基座的位姿数据/>
具体地,
其中,B表示机械臂的基座,8表示第八关节(即末端关节),t表示机械臂的末端工具,T表示变换矩阵。
然后,利用机械臂的连杆之间的变换矩阵,确定第八关节相对于第七关节的第二位姿表达式F1。
具体地,
其中,7表示第七关节(即目标关节),8表示第八关节(即末端关节),T表示变换矩阵,θ8表示第八关节(即末端关节)对应的关节角变量。
再基于第八关节相对于机械臂的基座的位姿数据和第二位姿表达式,确定第七关节相对于机械臂的基座的第一位姿表达式F2。
具体地,
其中,B表示机械臂的基座,7表示第七关节(即目标关节),8表示第八关节(即末端关节),T表示变换矩阵,θ8表示第八关节(即末端关节)对应的关节角变量。
基于预设约束条件,确定第八关节对应的关节角变量值。
为了避免机械臂的逆运动学求解时的解析求解复杂,可以将第七关节对应的坐标系z轴的方向向量与机械臂的基座对应的坐标系z轴的方向向量的夹角最小作为预设约束条件。
具体地,第七关节对应的坐标系z轴的方向向量与机械臂的基座对应的坐标系z轴的方向向量的夹角θ如下所示:
其中,表示第七关节基于基座坐标系的第m行,第n列;(0,0,-1)表示机械臂的基座对应的坐标系z轴的方向向量。
由于arccos(x)在定义域[-1,1]上为单调递减,因此,如果约束θ最小,即arccos(x)括号内的表达式取最大值,由此可确定第八关节对应的关节角变量值。
在确定第八关节对应的关节角变量值之后,将该关节角变量值输入至第一位姿表达式中,得到第七关节相对于机械臂的基座的位姿数据,并将该位姿数据作为第一位姿数据,即在针对八轴机械臂的逆运动学求解的过程中,将八轴机械臂的逆运动学求解转换为七轴机械臂的逆运动学求解,使得计算更加简单方便。
利用预设算法库,确定多组关节角,再基于预设规则,如将使得机械臂的末端工具运动至目标位姿数据对应的位姿时,机械臂的运动范围最小作为预设规则,从多组关节角中确定一组关节角,作为目标关节角。
最后,根据第一位姿数据和目标关节角,控制机械臂的末端工具运动至目标位姿数据对应的位姿。
可见,本公开实施例通过增加第七关节对应的坐标系z轴的方向向量与机械臂的基座对应的坐标系z轴的方向向量的夹角最小作为预设约束条件,有效避免了机械臂解析求解较为复杂和不具有通用性的缺点,从而达到可高效准确求出八轴机械臂逆解的目的,控制机械臂的末端工具运动至目标位姿数据对应的位姿。
基于上述方法实施例,本公开还提供了一种机械臂控制装置,参考图3,为本公开实施例提供的一种机械臂控制装置的结构示意图,所述装置包括:
获取模块301,用于获取机械臂的目标位姿数据;其中,所述目标位姿数据用于表征所述机械臂的末端工具相对于所述机械臂的基座的位姿,所述机械臂的末端工具连接在所述机械臂的末端关节;
第一确定模块302,用于基于所述目标位姿数据,确定目标关节相对于所述机械臂的基座的第一位姿表达式;其中,所述目标关节为所述机械臂的末端关节的相邻上一关节,所述第一位姿表达式用于表征所述机械臂的目标关节相对于所述机械臂的基座的位姿,所述第一位姿表达式中包括所述末端关节对应的关节角变量;
第二确定模块303,用于基于预设约束条件,确定所述末端关节对应的关节角变量值;其中,所述预设约束条件用于使得所述目标关节对应的预设方向向量与所述机械臂的基座对应的预设方向向量的夹角小于预设阈值,所述目标关节对应的预设方向向量由所述第一位姿表达式确定,所述目标关节对应的预设方向向量与所述机械臂的基座对应的预设方向向量属于同一类型坐标轴对应的方向向量;
第三确定模块304,用于基于所述末端关节对应的关节角变量值和所述第一位姿表达式,确定所述目标关节相对于所述机械臂的基座的位姿数据,并将所述目标关节相对于所述机械臂的基座的位姿数据作为第一位姿数据;其中,所述第一位姿数据用于表征所述目标关节相对于所述机械臂的基座的位姿;
控制模块305,用于根据所述第一位姿数据,控制所述机械臂的末端工具运动至所述目标位姿数据对应的位姿。
一种可选的实施方式中,所述第一确定模块302包括:
第一确定子模块,用于基于所述目标位姿数据,以及所述末端工具与所述末端关节之间的预设位置关系,确定所述末端关节相对于所述机械臂的基座的位姿数据;
第二确定子模块,用于确定所述末端关节相对于目标关节的第二位姿表达式;其中,所述第二位姿表达式用于表征所述机械臂的末端关节相对于所述机械臂的目标关节的位姿,所述第二位姿表达式中包括所述末端关节对应的关节角变量;
第三确定子模块,用于基于所述末端关节相对于所述机械臂的基座的位姿数据和所述第二位姿表达式,确定所述目标关节相对于所述机械臂的基座的第一位姿表达式。
一种可选的实施方式中,所述第二确定子模块具体用于:
利用所述机械臂的连杆之间的变换矩阵,确定所述末端关节相对于目标关节的第二位姿表达式。
一种可选的实施方式中,所述装置还包括:
第四确定模块,用于利用预设算法库,确定目标关节角;其中,所述目标关节角包括所述机械臂中除所述末端关节对应的关节角之外的至少一个关节角;
相应地,所述控制模块具体用于:
根据所述第一位姿数据和所述目标关节角,控制所述机械臂的末端工具运动至所述目标位姿数据对应的位姿。
一种可选的实施方式中,所述第四确定模块包括:
第四确定子模块,用于利用预设算法库,确定多组关节角;
第五确定子模块,用于基于预设规则,从所述多组关节角中确定一组关节角,作为目标关节角。
一种可选的实施方式中,所述预设规则用于使得所述机械臂的末端工具运动至所述目标位姿数据对应的位姿时,所述机械臂的运动范围最小。
一种可选的实施方式中,所述机械臂为冗余轴机械臂,所述冗余轴机械臂包括大于六个自由度的机械臂。
本公开实施例提供的机械臂控制装置中,首先,获取机械臂的目标位姿数据,其中,目标位姿数据用于表征机械臂的末端工具相对于机械臂的基座的位姿,机械臂的末端工具连接在机械臂的末端关节,基于目标位姿数据,然后确定目标关节相对于机械臂的基座的第一位姿表达式,其中,目标关节为机械臂的末端关节的相邻上一关节,第一位姿表达式用于表征机械臂的目标关节相对于机械臂的基座的位姿,第一位姿表达式中包括末端关节对应的关节角变量,再基于预设约束条件,确定末端关节对应的关节角变量值,其中,预设约束条件用于使得目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量的夹角小于预设阈值,目标关节对应的预设方向向量由第一位姿表达式确定,目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量属于同一类型坐标轴对应的方向向量,基于末端关节对应的关节角变量值和第一位姿表达式,确定目标关节相对于机械臂的基座的位姿数据,并将目标关节相对于机械臂的基座的位姿数据作为第一位姿数据,其中,第一位姿数据用于表征目标关节相对于机械臂的基座的位姿,根据第一位姿数据,控制机械臂的末端工具运动至目标位姿数据对应的位姿。
可见,本公开实施例通过将目标关节对应的预设方向向量与机械臂的基座对应的预设方向向量的夹角小于预设阈值作为预设约束条件,确定末端关节对应的关节角变量值,从而基于该关节角变量值和第一位姿表达式,确定第一位姿数据,以基于第一位姿数据控制机械臂的末端工具运动至目标位姿数据对应的位姿,丰富了机械臂的控制方法,提升了用户的使用体验。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的机械臂控制方法。
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开实施例所述的机械臂控制方法。
另外,本公开实施例还提供了一种机械臂控制设备,参见图4所示,可以包括:
处理器401、存储器402、输入装置403和输出装置404。机械臂控制设备中的处理器401的数量可以一个或多个,图4中以一个处理器为例。在本公开的一些实施例中,处理器401、存储器402、输入装置403和输出装置404可通过总线或其它方式连接,其中,图4中以通过总线连接为例。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行机械臂控制设备的各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置403可用于接收输入的数字或字符信息,以及产生与机械臂控制设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现上述机械臂控制设备的各种功能。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种机械臂控制方法,其特征在于,所述方法包括:
获取机械臂的目标位姿数据;其中,所述目标位姿数据用于表征所述机械臂的末端工具相对于所述机械臂的基座的位姿,所述机械臂的末端工具连接在所述机械臂的末端关节;
基于所述目标位姿数据,以及所述末端工具与所述末端关节之间的预设位置关系,确定所述末端关节相对于所述机械臂的基座的位姿数据;
利用所述机械臂的连杆之间的变换矩阵,确定所述末端关节相对于目标关节的第二位姿表达式;其中,所述第二位姿表达式用于表征所述机械臂的末端关节相对于所述机械臂的目标关节的位姿,所述第二位姿表达式中包括所述末端关节对应的关节角变量,所述目标关节为所述机械臂的末端关节的相邻上一关节;
基于所述末端关节相对于所述机械臂的基座的位姿数据和所述第二位姿表达式,确定所述目标关节相对于所述机械臂的基座的第一位姿表达式;其中,所述第一位姿表达式用于表征所述机械臂的目标关节相对于所述机械臂的基座的位姿,所述第一位姿表达式中包括所述末端关节对应的关节角变量;
基于预设约束条件,确定所述末端关节对应的关节角变量值;其中,所述预设约束条件用于使得所述目标关节对应的预设方向向量与所述机械臂的基座对应的预设方向向量的夹角小于预设阈值,所述目标关节对应的预设方向向量由所述第一位姿表达式确定,所述目标关节对应的预设方向向量与所述机械臂的基座对应的预设方向向量属于同一类型坐标轴对应的方向向量;
基于所述末端关节对应的关节角变量值和所述第一位姿表达式,确定所述目标关节相对于所述机械臂的基座的位姿数据,并将所述目标关节相对于所述机械臂的基座的位姿数据作为第一位姿数据;其中,所述第一位姿数据用于表征所述目标关节相对于所述机械臂的基座的位姿;
根据所述第一位姿数据,控制所述机械臂的末端工具运动至所述目标位姿数据对应的位姿。
2.根据权利要求1所述的方法,其特征在于,所述基于所述末端关节对应的关节角变量值和所述第一位姿表达式,确定所述目标关节相对于所述机械臂的基座的位姿数据,并将所述目标关节相对于所述机械臂的基座的位姿数据作为第一位姿数据之后,还包括:
利用预设算法库,确定目标关节角;其中,所述目标关节角包括所述机械臂中除所述末端关节对应的关节角之外的至少一个关节角;
相应地,所述根据所述第一位姿数据,控制所述机械臂的末端工具运动至所述目标位姿数据对应的位姿,包括:
根据所述第一位姿数据和所述目标关节角,控制所述机械臂的末端工具运动至所述目标位姿数据对应的位姿。
3.根据权利要求2所述的方法,其特征在于,所述利用预设算法库,确定目标关节角,包括:
利用预设算法库,确定多组关节角;
基于预设规则,从所述多组关节角中确定一组关节角,作为目标关节角。
4.根据权利要求3所述的方法,其特征在于,所述预设规则用于使得所述机械臂的末端工具运动至所述目标位姿数据对应的位姿时,所述机械臂的运动范围最小。
5.根据权利要求1所述的方法,其特征在于,所述机械臂为冗余轴机械臂,所述冗余轴机械臂包括大于六个自由度的机械臂。
6.一种机械臂控制装置,其特征在于,所述装置包括:
获取模块,用于获取机械臂的目标位姿数据;其中,所述目标位姿数据用于表征所述机械臂的末端工具相对于所述机械臂的基座的位姿,所述机械臂的末端工具连接在所述机械臂的末端关节;
第一确定子模块,用于基于所述目标位姿数据,以及所述末端工具与所述末端关节之间的预设位置关系,确定所述末端关节相对于所述机械臂的基座的位姿数据;
第二确定子模块,用于利用所述机械臂的连杆之间的变换矩阵,确定所述末端关节相对于目标关节的第二位姿表达式;其中,所述第二位姿表达式用于表征所述机械臂的末端关节相对于所述机械臂的目标关节的位姿,所述第二位姿表达式中包括所述末端关节对应的关节角变量,所述目标关节为所述机械臂的末端关节的相邻上一关节;
第三确定子模块,用于基于所述末端关节相对于所述机械臂的基座的位姿数据和所述第二位姿表达式,确定所述目标关节相对于所述机械臂的基座的第一位姿表达式;其中,所述第一位姿表达式用于表征所述机械臂的目标关节相对于所述机械臂的基座的位姿,所述第一位姿表达式中包括所述末端关节对应的关节角变量;
第二确定模块,用于基于预设约束条件,确定所述末端关节对应的关节角变量值;其中,所述预设约束条件用于使得所述目标关节对应的预设方向向量与所述机械臂的基座对应的预设方向向量的夹角小于预设阈值,所述目标关节对应的预设方向向量由所述第一位姿表达式确定,所述目标关节对应的预设方向向量与所述机械臂的基座对应的预设方向向量属于同一类型坐标轴对应的方向向量;
第三确定模块,用于基于所述末端关节对应的关节角变量值和所述第一位姿表达式,确定所述目标关节相对于所述机械臂的基座的位姿数据,并将所述目标关节相对于所述机械臂的基座的位姿数据作为第一位姿数据;其中,所述第一位姿数据用于表征所述目标关节相对于所述机械臂的基座的位姿;
控制模块,用于根据所述第一位姿数据,控制所述机械臂的末端工具运动至所述目标位姿数据对应的位姿。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现如权利要求1-5任一项所述的方法。
8.一种机械臂控制设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310899875.9A CN117001662B (zh) | 2023-07-20 | 2023-07-20 | 一种机械臂控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310899875.9A CN117001662B (zh) | 2023-07-20 | 2023-07-20 | 一种机械臂控制方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117001662A CN117001662A (zh) | 2023-11-07 |
CN117001662B true CN117001662B (zh) | 2024-05-31 |
Family
ID=88575650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310899875.9A Active CN117001662B (zh) | 2023-07-20 | 2023-07-20 | 一种机械臂控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117001662B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116922384B (zh) * | 2023-07-21 | 2024-06-14 | 北京纳通医用机器人科技有限公司 | 机械臂控制方法、装置、设备及存储介质 |
Citations (12)
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 |
WO2001038048A1 (fr) * | 1999-11-29 | 2001-05-31 | Kabushiki Kaisha Yaskawa Denki | Unite de commande de robot |
US8160747B1 (en) * | 2008-10-24 | 2012-04-17 | Anybots, Inc. | Remotely controlled self-balancing robot including kinematic image stabilization |
CN103203751A (zh) * | 2013-04-22 | 2013-07-17 | 青岛嘉龙自动化设备有限公司 | 机械手控制系统及控制方法 |
CN104827489A (zh) * | 2015-05-05 | 2015-08-12 | 南通金坤机械设备有限公司 | 智能码垛机器人用蓄能平衡调节装置 |
CN108481324A (zh) * | 2018-04-25 | 2018-09-04 | 中国科学院合肥物质科学研究院 | 一种八轴多功能机械臂的逆解工程及其碰撞检测算法 |
CN112975954A (zh) * | 2021-02-03 | 2021-06-18 | 武汉联影智融医疗科技有限公司 | 机械臂的控制方法、计算机设备和存储介质 |
CN113442169A (zh) * | 2021-06-16 | 2021-09-28 | 武汉联影智融医疗科技有限公司 | 机器人的手眼标定方法、装置、计算机设备和可读存储介质 |
CN114310915A (zh) * | 2022-02-16 | 2022-04-12 | 哈尔滨工业大学 | 基于视觉反馈的空间机械臂对接末端工具轨迹规划方法 |
CN115142877A (zh) * | 2022-07-01 | 2022-10-04 | 中铁五局集团第一工程有限责任公司 | 基于隧道湿喷轨迹控制喷浆机机械臂喷涂的方法与系统 |
CN115476360A (zh) * | 2022-09-20 | 2022-12-16 | 南京邮电大学 | 基于异构体映射的串联机器人人机示教控制方法及装置 |
CN116442211A (zh) * | 2022-11-29 | 2023-07-18 | 国网安徽省电力有限公司淮南供电公司 | 机械臂控制方法、装置及终端设备 |
-
2023
- 2023-07-20 CN CN202310899875.9A patent/CN117001662B/zh active Active
Patent Citations (12)
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 |
WO2001038048A1 (fr) * | 1999-11-29 | 2001-05-31 | Kabushiki Kaisha Yaskawa Denki | Unite de commande de robot |
US8160747B1 (en) * | 2008-10-24 | 2012-04-17 | Anybots, Inc. | Remotely controlled self-balancing robot including kinematic image stabilization |
CN103203751A (zh) * | 2013-04-22 | 2013-07-17 | 青岛嘉龙自动化设备有限公司 | 机械手控制系统及控制方法 |
CN104827489A (zh) * | 2015-05-05 | 2015-08-12 | 南通金坤机械设备有限公司 | 智能码垛机器人用蓄能平衡调节装置 |
CN108481324A (zh) * | 2018-04-25 | 2018-09-04 | 中国科学院合肥物质科学研究院 | 一种八轴多功能机械臂的逆解工程及其碰撞检测算法 |
CN112975954A (zh) * | 2021-02-03 | 2021-06-18 | 武汉联影智融医疗科技有限公司 | 机械臂的控制方法、计算机设备和存储介质 |
CN113442169A (zh) * | 2021-06-16 | 2021-09-28 | 武汉联影智融医疗科技有限公司 | 机器人的手眼标定方法、装置、计算机设备和可读存储介质 |
CN114310915A (zh) * | 2022-02-16 | 2022-04-12 | 哈尔滨工业大学 | 基于视觉反馈的空间机械臂对接末端工具轨迹规划方法 |
CN115142877A (zh) * | 2022-07-01 | 2022-10-04 | 中铁五局集团第一工程有限责任公司 | 基于隧道湿喷轨迹控制喷浆机机械臂喷涂的方法与系统 |
CN115476360A (zh) * | 2022-09-20 | 2022-12-16 | 南京邮电大学 | 基于异构体映射的串联机器人人机示教控制方法及装置 |
CN116442211A (zh) * | 2022-11-29 | 2023-07-18 | 国网安徽省电力有限公司淮南供电公司 | 机械臂控制方法、装置及终端设备 |
Non-Patent Citations (3)
Title |
---|
A motion Planning Algorithm for Redundant Manipulators Using Rapidly Exploring Randomized Trees and Artificial Potential Fields;Anoush Sepehri;《IEEE Access Volume 9》;20210202;全文 * |
A preclinical method for evaluating the kinematics of knee prostheses;Xiao-Hong Wang;《Medical Engineering and Physics》;20090430;全文 * |
基于单目协同的双目视觉包装箱尺寸测量及装箱系统设置;王宁;《中国优秀硕士学位论文全文数据库 信息科技辑》;20230501;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117001662A (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117001662B (zh) | 一种机械臂控制方法、装置、设备及存储介质 | |
CN110370256B (zh) | 机器人及其路径规划方法、装置和控制器 | |
CN112318506A (zh) | 机械臂自动标定方法、装置、设备、机械臂和介质 | |
CN108608425B (zh) | 六轴工业机器人铣削加工离线编程方法及系统 | |
CN111123943B (zh) | 一种基于伪逆约束的超冗余机器人轨迹规划方法及系统 | |
CN113119109A (zh) | 基于伪距离函数的工业机器人路径规划方法和系统 | |
Sarabandi et al. | Hand-eye calibration made easy through a closed-form two-stage method | |
CN117207200B (zh) | 机械臂的工作空间生成方法、装置和计算机设备 | |
CN109366486B (zh) | 柔性机器人逆运动学求解方法、系统、设备、存储介质 | |
CN111360825B (zh) | 一种串联六自由度机械臂逆运动学解算方法及介质 | |
CN116922384B (zh) | 机械臂控制方法、装置、设备及存储介质 | |
CN113814988A (zh) | 7自由度srs型机械臂逆解的解析方法、装置及电子设备 | |
González-Palacios et al. | SnAM: a simulation software on serial manipulators | |
CN117944025A (zh) | 机器人手眼标定方法、装置、计算机设备和存储介质 | |
CN115576332B (zh) | 一种任务级多机器人协同运动规划系统与方法 | |
CN110114195B (zh) | 动作转移装置、动作转移方法和存储动作转移程序的非暂时性计算机可读介质 | |
CN116276990A (zh) | 基于神经网络训练的两自由度并联结构运动学正解方法 | |
CN117917306A (zh) | 柔性机械臂的姿态反馈方法、装置、计算机设备及介质 | |
CN115741666A (zh) | 机器人手眼标定方法、机器人及机器人作业方法 | |
CN114851168A (zh) | 关节受限冗余并联机械臂的运动规划和控制方法、系统及机器人 | |
Kumar et al. | Visual motor control of a 7 DOF robot manipulator using function decomposition and sub-clustering in configuration space | |
CN117798938B (zh) | 一种多关节机器人非奇异评价控制方法及装置 | |
CN117944033B (zh) | 柔性机械臂的控制方法、电子设备及存储介质 | |
CN117109435B (zh) | 一种机器人对准方法、装置、设备及存储介质 | |
CN116673966B (zh) | 用于机器人的关节角度生成方法及机器人系统 |
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 |