机器人动力学参数辨识

本文为《串联机器人高性能运动控制方法研究_陈超》一文的笔记 

一、辨识目的

(1)解决机器人非线性效应,提高运动控制性能;

(2)在普常用机器人PID控制中作为前馈控制降低系统误差;

二、主要分类

相比较而言,离线辨识中最小二乘法使用最广泛。

三、 动力学模型

 n连杆刚性机器人的动力学模型:

M\left ( q \right ) \ddot{q} + C(q,\dot{q}) \dot{q} + G(q) + F_{f}\left ( \dot{q} \right ) = \tau + \tau_{d}

其中,

q = \begin{bmatrix} q_1 & q_2 & \cdots & q_{n} \end{bmatrix} \in \mathbb{R}^{n} 为关节位置,\dot{q},\ddot{q} \in \mathbb{R}^{n}为关节速度和加速度;M(q) \in \mathbb{R}^{n \times n}是对称正定惯量矩阵;C(q,\dot{q})\dot{q} \in \mathbb{R}^{n}表示离心力和科氏力;G\left ( q \right ) \in \mathbb{R}^{n}表示重力;F_{f}\left ( \dot{q} \right ) \in \mathbb{R}^{n}表示摩擦力;\tau \in \mathbb{R}^{n}表示关节输出力矩;\tau_{d} \in \mathbb{R}^{n}表示其它未建模的扰动。

在辨识过程中关节转速要尽可能高。因此摩擦模型为:

F_{f}\left ( \dot{q} \right ) = f_{v} \dot{q} + f_{c} sgn(\dot{q})

其中,f_{v}表示粘滞摩擦系数;f_{c}表示库伦摩擦系数;sgn\left ( \cdot \right )表示符号函数。

不难发现,机器人动力学平衡方程其参数具有很强的耦合特性以及非线性,很难直接获得动力学参数辨识结果。

其动力学平衡方程的等效线性方程为:

\tau =Y_{s}\left ( q,\dot{q},\ddot{q} \right ) X_{s}

其中,

Y_{s}\left ( q,\dot{q},\ddot{q} \right ) \in \mathbb{R}^{n \times N_{s}}为回归矩阵,X_{s} \in \mathbb{R}^{N_{s} \times 1}为动力学基本参数集。

对于一个连杆i而言,基本参数集有以下13个参数:

X_{s} = col \left \{ \begin{matrix} m_{i} & I_{ixx} & I_{ixy} & I_{ixz} & I_{iyy} & I_{iyz} & I_{izz} & m_i p_{ix} & m_i p_{iy} & m_{i}p_{iz} & f_{iv} & f_{ic} & I_{im} \end{matrix} \right \}

其中,m_{i}表示连杆i的质量;\left ( I_{ixx}, I_{ixy}, I_{ixz}, I_{iyy}, I_{iyz}, I_{izz} \right )为连杆i在关节坐标系i原点处的惯性张量矩阵参数;\left ( p_{ix}, p_{iy}, p_{iz} \right )为连杆i的质心在关节坐标系i中的位置;f_{iv},f_{ic}为连杆i的粘滞摩擦系数和库伦摩擦系数,I_{im}表示关机i处等价的电机惯量。

由于某些动力学参数不影响机器人动力学模型,所以一般回归矩阵Y_{s}\left ( q,\dot{q},\ddot{q} \right )不满秩。提取其起作用部分,回归方程可以重写为:

\tau =Y\left ( q,\dot{q},\ddot{q} \right ) X

其中,

Y \left ( q,\dot{q},\ddot{q} \right ) \in \mathbb{R}^{n \times N_{b}}Y_{s}\left ( q,\dot{q},\ddot{q} \right )中线性无关项组成,X \in \mathbb{R}^{N_{b} \times 1}为动力学最小参数集。

四、辨识实验流程

4.1 激励信号选取

由于傅里叶级数具有周期性,机器人可以利用多次采样求平均值提高信号的信噪比,得到比较理想的数据。

