动力学模型参数辨识方法、装置、计算机设备及存储介质与流程

文档序号:13735136阅读:199来源:国知局
动力学模型参数辨识方法、装置、计算机设备及存储介质与流程

本发明涉及机器人技术领域,尤其涉及动力学模型参数辨识方法、装置、计算机设备及存储介质。



背景技术:

基于动力学的控制能够有效的提高机器人的控制性能,对机器人使用基于动力学模型的控制算法时,首先要保证动力学模型的准确性,动力学模型的准确性依赖于几何参数和动力学参数,几何参数可以通过运动学标定获得,动力学参数则需要通过动力学模型辨识的方法来估测。

目前,工业机器人动力学参数辨识通常采用基于动力学模型的整体辨识方案,其过程可描述为:首先构建动力学参数的最小集合形成动力学模型,然后控制机器人沿所设计的激励轨迹运动,由此测量得到机器人各关节运动时的状态数据及力矩数据,最终基于测量的数据和构建的动力学模型,采用合适的估计算法估测出未知的动力学参数。

实现上述整体辨识方案时所依赖参数辨识装置的架构图如图1所示,其整体架构包括:上位机11、驱动器12、设置于机器人本体中机械臂的各个关节处的电机13以及与电机13对应配置的编码器14。其中,上位机11相当于一个控制终端,通过驱动器12控制电机13沿激励轨迹运动,此外,驱动器12与机器人本体中各电机13电连接,用于读取编码器14在电机13运动时量测的读数,并将获取的读数转换成电机13位置信息及速度信息,同时还用于量测获得电机13的力矩信息,最终将位置信息、速度信息以及力矩信息等上传给上位机11;上位机11根据获得的信息通过合适的估计算法获得所构建动力学模型中未知的动力学参数。

然而,根据上述方案对动力学模型进行未知动力学参数辨识时,往往没有考虑关节摩擦力与电机本身的惯性力对所构建动力学模型精度的影响,由此造成了参数辨识的误差;此外,驱动器测量获得位置信息、速度信息以及力矩信息中往往包括量测过程中产生的噪声数据,同样会影响动力学参数辨识的准确性。



技术实现要素:

本发明实施例提供了动力学模型参数辨识方法、装置、计算机设备及存储介质,实现了动力学模型的优化以及对动力学参数的高精度辨识。

一方面,本发明实施例提供了一种动力学模型参数辨识方法,包括:

获取机械臂各关节沿设定激励轨迹运动时在当前采样时刻测量的关节角度值和力矩数据;

分别对各所述关节角度值以及各所述力矩数据进行滤波处理,获得各所述关节在所述当前采样时刻的目标状态数据和目标力矩数据;

根据各所述目标状态数据及所述目标力矩数据优化动力学模型,并辨识所述动力学模型中的未知动力学参数。

另一方面,本发明实施例提供了一种动力学模型参数辨识装置,包括:

测量数据获取模块,用于获取机械臂各关节沿设定激励轨迹运动时在当前采样时刻测量的关节角度值和力矩数据;

数据滤波处理模块,用于分别对各所述关节角度值以及各所述力矩数据进行滤波处理,获得各所述关节在所述当前采样时刻的目标状态数据和目标力矩数据;

未知参数辨识模块,用于根据各所述目标状态数据及所述目标力矩数据优化动力学模型,并辨识所述动力学模型中的未知动力学参数。

又一方面,本发明实施例提供了一种计算机设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的动力学模型参数辨识方法。

再一方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的动力学模型参数辨识方法。

在上述动力学模型参数辨识方法、装置、计算机设备及存储介质中,该方法首先获取机械臂各关节沿设定激励轨迹运动时在当前采样时刻测量的关节角度值和力矩数据;然后分别对各关节角度值及各力矩数据进行滤波处理,获得各关节在当前采样时刻的目标状态数据和目标力矩数据;最终根据目标状态数据和目标力矩数据来优化动力学模型,并辨识动力学模型中的未知动力学参数。上述技术方案,能够通过对测量获得机械臂关节位置数据以及力矩数据的滤波处理,获得机械臂关节所对应高精度的目标状态数据和目标力矩数据,由此根据高精度的状态数据及力矩数据实现了对所构建动力学模型精度的优化,从而实现了未知动力学参数的高精度辨识,提高了动力学模型的准确性,进而提高了动力学模型对机器人控制的控制性能。

