- 这是一个单关节电机的动力学辨识过程,这是一个yaw轴转动电机的动力学辨识过程
1、动力学建模
(1)整体动力学
F = J α + f F = J\alpha + f F=Jα+f
- 单关节的物理量包括惯性项、离心力和科氏力、摩擦力。这里忽略离心力和科氏力,据说影响较小,很多人都直接忽略掉了。
(2)摩擦力建模
资料:https://zhuanlan.zhihu.com/p/446328872
f = k 1 ∗ s g n ( v ) + k 2 ∗ a b s ( v ) f = k1*sgn(v)+k2*abs(v) f=k1∗sgn(v)+k2∗abs(v)
- 摩擦力这里使用库仑摩擦力+粘性摩擦力的形式
- 摩擦力其实很难精准建模,这也是前面忽略了影响较小的离心力和科氏力的原因之一,反正建模也不准确,没必要都考虑到
- 摩擦力的库仑摩擦力跟法向压力有关,所以这个sgn量的幅值其实是会变化的,但变化不大的情况下不用太纠结。
2、辨识摩擦力模型
(1)激励曲线
- 一般认为摩擦力主要是跟速度有关,所以只要以不同的速度匀速运动就能看到摩擦力的曲线,因为加速度为0
(2)数据处理
- 在相同速度的区间内做力反馈的均值即可获得一个大概的摩擦力数值
- 获得速度与摩擦力的一组点后,进行数据拟合即可
- 注意这个运动方向变化的时候,力矩会有一个不连续的突变,主要原因可能是减速器具有间隙,方向变化时出现了一个碰撞
3、辨识惯性量
(1)激励曲线
- 走一个速度的40*sin(t)曲线
(2)加速度数据获得
- 一般来说获得单关节的加速度是一个问题,因为编码器都是位置的,微分后获得速度。速度虽然有一定噪声,但是还算准确。但是当再次微分计算加速度时,噪声再次放大,数据就比较难看了。
- 常见的思路是对数据进行滤波,但是我感觉这里也没必要,速度曲线跟踪比较好的情况下,直接对期望曲线进行微分获得期望加速度。以这个期望加速度当作实际加速度,实际加速度也就是在这个期望曲线周围震荡。