用最小二乘法标定
通用性好,效果一般。(pid),
为 × 的矩阵。
x为 × 1的向量
行表示约束,列表示自由度(未知数的维度);
当m=n时,适定方程组,方程组有唯一解
当m 当m>n时,超定方程组,方程组有通常无解 (最多的) 无解,可以寻找最靠近真实解的解 如果一个系统AX=B 是病态的(AX=B+&b)会导致最终结果偏差非常大。 解:误差最小的方向 在非线性中 对误差求偏导 最终来拟合。 线性最小二乘的高纬代数通解 最小二乘会被个别点带偏,对噪声 处理,用 Ransac … 也可用迭代最小二乘(跟卡尔曼滤波有深厚关系卡尔曼过程噪声为0时 结果一致)。 direct Liner method *基于模型的方法 Modle-hased 实现直接线性方法 其中: 11 12 13 对于每一组数据,可得: ∗ 11 + ∗ 12+ ∗ 13 = ∗ 测试环节 用到CSM包 sudo apt-get ros-ingigo-kinect CSM
绝大多数情况为m>n,超定方程组
无解但是有最小二乘解
*通解: ∗ = ()−1
例子
3、最小二乘在里程计标定中的应用
直接线性方法
X = 21 22 23
31 32 33
∗ 21 + ∗ 22+ ∗ 23 = ∗
∗ 31 + ∗ 32+ ∗ 33 = ∗