附图说明

图1给出了参数模型辨识所依赖参数模型辨识装置的架构图;

图2为本发明实施例一提供的一种动力学模型参数辨识方法的流程示意图;

图3a为本发明实施例二提供的一种动力学模型参数辨识方法的流程示意图;

图3b给出了本发明实施例二基于卡尔曼滤波获得目标状态数据的流程示意图;

图4为本发明实施例三提供的一种动力学模型参数辨识装置的结构框图;

图5为本发明实施例四提供的一种计算机设备的硬件结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图2为本发明实施例一提供的一种动力学模型参数辨识方法的流程示意图,该方法适用于对动力学模型中未知动力学参数进行辨识的情况,该方法可以由动力学模型参数辨识装置执行,其中该装置可由软件和/或硬件实现,并一般集成与机器人存在电连接的计算机设备上,优选地,可集成在与机器人电连接的上位机上。

需要说明的是,本实施例相当于在现有参数辨识技术上的改进,且主要在于测量获得机械臂关节的位置或速度信息以及力矩信息后,对所测量信息数据的改进处理。由此提高了动力学参数辨识的精度,进而提高动力学模型对机器人的控制性能。

如图2所示,本发明实施例一提供的一种动力学模型参数辨识方法,包括如下操作:

s101、获取机械臂各关节沿设定激励轨迹运动时在当前采样时刻测量的关节角度值和力矩数据。

可以理解的是,本实施例首先可以控制机器人中机械臂的各关节基于现有的参数辨识时设定的激励轨迹运动,此外,本实施例设定了采样周期用于周期性的测量机械臂各关节运动时相关的原始数据信息。其中,根据设定的采样周期可以确定具体地采样时刻,本步骤具体获取了机械臂各关节在当前采样时刻通过参数辨识装置中的驱动器测量的原始数据信息。

具体地,本实施例优选设定所测量的原始数据信息包括:机械臂各关节运动时的状态数据以及在机械臂关节处所设置电机的力矩数据,但由于机械臂关节的状态数据可以在已知关节角度值后计算获得,因此本实施例实际测量了机械臂关节的关节角度值和力矩数据。

s102、分别对各所述关节角度值以及各所述力矩数据进行滤波处理,获得各所述关节在所述当前采样时刻的目标状态数据和目标力矩数据。

在本实施例中,考虑到机械臂各关节由上一采样时刻运动到当前采样时刻时存在较多的外界干扰,同时驱动器进行数据量测过程中也存在一定的噪声干扰,导致获得的关节角度值以及力矩数据均存在一定的误差。因此,本实施例优选设定对关节角度值以及力矩数据进行滤波处理,尽可能滤除量测过程中产生的噪声数据。

具体地,本实施进行滤波处理的方法较多,示例性的,如卡尔曼滤波、中值滤波、加权递推平均滤波以及低通滤波等,本实施例不对滤波方式进行具体限定,本实施例优选采用不同的滤波方式分别对关节角度值及力矩数据进行滤波处理。由此可通过对关节角度值的滤波处理直接获得机械臂关节的目标状态数据,以及获得对应与力矩数据的目标力矩数据。在本实施例中,所述目标状态数据可理解为包括机械臂关节运动过程中关节角度信息、关节角速度信息以及关节加速度信息等关节运动状态信息的数据。

s103、根据各所述目标状态数据及所述目标力矩数据优化动力学模型,并辨识所述动力学模型中的未知动力学参数。

需要说明的是,本实施例进行动力学参数辨识时所采用动力学模型的构建主要与电机的力矩数据、机械臂各关节的状态数据以及动力学参数相关,因此基于对电机的力矩数据及机械臂各关节的状态数据进行滤波处理后的数据构建的动力学模型相当于对动力学模型的优化。

