[问答]我觉得是磁力计手册写错了

之前有个朋友问了我这个问题。

他的疑惑是,他在程序里看到一段磁力计倾斜补偿的算法,跟自己推导出来的算法不一致。

之前推导出来的算法为:

可以看到两个算法的形式完全不一样,但是我们之前说过,这种算法是有隐藏条件的,与使用的坐标系,使用的旋转矩形顺序都有关系,因为他用的程序我没看过,也就没办法推导。

但是我找到了磁力计手册

他给出的算法形式就是类似于程序里使用的算法,并且给出了清晰的坐标定义,我就可以通过推导来判断手册中算法的正确性。

已知,传感器坐标定义,和机体坐标定义

可以看出机体坐标系为 前右下 传感器坐标系为 前左上,所以 传感器(sensor) 坐标系到 机体(body)坐标系 需要乘以 矩阵:(把传感器的坐标转换到与机体坐标一致)

_^. # ()

根据之前的推导,需要转换到水平状态下:

_^. # ()

所以:

_^. # ()

可以看出,这个公式与之前的推导只是有些符号上的不同,但明显跟手册上的结论不一致,所以我认为手册写错了

这里主要想跟大家分享的

1.知道了思路,遇到不同情况,怎么分析

2.验证算法的思路是掌握正确的方法,用正确的方法推导,而不是试图去推导一个错误的答案。

其实正确的思路我之前就查到了,也推导过,但是我看见手册上给出的算法不一致的时候,我首先想到的是推出手册中的算法,这样就可以看看这个计算过程中哪有问题。

结果花了很多时间都推不出这个手册上的算法,才反应过来我明明已经知道了正确的思路,只需要按照正确思路推导一遍就行了,才想起来以前也犯过类似的错误,想证明什么错了,就想推导出这个错误,去证明它错了,其实我们学习的目的是学会正确的思路,有了正确的思路进行正确的推导就行。

希望能帮你避开一些坑。

zinghd wechat
期待您的关注
您的赞赏是最大的支持