机器人动力学参数辨识

动力学参数辨识简介

意义

机器人技术正在向高速、高精度和智能化方向发展,因此,对机器人的控制精度提出了更高的要求。相比于传统仅基于误差反馈的控制方案,基于模型的控制由于加入了机器人的动力学模型,因而可提高机器人的动态性能及对轨迹的跟踪精度。构造基于模型的控制方案离不开精确的动力学模型,然而实际机器人存在诸多影响动力学的因素,必须对其进行补偿。采用对整体机器人进行动力学参数辨识的方法,既不增加动力学模型的复杂性,又可体现各种动力学影响因素的作用,获取最接近机器人实际动态特性的动力学模型。

通常情况下,标准的工业控制器通过机械臂内部的PID进行调节控制机械臂的运动,即用PID输出力矩,涉及到经典的电机三环控制(位置环、速度环、电流环),忽略了机器人动力学中的非线性因素。非线性因素包括离心力与科氏力、重力、摩擦力以及各关节之间的相互耦合作用。仅通过PID进行控制无法解决机器人在高速运行(如激光焊接、切割、医疗器械和空间机器人)时的控制精度问题(运动过程中机械臂惯量变化导致的位置误差),但这个问题可以通过新的控制技术进行一定的补偿,从而加快驱动器内部的误差收敛速度,改善机器人的动态响应特性。基于机械臂动力学模型的前馈补偿是最常用和使用的方法之一。前馈补偿需要用到机械臂的动力学模型,在不进行动力学参数辨识的情况下,仅根据设计数据得到的动力学参数是不准确的,因为机械臂结构会因加工、装配等因素影响导致部分参数不准确或未知。而使用不准确的动力学参数反而会导致控制系统的不稳定。

动力学参数辨识的意义在于:

  1. 提高模型的准确性:动力学模型是描述机器人或物理系统行为的重要工具。通过辨识动力学参数,可以提高模型的准确性和可靠性,从而更好地预测和理解系统的行为。
  2. 改进控制性能:准确的动力学模型可以用于设计和调优控制算法,以实现更精确和稳定的控制。通过辨识动力学参数,可以获得更准确的模型,从而改善控制性能。
  3. 优化系统设计:通过辨识动力学参数,可以了解系统的物理特性和动力学行为,从而指导系统的设计和优化。这对于机器人的结构设计、传感器选择和执行器配置等方面都具有重要意义。
  4. 研究系统特性:动力学参数辨识可以帮助研究系统的特性和行为,探索机器人或物理系统的动力学规律和性能限制。这对于深入理解系统的工作原理和改进技术非常重要。
方法

作为机器人领域研究的热点问题,动力学参数辨识受到了国内外许多学者的关注,相继提出了一系列具有应用价值的方法。概括起来可分为解体测量方法,CAD 方法、以及整体辨识方法

  1. 解体测量计算方法:解体测量计算方法是将机器人的各个连杆分解,然后分别测量各连杆的几何参数,并且鉴定连杆的材料,按照刚体惯性参数的定义计算连杆的惯性参数值。这种方法的优点是无需采用任何辅助手段,无需数据采集及算法设计,且可以辨识出所有参数的独立值。缺点是,对于形状复杂的构件,惯性参数的计算十分复杂,且质心、连杆长度等参数的精确测量也不易实现,另外,这种方法无法计及关节摩擦及关节柔性,因而由这组辨识参数计算得到的力矩与实际值仍会有较大误差。
  2. CAD 方法:CAD 方法是随着计算机辅助设计技术的发展而形成的,通过机器人的三维设计模型,由软件自动计算得到或由理论公式计算得到。该方法较解体测量方法容易获得惯性参数的独立值,缺点同样是无法计及关节因素,包括关节摩擦及弹性对动力学的影响,而且 CAD 测量的是理想情况下的惯性参数值,实际加工及装配过程的误差,会使得这一值偏离惯性参数的实际值。
  3. 整体辨识:整体辨识是对实际的机器人进行辨识实验,即给定机器人各关节一个优化好的轨迹,机器人运动过程中,对各关节的力矩及关节转角参数进行测量,将测量的数据带入到辨识模型,通过构造的辨识算法便可计算出动力学参数的值。整体辨识较前几种辨识有明显的优点。由于辨识实验与机器人实际工作时完全相同,因此,该辨识方法能够计及机器人实际工作过程中各种影响因素的作用,尽管需要对力矩及转角进行测量,但工业机器人一般都安装有相应的测量传感器,如关节转角可通过安装在电机上的编码器测得,力矩可通过电流与力矩的关系由电流的测量值得到。由于整体辨识能够考虑到各种动力学影响因素的作用,因而目前动力学参数辨识大都采用这种辨识方案
