![40f91207e07c7dc81e8cfea5670fff3d.png](https://i-blog.csdnimg.cn/blog_migrate/80716084c5eaf6647e78cf235264ade9.jpeg)
最近在好多地方和人聊了很多关于姿态和旋转矩阵的问题,发现很多小伙伴上来就接触了SO(3)群,反而对传统姿态和旋转矩阵里的一些基本的概念不太理解,觉得这方面还是有很多坑的,就把一些我自己的想法写下来,一方面希望和大家交流一下,另一方面也算备忘吧。
这期番外有3篇文章,都会以我高中最爱的乐队Nirvana为题图。
1. 向量是什么
大家都知道,向量(vector, 或称矢量)是指具有大小(magnitude)和方向(direction)的几何对象。在这里我想说的一点是:向量这个几何对象是不依赖于坐标系客观存在的。
我们在设计飞控里用到的无人机位置啊,速度啊,加速度啊,角速度啊,统统都是一个个不依赖坐标系客观存在的向量,记住这一点有时能让我们从繁杂的数学表达中解脱出来,站在物质的层面去看问题,而不会把基本的物理概念搞错。
2. 如何表示向量
向量是客观存在的,而我们要使用向量就需要用数学的语言去描述它们,这就需要定义坐标系,或者更广义的说,定义向量空间的基。我们生活和做飞控的空间都是三维空间,因此我们只需要找到三组线性无关的三维向量就能够当做向量空间的基,也就是坐标轴了。当然,定义坐标系是为了方便我们计算和使用,所以一般都会选择三个相互正交的三维向量来构成直角坐标系。
这里我们讨论飞的没那么远的小型无人机,所以一般定义两个坐标系就够了,一个世界坐标系(World frame,W系),一个机体坐标系(Body frame,B系)。其中,我们认为W系是静止的参考坐标系,而B系是动坐标系。下面为了更形象说明,我们定义W系原点在地面站,为北-东-地坐标系;B系原点在无人机质心,x轴指向机头、y轴指向右侧,z轴指向下方。
![6ba7f20948cabe91663a5dc52bd7d95f.png](https://i-blog.csdnimg.cn/blog_migrate/201256842605122a484c571501054315.jpeg)
这样一来,我们飞控里需要用到的无人机位置向量,速度向量,加速度向量,角速度向量就都有了可以表示的坐标系。因