本实施例还考虑了机械臂各关节摩擦力以及电机本身惯性力对动力学模型进行的影响,本实施例通过设定的策略还可以确定出机械臂各关节的关节摩擦力,同时也通过历史经验给出了电机惯性力的经验值,由此本实施例的动力学模型优化具体相当于基于目标状态数据、目标力矩数据、关节摩擦力以及电机惯性力实现。

此外,本实施例还可以根据优化后的动力学模型,通过确定的目标状态数据以及目标力矩数据,采用设定的估计算法实现了未知动力学参数的辨识。其中,所设定的估计算法可以是最小二乘估计发,线性最小方差估计发、最小方差估计发以及递推最小二乘估计等。

本发明实施例一提供的一种动力学模型参数辨识方法,首先获取机械臂各关节沿设定激励轨迹运动时在当前采样时刻测量的关节角度值和力矩数据;然后分别对各关节角度值及各力矩数据进行滤波处理,获得各关节在当前采样时刻的目标状态数据和目标力矩数据;最终根据目标状态数据和目标力矩数据来优化动力学模型,并辨识动力学模型中的未知动力学参数。上述技术方案,能够通过对测量获得机械臂关节位置数据以及力矩数据的滤波处理,获得机械臂关节所对应高精度的目标状态数据和目标力矩数据,由此根据高精度的状态数据及力矩数据实现了对所构建动力学模型精度的优化,从而实现了未知动力学参数的高精度辨识,提高了动力学模型的准确性,进而提高了动力学模型对机器人控制的控制性能。

实施例二

图3a为本发明实施例二提供的一种动力学模型参数辨识方法的流程示意图。本实施例二以上述实施例为基础进行优化,在本实施例中,将分别对各所述关节角度值以及各所述力矩数据进行滤波处理,获得各所述关节在所述当前采样时刻的目标状态数据和目标力矩数据,进一步优化为:采用设定的卡尔曼滤波策略处理各所述关节角度值,确定各所述关节在所述当前采样时刻对应的目标状态数据;采用设定的低通滤波策略处理各所述力矩数据,确定各所述关节在所述当前采样时刻对应的目标力矩数据。

在上述优化的基础上,本实施例进一步将根据各所述目标状态数据及所述目标力矩数据优化动力学模型,并辨识所述动力学模型中的未知动力学参数,具体化为:基于各所述目标状态数据,优化动力学模型中线性化参数模型部分的线性函数矩阵;获取为所述机械臂各关节预先设定的电机惯性力,并获取所述机械臂各关节运动时产生的关节摩擦力;根据各所述目标力矩数据及对应的电机惯性力和关节摩擦力,优化所述动力学模型中的力矩数据矩阵;根据所述线性函数矩阵及所述力矩数据矩阵,采用最小二乘法获取所述动力学模型中的未知动力学参数。

如图3a所示,本发明实施例二提供的一种动力学模型参数辨识方法,具体包括如下操作:

s201、获取机械臂各关节沿设定激励轨迹运动时在当前采样时刻测量的关节角度值和力矩数据。

s202、采用设定的卡尔曼滤波策略处理各所述关节角度值,确定各所述关节在所述当前采样时刻对应的目标状态数据。

本实施例优选采用卡尔曼滤波策略对机械臂各关节的关节角度值进行滤波处理,通过对关节角度值的滤波处理,最终可以获得机械臂各关节在当前采样时刻对应的目标状态数据。

具体地,图3b给出了本发明实施例二基于卡尔曼滤波获得目标状态数据的流程示意图。如图3b所示,采用设定的卡尔曼滤波策略处理各所述关节角度值,确定各所述关节在所述当前采样时刻对应的目标状态数据,包括如下操作:

