为什么要做坐标转换?
大疆提供的sdk中指出,无人机通常情况下通过两个坐标系来控制方向:自身坐标系(Body)和地面坐标系(N-E-D)。这两个坐标系可以相互转换,这种转换可以在无人机内部完成,我们只需要设定坐标系的类型,不需要关心如何转换。
首先要说明的是,这两个坐标系其实都是以自身为原点的,定位采用的坐标系则是GPS的WGS84坐标系,参数为一个double类型的经度和double类型的纬度,当然,这是一个平面坐标系。通常情况下GPS的定位精度可以达到米级,在配合RTK等特殊设备的情况下可以实现分米级甚至更高精度的定位,当然对于本实验来说是无法做到的。
除了WGS世界坐标系之外,刚才说的NED和body坐标系都是以自身为原点的,只是坐标轴含义不同。对于自身坐标系而言,机体正前方(前进方向)为x轴,右侧为y轴,z轴由右手原则确定。对于N-E-D坐标系而言,以自身为原点,正北方向为x轴,正东方向为y轴,正下方(大地)为z轴(同样符合右手原则)。
这三个坐标系的转换是贯穿于无人机控制的流程中的。
坐标系简述
Body
对于底层控制而言,无人机能够接收的控制信号和imu中获取的加速度信息都是基于自身坐标系的,也就是上一篇最后提到的Yaw,Pitch和Roll三个参数(对于高度则是通过Throttle单独控制,坐标系有所不同)。
Pitch即俯仰姿态,当状态为前倾,无人机自然会向前飞行,也就是沿着body坐标系下的x轴前进,反之,会沿着x