预设机器人信息采集频率为f_s(25Hz),轨迹运行频率为f_f(0.1Hz),其在一个轨迹周期内可以采到M = f_s /f_{f}个参数,其M应当设置尽可能大。

有限项傅里叶级数激励轨迹为:
q_i (t) = \sum_{l=1}^{N} \left [ \frac{a_{il}}{\omega_{f} l} sin(\omega_{f} lt) - \frac{b_{il}}{\omega_{f}l}cos(\omega_{f}lt) \right ] + q_{i0}

\dot{q}_i (t) = \sum_{l=1}^{N} \left [a_{il} cos (\omega_{f} lt) + b_{il} sin (\omega_{f}lt) \right ]

\ddot{q}_i (t) =\omega_{f} \sum_{l=1}^{N} \left [-a_{il} sin (\omega_{f} lt) + b_{il} cos (\omega_{f}lt) \right ]

其中,基础频率\omega_{f}=2 \pi f_f,并且所有关节的基础频率都相同;N表示谐波的个数;a_{il}b_{il}表示幅值;q_{i0}为常数项。

4.2 激励轨迹优化

矩阵条件数(矩阵特征值最大除以特征值最小)越小,辨识结果越不容易收到测量噪声的干扰。利用条件数最小作为优化准则,求取轨迹中a_{il}b_{il}以及q_{i0}的值。

利用Matlab中的fmincon()函数。

其优化模型为:

min.cond(\psi )

\left\{\begin{matrix} \left | q_i (t) \right | \leq q_{i,max}\\ \left | \dot{q}_i (t) \right | \leq \dot{q}_{i,max}\\ \left | \ddot{q}_i (t) \right | \leq \ddot{q}_{i,max}\\ \dot{q}_{i}\left ( t_0 \right ) = \dot{q}_{i}\left ( t_f \right ) = 0\\ \ddot{q}_{i}\left ( t_0 \right ) = \ddot{q}_{i}\left ( t_f \right ) = 0 \end{matrix}\right.

其非线性约束转为:

\left | q_i(t) \right |\leq \sum _{l=1}^{N} \frac{1}{\omega_{f} l} \sqrt{a_{il}^{2} + b_{il}^{2}} + \left | q_{i0} \right | \leq q_{i,max}

\left | \dot{q}_i(t) \right |\leq \sum _{l=1}^{N} \sqrt{a_{il}^{2} + b_{il}^{2}} \leq \dot{q}_{i,max};

\left | \ddot{q}_i(t) \right |\leq \omega_{f} \sum _{l=1}^{N} \sqrt{a_{il}^{2} + b_{il}^{2}} \leq \ddot{q}_{i,max}

q_i(t_0) = q_i(t_f) = -\sum_{l=1}^{N} \frac{b_{il}}{\omega_{f}l}+q_{i0} = 0

\dot{q}_i(t_0) =\dot{ q}_i(t_f) = \sum_{l=1}^{N} a_{il} = 0

\ddot{q}_i(t_0) =\ddot{ q}_i(t_f) = \sum_{l=1}^{N} \omega_{f} l b_{il} = 0

4.3 数据预处理

目的是为了克服最小二乘法对测量噪声的敏感。

a) 对多次采样的所有传感器数据求平均;

b) 位置信号:Butterworth低通滤波器和零相位数字滤波器滤除噪声;

c) 速度信号:中心差分法;

d) 加速度信号:中心差分法;

e) 力矩信号:Matlab的smooth平滑滤波;

4.5 最小二乘参数估计

对于超定方程采用:

X^{*}= \left ( Y^{T} Y \right )^{-1} Y^{T} \tau

4.4 辨识总流程