目的

动力学参数辨识的目的是根据动力学参数的辨识值准确计算机器人进行某运动所需要的力矩,因而动力学参数的辨识值与真实值一致与否并不是动力学参数辨识结果是否可接受的唯一衡量标准,决定辨识结果是否合理的是力矩的预测精度,即由动力学参数辨识值计算得到的力矩值与实际测量到的力矩值是否一致。由于整体辨识方案得到的是一组综合了各种因素的参数值,因而由这组参数计算得到的力矩值比其他辨识方案计算出的力矩更接近实际情况。
辨识策略大致可分为两类及整体辨识法和基于连杆组合体的辨识方法。整体辨识时让所有关节一起运动,然后采集所有关节的电流或力矩及转角,带入到整体的辨识模型,一次性计算出所有的待辨识参数。操作简便,但参数易受负载影响,使用与负载不频繁变化的场合。采用连接组合体的辨识方法是通过将关节进行锁定,每次都相当于辨识最末关节的参数。操作繁琐,但受负载影响较小,使用与负载频繁变化的场合。

完整的动力学参数辨识过程

  1. 收集实验数据
    设计实验或收集观测数据,以获取系统的输入和输出数据。输入数据是指对系统施加的控制信号,输出数据是指系统的响应或输出信号。

    对于机器人来说,输入输出数据通常指以下数据:
    输入数据(Input Data):机器人的输入数据是指对机器人施加的控制信号或指令。这些信号可以是机器人的关节角度、速度、力矩等控制指令,也可以是机器人的轨迹规划或路径规划指令。输入数据的选择和设计需要根据机器人的控制系统和任务要求来确定。
    输出数据(Output Data):机器人的输出数据是指机器人的响应或输出信号。这些信号可以是机器人的关节角度、位置、速度、力矩等物理量,也可以是机器人的传感器数据,如视觉传感器、力传感器等的测量数据。输出数据的选择需要与机器人的任务和应用相匹配。

    对于机器人系统,输入数据和输出数据的采集通常需要使用传感器、编码器等设备进行实时监测和记录。输入数据的准确性和实时性对机器人的控制和运动精度至关重要。输出数据的准确性和稳定性则对机器人的感知和决策能力有重要影响。因此,数据的采集和处理对机器人的控制、规划和决策等方面具有重要意义。

  2. 建立串联机器人系统的动力学模型。

机器人动力学方程描述了机器人系统在给定输入和外部力矩作用下的运动行为。机器人动力学方程有四种常见的形式,分别是:

