[飞控]聊点姿态(二)-坐标系旋转(2019-1-12更新)

我们在飞控学习过程中听到太多次A坐标系转B坐标系了,那么什么是坐标系旋转呢?

假设向量 OA在 OXY 坐标系下的坐标为(x,y),

然后坐标系从 OXY 绕 Z 轴正方向逆时针旋转 θ 角,变为坐标系 OX’Y’。

向量 OA在 OX’Y’坐标系下的坐标为(x’,y’)。

向量没变,但是坐标系变了,所以现在的问题在于找到在不同坐标系下,同一个向量描述,之间的关系,也就是找到(x,y)与(x’,y’)之间的关系。

如图所示,我们通过投影关系很容易得到二维里的关系。

矩阵形式:

所以我们可以把这个旋转抽象出来,「坐标系逆时针旋转theta角度」的通用形式可以用矩阵表示为:
(这里z轴朝外,逆时针是右手坐标系的正方向哦,向量在空间中的位置没有变化,只是参考坐标系变了,2019-1-12)

只要把这个形式扩展到三维就可以得到三维中的坐标系旋转。

三维中绕z轴旋转:

形式是完全一样的,只是在转轴处补1即可,剩下两个轴的形式和二维一致。
同理三维中绕x轴旋转:

继续同理!!!!

等等!为什么和书上不一样?

书上算错的了!别激动,只是因为我们忽略了一个隐藏条件右手坐标系

就是说其实我们的x,y,z的顺序是固定的,我们要套用这个通用的旋转形式,坐标系只能是以下三个状态(可以自己的右手试试)。

绕x转时:A轴=y轴,B轴=z轴,
绕y转时:A轴=z轴,B轴=x轴
绕z转时:A轴=x轴,B轴=y轴,

我们按照右手坐标系重新写一下绕y轴旋转的形式:

写成矩阵形式:

哎,好气呀,书上又是对的。

看到这里聪明的你突然发现:绕某个坐标轴旋转不就是欧拉角吗?嗯 这一部分 我们下次再聊。

感谢 @东南大学佘飞 同学的提问让我对坐标系旋转再一次思考,欢迎加我的个人微信交流,共同进步。

关注微信公众号【无人机干货铺】,回复【姿态】为您提供本文的全部参考资料。

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