4.5 机器人硬件

 

 

 

 

  • 12
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 机器人rls算法参数辨识是指利用递归最小二乘法(Recursive Least Squares, RLS)算法对机器人系统的参数进行辨识。RLS算法能够通过对机器人系统输入输出数据进行处理,自适应地估计系统的参数值。 RLS算法的参数辨识步骤如下:首先,我们需要收集机器人系统的输入输出数据。可以通过给机器人施加一系列的输入信号,同时记录下对应的输出信号来获得数据。然后,我们需要选择合适的模型来描述机器人系统。常见的模型包括线性模型和非线性模型。根据系统的实际情况选择适合的模型。 接下来,我们将采集到的数据输入到RLS算法中进行处理。RLS算法根据机器人的输入输出数据,逐步迭代,以递归的方式更新模型参数的估计值。算法会根据当前估计值和新的数据计算出新的参数估计值,并更新参数。这个过程持续进行,直到估计值收敛或者满足预设的停止准则为止。 最后,根据RLS算法的迭代过程及结果,我们就可以得到机器人系统的参数辨识结果。这些参数可以帮助我们更好地理解机器人系统的行为特性,也可以用于控制和优化机器人的工作。 总之,机器人RLS算法参数辨识是一种通过递归最小二乘法对机器人系统的输入输出数据进行处理,自适应地估计系统参数的方法。这种方法能够帮助我们更好地理解机器人的行为特性,并为机器人的控制和优化提供支持。 ### 回答2: 机器人的RLS(Recursive Least Squares)算法参数辨识是指通过不断观测机器人运动状态和环境信息,利用RLS算法来估计系统中的未知参数。RLS算法是一种递归最小二乘法,它能够实时更新参数估计,并适用于在线系统辨识。 RLS算法的参数辨识过程可以简要描述为以下几个步骤: 1. 初始化参数:首先,对待辨识的系统参数进行初始化,可以设置为某个初始值。 2. 观测数据采集:通过机器人的传感器获取运动状态和环境信息。这些数据包括机器人的位置、速度、加速度等。 3. RLS参数更新:根据观测数据,利用RLS算法更新参数估计。RLS算法通过最小化误差的平方和来优化参数,以尽可能准确地拟合系统的行为。 4. 参数收敛判断:通过监测参数估计的变化情况,判断参数是否已经收敛到某个稳定的值。一般来说,可以通过设置一个阈值来判断参数是否收敛。 5. 参数应用:将参数估计应用到机器人的控制或规划中,以实现更准确的运动控制和自主决策。 机器人的RLS算法参数辨识需要合适的观测数据和良好的算法实现。同时,还需要注意参数的初始化和收敛判断,以确保参数估计的准确性和可靠性。通过反复的观测、参数更新和判断,机器人的RLS算法可以不断提高参数估计的准确程度,从而实现更精确的运动控制和环境感知。 ### 回答3: 机器人RLS(Recursive Least Squares)算法是一种参数辨识算法,主要用于对机器人动力学模型中的参数进行辨识。 机器人动力学模型描述了机器人的运动学和动力学特性,其中包括质量、惯性、动摩擦等参数。但实际情况中,这些参数往往是未知的,因此需要通过辨识算法来求解。 RLS算法是一种在线递推算法,能够根据实时采集的机器人运动数据进行参数辨识。其基本原理是通过最小二乘法来拟合机器人动力学模型与实际数据之间的误差,从而不断逼近真实的参数值。 具体而言,RLS算法是通过参数估计误差的协方差矩阵来更新参数的估计值。算法首先初始化参数的估计值和协方差矩阵,然后对每一次采样数据进行处理。在每次新的数据输入时,RLS算法通过计算预测误差和协方差矩阵的更新来更新参数的估计值。经过多次迭代,RLS算法能够逐步收敛到最优的参数估计值。 对于机器人参数辨识而言,RLS算法具有以下优点:1)能够进行在线辨识,实时更新参数估计值;2)能够自适应地调整参数估计的精度;3)对于非线性系统也能够较好地适用。 总之,机器人RLS算法是一种辨识机器人动力学模型参数的有效方法。通过不断迭代和更新,RLS算法能够逐渐收敛到真实参数的估计值,提高机器人运动控制的精确性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值