G、F辨识

1.动力学建模。牛顿-欧拉构造,通过QR分解合并项获得机器人最小惯性参数集,力矩计算式也精简为两个矩阵的乘法。对于非线性摩擦产生的力矩项要单独计算后额外补充。编写C语言版力矩计算函数,通过提取共同计算项,降低实时运行计算量。
2. 参数辨识。复杂激励轨迹方法,精度不敢恭维,对激励曲线参数过拟合严重,测试曲线效果较差。一次性计算所有参数,似乎不是一个好的方法。分步参数辨识方法:(1)先通过各个关节的在不同转速下的顺逆时的单独的匀速运动,辨识出关节的摩擦参数(包括线性和非线性摩擦)和各连杆重力项参数(质量*重心到转轴距离)。(2)在测得摩擦参数以及重力项参数的基础上,通过复杂的激励轨迹,辨识出杆件惯性张量等其他动力学参数。

(1)单独、匀速、正反项、多个转速,获取实验数据。各个关节单独做匀速运动,运动时其他关节保持不动,例如其他关节保持默认0度转角。做匀速转动,包括顺时和逆时针方向,缺一不可。在多个不同的转动速度下测量得到关节转动的力矩数据。测量时,在一个时间中,可以采样得到 (时间,关节转角,力矩)三个数据,通过差分可以得到关节转速,基本就是一个恒定的值。在一个匀速运动完成后,可以得到一个关于 (关节转角,关节力矩)的曲线图数据,其为一个转速下的结果。假设每个关节进行M组不同速度的测试,包括顺逆时,对于N关节机器人,则总共可以采集到 MN2个关于 (关节转角,关节力矩)的曲线图数据,每个曲线包括有转角、转速、关节力矩三个信息。

建立动力学方程。建立单个关节匀速运动的力矩式:关节力矩=F(关节转角,关节转速),参数为关节摩擦参数和重力项参数(注意不是连杆重力项),其中每个关节的重力项参数有两项,对应X和Y两个维度,关节摩擦可以加入非线性摩擦项及其参数。

求解最优参数。数据和模型有了,下一步就是求解参数值。偷个懒,使用matlab的Curve Fitting Tool,用二维的曲线图的拟合方法,输入的x、y数据为关节转角、转速,z数据为关节力矩,写入模型,灌入数据,等待,ok。matlab真是我再生父母!

重力项解耦。在单个关节运动求得的重力项中,不仅包含了对应关节的连杆重力,也包括了下一个至最后关节的连杆重力,因此需要通过解耦,得到各个连杆单独的重力项。解耦方法是:在前面1的动力学建模中 ,在牛顿-欧拉构造得到的式子中将关节转速和角加速度设置为0,就得到单纯只有重力项的力矩方程式。其中,关节力矩为关节转角的函数,参数为各个连杆的重力项参数。通过提取一个第i关节力矩式中关于sin(qi)和cos(qi)的部分(qi为关节i的关节转角),得到一个关节的重力项相对于各连杆重力项的表达式:关节的重力项为各个连杆的重力项加权求和的结果,而权重取决于其他关节的转角。将关节单独匀速转动时其他关节的转角代入,求得权重数,便得到关节重力项关于连杆重力项的表达式,每个关节的重力项有X和Y两个维度的辨识结果,共有N2个多元一次方程,而代求取的参数共有N个连杆的XY两个维度的重力项参数共N2个,刚好对应上。可以从关节重力项求得连杆的重力项。从求解的细节上看,可以理解为从第N关节的数据中求得第N个连杆的重力项,在从第N-1个关节的数据以及第N个连杆的重力项参数中计算得到第N-1个连杆的重力项,依次类推。用表达式求解更加规范。

为什么要匀速?为了避开惯性力矩项的影响。为什么要单独一个一个关节做?为了避开各个关节耦合产生的力矩项。为什么要顺逆时针都做?这样才能测得到关节重力项大小。为什么要测量多个转速下的速度?这样才能测得到关节摩擦参数大小。

(2)多关节复杂激励轨迹,将(1)中测得的参数作为已知,辨识机器人的杆件惯性张量等其他动力学参数。不多赘言了。

3.非线性摩擦。重点关注干性摩擦。干性摩擦的特点就是摩擦力大小和接触面压力成正比。这个很好理解,一个小木块在桌面上滑动,摩擦力大小为木块重力乘以摩擦系数。在机器人关节中表现为 干性摩擦力矩大小=关节力矩*干性摩擦系数。这个模型可以加入到动力学辨识的(1)中辨识出干性摩擦系数。此外如果做低速领域,还要关注stribeck摩擦,它是关节在低速运动下润滑不充分导致的,本质也是一种干摩擦。此外关节力矩中有种低频的抖动在,不像是噪声,可能是减速器太拉导致的吧。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值