可以理解的是,卡尔曼滤波的理论模型公式相当于包含了两个方程,一个是状态方程,一个是量测方程,其卡尔曼滤波最终实现的是对状态量xk的优化估计。一个状态在一个时刻点k-1的状态进入下一个时刻点k状态,会有很多外界因素的干扰,我们把干扰就叫做过程误差用ω表示,可以为均值为0的高斯白噪声,任何一个测量仪器,都会有误差,我们把这个误差叫做测量误差,用v表示,也可以为均值为0的高斯白噪声。因此,卡尔曼滤波理论公式中的状态方程则表示了状态不断更新过程与前一时刻点的状态量及过程操作相关,其中a为设定数据格式的常量;此外,不断更新的状态中往往仅有一个或几个状态参数量是可以通过测量仪器量测的,比如机械臂关节的关节角度,因此,量测方程的作用就是把状态量中能够直接量测的状态参数zk通过状态量及量测过程中的测量误差进行表示,其中,h为设定数据格式的常量。

但是基于卡尔曼滤波的实际操作中,其过程误差与量测误差均不能直接获得,但在实际应用中可以直接确定状态变化过程中所产生过程误差的过程协方差矩阵,同时也可以直接确定量测过程中所产生测量误差的测量协方差矩阵,因此,本实施例考虑通过下述步骤实现关节角速度的卡尔曼滤波处理。

s2021、获取各所述关节由上一采样时刻过渡到所述当前采样时刻时所产生过程误差的过程协方差矩阵。

具体地,本步骤主要用于获得机械臂各关节从上一采样时刻过渡到当前采样时刻过程中所产生过程误差的过程协方差矩阵,所述过程协方差矩阵可通过一定方式在机械臂各关节状态变化过程中实际获得。

s2022、获取在所述当前采样时刻测量各所述关节的关节角度值时所产生测量误差的测量协方差矩阵。

示例性的,本步骤具体可用于获得机械臂各关节在当前采样时刻进行相应关节角度值测量时所产生测量误差的测量协方差矩阵。所述测量协方差矩阵也可通过一定方式在对机械臂各关节状态参数(如关节角度值)的测量过程中实际获得。

s2023、获取各所述关节在所述上一采样时刻确定的上一目标状态数据和上一整体误差的上一整体协方差矩阵。

可以理解的是,根据卡尔曼滤波的理论模型公式,可知对机械臂各关节在当前采样时刻的状态量优化,需要依据上一采样时刻优化后的状态量,相当于本实施例中机械臂各关节在上一采样时刻的上一目标状态数据。此外,对任一采样时刻的状态量进行优化时,通常还可以确定出与该采样时刻对应的整体误差(相当于状态误差与测量误差的融合)的整体误差协方差矩阵,所确定的整体误差协方差矩阵也用于对相邻下一采样时刻时状态量的优化。

s2024、将各所述过程协方差矩阵、测量协方差矩阵、上一目标状态数据、上一整体协方差矩阵以及各所述关节角度值作为卡尔曼滤波公式的已知信息,获得各所述关节在所述当前采样时刻对应的目标状态数据及整体误差的整体协方差矩阵。

本实施例中的卡尔曼滤波公式具体可看作以上述卡尔曼滤波的理论模型公式为原型通过相应的理论推导获得的可用于优化机械臂各关节状态数据的公式。

进一步地,所述目标状态数据包括:滤波后的关节角度值θ、关节角速度值以及关节角加速度值

所述卡尔曼滤波公式表示为:

其中,k表示第k个采样时刻,k为大于0的整数,为包含关节在第k采样时刻的目标状态数据的三维向量,表示为pk为第k采样时刻的整体误差的整体协方差矩阵;a为设定的3×3矩阵;为包含关节在第k-1采样时刻的目标状态数据的三维向量;表示为:pk-1为第k-1采样时刻的整体协方差矩阵,qk为第k采样时刻的测量协方差矩阵;h为设定的一维向量;rk为第k采样时刻的过程协方差矩阵;zk为由第k采样时刻量测的关节角度值组成的1×1矩阵。

