机器人运动与导航技术解析
1 时间与运动基础
1.1 姿态估计算法
在姿态估计方面,有如下代码实现:
>> kI = 0.2; kP = 1;
>> b = zeros(3, numcols(w));
>> attitude_ecf(1) = UnitQuaternion(); b = [0 0 0]';
>> for k=1:numcols(wm)-1
invq = inv( attitude_ecf(k) );
sigmaR = cross(gm(:,k), invq*g0) + cross(mm(:,k), invq*m0);
wp = wm(:,k) - b(:,k) + kP*sigmaR;
attitude_ecf(k+1) = attitude_ecf(k) .* UnitQuaternion.omega( wp*dt );
b(:,k+1) = b(:,k) - kI*sigmaR*dt;
end
此代码通过多传感器信息融合,对运动物体的姿态进行估计。其中, kI 和 kP 为控制参数, b 为估计的陀螺仪偏差。通过循环不断更新姿态和偏差估计值。之后,可通过以下代码绘制估计姿态与真实姿态的角度差:
>> plot(t, angle(attitude_ecf, truth
超级会员免费看
订阅专栏 解锁全文

85

被折叠的 条评论
为什么被折叠?



