CN109664298B - 机器人动力学参数辨识方法、装置、终端设备及存储介质 - Google Patents
机器人动力学参数辨识方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN109664298B CN109664298B CN201811600643.4A CN201811600643A CN109664298B CN 109664298 B CN109664298 B CN 109664298B CN 201811600643 A CN201811600643 A CN 201811600643A CN 109664298 B CN109664298 B CN 109664298B
- Authority
- CN
- China
- Prior art keywords
- robot
- matrix
- observation matrix
- joint
- group
- 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
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/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
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
本申请实施例适用于机器人技术领域,公开了一种机器人动力学参数辨识方法、装置、终端设备及计算机可读存储介质,其中,方法包括:通过牛顿欧拉法建立机器人的逆动力学模型;对逆动力学模型中进行系数提取操作,建立观察矩阵;根据预先生成的激励轨迹控制机器人的所有关节进行运动,记录机器人的所有关节的关节运动数据;根据关节运动数据、观察矩阵以及逆动力学模型,进行动力学参数辨识。本申请实施例通过将机器人看作一个整体进行动力学参数辨识,避免单关节辨识过程中的误差累积,提高了动力学参数的辨识精度。
Description
技术领域
本申请属于机器人技术领域,尤其涉及一种机器人动力学参数辨识方法、装置、终端设备及计算机可读存储介质。
背景技术
动力学参数辨识是指通过获取机器人按照指令运动,并从编码器和伺服电机获得当前位置、速度、加速度和力矩等数据,根据这些数据反算关节或机器人的动力学模型的过程。
目前,大多数的机器人动力学参数是通过单关节的运动来辨识的,即从最后一个关节开始辨识,然后逐渐往前推至第一个关节。但是,通过单关节的运动来辨识,会使得辨识过程中的误差会累积,造成每个关机辨识的精度都不一致,从而使得辨识精度较低。
发明内容
有鉴于此,本申请实施例提供一种机器人动力学参数辨识方法、装置、终端设备及计算机可读存储介质,以解决现有动力学参数辨识精度较低的问题。
本申请实施例的第一方面提供一种机器人动力学参数辨识方法,包括:
通过牛顿欧拉法建立机器人的逆动力学模型;
对所述逆动力学模型中进行系数提取操作,建立观察矩阵;
根据预先生成的激励轨迹控制所述机器人的所有关节进行运动,记录所述机器人的所有关节的关节运动数据;
根据所述关节运动数据、所述观察矩阵以及所述逆动力学模型,进行动力学参数辨识。
结合第一方面,在一种可行的实现方式中,在所述通过牛顿欧拉法建立机器人的逆动力学模型之前,还包括:
通过傅里叶级数构建所述激励轨迹的表达式模型;
根据所述表达式模型和所述观察矩阵,通过遗传算法生成所述激励轨迹。
结合第一方面,在一种可行的实现方式中,所述根据所述表达式模型和所述观察矩阵,通过遗传算法生成所述激励轨迹,包括:
以所述表达式模型中的正余弦振幅参数作为染色体,初始化生成第一预设数量组的染色体;
将每一组所述目标染色体带入所述表达式模型,得到对应的目标关节运动数据;
将每一组染色体对应的所述目标关节运动数据带入所述观察矩阵中,得到对应的观察矩阵;
将各组染色体对应的观察矩阵进行拼接得到第一目标观察矩阵;
根据所述第一目标观察矩阵,构建适应度函数;
根据所述适应度函数进行交叉和变异,经过第二预设数量代的繁殖,得到目标结果;
从所述目标结果中选取符合预设条件的最优结果;
将所述最优结果带入所述表达式模型,得到所述激励轨迹。
结合第一方面,在一种可行的实现方式中,所述根据所述关节运动数据、所述观察矩阵以及所述逆动力学模型,进行动力学参数辨识,包括:
去除所述观察矩阵中的线性列相关向量;
将各组所述关节运动数据分别带入所述逆动力学模型,得到每一组关节运动数据的力矩矩阵;
将各组所述关节运动数据带入所述去除线性相关列向量后的观察矩阵,得到每一组关节运动数据的观察矩阵;
分别将每一组关节运动数据对应的力矩矩阵和观察矩阵进行拼接,得到列向量形式的力矩矩阵和第二目标观察矩阵;
根据所述逆动力学模型、所述力矩矩阵以及所述第二目标观察矩阵,通过最小二乘法计算出动力学参数。
结合第一方面,在一种可行的实现方式中,所述根据预先生成的激励轨迹控制所述机器人的所有关节进行运动,记录所述机器人的所有关节的关节运动数据,包括:
根据所述激励轨迹和初始时刻,获得初始时刻的关节位置;
根据所述激励轨迹和各个预先设定的时间参数,依次记录每个时刻所述关节的实际位置参数、速度参数、加速度参数以及力矩数据。
本申请实施例的第二方面提供一种机器人动力学参数辨识装置,包括:
逆动力学模型构建模块,用于通过牛顿欧拉法建立机器人的逆动力学模型;
观察矩阵建立模块,用于对所述逆动力学模型中进行系数提取操作,建立观察矩阵;
关节运动数据记录模块,用于根据预先生成的激励轨迹控制所述机器人的所有关节进行运动,记录所述机器人的所有关节的关节运动数据;
辨识模块,用于根据所述关节运动数据、所述观察矩阵以及所述逆动力学模型,进行动力学参数辨识。
结合第二方面,在一种可行的实现方式中,还包括:
表达式模型构建模块,用于通过傅里叶级数构建所述激励轨迹的表达式模型;
激励轨迹生成模块,用于根据所述表达式模型和所述观察矩阵,通过遗传算法生成所述激励轨迹。
结合第二方面,在一种可行的实现方式中,所述激励轨迹生成模块包括:
初始化单元,用于以所述表达式模型中的正余弦振幅参数作为染色体,初始化生成第一预设数量组的染色体;
第一计算单元,用于将每一组所述目标染色体带入所述表达式模型,得到对应的目标关节运动数据;
第二计算单元,用于将每一组染色体对应的所述目标关节运动数据带入所述观察矩阵中,得到对应的观察矩阵;
第一拼接单元,用于将各组染色体对应的观察矩阵进行拼接得到第一目标观察矩阵;
适应度函数构建单元,用于根据所述第一目标观察矩阵,构建适应度函数;
交叉变异单元,用于根据所述适应度函数进行交叉和变异,经过第二预设数量代的繁殖,得到目标结果;
最优结果选取单元,用于从所述目标结果中选取符合预设条件的最优结果;
生成单元,用于将所述最优结果带入所述表达式模型,得到所述激励轨迹。
结合第二方面,在一种可行的实现方式中,所述辨识模块包括:
去除单元,用于去除所述观察矩阵中的线性列相关向量;
第三计算单元,用于将各组所述关节运动数据分别带入所述逆动力学模型,得到每一组关节运动数据的力矩矩阵;
第四计算单元,用于将各组所述关节运动数据带入所述去除线性相关列向量后的观察矩阵,得到每一组关节运动数据的观察矩阵;
第二拼接单元,用于分别将每一组关节运动数据对应的力矩矩阵和观察矩阵进行拼接,得到列向量形式的力矩矩阵和第二目标观察矩阵;
最小二乘法单元,用于根据所述逆动力学模型、所述力矩矩阵以及所述第二目标观察矩阵,通过最小二乘法计算出动力学参数。
结合第二方面,在一种可行的实现方式中,所述关节运动数据记录模块包括:
初始位置获取单元,用于根据所述激励轨迹和初始时刻,获得初始时刻的关节位置;
记录单元,用于根据所述激励轨迹和各个预先设定的时间参数,依次记录每个时刻所述关节的实际位置参数、速度参数、加速度参数以及力矩数据。
本申请实施例的第三方面提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述机器人动力学参数辨识方法的步骤。
本申请实施例的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述机器人动力学参数辨识方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例通过激励轨迹让机器人的所有关节一起运动,记录全部关节的运动参数,即将机器人看作一个整体,进行动力学参数辨识,避免了单关节辨识过程中的误差累积,提高了动力学参数的辨识精度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种机器人动力学参数辨识方法的流程示意框图;
图2为本申请实施例提供的辨识过程的流程示意框图;
图3为本申请实施例提供的激励轨迹生成的流程示意框图;
图4为本申请实施例提供的遗传算法的流程示意框图;
图5为本申请实施例提供的一种机器人动力学参数辨识装置的结构示意框图;
图6为本申请实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
实施例一
请参见图1,为本申请实施例提供的一种机器人动力学参数辨识方法的流程示意框图,该方法可以包括以下步骤:
步骤S101、通过牛顿欧拉法建立机器人的逆动力学模型。
具体地,上述逆动力学模型可以具体为 其中,τj=τm-τext,τm为机器人关节伺服电机的力矩,τext为外力矩,M为机器人惯量矩阵,C为哥氏离心力矩阵,G为重力,F为摩擦力,q为关节位置,为关节速度,为关节加速度。
可以理解的是,牛顿-欧拉法建立逆动力学模型的过程已被本领域技术人员所熟知,在此不再赘述。
步骤S102、对逆动力学模型中进行系数提取操作,建立观察矩阵。
具体地,对该逆动力学模型进行系数提取,以建立观察矩阵而逆动力学模型τj与观察矩阵的对应关系具体为其中,θ为机器人的动力学参数、摩擦力模型里的粘性摩擦系数Fv和库伦摩擦系数Fs构成的列向量,而机器人的动力学参数包括惯性张量I,静力矩MX、MY、MZ,质量M以及电机转子转动惯量IZ。可见,分别求出τj和的值,即可通过两者间的关系求出动力学参数。
步骤S103、根据预先生成的激励轨迹控制机器人的所有关节进行运动,记录机器人的所有关节的关节运动数据。
需要说明的是,上述激励轨迹是预先生成的,通过该激励轨迹可以控制机器人的所有关节进行运动,从而记录每一个时刻各个关节的关节运动数据。该关节运动数据可以包括实际位置、速度、加速度和力矩数据。
可选地,上述根据预先生成的激励轨迹控制机器人的所有关节进行运动,记录机器人的所有关节的关节运动数据的过程可以具体包括:根据激励轨迹和初始时刻,获得初始时刻的关节位置;根据激励轨迹和各个预先设定的时间参数,依次记录每个时刻关节的实际位置参数、速度参数、加速度参数以及力矩数据。
例如,取t=0带入激励轨迹位置公式,获得t=0时的关节位置,并把机器人移动到该位置,从t=0至t=600s,将各个时刻的t值带入到激励轨迹中,获得相应的位置qt,将qt下发至关节伺服,然后从伺服读取每个时刻即每个机器人控制周期的关节的实际位置、速度、加速度和力矩数据。
可以看出,此处将机器人看作一个整体,让所有关节一起运动,从而进行整体最优辨识,使得全部关节都能达到一个最优的效果。
步骤S104、根据关节运动数据、观察矩阵以及逆动力学模型,进行动力学参数辨识。
可选地,参见图2所示的辨识过程的流程示意框图,上述根据关节运动数据、观察矩阵以及逆动力学模型,进行动力学参数辨识的过程具体可以包括:
步骤S201、去除观察矩阵中的线性列相关向量。
可以理解的是,基于最小二乘法计算出θ,需要去除观察矩阵中的线性列相关向量。具体应用中,可以通过随机数生成方法来消除线性相关的列向量,当然,也可以其它方法剔除线性相关的列向量。
步骤S202、将各组关节运动数据分别带入逆动力学模型,得到每一组关节运动数据的力矩矩阵。
步骤S203、将各组关节运动数据带入去除线性相关列向量后的观察矩阵,得到每一组关节运动数据的观察矩阵。
步骤S204、分别将每一组关节运动数据对应的力矩矩阵和观察矩阵进行拼接,得到列向量形式的力矩矩阵和第二目标观察矩阵。
需要说明的是,力矩矩阵和第二目标观察矩阵分别如下:
步骤S205、根据逆动力学模型、力矩矩阵以及第二目标观察矩阵,通过最小二乘法计算出动力学参数。
本实施例中,通过激励轨迹让机器人的所有关节一起运动,记录全部关节的运动参数,即将机器人看作一个整体,进行动力学参数辨识,避免了单关节辨识过程中的误差累积,提高了动力学参数的辨识精度。
实施例二
上述实施例一的激励轨迹可以是预先生成的,而激励轨迹的生成方法可以是现有的任意方法。但是,通过现有方法生成的激励轨迹在辨识参数的过程中,会遇到辨识数据的普遍性的问题。例如,在辨识过程中使用到的数据只包含30°/s范围以内的速度,那么根据辨识出来的参数得出的动力学模型对于30°/s以上的速度数据就会表现很差。当前,多数的机器人的动力学参数辨识里面用到的激励轨迹都是通过傅里叶级数构建的,激励轨迹的加速度和速度都普遍很小,不能够覆盖到高加速度和高速度的区域。
为了使得辨识的动力学模型可以覆盖到高加速和高速度的区域,本实施例通过遗传算法生成激励轨迹。本实施例将基于上述实施例一对激励轨迹的生成过程进行介绍说明。
请参见图3,为本申请实施例提供的激励轨迹生成的流程示意框图,基于上述实施例一,在通过牛顿欧拉法建立机器人的逆动力学模型之前,还包括以下步骤:
步骤S301、通过傅里叶级数构建激励轨迹的表达式模型。
具体地,表达式模型可以具体如下:
其中,ai,j、bi,j分别为正弦函数的振幅参数、余弦函数振幅参数,i表示机器人的第几个关节,j表示控制不同的频率,fi是用来控制运动周期的一个函数,每个关节都按照着各自的运动周期Ti进行着重复运动。qi(t)为激励轨迹位置公式。
步骤S302、根据表达式模型和观察矩阵,通过遗传算法生成激励轨迹。
可以理解的是,遗传算法的过程一般包括:初始化生成初始种群、通过适应度函数进行个体评价、选择运算、交叉变异等,最后从所得的结果中选取出最优的参数。
此处将ai,j、bi,j定义为遗传算法的染色体,通过随机方法初始化生成初始种群,然后计算个体的适应度,基于适应度选择较优的个体进行下一代繁殖,依此进行交叉变异,进行多代繁殖之后,选取其中的最优的一组ai,j、bi,j,从而求出了激励轨迹的表达式模型中的参数ai,j、bi,j,将该参数带入至表达式中即可得到激励轨迹。
更进一步地,参见图4所示的遗传算法的流程示意框图,上述步骤S302,即上述根据表达式模型和观察矩阵,通过遗传算法生成激励轨迹的过程具体包括:
步骤S401、以表达式模型中的正余弦振幅参数作为染色体,初始化生成第一预设数量组的染色体。
需要说明的是,上述第一预设数量的数值可以根据实际需要进行设定,例如,可以设为100。
步骤S402、将每一组目标染色体带入表达式模型,得到对应的目标关节运动数据。
步骤S403、将每一组染色体对应的目标关节运动数据带入观察矩阵中,得到对应的观察矩阵。
具体地,将每一组ai,j、bi,j带入至上述表达式,然后取在t=0~10s之间以等间隔取100个时刻,从而得到每组ai,j、bi,j对应的各个时刻的目标关节运动数据,即得到100个关节位置、速度和加速度等相关数据。接着,将每一组对应的目标关节运动数据带入至观察矩阵。
步骤S404、将各组染色体对应的观察矩阵进行拼接得到第一目标观察矩阵。
步骤S405、根据第一目标观察矩阵,构建适应度函数。
需要说明的是,一般情况下的适应度函数具体为该适应度函数是判断参数好坏的一个标准,其数值越小越好。但是,现有的适应度函数并没有优化到加速度和速度。此处将适应度函数修改为 此时,其数值越大越好。从而实现了对速度和加速度的优化,最终使得辨识出来的动力学模型对高速度和高加速度区域有更好的表现。
步骤S406、根据适应度函数进行交叉和变异,经过第二预设数量代的繁殖,得到目标结果。
需要说明的是,上述第二预设数量的数值可以根据实际需要进行设定,例如,可以设定为10000,即经过10000代繁殖后停止。
步骤S407、从目标结果中选取符合预设条件的最优结果。
步骤S408、将最优结果带入表达式模型,得到激励轨迹。
具体地,进行多代繁殖之后,基于适应度函数从所得的繁殖结果中提取出前100个的繁殖结果,然后再从这100个结果中选出符合预设条件的最优结果。
需要说明的是,上述预设条件可以表现为合乎位置、速度和加速度约束要求,且速度波动比较大,其具体挑选可以人为把控。
所选取出的最优结果是一组最优的ai,j、bi,j,将这一组最优参数带入至上述表达式模型中,即可得到激励轨迹的表达式。
可见,本实施例通过遗传算法构建激励轨迹,使得辨识得到的动力学模型能覆盖至高速度和高加速度区域。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例三
请参见图5,为本申请实施例提供的一种机器人动力学参数辨识装置的结构示意框图,该装置可以包括:
逆动力学模型构建模块51,用于通过牛顿欧拉法建立机器人的逆动力学模型;
观察矩阵建立模块52,用于对逆动力学模型中进行系数提取操作,建立观察矩阵;
关节运动数据记录模块53,用于根据预先生成的激励轨迹控制机器人的所有关节进行运动,记录机器人的所有关节的关节运动数据;
辨识模块54,用于根据关节运动数据、观察矩阵以及逆动力学模型,进行动力学参数辨识。
在一种可行的实现方式中,上述装置还可以包括:
表达式模型构建模块,用于通过傅里叶级数构建激励轨迹的表达式模型;
激励轨迹生成模块,用于根据表达式模型和观察矩阵,通过遗传算法生成激励轨迹。
在一种可行的实现方式中,上述激励轨迹生成模块可以包括:
初始化单元,用于以表达式模型中的正余弦振幅参数作为染色体,初始化生成第一预设数量组的染色体;
第一计算单元,用于将每一组目标染色体带入表达式模型,得到对应的目标关节运动数据;
第二计算单元,用于将每一组染色体对应的目标关节运动数据带入观察矩阵中,得到对应的观察矩阵;
第一拼接单元,用于将各组染色体对应的观察矩阵进行拼接得到第一目标观察矩阵;
适应度函数构建单元,用于根据第一目标观察矩阵,构建适应度函数;
交叉变异单元,用于根据适应度函数进行交叉和变异,经过第二预设数量代的繁殖,得到目标结果;
最优结果选取单元,用于从目标结果中选取符合预设条件的最优结果;
生成单元,用于将最优结果带入表达式模型,得到激励轨迹。
在一种可行的实现方式中,上述辨识模块可以包括:
去除单元,用于去除观察矩阵中的线性列相关向量;
第三计算单元,用于将各组关节运动数据分别带入逆动力学模型,得到每一组关节运动数据的力矩矩阵;
第四计算单元,用于将各组关节运动数据带入去除线性相关列向量后的观察矩阵,得到每一组关节运动数据的观察矩阵;
第二拼接单元,用于分别将每一组关节运动数据对应的力矩矩阵和观察矩阵进行拼接,得到列向量形式的力矩矩阵和第二目标观察矩阵;
最小二乘法单元,用于根据逆动力学模型、力矩矩阵以及第二目标观察矩阵,通过最小二乘法计算出动力学参数。
在一种可行的实现方式中,上述关节运动数据记录模块可以包括:
初始位置获取单元,用于根据激励轨迹和初始时刻,获得初始时刻的关节位置;
记录单元,用于根据激励轨迹和各个预先设定的时间参数,依次记录每个时刻关节的实际位置参数、速度参数、加速度参数以及力矩数据。
需要说明的是,本实施例介绍的机器人动力学参数辨识装置与上述实施例中的机器人动力学参数辨识方法一一对应,相关介绍请参见上文相应内容,在此不再赘述。
本实施例中,通过激励轨迹让机器人的所有关节一起运动,记录全部关节的运动参数,即将机器人看作一个整体,进行动力学参数辨识,避免了单关节辨识过程中的误差累积,提高了动力学参数的辨识精度。
实施例四
图6是本申请一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现上述各个机器人动力学参数辨识方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块或单元的功能,例如图5所示模块51至54的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块或单元,所述一个或者多个模块或单元被存储在所述存储器61中,并由所述处理器60执行,以完成本申请。所述一个或多个模块或单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。例如,所述计算机程序62可以被分割成逆动力学模型构建模块、观察矩阵建立模块、关节运动数据记录模块以及辨识模块,各模块具体功能如下:
逆动力学模型构建模块,用于通过牛顿欧拉法建立机器人的逆动力学模型;观察矩阵建立模块,用于对逆动力学模型中进行系数提取操作,建立观察矩阵;关节运动数据记录模块,用于根据预先生成的激励轨迹控制机器人的所有关节进行运动,记录机器人的所有关节的关节运动数据;
辨识模块,用于根据关节运动数据、观察矩阵以及逆动力学模型,进行动力学参数辨识。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置、终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置、终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块或单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种机器人动力学参数辨识方法,其特征在于,包括:
通过牛顿欧拉法建立机器人的逆动力学模型,所述逆动力学模型为其中,τj=τm-τext,τm为机器人关节伺服电机的力矩,τext为外力矩,M为机器人惯量矩阵,C为哥氏离心力矩阵,G为重力,F为摩擦力,q为关节位置,为关节速度,为关节加速度;
对所述逆动力学模型中进行系数提取操作,建立观察矩阵;
根据预先生成的激励轨迹控制所述机器人的所有关节进行运动,将预设时间段内每一机器人控制周期对应的时刻值带入激励轨迹公式,得到并记录所述机器人的所有关节的关节运动数据;
根据所述关节运动数据、所述观察矩阵以及所述逆动力学模型,进行动力学参数辨识;
所述根据所述关节运动数据、所述观察矩阵以及所述逆动力学模型,进行动力学参数辨识,包括:
去除所述观察矩阵中的线性列相关向量;
将各组所述关节运动数据分别带入所述逆动力学模型,得到每一组关节运动数据的力矩矩阵;
将各组所述关节运动数据带入所述去除线性相关列向量后的观察矩阵,得到每一组关节运动数据的观察矩阵;
分别将每一组关节运动数据对应的力矩矩阵和观察矩阵进行拼接,得到列向量形式的力矩矩阵和第二目标观察矩阵;
根据所述逆动力学模型、所述力矩矩阵以及所述第二目标观察矩阵,通过最小二乘法计算出动力学参数。
2.根据权利要求1所述的机器人动力学参数辨识方法,其特征在于,在所述通过牛顿欧拉法建立机器人的逆动力学模型之前,还包括:
通过傅里叶级数构建所述激励轨迹的表达式模型;
根据所述表达式模型和所述观察矩阵,通过遗传算法生成所述激励轨迹。
3.根据权利要求2所述的机器人动力学参数辨识方法,其特征在于,所述根据所述表达式模型和所述观察矩阵,通过遗传算法生成所述激励轨迹,包括:
以所述表达式模型中的正余弦振幅参数作为染色体,初始化生成第一预设数量组的染色体;
将每一组所述目标染色体带入所述表达式模型,得到对应的目标关节运动数据;
将每一组染色体对应的所述目标关节运动数据带入所述观察矩阵中,得到对应的观察矩阵;
将各组染色体对应的观察矩阵进行拼接得到第一目标观察矩阵;
根据所述第一目标观察矩阵,构建适应度函数;
根据所述适应度函数进行交叉和变异,经过第二预设数量代的繁殖,得到目标结果;
从所述目标结果中选取符合预设条件的最优结果;
将所述最优结果带入所述表达式模型,得到所述激励轨迹。
4.根据权利要求1所述的机器人动力学参数辨识方法,其特征在于,所述根据预先生成的激励轨迹控制所述机器人的所有关节进行运动,记录所述机器人的所有关节的关节运动数据,包括:
根据所述激励轨迹和初始时刻,获得初始时刻的关节位置;
根据所述激励轨迹和各个预先设定的时间参数,依次记录每个时刻所述关节的实际位置参数、速度参数、加速度参数以及力矩数据。
5.一种机器人动力学参数辨识装置,其特征在于,包括:
逆动力学模型构建模块,用于通过牛顿欧拉法建立机器人的逆动力学模型,所述逆动力学模型为 其中,τj=τm-τext,τm为机器人关节伺服电机的力矩,τext为外力矩,M为机器人惯量矩阵,C为哥氏离心力矩阵,G为重力,F为摩擦力,q为关节位置,为关节速度,为关节加速度;
观察矩阵建立模块,用于对所述逆动力学模型中进行系数提取操作,建立观察矩阵;
关节运动数据记录模块,用于根据预先生成的激励轨迹控制所述机器人的所有关节进行运动,将预设时间段内每一机器人控制周期对应的时刻值带入激励轨迹公式,得到并记录所述机器人的所有关节的关节运动数据;
辨识模块,用于根据所述关节运动数据、所述观察矩阵以及所述逆动力学模型,进行动力学参数辨识;
所述辨识模块包括:
去除单元,用于去除所述观察矩阵中的线性列相关向量;
第三计算单元,用于将各组所述关节运动数据分别带入所述逆动力学模型,得到每一组关节运动数据的力矩矩阵;
第四计算单元,用于将各组所述关节运动数据带入所述去除线性相关列向量后的观察矩阵,得到每一组关节运动数据的观察矩阵;
第二拼接单元,用于分别将每一组关节运动数据对应的力矩矩阵和观察矩阵进行拼接,得到列向量形式的力矩矩阵和第二目标观察矩阵;
最小二乘法单元,用于根据所述逆动力学模型、所述力矩矩阵以及所述第二目标观察矩阵,通过最小二乘法计算出动力学参数。
6.根据权利要求5所述的机器人动力学参数辨识装置,其特征在于,还包括:
表达式模型构建模块,用于通过傅里叶级数构建所述激励轨迹的表达式模型;
激励轨迹生成模块,用于根据所述表达式模型和所述观察矩阵,通过遗传算法生成所述激励轨迹。
7.根据权利要求6所述的机器人动力学参数辨识装置,其特征在于,所述激励轨迹生成模块包括:
初始化单元,用于以所述表达式模型中的正余弦振幅参数作为染色体,初始化生成第一预设数量组的染色体;
第一计算单元,用于将每一组所述目标染色体带入所述表达式模型,得到对应的目标关节运动数据;
第二计算单元,用于将每一组染色体对应的所述目标关节运动数据带入所述观察矩阵中,得到对应的观察矩阵;
第一拼接单元,用于将各组染色体对应的观察矩阵进行拼接得到第一目标观察矩阵;
适应度函数构建单元,用于根据所述第一目标观察矩阵,构建适应度函数;
交叉变异单元,用于根据所述适应度函数进行交叉和变异,经过第二预设数量代的繁殖,得到目标结果;
最优结果选取单元,用于从所述目标结果中选取符合预设条件的最优结果;
生成单元,用于将所述最优结果带入所述表达式模型,得到所述激励轨迹。
8.一种终端设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述机器人动力学参数辨识方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述机器人动力学参数辨识方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811600643.4A CN109664298B (zh) | 2018-12-26 | 2018-12-26 | 机器人动力学参数辨识方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811600643.4A CN109664298B (zh) | 2018-12-26 | 2018-12-26 | 机器人动力学参数辨识方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109664298A CN109664298A (zh) | 2019-04-23 |
CN109664298B true CN109664298B (zh) | 2021-04-23 |
Family
ID=66146185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811600643.4A Active CN109664298B (zh) | 2018-12-26 | 2018-12-26 | 机器人动力学参数辨识方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109664298B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111055277B (zh) * | 2019-12-09 | 2023-06-06 | 上海新时达机器人有限公司 | 机器人柔性参数获取方法、装置、计算机设备及存储介质 |
CN111360836B (zh) * | 2020-04-02 | 2021-04-09 | 易思维(杭州)科技有限公司 | 优化辨识参数的机器人标定方法 |
CN112199833B (zh) * | 2020-09-29 | 2023-12-29 | 深圳市优必选科技股份有限公司 | 关节动力学模型优化方法、系统、终端设备及存储介质 |
CN114260892B (zh) * | 2021-12-17 | 2023-12-15 | 深圳市优必选科技股份有限公司 | 弹性关节力矩控制方法、装置、可读存储介质及机器人 |
CN117910188A (zh) * | 2022-10-10 | 2024-04-19 | 华为云计算技术有限公司 | 模拟训练方法、装置及计算设备集群 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950010972B1 (ko) * | 1991-12-07 | 1995-09-26 | 포항종합제철주식회사 | 업셋(offset)이 있는 로보트손목의 기구변수 결정법 |
DE102006055917B4 (de) * | 2006-11-27 | 2014-11-27 | Kuka Roboter Gmbh | Industrieroboter und Verfahren zum Erkennen eines ungenau parametrierten Robotermodells |
CN103034123B (zh) * | 2012-12-11 | 2016-01-27 | 中国科学技术大学 | 基于动力学模型参数辨识的并联机器人控制方法 |
CN103927451B (zh) * | 2014-04-21 | 2017-03-22 | 西北工业大学 | 一种空间机器人系统参数在轨辨识方法 |
CN104614991B (zh) * | 2014-12-31 | 2017-02-22 | 南京埃斯顿机器人工程有限公司 | 提高机器人参数辨识精度的方法 |
-
2018
- 2018-12-26 CN CN201811600643.4A patent/CN109664298B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109664298A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109664298B (zh) | 机器人动力学参数辨识方法、装置、终端设备及存储介质 | |
CN109732599B (zh) | 一种机器人碰撞检测方法、装置、存储介质及机器人 | |
Hajiloo et al. | Robust online model predictive control for a constrained image-based visual servoing | |
CN109732594B (zh) | 一种机器人控制方法、系统及机器人 | |
CN109760048B (zh) | 一种机器人的伺服控制方法、装置及机器人 | |
CN109955244B (zh) | 一种基于视觉伺服的抓取控制方法、装置和机器人 | |
CN113119111A (zh) | 机械臂及其轨迹规划方法和装置 | |
Fu et al. | Active learning-based grasp for accurate industrial manipulation | |
CN111185909B (zh) | 机器人运行工况获取方法、装置、机器人及存储介质 | |
CN106546261A (zh) | 一种基于虚拟现实设备的角度数据补偿方法及装置 | |
Fedor et al. | Model-based fuzzy control applied to a real nonlinear mechanical system | |
Burlacu et al. | Predictive control architecture for real-time image moments based servoing of robot manipulators | |
Meleshkova et al. | Application of Neural ODE with embedded hybrid method for robotic manipulator control | |
CN112965372B (zh) | 基于强化学习的微零件精密装配方法、装置和系统 | |
Villagrossi | Robot dynamics modelling and control for machining applications | |
Pan et al. | Deep residual neural-network-based robot joint fault diagnosis method | |
Bethge et al. | FloBaRoID—A software package for the identification of robot dynamics parameters | |
CN107423515B (zh) | 机械臂摩擦辨识方法、装置、设备及存储介质 | |
Su et al. | A ROS based open source simulation environment for robotics beginners | |
CN111185908A (zh) | 识别摩擦力的机器人控制方法、装置、机器人及存储介质 | |
Chen et al. | System identification by using RGA with a reduced-order robust observer for an induction motor | |
CN116141314A (zh) | 基于射影几何代数的机器人动力学参数辨识方法及系统 | |
CN113610218A (zh) | 基于极限学习机的负载识别方法、系统、装置及存储介质 | |
Malgaca et al. | Modeling and vibration reduction of a flexible planar manipulator with experimental system identification | |
Nahvi et al. | Trajectory based methods for nonlinear MOR: Review and perspectives |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Liu Peichao Inventor after: Huang Rui Inventor after: Lang Xulin Inventor after: Lin Jionghui Inventor after: Cao Linpan Inventor before: Liu Peichao Inventor before: Huang Rui Inventor before: Lang Zulin Inventor before: Lin Jionghui Inventor before: Cao Linpan |