在本实施例中,以机械臂各关节在不同时刻的状态变化为研究背景时,其目标状态数据相当于在当前采样时刻进行卡尔曼滤波优化后的状态量,具体包括了优化后的关节角度值,关节角速度值以及关节角加速度值。

同时,所述卡尔曼滤波公式中的各常量或变量也具有相应的实际意义,其中,表示了对整体协方差矩阵进行优化时的中间状态值,其主要与上一采样时刻获得的上一协方差矩阵及对机械臂关节进行关节角度值测量时测量误差的测量协方差矩阵有关。

需要说明的是,上述卡尔曼滤波公式中的a和h均为预先设定好的已知常量,本实施例优选设定a为3×3的矩阵,且可设定为:其中,t表示本实施例设定采样周期,即当前采样时刻与上一采样时刻的间隔周期。本实施例优选设定h为一维向量,且可设定为h=[1,0,0],由此可知,本实施例实际对机械臂关节测量的仅为关节角度值。此外,本实施例中需要设定k等于1时,以及pk-1的初始值,一般可根据历史经验设定相应的经验值。

s203、采用设定的低通滤波策略处理各所述力矩数据,确定各所述关节在所述当前采样时刻对应的目标力矩数据。

本实施例优选采用低通滤波策略对机械臂各关节所对应电机的力矩数据进行滤波处理,由此可获得机械臂各关节所对应电机的目标力矩数据。

具体地,本实施例进一步将采用设定的低通滤波策略处理各所述力矩数据,确定各所述关节在所述当前采样时刻对应的目标力矩数据,优化为:

将各所述力矩数据及各所述关节在历史采样时刻的历史目标力矩数据作为巴特沃斯滤波器所对应滤波公式的已知信息,获得各所述关节在所述当前采样时刻的目标力矩数据;

相应的,所述滤波公式表示为:

其中,ai和bi均为巴特沃斯滤波器中设定的滤波系数,i取1,2,3,4,5;k表示第k个采样时刻,y(k)表示关节在第k采样时刻的目标力矩数据;x(k)表示关节在第k采样时刻获得的力矩数据;y(k-j)表示关节在第k-j采样时刻对应的目标力矩数据,x(k-j)表示关节在第k-j采样时刻对应的目标力矩数据,j取1,2,3,4。

本实施例优选使用了巴特沃斯滤波器,并具体根据其对应的滤波公式实现了目标力矩数据的确定操作。本实施例同样需要设定k等于1时y(0)以及x(0)的初始值,通常也根据历史经验设定对应的经验值。

本实施例下述s204至s207具体给出了未知动力学参数辨识的操作。

s204、基于各所述目标状态数据,优化动力学模型中线性化参数模型部分的线性函数矩阵。

本实施例沿用现有的动力学模型,动力学模型公式表示为:具体地,τ表示基于机械臂各关节的力矩数据构成的力矩数据矩阵;表示通过机械臂各关节的状态数据构成的线性化参数模型部分的线性函数矩阵;p则表示控制机械臂的动力学参数构成的矩阵。

针对现有的动力学模型,本步骤可通过上述操作获取的机械臂各关节的目标状态数据,对线性函数矩阵进行优化,即相当于通过各目标状态数据重新构成线性函数矩阵。

s205、获取为所述机械臂各关节预先设定的电机惯性力,并获取所述机械臂各关节运动时产生的关节摩擦力。

本实施例中考虑了电机惯性力及关节摩擦力对动力学模型精度的影响,本步骤具有用于获取预设的电机惯性力,同时还获取运动产生的关节摩擦力。

s206、根据各所述目标力矩数据及对应的电机惯性力和关节摩擦力,优化所述动力学模型中的力矩数据矩阵。

本步骤相当于对力矩数据矩阵τ的优化,力矩数据矩阵τ的计算公式可看作:τ=τ0-f-τm,其中,τ0表示当前获得的目标力矩数据构成的矩阵,f为关节摩擦力构成的矩阵,τm为电机惯性力构成的矩阵。