1. 基于牛顿-欧拉方法的动力学方程(Newton-Euler Formulation):这种形式基于牛顿定律和欧拉定理,将机器人//系统的运动方程表示为物体质点的运动方程和物体的旋转方程的组合。该方法适用于刚体机器人的动力学建模。
2. 基于拉格朗日方法的动力学方程(Lagrangian Formulation):这种形式基于拉格朗日力学原理,将机器人系统的动力学方程表示为广义坐标和广义速度的函数。通过对系统的动能和势能进行建模,可以得到机器人的动力学方程。
3. 基于哈密顿原理的动力学方程(Hamiltonian Formulation):这种形式基于哈密顿原理,将机器人系统的动力学方程表示为广义坐标和广义动量的函数。通过对系统的哈密顿函数进行建模,可以得到机器人的动力学方程。
4. 基于Kane方法的动力学方程(Kane's Method):这种形式基于Kane方法,将机器人系统的动力学方程表示为广义坐标和广义力的函数。该方法适用于复杂的非刚体机器人系统的动力学建模。
  1. 对建立的动力学模型进行参数线性优化

动力学方程模型并不是线性的,给参数辨识带来了麻烦,为了对参数辨识需要对方程进行参数线性化处理,将其转化为关节力矩与惯性参数的线性函数。

下式为动力学模型的一般形式:
Q = M ( q ) q ¨ + C ( q , q ˙ ) q ˙ + G ( q ) + F ( q ˙ ) Q=M(q)\ddot{q}+C(q,\dot{q})\dot{q}+G(q)+F(\dot{q}) Q=M(q)q¨+C(q,q˙)q˙+G(q)+F(q˙)
其中:
Q 是机器人关节力矩(或力)的向量,也是输出数据。
M(q) 是质量矩阵,描述了机器人关节的质量分布。
q ¨ \ddot{q} q¨ 是关节加速度的向量,也是输入数据。
C ( q , q ˙ ) q ˙ C(q,\dot{q})\dot{q} C(q,q˙)q˙ 是科里奥利力矩阵,描述了由于关节速度和关节加速度而引起的惯性力矩。
G ( q ) G(q) G(q) 是重力力矩向量,描述了由于重力而引起的力矩。
F ( q ˙ ) F(\dot{q}) F(q˙) 是摩擦力矩向量,描述了由于摩擦而引起的力矩。

由于动力学参数以非线性形式隐藏于上式中,因此需要进行适当的线性变换,转化为如下形式:
1. Q = H ( q , q ˙ , q ¨ ) X B Q=H(q,\dot{q},\ddot{q})X_B Q=H(q,q˙,q¨)XB
其中, X B X_B XB代表整个机器人的动力学基本参数集, X B = [ X 1 , X 2 , . . . , X 6 ] T X_B=[X_1,X_2,...,X_6]^T XB=[X1,X2,...,X6]T,而对于每一个独立连杆,有:
在这里插入图片描述
2. τ = W ( q , q ˙ , q ¨ ) P \tau=W(q,\dot{q},\ddot{q})P τ=W(q,q˙,q¨)P
在这里插入图片描述
3. 参数的独立性处理(获取最小参数)

由于并非所有的惯性参数都对关节力矩产生影响,因此仅计算有关参数,称之为最小参数集。
第2步中得到的这些参数之间并不是相互独立的,参数相互独立是取得较高辨识精度的前提,因此需要对待辨识参数的独立性进行分析,目的是找到一组相互独立的参数集合,即最小参数集。最小参数集是参数的组合值,目前动力学参数辨识大多只能辨识出这一组合值,但组合值并不影响动力学的计算,完全可以取代实际参数。而且还可以简化动力学模型。获取最小参数(实际参数的组合值)的常用方法有利用机器人几何参数直接推导最小惯性参数和利用QR分解获取最小参数等。处理结果为
在这里插入图片描述
4. 轨迹优化
参数的可辨识性与所选择的关节运动密切相关,关节运动轨迹选取不当会造成某些参数不可辨识。同时,参数的辨识精度与关节运动轨迹也有很大关系。目前,工业机器人动力学参数辨识大都采用傅立叶级数型的轨迹
在这里插入图片描述在这里插入图片描述
5. 最小参数的辨识

很多算法都可用于动力学参数辨识,如最大似然估计,最小二乘法,卡尔曼滤波,神经网络,遗传算法等,本文采用最小二乘法作为辨识算法,该方法被国内外学者广泛应用于动力学参数辨识,且取得了理想的精度,另外,相对于其他算法,该方法构造起来十分方便,参数设置无需任何经验(神经网络、遗传算法),也无需将动力学转换为状态方程的形式(卡尔曼滤波)。这里采用最小二乘方法求解,解得一般形式为:
P B = ( w B T W B ) − 1 w b T τ P_{B}=(w_{B}^{T}W_{B})^{-1}w_{b}^{T}\tau PB=(wBTWB)1wbTτ
其中,

  • P B P_B PB:参数向量,表示需要估计的参数
  • ω B \omega_B ωB:输入向量,包含机器人系统的输入信号,如关节角度、关节速度等
  • W B W_B WB :权重矩阵,用于加权输入向量 ω B \omega_B ωB,可以根据实际情况进行选择
  • ω b \omega_b ωb:输出向量,包含机器人系统的输出信号,如关节力矩、末端力等
  • τ \tau τ:实际的输出信号,即观测到的机器人系统的输出。在这里插入图片描述
    在这里插入图片描述
  1. 将参数化动力学模型变为状态空间形式

在具体应用动力学模型是往往采用的是状态空间形式的动力学模型,状态空间形式的动力学模型显示的给出了惯性项、奥利科里项及重力项。可以应用于多种控制方法,如可以将重力项用于阻抗控制的重力补偿。该动力学模型与第1步中的动力学模型的差别反应在采用的参数不同,前者是实际参数的组合值,后者是实际参数,但二者本质上是一样的。由于该方程采用的实际参数的组合,减少了参数个数,简化的动力学模型,所以提高了运算速度。

辨识过程流程图

在这里插入图片描述

技术名词解释

待补充

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值