机器人动力学参数辨识

来源 | 睿慕课

 

正文开始:有了前面机器人动力学建模(机器人动力学方程的四种形式)和最小惯性参数集(机器人最小惯性参数集)的基础,明白了离散系统辨识与连续系统辨识的区别,接下来我们就可以开始做动力学参数辨识的工作了。

    采用的方法是大家最熟悉的最小二乘法:通过采集N组数据,记录关节位置与力矩,带入到基于最小惯性参数集的动力学方程中,由于Yr'*Yr是满秩的,即可以算出动力学参数向量pr

动力学参数辨识的算法看起来是很容易的,大家一仿真相信效果都好得不行,然而在实践中却步步陷阱,后面会列几点相关的技术细节。

1.如何获取Yr

Yr是由角度、角速度与角加速度构成的矩阵,实际中角度可通过位置传感器获取,而角速度与角加速度需通过差分处理,差分会大大的放大噪声,需用低通滤波处理获取;

 

知乎文章:机器人怎么测量关节速度?

https://www.zhihu.com/question/266452955/answer/309167812

然而滤波器会引入信号的相位延迟,我们需通过合适的滤波器保证对角度、角速度和角加速度引入相同的时间延时,或者采用离线的无延迟滤波器。

2.离散系统辨识与连续系统辨识

这个概念需要好好区分下,比较容易使人迷惑,教材中对这块提及的比较少。

                               文章:离散系统辨识与连续系统辨识

3.激励轨迹

顾名思义,既然是动力学参数,那就得让机器人运动起来,这就需要设计机器人的运动轨迹:通过轨迹激励出相关参数在动力学方程中的作用,这样我们才可以识别出它来,所以该轨迹一般称为激励轨迹。

激励轨迹直接影响Yr矩阵的病态性;举例来说,下图的两个矩阵只有一个元素差1,然而计算出来的结果却天差地别。

我们设计激励轨迹的目的,是为了降低矩阵Yr的条件数。关于这部分大家可参考这篇很好的文章:Jan Swevers et al. Optimal Robot Excitation and Identification, IEEE Trans. on Robotics.

4.辨识结果

首先我们设计出了各关节的激励轨迹,运用最小二乘辨识出动力学参数;下图给出了拟合力矩与实际力矩曲线,在下方的差值曲线中,会存在着误差尖峰值,这本质上是由换向时库伦摩擦力估计误差带来的,因为我们不能准确获知机器人换向的时刻,导致了估计的库仑摩擦力在换向时刻附近存在着大的跳跃。

上:为拟合力矩与实际力矩,下:差值

用其他轨迹的测试结果如下,同样在换向附近会存在着大的跳跃。

上:为拟合力矩与实际力矩,下:差值

 

总结

我们可以通过严格的牛顿力学理论推导出解析的机器人动力学方程,所以辨识方法围绕着最小二乘思想展开就好,没必要用神经网络等方法,得不偿失。

基于电流环做动力学建模与辨识会受到摩擦力的严重干扰,过于复杂的摩擦力模型并不能从本质上解决电流环的问题,因为这些参数都是时变且与机器人位姿紧密相关的,模型复杂可能会导致泛化能力变差;学术界目前没有合适的方法应对摩擦力,常用的摩擦力模型还是库仑摩擦力+粘滞摩擦力。

其实机器人动力学参数的数目没那么多,国内一些公司宣传动力学时说他们可辨识几百个参数......我认为宣传有点过了,或者摩擦力模型非常复杂。机器人系统辨识已经很成熟了,我们更多的要以学术界的经典论文作为工程问题的依据。

先仿真,后实践。

 

  • 11
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
### 回答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算法能够逐渐收敛到真实参数的估计值,提高机器人运动控制的精确性和稳定性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值