s207、根据所述线性函数矩阵及所述力矩数据矩阵,采用最小二乘法获取所述动力学模型中的未知动力学参数。

本步骤通过上述s204至s206完成了动力学模型中部分参数的优化,因此根据上述已知的线性函数矩阵及力矩数据矩阵,采用最小二乘法就可以估计动力学模型中的未知动力学参数。具体地,可通过下述公式进行未知动力学参数的估计:p=(yty)-1yτ。

本发明实施例二提供的一种动力学模型参数辨识方法,具体采用了卡尔曼滤波实现了机械臂关节状态变化时状态数据的优化,同时采用了低通滤波实现了机械臂关节所对应电机力矩数据的优化,此外,还具体化了动力学模型的优化操作以及未知动力学参数的获取操作。利用该方法,采用卡尔曼滤波提高了机械臂关节角度、角速度以及角加速度等状态数据的精度,采用低通滤波器有效提高了力矩数据的精度,同时机械臂动力学模型中关节摩擦力与电机本身惯性力的考虑,有效提高了动力学模型的精度,基于上述优化改进,实现了未知动力学参数的高精度辨识,进而提高了动力学模型对机器人控制的控制性能。

实施例三

图4为本发明实施例三提供的一种动力学模型参数辨识装置的结构框图。该装置适用于对动力学模型中未知动力学参数进行辨识的情况,其中该装置可由软件和/或硬件实现,并一般集成与机器人存在电连接的计算机设备上,优选地,可集成在与机器人电连接的上位机上。如图4所示,该装置包括:测量数据获取模块31、数据滤波处理模块32以及未知参数辨识模块33。

其中,测量数据获取模块31,用于获取机械臂各关节沿设定激励轨迹运动时在当前采样时刻测量的关节角度值和力矩数据;

数据滤波处理模块32,用于分别对各所述关节角度值以及各所述力矩数据进行滤波处理,获得各所述关节在所述当前采样时刻的目标状态数据和目标力矩数据;

未知参数辨识模块33,用于根据各所述目标状态数据及所述目标力矩数据优化动力学模型,并辨识所述动力学模型中的未知动力学参数。

在本实施例中,该装置首先通过测量数据获取模块31获取机械臂各关节沿设定激励轨迹运动时在当前采样时刻测量的关节角度值和力矩数据;然后通过数据滤波处理模块32分别对各所述关节角度值以及各所述力矩数据进行滤波处理,获得各所述关节在所述当前采样时刻的目标状态数据和目标力矩数据;最终通过未知参数辨识模块33根据各所述目标状态数据及所述目标力矩数据优化动力学模型,并辨识所述动力学模型中的未知动力学参数。

本发明实施例三提供的动力学模型参数辨识装置,能够通过对测量获得机械臂关节位置数据以及力矩数据的滤波处理,获得机械臂关节所对应高精度的目标状态数据和目标力矩数据,由此根据高精度的状态数据及力矩数据实现了对所构建动力学模型精度的优化,从而实现了未知动力学参数的高精度辨识,提高了动力学模型的准确性,进而提高了动力学模型对机器人控制的控制性能。

进一步地,数据滤波处理模块32,包括:

状态数据确定单元,用于采用设定的卡尔曼滤波策略处理各所述关节角度值,确定各所述关节在所述当前采样时刻对应的目标状态数据;

目标力矩确定单元,用于采用设定的低通滤波策略处理各所述力矩数据,确定各所述关节在所述当前采样时刻对应的目标力矩数据。

优选地,状态数据确定单元,具体可用于:

获取各所述关节由上一采样时刻过渡到所述当前采样时刻时所产生过程误差的过程协方差矩阵;获取在所述当前采样时刻测量各所述关节的关节角度值时所产生测量误差的测量协方差矩阵;获取各所述关节在所述上一采样时刻确定的上一目标状态数据和上一整体误差的上一整体协方差矩阵;将各所述过程协方差矩阵、测量协方差矩阵、上一目标状态数据、上一整体协方差矩阵以及各所述关节角度值作为卡尔曼滤波公式的已知信息,获得各所述关节在所述当前采样时刻对应的目标状态数据及整体误差的整体协方差矩阵。

