CN114454155A - 机器人控制方法、装置、计算机设备、介质及机器人 - Google Patents
机器人控制方法、装置、计算机设备、介质及机器人 Download PDFInfo
- Publication number
- CN114454155A CN114454155A CN202011247263.4A CN202011247263A CN114454155A CN 114454155 A CN114454155 A CN 114454155A CN 202011247263 A CN202011247263 A CN 202011247263A CN 114454155 A CN114454155 A CN 114454155A
- Authority
- CN
- China
- Prior art keywords
- robot
- matrix
- rotation
- center point
- tool center
- 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.)
- Withdrawn
Links
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/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls 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/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/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
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)
- Numerical Control (AREA)
Abstract
本发明公开了一种机器人控制方法、装置、计算机设备、存储介质及机器人,用于对多轴机器人进行控制,其中,该方法包括:根据所述机器人的当前位姿,获取所述机器人的D‑H表;根据所述D‑H表计算所述机器人的的工具中心点相对于底座的第一旋转变化矩阵的第一旋转变化矩阵;根据所述第一旋转变化矩阵计算所述机器人的工具中心点的圆柱坐标;根据所述圆柱坐标控制所述机器人运动至目标位置,该方法可以降低机器人位姿变换时的计算量,操作简便。
Description
技术领域
本发明涉及机器人领域,尤其涉及一种机器人控制方法、装置、计算机设备、介质及机器人。
背景技术
目前市面上的多轴机器人,如建筑机器人大多是基于直角坐标来对机器人的工具中心点或者机械臂进行位姿控制,也即运动控制。然而,机器人通常的运动通常是圆弧运动,基于直角坐标控制机器人运动不能准确的描述机器人的圆弧运动,并且通过点动(即通过按钮控制机器人的运动量)控制机器人运动时,必须按照直角坐标系,先输入X轴移动量,再输入Y轴移动量才能实现机器人进行圆弧运动,操作比较繁琐,且位姿变换时的计算量大。
发明内容
本发明实施例提供一种机器人控制方法、装置、计算机设备、存储介质及机器人,以降低机器人位姿变换时的计算量,操作简便。
本发明实施例提出一种机器人控制方法,用于对多轴机器人进行控制,包括:
根据所述机器人的当前位姿,获取所述机器人的D-H表;
根据所述D-H表计算所述机器人的工具中心点相对于底座的第一旋转变化矩阵;
根据所述第一旋转变化矩阵计算所述机器人的工具中心点的圆柱坐标;
根据所述圆柱坐标控制所述机器人的工具中心点运动至目标位置。
优选地,所述根据所述D-H表计算所述机器人的底座相对于所述机器人的工具中心点的第一旋转变化矩阵,包括:
根据所述D-H表计算旋转变换矩阵,所述旋转变换矩阵用于描述所述机器人的各个转轴的D-H坐标轴进行旋转变换后得到的坐标轴变换矩阵,所述D-H坐标轴预先建模生成;
根据所述旋转变换矩阵,计算第一中间矩阵和工具中心点矩阵,其中,所述第一中间矩阵为所述机器人的最后一个转轴相对于底座的旋转变化矩阵,所述工具中心点矩阵为所述机器人的工具中心点相对于最后一个转轴的旋转变化矩阵;
根据所述工具中心点矩阵和所述第一中间矩阵,计算所述第一旋转变化矩阵。
优选地,所述机器人的工具中心点的圆柱坐标为(r,θ,z),所述目标位置的坐标类型为圆柱坐标,所述根据所述圆柱坐标控制所述机器人的工具中心点运动至目标位置,包括:
获取所述目标位置的坐标,所述目标位置的坐标为(r’,θ’,z’),其中,r’=r+第一固定量,θ’=θ+第二固定量,z’=z+第三固定量,且所述第一固定量、第二固定量和第三固定量依据操作人员对所述机器人的进行点动控制得到;
根据所述目标位置的坐标,计算所述机器人工具中心点相对于底座的第二旋转变化矩阵;
根据所述第二旋转变化矩阵计算所述机器人的各个转轴的旋转角度;
控制所述机器人的各个转轴按照对应轴的所述旋转角度进行旋转运动,以使所述机器人的工具中心点运动至所述目标位置。
优选地,所述目标位置的坐标为圆柱坐标;所述根据所述目标位置的坐标,计算所述机器人工具中心点相对于底座的第二旋转变化矩阵,包括:
将所述目标位置的坐标转换为直角坐标;
根据所述第一旋转变化矩阵的位姿变量及所述直角坐标,计算所述第二旋转变化矩阵。
优选地,所述根据所述第二旋转变化矩阵计算所述机器人的各个轴的旋转角度,包括:
对所述第二旋转变化矩阵和所述工具中心点矩阵进行矩阵逆运算,得到第二中间矩阵,所述第二中间矩阵为所述机器人的最后一个转轴相对于底座的旋转变换矩阵;
基于所述第二中间矩阵进行代数法运算,得到所述机器人的各个转轴的旋转角度。
本发明实施例还提出了一种机器人控制装置,包括:
D-H表获取模块,用于根据所述机器人的当前位姿,获取所述机器人的D-H表;
矩阵计算模块,用于根据所述D-H表计算所述机器人的工具中心点相对于所述机器人的底座的第一旋转变化矩阵;
坐标计算模块,用于根据所述第一旋转变化矩阵计算所述机器人的工具中心点的圆柱坐标;
控制模块,用于根据所述圆柱坐标控制所述机器人的工具中心点运动至目标位置。
优选地,所述矩阵计算模块包括:
第一矩阵计算单元,用于根据所述D-H表计算旋转变换矩阵,所述旋转变换矩阵用于描述所述机器人的各个转轴的D-H坐标轴进行旋转变换后得到的坐标轴变换矩阵,所述D-H坐标轴预先建模生成;
第二矩阵计算单元,用于根据所述旋转变换矩阵,计算第一中间矩阵和工具中心点矩阵,其中,所述第一中间矩阵为所述机器人的最后一个转轴相对于底座的旋转变化矩阵,所述工具中心点矩阵为所述机器人的工具中心点相对于最后一个转轴的旋转变化矩阵;
第三矩阵变换单元,用于根据所述工具中心点矩阵和所述第一中间矩阵,计算所述第一旋转变化矩阵。
优选地,所述机器人的工具中心点的圆柱坐标为(r,θ,z),所述控制模块包括:
获取单元,用于获取所述目标位置的坐标,获取所述目标位置的坐标,所述目标位置的坐标为(r’,θ’,z’),其中,r’=r+第一固定量,θ’=θ+第二固定量,z’=z+第三固定量,且所述第一固定量、第二固定量和第三固定量基于机器人的位置控制指令得到;
第三矩阵计算单元,用于根据所述目标位置的坐标,计算所述机器人的底座相对于所述机器人的工具中心点的第二旋转变化矩阵;
旋转角度计算单元,用于根据所述第二旋转变化矩阵计算所述机器人的各个轴的旋转角度;
控制单元,用于控制所述机器人的各个旋转轴按照对应轴的所述旋转角度进行旋转运动,以使所述机器人的工具中心点运动至所述目标位置。
优选地,所述旋转角度计算单元包括:
第一运算子单元,用于对所述第二旋转变化矩阵和所述工具中心点矩阵进行矩阵逆运算,得到第二中间矩阵,所述第二中间矩阵为所述机器人的底座至最后一个转轴的旋转变换矩阵;
第二运算子单元,用于基于所述第二中间矩阵进行代数法运算,得到所述机器人的各个旋转轴的旋转角度。
本发明实施例还提出了一种计算机设备,包括存储器和处理器,所述存储器中存储有机器人控制程序,所述处理器用于执行所述机器人控制程序时实现上述机器人控制方法的步骤。
本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述机器人控制方法的步骤。
本发明实施例还提出了一种机器人,包括:所述机器人采用上述机器人控制方法进行控制。
上述机器人控制方法、装置、计算机设备、存储介质及机器人通过根据机器人当前的位姿获取D-H表,再根据D-H表计算第一旋转变化矩阵,进而计算工具中心点的圆柱坐标,最后根据圆柱坐标控制机器人运动至目标位置,能够有效得减少机器人在进行位姿变换时的计算量,并且在通过点动控制机器人运动时,只需要按照圆柱坐标系,输入垂直于Z轴移动量或输入绕Z轴旋转移动量,从而相当于输入了圆柱坐标,进而实现控制机器人进行运动,操作更为简便。另外,由于机器人本身进行的是圆弧运动,因此,基于圆柱坐标控制机器人运动,更能准确地描述机器人的位姿运动。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中机器人控制方法的流程图;
图2是6轴机器人的位姿示意图;
图3是本发明另一实施例中机器人控制方法的流程图;
图4是本发明一实施例中机器人控制装置的原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本发明实施例提供的机器人控制方法,该方法可以用于对多轴机器人进行位姿控制,即运动控制,具体可以通过控制机器人的各个转轴进行旋转,从而对机器人进行运动控制。这里所说的多轴可以是2轴以上的机器人,需要说明的是,本实施例将以6轴机器人为例进行说明,但是这并不代表本发明所提出的技术方案仅能用于对6轴机器人进行控制。
图1是本发明实施例所提出的机器人控制方法的流程图,如图1所示,该方法包括以下步骤:
S10:根据机器人的当前位姿,获取所述机器人的D-H表;
其中,位姿是指机器人位置和姿势。示例性地,图2为机器人的位姿。机器人的位姿通常可以用坐标、向量或者矩阵中的一种或多种进行描述;机器人的D-H表是基于机器人在D-H坐标系下得到的,其中,如图2所示,D-H坐标系包含多个以转轴为原点的子坐标系,且子坐标系的数量为机器人的转轴的数量,其中,每个子坐标系可以包含X、Y、Z轴。该D-H坐标系可以基于克雷格方法(Craig Version)进行建模实现,其过程具体如下:
根据机器人的当前位姿,建立基于机器人的D-H坐标系,具体可参照图2,其中,D-H坐标系的建系准则为:
其中,i表示机器人第i个轴,下同。
在建立D-H坐标系之后,基于克雷格方法得到D-H表:
αi-1:两个连杆之间Z轴角度,根据右手定则,逆时针为正;
di:相邻两个X轴之间最短的距离;
θi:相邻两个X轴之间的角度,根据右手定则,逆时针为正。
以6轴机器人为例计算出D-H表如下所示:
轴编号 | α<sub>i-1</sub>连杆扭转角 | a<sub>i-1</sub>连杆长度 | d<sub>i</sub>关节距离 | θ<sub>i</sub>关节角 |
1 | 0 | 0 | d<sub>1</sub> | θ<sub>1</sub> |
2 | -90° | 0 | d<sub>2</sub> | θ<sub>2</sub> |
3 | 0 | a<sub>2</sub> | 0 | θ<sub>3</sub> |
4 | 0 | a<sub>3</sub> | -d<sub>4</sub> | θ<sub>4</sub> |
5 | 90° | 0 | d<sub>5</sub> | θ<sub>5</sub> |
6 | -90° | 0 | d<sub>6</sub> | θ<sub>6</sub> |
S20:根据D-H表计算机器人的底座相对于机器人的工具中心点的第一旋转变化矩阵。
其中,这里的工具中心点,又称之为法兰中心点或者TCP(toolcentre position);具体地,第一旋转变化矩阵时,可以通过矩阵变换的方式进行计算得到:
S21:根据D-H表计算旋转变换矩阵,旋转变换矩阵用于描述机器人的各个转轴的D-H坐标轴进行旋转变换后得到的坐标轴变换矩阵;
根据上述D-H坐标系的建立规则和上述D-H表的参数,可以依次计算旋转变换矩阵:首先将D-H坐标系中的子坐标系绕X轴旋转一定角度,如αi-1,X轴保持不变,Y轴和Z轴组成的yoz(o是坐标原点,在本实施例中可以是指机器人的底座)平面上进行的是一个二维的旋转,于是有:
同理,绕Z轴旋转一定角度,如θi,X轴保持不变,Y轴和Z轴组成的yoz(o是坐标原点,在本实施例中可以是指机器人的底座)平面上进行的是一个二维的旋转,于是有:
将坐标系沿X轴和Z轴移动,得到:
需要说明的是,D-H坐标系及其子坐标系只是为了便于观察或者描述预先生成的,在实际操作过程中,建立D-H坐标系为可选操作。
以上为旋转变换矩阵,在得到旋转变换矩阵之后,根据旋转变换矩阵,计算机器人的最后一个转轴相对于底座的旋转变化矩阵,也即第一中间矩阵,以及计算机器人的工具中心点矩阵。需要说明的是,这里所说的最后一个转轴就是距离底座最远的转轴,或者说是与机器人的工具连接的转轴;第一中间矩阵也即是机器人的齐次变换矩阵,其计算具体过程如下:
根据公式:
将上面的D-H表带入到上述结果中,可得:
由于根据机器人次轴在前轴转动基础下,次轴转动,将采用Z-Y-Z Euler
angles(欧拉角)计算机器人的各个转轴至底座的旋转变化矩阵:
其中,i表示机器人的第i个转轴,n表示机器人的转轴数量。当然,由于第一中间矩阵表示的是机器人的最后一个转轴至底座的旋转变化矩阵,因此,该公式同样也可以用来计算第一中间矩阵。
其中,
其中,
计算机器人的工具中心点矩阵:
这里所说的工具中心点矩阵为机器人的工具中心点相对于最后一个转轴的旋转变化矩阵:
参照图2,可得,工具中心点矩阵(也即是工具中心点的齐次变换矩阵)为:
其中,B是代表机器人的工具中心点,d7见图2。
S23:根据所述工具中心点矩阵和第一中间矩阵,计算第一旋转变化矩阵。
经计算,Px、Py、Pz的值分别为:
Px=[(cosθ1·cosθ2·cosθ3-cosθ1·sinθ2·sinθ3·cosθ4sinθ5+-cosθ1·sinθ2·cosθ3-cosθ1·cosθ2·sinθ3·-sinθ4·sinθ5+-sinθ4·cosθ5·d7+cosθ1·cosθ2·cosθ3-cosθ1·sinθ2·sinθ3·-cosθ4·sinθ5·d6+sinθ4·d5+a3+-cosθ1·sinθ2·cosθ3-cosθ1·cos2·sinθ3·-sinθ4·sinθ5·d6-cosθ4·d5+-sinθ1·cosθ5·d6-d4+cosθ1·cosθ2·a2-sinθ1·d2:
Py=[(sinθ1·cosθ2·cosθ3-sinθ1·sinθ2·sinθ3)·(cosθ4sinθ5)+(-sinθ1·cosθ2·sinθ3-sinθ1·sinθ2·cosθ3)·(-sinθ4·sinθ5)+(cosθ1)·(cosθ5)]·d7+(sinθ1·cosθ2·cosθ3-sinθ1·sinθ2·sinθ3)·(-cosθ4·sinθ5·d6+sinθ4·d5+a3)+(-sinθ1·cosθ2·sinθ3-sinθ1·sinθ2·cosθ3)·(-sinθ4·sinθ5·d6-cosθ4·d5)+(cosθ1)·(cosθ5·d6-d4)+(s inθ1·co sθ2·a2+sinθ1·d2);
Pz=[(-sinθ2·cosθ3-cosθ2·sinθ3)·(cosθ4sinθ5)+sinθ2·sinθ3-sinθ3·cosθ3·-sinθ4·sinθ5·d7+-sinθ2·cosθ3-cosθ2·sinθ3·-cosθ4·sinθ5·d6+sinθ4·d5+a3+sinθ2·sinθ3-sinθ3·cosθ3·-sinθ4·sinθ5·d6-cosθ4·d5+-sinθ2·a2+d1。
需要说明的是,在第一旋转变化矩阵中,3*3部分的代表机器人的位姿,第四列表示底座至工具中心点的向量。
上述步骤S21-S23通过根据D-H表计算旋转变换矩阵,进而计算第一中间矩阵和工具中心点矩阵,最后计算第一旋转变化矩阵,计算过程比较简便,计算量小。
S30:根据第一旋转变化矩阵计算机器人的工具中心点的圆柱坐标。
由此圆柱坐标的性质可知,圆柱坐标有三个参数组成:r、θ和z,由于在本实施例中,第一旋转变化矩阵是机器人的底座相对于工具中心点,因此,第一旋转变化矩阵描述的是机器人的位姿以及底座至工具中心点的向量,因此,将第一旋转变化矩阵中底座至工具中心点的向量进行坐标转换可得圆柱坐标:
z=Pz;
可以理解地,本实施例相当于建立了一个以底座为原点所建立的圆柱坐标系,而工具中心点的圆柱坐标则为该圆柱坐标系上的一个点。
S40:根据圆柱坐标控制机器人运动至目标位置。
该步骤主要是根据上述步骤计算出来的圆柱坐标控制机器人进行位姿变换,通过对机器人进行位姿变换,使得机器人移动到目标位置。具体地,控制机器人运动可以是人工点动控制,也就是通过人为操作机器人上的位置控制按钮使得机器人发生运动,也可以是输入目标位置的坐标,使得机器人运动至目标位置。在本实施例中,机器人的运动方向可以是基于步骤S30所述的圆柱坐标系,绕圆柱坐标系的Z轴旋转(相当于改变θ),和/或平行于Z轴移动(相当于改变z),和/或垂直于Z轴移动(相当于改变r)。
具体地,如图3所示,根据圆柱坐标控制机器人运动至目标位置包括以下步骤:
S41:获取目标位置的坐标,目标位置的坐标为(r’,θ’,z’),其中,r’=r+第一固定量,θ’=θ+第二固定量,z’=z+第三固定量,且第一固定量、第二固定量和第三固定量基于机器人的位置控制指令得到。
其中,这里所说的目标位置的坐标是指圆柱坐标,当然,如果获取到的是直角坐标,应先将直角坐标转换为圆柱坐标。示例性地,假设目标位置的坐标为(r’,θ’,z’),且r’=r+第一固定量,θ’=θ+第二固定量,z’=z+第三固定量;机器人的位置控制指令可以是操作人对机器人进行人工点动操作产生,也可以是操作人员直接输入产生,还可以有其他方式产生,如远程控制、无线控制等,这里对机器人的位置控制指令的产生方式不做限定。如若是采用人工点动控制的方式来对机器人进行控制,则可以获取每次人工点动的移动量(也即上述第一固定量、第二固定量和第三固定量),并依据目标位置的坐标、固定量以及圆柱坐标之间的关系计算目标位置的坐标。
S42:根据目标位置的坐标,计算机器人工具中心点相对于底座的第二旋转变化矩阵。
其中,第二旋转变化矩阵表示机器人在当前位置的位姿,以及机器人在目标位置时,工具中心点至底座的向量。可以理解地,由于机器人尚未计算出在目标位置的位姿,也就是说机器人尚未发生位姿变换,因此,这里的当前位置的位姿是指机器人尚未发生位姿变换时的位姿。
具体地,计算第二旋转变化矩阵可包括以下步骤:
S421:将目标位置的坐标转换为直角坐标。
由于后续需要计算第二旋转变化矩阵,而第二旋转变化矩阵中包含了工具中心点至底座的向量,因此,为了便于后续的计算,将目标位置的坐标转换为直角坐标形式;示例性地,以目标位置的坐标为(r’,θ’,z’)为例,则在进行坐标转换后,得到的直角坐标为(r′cosθ′,r′sinθ′,z′)。
S422:根据第一旋转变化矩阵的位姿变量及直角坐标,得到第二旋转变化矩阵。
由于第一旋转变化矩阵中包含了机器人在当前位置的位姿,因此,将转换后的目标位置的坐标带入到第一旋转变化矩阵中,代替向量部分。示例性地,以步骤S23中的第一旋转变化矩阵为例,将转换后的目标位置的坐标带入到第一旋转变化矩阵中,得到的第二旋转变化矩阵为:
S43:根据第二矩阵第二旋转变化矩阵计算机器人的各个轴的旋转角度。
该步骤实际上是逆解机器人的底座至各个旋转轴的点矩阵的过程。具体地,计算机器人的各个旋转轴的旋转角度可包括以下步骤:
S431:对第二旋转变化矩阵和工具中心点矩阵进行矩阵逆运算,得到第二中间矩阵,第二中间矩阵为机器人的底座至最后一个转轴的旋转变换矩阵。
需要说明的是,虽然第一中间矩阵和第二中间矩阵均表示机器人的最后一个转轴相对于底座的旋转变换矩阵,但是第一中间矩阵与第二中间矩阵是完全不同的两个参数:第一中间矩阵是根据已知位姿计算出的,该参数用于计算机器人的当前圆柱坐标,而第二中间矩阵是根据第二旋转变化矩阵和工具中心点矩阵,用于计算转轴角度的。
将其简写为:
S432:基于第二中间矩阵进行代数法运算,得到机器人的各个转轴的旋转角度。
以6轴机器人为例,首先求出θ′1、θ′5、θ′6:
由于:
可得:
由此可推出:
经简化:
-sθ′1·n13·d′6+cθ′1·n23·d′6+sθ′1·n14-cθ′1·n24=d4-d2sθ′1·(n14-n13·d′6)+cθ′1·(n23·d′6-n24)=d4-d2
设:i1=n14-n13·d6;j1=n23·d6-n24
当i+d4-d2=0时,θ1=180°
以下算出θ′6:
经简化:(sθ′1·n11-Cθ′1·n21)·sθ′6-(cθ′1·n22-sθ′1·n12)·cθ′6=0
由于θ′6在360°以内有2个值,取|θ′6-θ6|最小值;
以下算出θ5:
θ′5=arcsin[(-sθ′1·n11+cθ′1·n21)·cθ′6-(-sθ′1·n12+cθ′1·n22)·sθ6)]
θ′5=arccos(-sθ1·n13+cθ1·n23)
由以上公式可直接求出θ′5。
已计算出θ′1、θ′5、θ′6,以下为通过逆矩阵计算出θ′2、θ′3、θ′4:
对其进行4维矩阵逆可计算出:
由于θ′2在360°以内有2个值,取|θ′2-θ2|最小值;
由此可计算出θ′3的值:
由于:
同理,可计算出θ′4的值。
经过上述计算过程可计算出机器人各个轴的旋转角度θ′1,θ′2,θ′3,θ′4,θ′5和θ′6。需要说明的是,上述计算过程只是作为一种示例性说明,该计算过程并不代表着本发明实施例只能计算6轴机器人的旋转角度,也可以计算如2轴、3轴、4轴等多轴机器人的旋转角度,可以理解的是,在计算其他多轴机器人的旋转角度时,可根据第二中间矩阵,以及其他点矩阵中的向量或元素所包含的旋转角度进行求解。
上述步骤S431-S432对第二旋转变化矩阵和工具中心点矩阵进行矩阵逆运算,得到第二中间矩阵,再通过基于第二中间矩阵进行代数法运算来计算机器人的各个转轴的旋转角度,计算过程较为简单。
S44:控制机器人的各个轴按照对应轴的旋转角度进行旋转运动,以使机器人运动至目标位置。
在计算出机器人各个轴的旋转角度θ′1、θ′2、θ′3、θ′4、θ′5和θ′6。之后,只需要控制机器人的各个轴转动对应的旋转角度,便可控制机器人运动至目标位置。
上述步骤S41-S44根据目标位置的坐标计算第二旋转变化矩阵,再根据第二旋转变化矩阵计算机器人的各个转轴的旋转角度,控制机器人的各个转轴按照对应轴的旋转角度进行旋转,能够有效地控制机器人进行位姿变换,通过计算各个转轴的旋转角度,能够准确地控制机器人运动至目标位置。
上述实施例通过根据机器人当前的位姿获取D-H表,再根据D-H表计算第一旋转变化矩阵,进而计算工具中心点的圆柱坐标,最后根据圆柱坐标控制机器人运动至目标位置,能够有效得减少机器人在进行位姿变换时的计算量,并且在通过点动控制机器人运动时,只需要按照圆柱坐标系,输入垂直于Z轴移动量或输入绕Z轴旋转移动量,从而相当于输入了圆柱坐标,进而实现控制机器人进行运动,操作更为简便。另外,由于机器人本身进行的是圆弧运动,因此,基于圆柱坐标控制机器人运动,更能准确地描述机器人的位姿运动。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种机器人控制装置,该机器人控制装置与上述实施例中机器人控制方法一一对应。如图4所示,该机器人控制装置包括:
D-H表获取模块10,用于根据所述机器人的当前位姿,获取所述机器人的D-H表;
矩阵计算模块20,用于根据所述D-H表计算所述机器人的工具中心点相对于所述机器人的底座的第一旋转变化矩阵;
坐标计算模块30,用于根据所述第一旋转变化矩阵计算所述机器人的工具中心点的圆柱坐标;
控制模块40,用于根据所述圆柱坐标控制所述机器人的工具中心点运动至目标位置。
所述矩阵计算模块包括:
第一矩阵计算单元,用于根据所述D-H表计算旋转变换矩阵;
第二矩阵计算单元,用于根据所述旋转变换矩阵,计算第一中间矩阵和工具中心点矩阵,其中,所述第一中间矩阵为所述机器人的最后一个转轴相对于底座的旋转变化矩阵,工具中心点矩阵为所述机器人的工具中心点相对于最后一个转轴的旋转变化矩阵;
第三矩阵变换单元,用于根据所述工具中心点矩阵和所述第一中间矩阵,计算所述第一旋转变化矩阵。
上述控制模块40包括:
获取单元,用于获取所述目标位置的坐标;
第一计算单元,用于根据所述目标位置的坐标,计算所述机器人的底座相对于所述机器人的工具中心点的第二旋转变化矩阵;
第二计算单元,用于根据所述第二旋转变化矩阵计算所述机器人的各个轴的旋转角度;
控制单元,用于控制所述机器人的各个旋转轴按照对应轴的所述旋转角度进行旋转运动,以使所述机器人的工具中心点运动至所述目标位置。
上述第二计算单元包括:
第一运算子单元,用于对所述第二旋转变化矩阵和所述工具中心点矩阵进行矩阵逆运算,得到第二中间矩阵,所述第二中间矩阵为所述机器人的底座至最后一个转轴的旋转变换矩阵;
第二运算子单元,用于基于所述第二中间矩阵进行代数法运算,得到所述机器人的各个旋转轴的旋转角度。
可选地,上述矩阵计算模块包括:
第三矩阵计算单元,用于根据所述D-H表计算旋转变换矩阵,所述旋转变换矩阵用于描述所述机器人的各个转轴的D-H坐标轴进行旋转变换后得到的坐标轴变换矩阵,所述D-H坐标轴预先建模生成;
第四矩阵计算单元,用于根据所述旋转变换矩阵,计算第一中间矩阵和工具中心点矩阵,其中,所述第一中间矩阵为所述机器人的最后一个转轴相对于底座的旋转变化矩阵,所述工具中心点矩阵为所述机器人的最后一个转轴相对于工具中心点的旋转变化矩阵;
第五矩阵计算单元,用于根据所述工具中心点矩阵和所述第一中间矩阵,计算所述第一旋转变化矩阵。
关于机器人控制装置的具体限定可以参见上文中对于机器人控制方法的限定,在此不再赘述。上述机器人控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个单元对应的操作.
在一个实施例中,提供了一种机器人,该机器人采用上述机器人控制方法进行控制。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述机器人控制方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述机器人控制方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (12)
1.一种机器人控制方法,用于对多轴机器人进行控制,其特征在于,包括:
根据所述机器人的当前位姿,获取所述机器人的D-H表;
根据所述D-H表,计算所述机器人的工具中心点相对于底座的第一旋转变化矩阵;
根据所述第一旋转变化矩阵计算所述机器人的工具中心点的圆柱坐标;
根据所述圆柱坐标控制所述机器人的工具中心点运动至目标位置。
2.如权利要求1所述的机器人控制方法,其特征在于,所述根据所述D-H表,计算所述机器人的工具中心点相对于底座的第一旋转变化矩阵,包括:
根据所述D-H表计算旋转变换矩阵,所述旋转变换矩阵用于描述所述机器人的各个转轴的对应的D-H坐标轴进行旋转变换后得到的坐标轴变换矩阵,所述D-H坐标轴预先建模生成;
根据所述旋转变换矩阵,计算第一中间矩阵,以及计算工具中心点矩阵,其中,所述第一中间矩阵为所述机器人的最后一个转轴相对于底座的旋转变化矩阵,所述工具中心点矩阵为所述机器人的工具中心点相对于最后一个转轴的旋转变化矩阵;
根据所述工具中心点矩阵和所述第一中间矩阵,计算所述第一旋转变化矩阵。
3.如权利要求2所述的机器人控制方法,其特征在于,所述机器人的工具中心点的圆柱坐标为(r,θ,z),所述目标位置的坐标类型为圆柱坐标,所述根据所述圆柱坐标控制所述机器人的工具中心点运动至目标位置,包括:
获取所述目标位置的坐标,所述目标位置的坐标为(r',θ',z'),其中,r’=r+第一固定量,θ'=θ+第二固定量,z'=z+第三固定量,且所述第一固定量、第二固定量和第三固定量基于机器人位置控制指令得到;
根据所述目标位置的坐标,计算所述机器人工具中心点相对于底座的第二旋转变化矩阵;
根据所述第二旋转变化矩阵计算所述机器人的各个转轴的旋转角度;
控制所述机器人的各个转轴按照对应轴的所述旋转角度进行旋转运动,以使所述机器人的工具中心点运动至所述目标位置。
4.如权利要求3所述的机器人控制方法,其特征在于,所述根据所述目标位置的坐标,计算所述机器人工具中心点相对于底座的第二旋转变化矩阵,包括:
将所述目标位置的坐标转换为直角坐标;
根据所述第一旋转变化矩阵的位姿变量及所述直角坐标,计算所述第二旋转变化矩阵。
5.如权利要求3所述的机器人控制方法,其特征在于,所述根据所述第二旋转变化矩阵计算所述机器人的各个轴的旋转角度,包括:
对所述第二旋转变化矩阵和所述工具中心点矩阵进行矩阵逆运算,得到第二中间矩阵,所述第二中间矩阵为所述机器人的最后一个转轴相对于底座的旋转变换矩阵;
基于所述第二中间矩阵进行代数法运算,得到所述机器人的各个转轴的旋转角度。
6.一种机器人控制装置,其特征在于,包括:
D-H表获取模块,用于根据所述机器人的当前位姿,获取所述机器人的D-H表;
矩阵计算模块,用于根据所述D-H表计算所述机器人的工具中心点相对于所述机器人的底座的第一旋转变化矩阵;
坐标计算模块,用于根据所述第一旋转变化矩阵计算所述机器人的工具中心点的圆柱坐标;
控制模块,用于根据所述圆柱坐标控制所述机器人的工具中心点运动至目标位置。
7.如权利要求6所述的机器人控制方法,其特征在于所述矩阵计算模块包括:
第一矩阵计算单元,用于根据所述D-H表计算旋转变换矩阵,所述旋转变换矩阵用于描述所述机器人的各个转轴的D-H坐标轴进行旋转变换后得到的坐标轴变换矩阵,所述D-H坐标轴预先建模生成;
第二矩阵计算单元,用于根据所述旋转变换矩阵,计算第一中间矩阵和工具中心点矩阵,其中,所述第一中间矩阵为所述机器人的最后一个转轴相对于底座的旋转变化矩阵,所述工具中心点矩阵为所述机器人的工具中心点相对于最后一个转轴的旋转变化矩阵;
第三矩阵变换单元,用于根据所述工具中心点矩阵和所述第一中间矩阵,计算所述第一旋转变化矩阵。
8.如权利要求7所述的机器人控制方法,其特征在于,所述机器人的工具中心点的圆柱坐标为(r,θ,z),所述控制模块包括:
获取单元,用于获取所述目标位置的坐标,所述目标位置的坐标为(r',θ',z'),其中,r’=r+第一固定量,θ'=θ+第二固定量,z'=z+第三固定量,且所述第一固定量、第二固定量和第三固定量依据操作人员对所述机器人的进行点动控制得到;
第三矩阵计算单元,用于根据所述目标位置的坐标,计算所述机器人的底座相对于所述机器人的工具中心点的第二旋转变化矩阵;
旋转角度计算单元,用于根据所述第二旋转变化矩阵计算所述机器人的各个轴的旋转角度;
控制单元,用于控制所述机器人的各个旋转轴按照对应轴的所述旋转角度进行旋转运动,以使所述机器人的工具中心点运动至所述目标位置。
9.如权利要求8所述的机器人控制方法,其特征在于,所述旋转角度计算单元包括:
第一运算子单元,用于对所述第二旋转变化矩阵和所述工具中心点矩阵进行矩阵逆运算,得到第二中间矩阵,所述第二中间矩阵为所述机器人的底座至最后一个转轴的旋转变换矩阵;
第二运算子单元,用于基于所述第二中间矩阵进行代数法运算,得到所述机器人的各个旋转轴的旋转角度。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有机器人控制程序,所述处理器用于执行所述机器人控制程序时实现如权利要求1至5任一项所述的机器人控制方法的步骤。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述机器人控制方法的步骤。
12.一种机器人,其特征在于,包括:所述机器人采用如权利要求1-5任意一项所述的机器人控制方法进行控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011247263.4A CN114454155A (zh) | 2020-11-10 | 2020-11-10 | 机器人控制方法、装置、计算机设备、介质及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011247263.4A CN114454155A (zh) | 2020-11-10 | 2020-11-10 | 机器人控制方法、装置、计算机设备、介质及机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114454155A true CN114454155A (zh) | 2022-05-10 |
Family
ID=81404790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011247263.4A Withdrawn CN114454155A (zh) | 2020-11-10 | 2020-11-10 | 机器人控制方法、装置、计算机设备、介质及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114454155A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020173878A1 (en) * | 2001-04-16 | 2002-11-21 | Fanuc Ltd. | Robot controller |
CN103481288A (zh) * | 2013-08-27 | 2014-01-01 | 浙江工业大学 | 一种5关节机器人末端工具位姿控制方法 |
CN109262610A (zh) * | 2018-08-30 | 2019-01-25 | 珠海格力电器股份有限公司 | 求解串联多自由度机器人末端位姿的方法、***和机器人 |
CN110411338A (zh) * | 2019-06-24 | 2019-11-05 | 武汉理工大学 | 机器人电弧增材修复的焊枪工具参数三维扫描标定方法 |
CN110757454A (zh) * | 2019-10-12 | 2020-02-07 | 广州中国科学院先进技术研究所 | 一种双机器人协同旋转的路径规划方法和装置 |
-
2020
- 2020-11-10 CN CN202011247263.4A patent/CN114454155A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020173878A1 (en) * | 2001-04-16 | 2002-11-21 | Fanuc Ltd. | Robot controller |
CN103481288A (zh) * | 2013-08-27 | 2014-01-01 | 浙江工业大学 | 一种5关节机器人末端工具位姿控制方法 |
CN109262610A (zh) * | 2018-08-30 | 2019-01-25 | 珠海格力电器股份有限公司 | 求解串联多自由度机器人末端位姿的方法、***和机器人 |
CN110411338A (zh) * | 2019-06-24 | 2019-11-05 | 武汉理工大学 | 机器人电弧增材修复的焊枪工具参数三维扫描标定方法 |
CN110757454A (zh) * | 2019-10-12 | 2020-02-07 | 广州中国科学院先进技术研究所 | 一种双机器人协同旋转的路径规划方法和装置 |
Non-Patent Citations (1)
Title |
---|
郝丽娜: "《工业机器人控制技术》", 华中科技大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110757454B (zh) | 一种双机器人协同旋转的路径规划方法和装置 | |
CN109829953B (zh) | 图像采集装置标定方法、装置、计算机设备和存储介质 | |
CN104635762B (zh) | 一种面向srs仿人手臂的自运动角计算方法 | |
JP4673346B2 (ja) | 数値制御装置 | |
CN110561428B (zh) | 机器人基坐标系位姿的确定方法、装置、设备及可读介质 | |
CN111037561B (zh) | 一种空间注册方法和装置 | |
CN105643619B (zh) | 一种采用框架描述的工业机器人工具位姿控制方法 | |
CN112123341B (zh) | 机器人双臂协调运动控制方法、装置和电子设备 | |
US7248012B2 (en) | Teaching data preparing method for articulated robot | |
CN112975954B (zh) | 机械臂的控制方法、计算机设备和存储介质 | |
Pham et al. | Set-point control of robot end-effector pose using dual quaternion feedback | |
CN112454011A (zh) | 多轴机床工件坐标偏移校正方法、装置、计算机设备及介质 | |
CN114454155A (zh) | 机器人控制方法、装置、计算机设备、介质及机器人 | |
CN107703744B (zh) | 考虑非线性误差和广义模态的数控机床运动链设计方法 | |
CN109822571B (zh) | 一种拼装机机械臂控制方法、装置及设备 | |
CN112828862A (zh) | 并联平台的主从映射方法、机械臂***和存储介质 | |
CN116141330A (zh) | 机器人的运动控制方法、装置、机器人设备及存储介质 | |
CN115805587A (zh) | 七轴机器人的运动解析方法、装置及电子设备 | |
CN116587289A (zh) | 一种七自由度腕关节偏置机械臂逆解方法、***及介质 | |
CN116597056A (zh) | 一种动画处理方法、装置、设备和存储介质 | |
Chen et al. | An analytical solution of inverse kinematics for a 7-DOF redundant manipulator | |
JP2012220999A (ja) | 工作機械の補正値演算方法及びプログラム | |
Josuet et al. | An improved inverse kinematics solution of 6r-dof robot manipulators with euclidean wrist using dual quaternions | |
CN114952806A (zh) | 约束运动控制方法、装置、***和电子设备 | |
Gueta et al. | Multiple-goal task realization utilizing redundant degrees of freedom of task and tool attachment optimization |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220510 |