在上述优化的基础上,所述目标状态数据包括:滤波后的关节角度值θ、关节角速度值以及关节角加速度值

所述卡尔曼滤波公式表示为:

其中,k表示第k个采样时刻,k为大于0的整数,为包含关节在第k采样时刻的目标状态数据的三维向量,表示为pk为第k采样时刻的整体误差的整体协方差矩阵;a为设定的3×3矩阵;为包含关节在第k-1采样时刻的目标状态数据的三维向量;表示为:pk-1为第k-1采样时刻的整体协方差矩阵,qk为第k采样时刻的测量协方差矩阵;h为设定的一维向量;rk为第k采样时刻的过程协方差矩阵;zk为由第k采样时刻量测的关节角度值组成的1×1矩阵。

优选地,目标力矩确定单元,具体用于:

将各所述力矩数据及各所述关节在历史采样时刻的历史目标力矩数据作为巴特沃斯滤波器所对应滤波公式的已知信息,获得各所述关节在所述当前采样时刻的目标力矩数据;

相应的,所述滤波公式表示为:

其中,ai和bi均为巴特沃斯滤波器中设定的滤波系数,i取1,2,3,4,5;k表示第k个采样时刻,y(k)表示关节在第k采样时刻的目标力矩数据;x(k)表示关节在第k采样时刻获得的力矩数据;y(k-j)表示关节在第k-j采样时刻对应的目标力矩数据,x(k-j)表示关节在第k-j采样时刻对应的目标力矩数据,j取1,2,3,4。

在上述优化的基础上,未知参数辨识模块33,具体可用于:

基于各所述目标状态数据,优化动力学模型中线性化参数模型部分的线性函数矩阵;获取为所述机械臂各关节预先设定的电机惯性力,并获取所述机械臂各关节运动时产生的关节摩擦力;根据各所述目标力矩数据及对应的电机惯性力和关节摩擦力,优化所述动力学模型中的力矩数据矩阵;根据所述线性函数矩阵及所述力矩数据矩阵,采用最小二乘法获取所述动力学模型中的未知动力学参数。

实施例四

图4为本发明实施例四提供的一种计算机设备的硬件结构示意图,如图4所示,本发明实施例四提供的计算机设备,包括:处理器41和存储装置42。该计算机设备中的处理器可以是一个或多个,图4中以一个处理器41为例,所述计算机设备中处理器41和存储装置42可通过总线或其他方式连接,图4中以通过总线连接为例。

该计算机设备中的存储装置42作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中动力学模型参数辨识方法对应的程序指令/模块(例如,附图3所示的动力学模型参数辨识装置中的模块,包括:测量数据获取模块31、数据滤波处理模块32以及未知参数辨识模块33)。处理器41通过运行存储在存储装置42中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例中动力学模型参数辨识方法。

存储装置42可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储装置42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

并且,当上述计算机设备所包括一个或者多个程序被所述一个或者多个处理器41执行时,程序进行如下操作:

获取机械臂各关节沿设定激励轨迹运动时在当前采样时刻测量的关节角度值和力矩数据;分别对各所述关节角度值以及各所述力矩数据进行滤波处理,获得各所述关节在所述当前采样时刻的目标状态数据和目标力矩数据;根据各所述目标状态数据及所述目标力矩数据优化动力学模型,并辨识所述动力学模型中的未知动力学参数。

此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被控制装置执行时实现本发明实施例一或实施例二提供的动力学模型参数辨识方法,该方法包括:获取机械臂各关节沿设定激励轨迹运动时在当前采样时刻测量的关节角度值和力矩数据;分别对各所述关节角度值以及各所述力矩数据进行滤波处理,获得各所述关节在所述当前采样时刻的目标状态数据和目标力矩数据;根据各所述目标状态数据及所述目标力矩数据优化动力学模型,并辨识所述动力学模型中的未知动力学参数。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1